Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/kget/core/kget.cpp b/kget/core/kget.cpp
- index c819408..476491e 100644
- --- a/kget/core/kget.cpp
- +++ b/kget/core/kget.cpp
- @@ -751,6 +751,8 @@ KGet::KGet()
- m_jobManager, SLOT(slotTransferAdded(TransferHandler *, TransferGroupHandler *)));
- QObject::connect(m_transferTreeModel, SIGNAL(transferAboutToBeRemovedEvent(TransferHandler *, TransferGroupHandler *)),
- m_jobManager, SLOT(slotTransferAboutToBeRemoved(TransferHandler *, TransferGroupHandler *)));
- + QObject::connect(m_transferTreeModel, SIGNAL(transfersAboutToBeRemovedEvent(QList<TransferHandler*>, TransferGroupHandler *)),
- + m_jobManager, SLOT(slotTransfersAboutToBeRemoved(QList<TransferHandler*>, TransferGroupHandler *)));
- QObject::connect(m_transferTreeModel, SIGNAL(transfersChangedEvent(QMap<TransferHandler *, Transfer::ChangesFlags>)),
- m_jobManager, SLOT(slotTransfersChanged(QMap<TransferHandler *, Transfer::ChangesFlags>)));
- @@ -1157,6 +1159,8 @@ GenericObserver::GenericObserver(QObject *parent)
- connect(KGet::model(), SIGNAL(groupAddedEvent(TransferGroupHandler*)), SLOT(groupAddedEvent(TransferGroupHandler*)));
- connect(KGet::model(), SIGNAL(transferRemovedEvent(TransferHandler*, TransferGroupHandler*)),
- SLOT(transferRemovedEvent(TransferHandler*, TransferGroupHandler*)));
- + connect(KGet::model(), SIGNAL(transfersRemovedEvent(QList<TransferHandler*>, TransferGroupHandler*)),
- + SLOT(transfersRemovedEvent(QList<TransferHandler*>, TransferGroupHandler*)));
- connect(KGet::model(), SIGNAL(transfersChangedEvent(QMap<TransferHandler*, Transfer::ChangesFlags>)),
- SLOT(transfersChangedEvent(QMap<TransferHandler*, Transfer::ChangesFlags>)));
- connect(KGet::model(), SIGNAL(groupsChangedEvent(QMap<TransferGroupHandler*, TransferGroup::ChangesFlags>)),
- @@ -1192,7 +1196,12 @@ void GenericObserver::transferAddedEvent(TransferHandler *handler, TransferGroup
- void GenericObserver::transferRemovedEvent(TransferHandler *handler, TransferGroupHandler *group)
- {
- - Q_UNUSED(handler)
- + transfersRemovedEvent(QList<TransferHandler*>() << handler, group);
- +}
- +
- +void GenericObserver::transfersRemovedEvent(const QList<TransferHandler*> &handlers, TransferGroupHandler *group)
- +{
- + Q_UNUSED(handlers)
- Q_UNUSED(group)
- requestSave();
- KGet::calculateGlobalSpeedLimits();
- diff --git a/kget/core/kget.h b/kget/core/kget.h
- index 6fb5ee6..99e6034 100644
- --- a/kget/core/kget.h
- +++ b/kget/core/kget.h
- @@ -416,8 +416,9 @@ class GenericObserver : public QObject
- void groupRemovedEvent(TransferGroupHandler *handler);
- void transferAddedEvent(TransferHandler *handler, TransferGroupHandler *group);
- void transferRemovedEvent(TransferHandler *handler, TransferGroupHandler *group);
- - void transfersChangedEvent(QMap<TransferHandler*, Transfer::ChangesFlags> transfers);
- - void groupsChangedEvent(QMap<TransferGroupHandler*, TransferGroup::ChangesFlags> groups);
- + void transfersRemovedEvent(const QList<TransferHandler*> &handlers, TransferGroupHandler *group);
- + void transfersChangedEvent(QMap<TransferHandler*, Transfer::ChangesFlags> transfers);//TODO by reference
- + void groupsChangedEvent(QMap<TransferGroupHandler*, TransferGroup::ChangesFlags> groups);//TODO by reference
- void transferMovedEvent(TransferHandler *, TransferGroupHandler *);
- private slots:
- diff --git a/kget/core/kuiserverjobs.cpp b/kget/core/kuiserverjobs.cpp
- index 1f41191..ae68f4c 100644
- --- a/kget/core/kuiserverjobs.cpp
- +++ b/kget/core/kuiserverjobs.cpp
- @@ -2,7 +2,7 @@
- Copyright (C) 2007 by Javier Goday <jgoday@gmail.com>
- Copyright (C) 2009 by Dario Massarin <nekkar@libero.it>
- - Copyright (C) 2010 Matthias Fuchs <mat69@gmx.net>
- + Copyright (C) 2010 by Matthias Fuchs <mat69@gmx.net>
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- @@ -72,6 +72,13 @@ void KUiServerJobs::slotTransferAdded(TransferHandler * transfer, TransferGroupH
- unregisterJob(globalJob(), 0);
- }
- +void KUiServerJobs::slotTransfersAboutToBeRemoved(const QList<TransferHandler*> &transfers, TransferGroupHandler *group)
- +{
- + foreach (TransferHandler *transfer, transfers) {
- + slotTransferAboutToBeRemoved(transfer, group);
- + }
- +}
- +
- void KUiServerJobs::slotTransferAboutToBeRemoved(TransferHandler * transfer, TransferGroupHandler * group)
- {
- Q_UNUSED(group)
- diff --git a/kget/core/kuiserverjobs.h b/kget/core/kuiserverjobs.h
- index e702ad4..d6d7842 100644
- --- a/kget/core/kuiserverjobs.h
- +++ b/kget/core/kuiserverjobs.h
- @@ -2,6 +2,7 @@
- Copyright (C) 2007 by Javier Goday <jgoday@gmail.com>
- Copyright (C) 2009 by Dario Massarin <nekkar@libero.it>
- + Copyright (C) 2010 by Matthias Fuchs <mat69@gmx.net>
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- @@ -36,6 +37,7 @@ public:
- public slots:
- void slotTransferAdded(TransferHandler * transfer, TransferGroupHandler * group);
- void slotTransferAboutToBeRemoved(TransferHandler * transfer, TransferGroupHandler * group);
- + void slotTransfersAboutToBeRemoved(const QList<TransferHandler*> &transfer, TransferGroupHandler *group);
- void slotTransfersChanged(QMap<TransferHandler *, Transfer::ChangesFlags> transfers);
- private:
- diff --git a/kget/core/transfertreemodel.cpp b/kget/core/transfertreemodel.cpp
- index d903c73..029bf61 100644
- --- a/kget/core/transfertreemodel.cpp
- +++ b/kget/core/transfertreemodel.cpp
- @@ -241,6 +241,7 @@ void TransferTreeModel::delTransfers(const QList<Transfer*> &t)
- //find all valid items and sort them according to their groups
- QHash<TransferGroup*, QList<TransferModelItem*> > groups;
- + QHash<TransferGroup*, QList<TransferHandler*> > groupHandlers;//TODO better name
- {
- QList<Transfer*>::iterator it;
- QList<Transfer*>::iterator itEnd = transfers.end();
- @@ -248,6 +249,7 @@ void TransferTreeModel::delTransfers(const QList<Transfer*> &t)
- TransferModelItem *item = itemFromTransferHandler((*it)->handler());
- if (item) {
- groups[(*it)->group()] << item;
- + groupHandlers[(*it)->group()] << (*it)->handler();
- ++it;
- } else {
- it = transfers.erase(it);
- @@ -255,8 +257,13 @@ void TransferTreeModel::delTransfers(const QList<Transfer*> &t)
- }
- }
- - foreach(Transfer *transfer, transfers) {
- - emit transferAboutToBeRemovedEvent(transfer->handler(), transfer->group()->handler());
- + //announce that transfers are going to be removed
- + {
- + QHash<TransferGroup*, QList<TransferHandler*> >::const_iterator it;
- + QHash<TransferGroup*, QList<TransferHandler*> >::const_iterator itEnd = groupHandlers.constEnd();
- + for (it = groupHandlers.constBegin(); it != itEnd; ++it) {
- + emit transfersAboutToBeRemovedEvent(it.value(), it.key()->handler());
- + }
- }
- //remove the items from the model
- @@ -299,8 +306,15 @@ void TransferTreeModel::delTransfers(const QList<Transfer*> &t)
- QDBusConnection::sessionBus().unregisterObject(transfer->handler()->dBusObjectPath());
- transfer->group()->remove(transfer);
- m_changedTransfers.removeAll(transfer->handler());
- + }
- - emit transferRemovedEvent(transfer->handler(), transfer->group()->handler());
- + //announce that transfers have been removed
- + {
- + QHash<TransferGroup*, QList<TransferHandler*> >::const_iterator it;
- + QHash<TransferGroup*, QList<TransferHandler*> >::const_iterator itEnd = groupHandlers.constEnd();
- + for (it = groupHandlers.constBegin(); it != itEnd; ++it) {
- + emit transfersRemovedEvent(it.value(), it.key()->handler());
- + }
- }
- }
- diff --git a/kget/core/transfertreemodel.h b/kget/core/transfertreemodel.h
- index f4c8986..a37d548 100644
- --- a/kget/core/transfertreemodel.h
- +++ b/kget/core/transfertreemodel.h
- @@ -149,7 +149,9 @@ class KGET_EXPORT TransferTreeModel : public QStandardItemModel
- void groupsChangedEvent(QMap<TransferGroupHandler *, TransferGroup::ChangesFlags>);
- void transferAddedEvent(TransferHandler *, TransferGroupHandler *);
- void transferAboutToBeRemovedEvent(TransferHandler *, TransferGroupHandler *);
- + void transfersAboutToBeRemovedEvent(QList<TransferHandler*> transfers, TransferGroupHandler *group);
- void transferRemovedEvent(TransferHandler *, TransferGroupHandler *);
- + void transfersRemovedEvent(QList<TransferHandler*> transfers, TransferGroupHandler *group);
- void transferMovedEvent(TransferHandler *, TransferGroupHandler *);
- void transfersChangedEvent(QMap<TransferHandler *, Transfer::ChangesFlags>);
- diff --git a/kget/dbus/dbuskgetwrapper.cpp b/kget/dbus/dbuskgetwrapper.cpp
- index 6bf6390..1dc8ebd 100644
- --- a/kget/dbus/dbuskgetwrapper.cpp
- +++ b/kget/dbus/dbuskgetwrapper.cpp
- @@ -46,6 +46,7 @@ DBusKGetWrapper::DBusKGetWrapper(MainWindow *parent)
- connect(model, SIGNAL(transferAddedEvent(TransferHandler*,TransferGroupHandler*)), this, SLOT(slotTransferAdded(TransferHandler*)));
- connect(model, SIGNAL(transferRemovedEvent(TransferHandler*, TransferGroupHandler*)), this, SLOT(slotTransferRemoved(TransferHandler*)));
- + connect(model, SIGNAL(transfersRemovedEvent(QList<TransferHandler*>, TransferGroupHandler*)), this, SLOT(slotTransfersRemoved(QList<TransferHandler*>)));
- }
- DBusKGetWrapper::~DBusKGetWrapper()
- @@ -124,6 +125,19 @@ void DBusKGetWrapper::slotTransferAdded(TransferHandler *transfer)
- emit transferAdded(m_transfers[transfer].first, m_transfers[transfer].second);
- }
- +void DBusKGetWrapper::slotTransfersRemoved(const QList<TransferHandler*> &transfers)
- +{
- + QStringList urls;
- + QStringList objectPaths;
- + foreach (TransferHandler *transfer, transfers) {
- + const QPair<QString, QString> removed = m_transfers[transfer];
- + urls << removed.first;
- + objectPaths << removed.second;
- + }
- +
- + emit transfersRemoved(urls, objectPaths);
- +}
- +
- void DBusKGetWrapper::slotTransferRemoved(TransferHandler *transfer)
- {
- const QPair<QString, QString> removed = m_transfers[transfer];
- diff --git a/kget/dbus/dbuskgetwrapper.h b/kget/dbus/dbuskgetwrapper.h
- index 8e249fe..5d575d8 100644
- --- a/kget/dbus/dbuskgetwrapper.h
- +++ b/kget/dbus/dbuskgetwrapper.h
- @@ -53,10 +53,12 @@ class DBusKGetWrapper : public QObject
- void transferAddedRemoved();
- void transferAdded(const QString &url, const QString &dBusObjectPath);
- void transferRemoved(const QString &url, const QString &dBusObjectPath);
- + void transfersRemoved(const QStringList &urls, const QStringList &dbusObjectPaths);
- private slots:
- void slotTransferAdded(TransferHandler *transfer);
- - void slotTransferRemoved(TransferHandler *transfer);
- + void slotTransferRemoved(TransferHandler *transfer);//NOTE maybe only use slotTransfersRemoved?
- + void slotTransfersRemoved(const QList<TransferHandler*> &transfers);
- private:
- MainWindow *m_mainWindow;
- diff --git a/kget/dbus/org.kde.kget.main.xml b/kget/dbus/org.kde.kget.main.xml
- index fee011a..2ecbacc 100644
- --- a/kget/dbus/org.kde.kget.main.xml
- +++ b/kget/dbus/org.kde.kget.main.xml
- @@ -49,5 +49,9 @@
- <arg name="url" type="s" direction="out"/>
- <arg name="dBusObjectPath" type="s" direction="out"/>
- </signal>
- + <signal name="transfersRemoved">
- + <arg name="urls" type="as" direction="out"/>
- + <arg name="dBusObjectPaths" type="as" direction="out"/>
- + </signal>
- </interface>
- </node>
- diff --git a/kget/mainwindow.cpp b/kget/mainwindow.cpp
- index 7531c63..1bdb327 100644
- --- a/kget/mainwindow.cpp
- +++ b/kget/mainwindow.cpp
- @@ -425,6 +425,7 @@ void MainWindow::slotDelayedInit()
- connect(KGet::model(), SIGNAL(transferAddedEvent(TransferHandler *, TransferGroupHandler *)), this, SLOT(slotUpdateTitlePercent()));
- connect(KGet::model(), SIGNAL(transferRemovedEvent(TransferHandler *, TransferGroupHandler *)), this, SLOT(slotUpdateTitlePercent()));
- + connect(KGet::model(), SIGNAL(transfersRemovedEvent(QList<TransferHandler*>,TransferGroupHandler*)), this, SLOT(slotUpdateTitlePercent()));
- connect(KGet::model(), SIGNAL(transfersChangedEvent(QMap<TransferHandler *, Transfer::ChangesFlags>)),
- SLOT(slotTransfersChanged(QMap<TransferHandler *, Transfer::ChangesFlags>)));
- connect(KGet::model(), SIGNAL(groupsChangedEvent(QMap<TransferGroupHandler *, TransferGroup::ChangesFlags>)),
- diff --git a/kget/plasma/engine/kgetengine.cpp b/kget/plasma/engine/kgetengine.cpp
- index ae47c2f..f4727ee 100644
- --- a/kget/plasma/engine/kgetengine.cpp
- +++ b/kget/plasma/engine/kgetengine.cpp
- @@ -78,6 +78,7 @@ void KGetEngine::getKGetData(const QString &name)
- m_kget = new OrgKdeKgetMainInterface(KGET_DBUS_SERVICE, KGET_DBUS_PATH, QDBusConnection::sessionBus(), this);
- connect(m_kget, SIGNAL(transferAdded(QString,QString)), this, SLOT(slotTransferAdded(QString,QString)));
- connect(m_kget, SIGNAL(transferRemoved(QString,QString)), this, SLOT(slotTransferRemoved(QString,QString)));
- + connect(m_kget, SIGNAL(transfersRemoved(QStringList,QStringList)), this, SLOT(slotTransfersRemoved(QStringList,QStringList)));
- }
- setData(name, "error", false);
- @@ -114,6 +115,14 @@ void KGetEngine::slotTransferRemoved(const QString &url, const QString &dBusObje
- setData(name, "transferRemoved", removed);
- }
- +//TODO investigate if this should be improved for speed reasons
- +void KGetEngine::slotTransfersRemoved(const QStringList &urls, const QStringList &dBusObjectPaths)
- +{
- + for (int i = 0; i < urls.count(); ++i) {
- + slotTransferRemoved(urls[i], dBusObjectPaths[i]);
- + }
- +}
- +
- bool KGetEngine::isDBusServiceRegistered()
- {
- return interface->isServiceRegistered(KGET_DBUS_SERVICE);
- diff --git a/kget/plasma/engine/kgetengine.h b/kget/plasma/engine/kgetengine.h
- index db48e05..fbd1edd 100644
- --- a/kget/plasma/engine/kgetengine.h
- +++ b/kget/plasma/engine/kgetengine.h
- @@ -44,6 +44,7 @@ class KGetEngine : public Plasma::DataEngine
- void updateData();
- void slotTransferAdded(const QString &url, const QString &dBusObjectPath);
- void slotTransferRemoved(const QString &url, const QString &dBusObjectPath);
- + void slotTransfersRemoved(const QStringList &urls, const QStringList &dBusObjectPaths);
- private:
- bool isDBusServiceRegistered();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement