From a764d7eb86b40315931e3a0c9fac20ef7a83c09c Mon Sep 17 00:00:00 2001 From: Jocelyn Turcotte Date: Wed, 25 Jan 2017 14:09:44 +0100 Subject: [PATCH] Don't pass the PropagatorJob in itemCompleted This was to catch duplicate emissions for PropagateDirectory but we don't emit this signal anymore from there. This fixes a warning about PropagatorJob not being a registered metatype. This reverts commit fe42c1a818c3b1ccadb2e9557971b62a350573b4. --- src/gui/folder.cpp | 8 ++++---- src/gui/folder.h | 2 +- src/gui/protocolwidget.cpp | 11 +++-------- src/gui/protocolwidget.h | 2 +- src/libsync/owncloudpropagator.cpp | 8 ++++---- src/libsync/owncloudpropagator.h | 7 +++---- src/libsync/progressdispatcher.h | 6 +----- src/libsync/syncengine.cpp | 8 ++++---- src/libsync/syncengine.h | 5 ++--- src/libsync/syncfilestatustracker.cpp | 2 +- test/syncenginetestutils.h | 2 +- test/testsyncengine.cpp | 16 ++++++++-------- 12 files changed, 33 insertions(+), 44 deletions(-) diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp index 570bac6e6..2823d04b7 100644 --- a/src/gui/folder.cpp +++ b/src/gui/folder.cpp @@ -102,8 +102,8 @@ Folder::Folder(const FolderDefinition& definition, SLOT(slotAboutToRestoreBackup(bool*))); connect(_engine.data(), SIGNAL(folderDiscovered(bool,QString)), this, SLOT(slotFolderDiscovered(bool,QString))); connect(_engine.data(), SIGNAL(transmissionProgress(ProgressInfo)), this, SLOT(slotTransmissionProgress(ProgressInfo))); - connect(_engine.data(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &)), - this, SLOT(slotItemCompleted(const SyncFileItem &, const PropagatorJob &))); + connect(_engine.data(), SIGNAL(itemCompleted(const SyncFileItem &)), + this, SLOT(slotItemCompleted(const SyncFileItem &))); connect(_engine.data(), SIGNAL(newBigFolder(QString)), this, SLOT(slotNewBigFolderDiscovered(QString))); connect(_engine.data(), SIGNAL(seenLockedFile(QString)), FolderMan::instance(), SLOT(slotSyncOnceFileUnlocks(QString))); connect(_engine.data(), SIGNAL(aboutToPropagate(SyncFileItemVector&)), @@ -917,14 +917,14 @@ void Folder::slotTransmissionProgress(const ProgressInfo &pi) } // a item is completed: count the errors and forward to the ProgressDispatcher -void Folder::slotItemCompleted(const SyncFileItem &item, const PropagatorJob& job) +void Folder::slotItemCompleted(const SyncFileItem &item) { if (Progress::isWarningKind(item._status)) { // Count all error conditions. _syncResult.setWarnCount(_syncResult.warnCount()+1); } _fileLog->logItem(item); - emit ProgressDispatcher::instance()->itemCompleted(alias(), item, job); + emit ProgressDispatcher::instance()->itemCompleted(alias(), item); } void Folder::slotNewBigFolderDiscovered(const QString &newF) diff --git a/src/gui/folder.h b/src/gui/folder.h index b44f5799b..e220337e8 100644 --- a/src/gui/folder.h +++ b/src/gui/folder.h @@ -280,7 +280,7 @@ private slots: void slotFolderDiscovered(bool local, QString folderName); void slotTransmissionProgress(const ProgressInfo& pi); - void slotItemCompleted(const SyncFileItem&, const PropagatorJob&); + void slotItemCompleted(const SyncFileItem&); void slotRunEtagJob(); void etagRetreived(const QString &); diff --git a/src/gui/protocolwidget.cpp b/src/gui/protocolwidget.cpp index e97ba9e14..6adf2fc54 100644 --- a/src/gui/protocolwidget.cpp +++ b/src/gui/protocolwidget.cpp @@ -27,7 +27,6 @@ #include "syncfileitem.h" #include "folder.h" #include "openfilemanager.h" -#include "owncloudpropagator.h" #include "activityitemdelegate.h" #include "ui_protocolwidget.h" @@ -45,8 +44,8 @@ ProtocolWidget::ProtocolWidget(QWidget *parent) : connect(ProgressDispatcher::instance(), SIGNAL(progressInfo(QString,ProgressInfo)), this, SLOT(slotProgressInfo(QString,ProgressInfo))); - connect(ProgressDispatcher::instance(), SIGNAL(itemCompleted(QString,SyncFileItem,PropagatorJob)), - this, SLOT(slotItemCompleted(QString,SyncFileItem,PropagatorJob))); + connect(ProgressDispatcher::instance(), SIGNAL(itemCompleted(QString,SyncFileItem)), + this, SLOT(slotItemCompleted(QString,SyncFileItem))); connect(_ui->_treeWidget, SIGNAL(itemActivated(QTreeWidgetItem*,int)), SLOT(slotOpenFile(QTreeWidgetItem*,int))); @@ -222,12 +221,8 @@ void ProtocolWidget::slotProgressInfo( const QString& folder, const ProgressInfo } } -void ProtocolWidget::slotItemCompleted(const QString &folder, const SyncFileItem &item, const PropagatorJob &job) +void ProtocolWidget::slotItemCompleted(const QString &folder, const SyncFileItem &item) { - if (qobject_cast(&job)) { - return; - } - QTreeWidgetItem *line = createCompletedTreewidgetItem(folder, item); if(line) { if( item.hasErrorStatus() ) { diff --git a/src/gui/protocolwidget.h b/src/gui/protocolwidget.h index a36d005f2..9faf0dd48 100644 --- a/src/gui/protocolwidget.h +++ b/src/gui/protocolwidget.h @@ -52,7 +52,7 @@ public: public slots: void slotProgressInfo( const QString& folder, const ProgressInfo& progress ); - void slotItemCompleted( const QString& folder, const SyncFileItem& item, const PropagatorJob& job); + void slotItemCompleted( const QString& folder, const SyncFileItem& item); void slotOpenFile( QTreeWidgetItem* item, int ); protected: diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp index afe26c3d3..6d87f53b7 100644 --- a/src/libsync/owncloudpropagator.cpp +++ b/src/libsync/owncloudpropagator.cpp @@ -172,7 +172,7 @@ void PropagateItemJob::done(SyncFileItem::Status status, const QString &errorStr _item->_status = status; - emit itemCompleted(*_item, *this); + emit itemCompleted(*_item); emit finished(status); } @@ -221,7 +221,7 @@ bool PropagateItemJob::checkForProblemsWithShared(int httpStatusCode, const QStr if( newJob ) { newJob->setRestoreJobMsg(msg); _restoreJob.reset(newJob); - connect(_restoreJob.data(), SIGNAL(itemCompleted(const SyncFileItemPtr &, const PropagatorJob &)), + connect(_restoreJob.data(), SIGNAL(itemCompleted(const SyncFileItemPtr &)), this, SLOT(slotRestoreJobCompleted(const SyncFileItemPtr &))); QMetaObject::invokeMethod(newJob, "start"); } @@ -403,8 +403,8 @@ void OwncloudPropagator::start(const SyncFileItemVector& items) _rootJob->append(it); } - connect(_rootJob.data(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &)), - this, SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + connect(_rootJob.data(), SIGNAL(itemCompleted(const SyncFileItem &)), + this, SIGNAL(itemCompleted(const SyncFileItem &))); connect(_rootJob.data(), SIGNAL(progress(const SyncFileItem &,quint64)), this, SIGNAL(progress(const SyncFileItem &,quint64))); connect(_rootJob.data(), SIGNAL(finished(SyncFileItem::Status)), this, SLOT(emitFinished(SyncFileItem::Status))); connect(_rootJob.data(), SIGNAL(ready()), this, SLOT(scheduleNextJob()), Qt::QueuedConnection); diff --git a/src/libsync/owncloudpropagator.h b/src/libsync/owncloudpropagator.h index b7b57f4b6..70220d44c 100644 --- a/src/libsync/owncloudpropagator.h +++ b/src/libsync/owncloudpropagator.h @@ -114,7 +114,7 @@ signals: /** * Emitted when one item has been completed within a job. */ - void itemCompleted(const SyncFileItem &, const PropagatorJob &); + void itemCompleted(const SyncFileItem &); /** * Emitted when all the sub-jobs have been finished and @@ -231,8 +231,7 @@ private slots: bool possiblyRunNextJob(PropagatorJob *next) { if (next->_state == NotYetStarted) { connect(next, SIGNAL(finished(SyncFileItem::Status)), this, SLOT(slotSubJobFinished(SyncFileItem::Status)), Qt::QueuedConnection); - connect(next, SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &)), - this, SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + connect(next, SIGNAL(itemCompleted(const SyncFileItem &)), this, SIGNAL(itemCompleted(const SyncFileItem &))); connect(next, SIGNAL(progress(const SyncFileItem &,quint64)), this, SIGNAL(progress(const SyncFileItem &,quint64))); connect(next, SIGNAL(ready()), this, SIGNAL(ready())); _runningNow++; @@ -356,7 +355,7 @@ private slots: void scheduleNextJob(); signals: - void itemCompleted(const SyncFileItem &, const PropagatorJob &); + void itemCompleted(const SyncFileItem &); void progress(const SyncFileItem&, quint64 bytes); void finished(bool success); diff --git a/src/libsync/progressdispatcher.h b/src/libsync/progressdispatcher.h index 538ce60c4..49e29d14c 100644 --- a/src/libsync/progressdispatcher.h +++ b/src/libsync/progressdispatcher.h @@ -28,8 +28,6 @@ namespace OCC { -class PropagatorJob; - /** * @brief The ProgressInfo class * @ingroup libsync @@ -252,9 +250,7 @@ signals: /** * @brief: the item was completed by a job */ - void itemCompleted(const QString &folder, - const SyncFileItem & item, - const PropagatorJob & job); + void itemCompleted(const QString &folder, const SyncFileItem & item); protected: void setProgressInfo(const QString& folder, const ProgressInfo& progress); diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp index 52cc9a5ff..0460a9301 100644 --- a/src/libsync/syncengine.cpp +++ b/src/libsync/syncengine.cpp @@ -1004,8 +1004,8 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult) _propagator = QSharedPointer( new OwncloudPropagator (_account, _localPath, _remotePath, _journal)); - connect(_propagator.data(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &)), - this, SLOT(slotItemCompleted(const SyncFileItem &, const PropagatorJob &))); + connect(_propagator.data(), SIGNAL(itemCompleted(const SyncFileItem &)), + this, SLOT(slotItemCompleted(const SyncFileItem &))); connect(_propagator.data(), SIGNAL(progress(const SyncFileItem &,quint64)), this, SLOT(slotProgress(const SyncFileItem &,quint64))); connect(_propagator.data(), SIGNAL(finished(bool)), this, SLOT(slotFinished(bool)), Qt::QueuedConnection); @@ -1061,7 +1061,7 @@ void SyncEngine::setNetworkLimits(int upload, int download) } } -void SyncEngine::slotItemCompleted(const SyncFileItem &item, const PropagatorJob &job) +void SyncEngine::slotItemCompleted(const SyncFileItem &item) { const char * instruction_str = csync_instruction_str(item._instruction); qDebug() << Q_FUNC_INFO << item._file << instruction_str << item._status << item._errorString; @@ -1073,7 +1073,7 @@ void SyncEngine::slotItemCompleted(const SyncFileItem &item, const PropagatorJob } emit transmissionProgress(*_progressInfo); - emit itemCompleted(item, job); + emit itemCompleted(item); } void SyncEngine::slotFinished(bool success) diff --git a/src/libsync/syncengine.h b/src/libsync/syncengine.h index d29c433b1..de4a03c3c 100644 --- a/src/libsync/syncengine.h +++ b/src/libsync/syncengine.h @@ -47,7 +47,6 @@ namespace OCC { class SyncJournalFileRecord; class SyncJournalDb; class OwncloudPropagator; -class PropagatorJob; enum AnotherSyncNeeded { @@ -122,7 +121,7 @@ signals: void aboutToPropagate(SyncFileItemVector&); // after each item completed by a job (successful or not) - void itemCompleted(const SyncFileItem&, const PropagatorJob&); + void itemCompleted(const SyncFileItem&); // after sync is done void treeWalkResult(const SyncFileItemVector&); @@ -156,7 +155,7 @@ signals: private slots: void slotRootEtagReceived(const QString &); - void slotItemCompleted(const SyncFileItem& item, const PropagatorJob & job); + void slotItemCompleted(const SyncFileItem& item); void slotFinished(bool success); void slotProgress(const SyncFileItem& item, quint64 curent); void slotDiscoveryJobFinished(int updateResult); diff --git a/src/libsync/syncfilestatustracker.cpp b/src/libsync/syncfilestatustracker.cpp index 979697486..23f97fa16 100644 --- a/src/libsync/syncfilestatustracker.cpp +++ b/src/libsync/syncfilestatustracker.cpp @@ -77,7 +77,7 @@ SyncFileStatusTracker::SyncFileStatusTracker(SyncEngine *syncEngine) { connect(syncEngine, SIGNAL(aboutToPropagate(SyncFileItemVector&)), SLOT(slotAboutToPropagate(SyncFileItemVector&))); - connect(syncEngine, SIGNAL(itemCompleted(const SyncFileItem&, const PropagatorJob&)), + connect(syncEngine, SIGNAL(itemCompleted(const SyncFileItem&)), SLOT(slotItemCompleted(const SyncFileItem&))); connect(syncEngine, SIGNAL(finished(bool)), SLOT(slotSyncFinished())); connect(syncEngine, SIGNAL(started()), SLOT(slotSyncEngineRunningChanged())); diff --git a/test/syncenginetestutils.h b/test/syncenginetestutils.h index 59d5e5b14..76b74c15e 100644 --- a/test/syncenginetestutils.h +++ b/test/syncenginetestutils.h @@ -818,7 +818,7 @@ public: } void execUntilItemCompleted(const QString &relativePath) { - QSignalSpy spy(_syncEngine.get(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy spy(_syncEngine.get(), SIGNAL(itemCompleted(const SyncFileItem &))); QElapsedTimer t; t.start(); while (t.elapsed() < 5000) { diff --git a/test/testsyncengine.cpp b/test/testsyncengine.cpp index f54ff1110..7e9f42f54 100644 --- a/test/testsyncengine.cpp +++ b/test/testsyncengine.cpp @@ -38,7 +38,7 @@ class TestSyncEngine : public QObject private slots: void testFileDownload() { FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &))); fakeFolder.remoteModifier().insert("A/a0"); fakeFolder.syncOnce(); QVERIFY(itemDidCompleteSuccessfully(completeSpy, "A/a0")); @@ -47,7 +47,7 @@ private slots: void testFileUpload() { FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &))); fakeFolder.localModifier().insert("A/a0"); fakeFolder.syncOnce(); QVERIFY(itemDidCompleteSuccessfully(completeSpy, "A/a0")); @@ -56,7 +56,7 @@ private slots: void testDirDownload() { FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &))); fakeFolder.remoteModifier().mkdir("Y"); fakeFolder.remoteModifier().mkdir("Z"); fakeFolder.remoteModifier().insert("Z/d0"); @@ -69,7 +69,7 @@ private slots: void testDirUpload() { FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &))); fakeFolder.localModifier().mkdir("Y"); fakeFolder.localModifier().mkdir("Z"); fakeFolder.localModifier().insert("Z/d0"); @@ -82,7 +82,7 @@ private slots: void testLocalDelete() { FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &))); fakeFolder.remoteModifier().remove("A/a1"); fakeFolder.syncOnce(); QVERIFY(itemDidCompleteSuccessfully(completeSpy, "A/a1")); @@ -91,7 +91,7 @@ private slots: void testRemoteDelete() { FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &))); fakeFolder.localModifier().remove("A/a1"); fakeFolder.syncOnce(); QVERIFY(itemDidCompleteSuccessfully(completeSpy, "A/a1")); @@ -107,7 +107,7 @@ private slots: // fakeFolder.syncOnce(); fakeFolder.syncOnce(); - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &))); // Touch the file without changing the content, shouldn't upload fakeFolder.localModifier().setContents("a1.eml", 'A'); // Change the content/size @@ -204,7 +204,7 @@ private slots: QCOMPARE(fakeFolder.currentLocalState(), remoteState); expectedServerState = fakeFolder.currentRemoteState(); - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &))); fakeFolder.syncOnce(); // This sync should do nothing QCOMPARE(completeSpy.count(), 0); -- 2.30.2