summaryrefslogtreecommitdiff
path: root/src/downloadmanagerproxy.cpp
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2020-12-04 08:50:31 +0100
committerMikaël Capelle <capelle.mikael@gmail.com>2020-12-04 08:50:31 +0100
commita30d49f4fc845164ef6bba4d2a834efce1dc01d7 (patch)
tree5aa8becd18a2eae3795e602db0f499a864dab40f /src/downloadmanagerproxy.cpp
parentf229dbaaa7f516dc1958d0a0555b47cb17136377 (diff)
Avoid duplicating code to simulate startup.
Diffstat (limited to 'src/downloadmanagerproxy.cpp')
-rw-r--r--src/downloadmanagerproxy.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/downloadmanagerproxy.cpp b/src/downloadmanagerproxy.cpp
index 06dad21f..95099044 100644
--- a/src/downloadmanagerproxy.cpp
+++ b/src/downloadmanagerproxy.cpp
@@ -7,7 +7,14 @@ using namespace MOBase;
using namespace MOShared;
DownloadManagerProxy::DownloadManagerProxy(OrganizerProxy* oproxy, DownloadManager* downloadManager) :
- m_OrganizerProxy(oproxy), m_Proxied(downloadManager)
+ m_OrganizerProxy(oproxy), m_Proxied(downloadManager) { }
+
+DownloadManagerProxy::~DownloadManagerProxy()
+{
+ disconnectSignals();
+}
+
+void DownloadManagerProxy::connectSignals()
{
m_Connections.push_back(m_Proxied->onDownloadComplete(callSignalIfPluginActive(m_OrganizerProxy, m_DownloadComplete)));
m_Connections.push_back(m_Proxied->onDownloadFailed(callSignalIfPluginActive(m_OrganizerProxy, m_DownloadFailed)));
@@ -15,11 +22,12 @@ DownloadManagerProxy::DownloadManagerProxy(OrganizerProxy* oproxy, DownloadManag
m_Connections.push_back(m_Proxied->onDownloadPaused(callSignalIfPluginActive(m_OrganizerProxy, m_DownloadPaused)));
}
-DownloadManagerProxy::~DownloadManagerProxy()
+void DownloadManagerProxy::disconnectSignals()
{
for (auto& conn : m_Connections) {
conn.disconnect();
}
+ m_Connections.clear();
}
int DownloadManagerProxy::startDownloadURLs(const QStringList& urls)