Skip to content

Commit

Permalink
Schedule a new folder when wen we remove the current running folder
Browse files Browse the repository at this point in the history
Fixes: #9969
  • Loading branch information
TheOneRing committed Aug 17, 2022
1 parent 2eb8b01 commit 706a80a
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 11 deletions.
5 changes: 5 additions & 0 deletions changelog/unreleased/9969
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bugfix: Run next scheduled sync after a folder was removed

We fixed a bug where we did not start another sync when a folder that was currently syncing was removed.

https://github.com/owncloud/client/issues/9969
13 changes: 3 additions & 10 deletions src/gui/folderman.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ FolderMan::FolderMan(QObject *parent)
connect(&_startScheduledSyncTimer, &QTimer::timeout,
this, &FolderMan::slotStartScheduledFolderSync);

_timeScheduler.setInterval(5000);
_timeScheduler.setInterval(5s);
_timeScheduler.setSingleShot(false);
connect(&_timeScheduler, &QTimer::timeout,
this, &FolderMan::slotScheduleFolderByTime);
Expand Down Expand Up @@ -1206,21 +1206,14 @@ void FolderMan::removeFolder(Folder *f)
f->removeFromSettings();

unloadFolder(f);
if (currentlyRunning) {
// We want to schedule the next folder once this is done
connect(f, &Folder::syncFinished,
this, &FolderMan::slotFolderSyncFinished);
// Let the folder delete itself when done.
connect(f, &Folder::syncFinished, f, &QObject::deleteLater);
} else {
f->deleteLater();
}
f->deleteLater();

#ifdef Q_OS_WIN
_navigationPaneHelper.scheduleUpdateCloudStorageRegistry();
#endif
Q_EMIT folderRemoved(f);
emit folderListChanged(_folderMap);
QTimer::singleShot(0, this, &FolderMan::startScheduledSyncSoon);
}

QString FolderMan::getBackupName(QString fullPathName) const
Expand Down
2 changes: 1 addition & 1 deletion src/gui/folderman.h
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ private slots:
QSet<Folder *> _disabledFolders;
QMap<QString, Folder *> _folderMap;
QString _folderConfigPath;
Folder *_currentSyncFolder;
QPointer<Folder> _currentSyncFolder;
QPointer<Folder> _lastSyncFolder;
bool _syncEnabled;

Expand Down

0 comments on commit 706a80a

Please sign in to comment.