summaryrefslogtreecommitdiff
path: root/src/components/progressbar.cpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2023-12-27 01:57:22 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2023-12-27 01:57:22 -0500
commit1bb749687b92fa7fbccb77ee18654210a647a1f3 (patch)
tree68b79b6ca1ef7b3c17c4ada5655255c20f2fa8d3 /src/components/progressbar.cpp
parent8bd628c1776c20dbf41d2fb18f6204c4a398da0e (diff)
parent155d95e29cc50a66cbe7711b172b195be637bc48 (diff)
downloadabaddon-portaudio-1bb749687b92fa7fbccb77ee18654210a647a1f3.tar.gz
abaddon-portaudio-1bb749687b92fa7fbccb77ee18654210a647a1f3.zip
Merge branch 'master' into classic-channels
Diffstat (limited to 'src/components/progressbar.cpp')
-rw-r--r--src/components/progressbar.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/components/progressbar.cpp b/src/components/progressbar.cpp
index 75f86bb..65abfae 100644
--- a/src/components/progressbar.cpp
+++ b/src/components/progressbar.cpp
@@ -5,12 +5,19 @@ MessageUploadProgressBar::MessageUploadProgressBar() {
auto &discord = Abaddon::Get().GetDiscordClient();
discord.signal_message_progress().connect([this](const std::string &nonce, float percent) {
if (nonce == m_last_nonce) {
+ if (!m_active) {
+ m_active = true;
+ m_signal_start.emit();
+ }
set_fraction(percent);
}
});
discord.signal_message_send_fail().connect([this](const std::string &nonce, float) {
- if (nonce == m_last_nonce)
+ if (nonce == m_last_nonce) {
set_fraction(0.0);
+ m_active = false;
+ m_signal_stop.emit();
+ }
});
discord.signal_message_create().connect([this](const Message &msg) {
if (msg.IsPending) {
@@ -18,6 +25,16 @@ MessageUploadProgressBar::MessageUploadProgressBar() {
} else if (msg.Nonce.has_value() && (*msg.Nonce == m_last_nonce)) {
m_last_nonce = "";
set_fraction(0.0);
+ m_active = false;
+ m_signal_stop.emit();
}
});
}
+
+MessageUploadProgressBar::type_signal_start MessageUploadProgressBar::signal_start() {
+ return m_signal_start;
+}
+
+MessageUploadProgressBar::type_signal_stop MessageUploadProgressBar::signal_stop() {
+ return m_signal_stop;
+}