AccountSettings: Sync with clean discovery on Ctrl-F6 #5666
authorChristian Kamm <mail@ckamm.de>
Wed, 12 Apr 2017 13:25:26 +0000 (15:25 +0200)
committerckamm <mail@ckamm.de>
Thu, 13 Apr 2017 08:11:21 +0000 (10:11 +0200)
src/gui/accountsettings.cpp
src/gui/accountsettings.h

index 2a43653de47dc437330cdfd1b3e1f7c960ce6417..2c09a0ebf0d0d2e1e540e9a1ce9c5d9e3a1640fe 100644 (file)
@@ -114,6 +114,11 @@ AccountSettings::AccountSettings(AccountState *accountState, QWidget *parent) :
     connect(syncNowAction, SIGNAL(triggered()), SLOT(slotScheduleCurrentFolder()));
     addAction(syncNowAction);
 
+    QAction *syncNowWithRemoteDiscovery = new QAction(this);
+    syncNowWithRemoteDiscovery->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_F6));
+    connect(syncNowWithRemoteDiscovery, SIGNAL(triggered()), SLOT(slotScheduleCurrentFolderForceRemoteDiscovery()));
+    addAction(syncNowWithRemoteDiscovery);
+
     connect(ui->_folderList, SIGNAL(clicked(const QModelIndex &)),
             this, SLOT(slotFolderListClicked(const QModelIndex&)));
 
@@ -480,6 +485,15 @@ void AccountSettings::slotScheduleCurrentFolder()
     }
 }
 
+void AccountSettings::slotScheduleCurrentFolderForceRemoteDiscovery()
+{
+    FolderMan *folderMan = FolderMan::instance();
+    if (auto folder = folderMan->folder(selectedFolderAlias())) {
+        folder->journalDb()->forceRemoteDiscoveryNextSync();
+        folderMan->scheduleFolder(folder);
+    }
+}
+
 void AccountSettings::slotForceSyncCurrentFolder()
 {
     FolderMan *folderMan = FolderMan::instance();
index 2bd4628527f22155d92f96d3b4fb81e55a446ad1..e5729409d37f34e2a1d4573bcf32ef8ecc258cfd 100644 (file)
@@ -72,6 +72,7 @@ protected slots:
     void slotAddFolder();
     void slotEnableCurrentFolder();
     void slotScheduleCurrentFolder();
+    void slotScheduleCurrentFolderForceRemoteDiscovery();
     void slotForceSyncCurrentFolder();
     void slotRemoveCurrentFolder();
     void slotOpenCurrentFolder();