]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Extract folder now big activity generation into separate method
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Thu, 3 Aug 2023 07:25:15 +0000 (15:25 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 4 Aug 2023 09:44:22 +0000 (17:44 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/gui/folder.cpp
src/gui/folder.h

index ea483ce73fe8c24a8651bd056698dbd50c1f3db4..0511cba81a102bc4386f08573810cc7a9e667d01 100644 (file)
@@ -1289,37 +1289,7 @@ void Folder::slotExistingFolderNowBig(const QString &folderPath)
         }
 
         postExistingFolderNowBigNotification(folderPath);
-
-        auto whitelistActivityLink = ActivityLink();
-        whitelistActivityLink._label = tr("Keep syncing");
-        whitelistActivityLink._primary = false;
-        whitelistActivityLink._verb = ActivityLink::WhitelistFolderVerb;
-
-        QVector<ActivityLink> activityLinks = {whitelistActivityLink};
-
-        if (!stopSyncing) {
-            auto blacklistActivityLink = ActivityLink();
-            blacklistActivityLink._label = tr("Stop syncing");
-            blacklistActivityLink._primary = true;
-            blacklistActivityLink._verb = ActivityLink::BlacklistFolderVerb;
-
-            activityLinks.append(blacklistActivityLink);
-        }
-
-        auto existingFolderNowBigActivity = Activity();
-        existingFolderNowBigActivity._type = Activity::NotificationType;
-        existingFolderNowBigActivity._dateTime = QDateTime::fromString(QDateTime::currentDateTime().toString(), Qt::ISODate);
-        existingFolderNowBigActivity._subject =
-            tr("The folder %1 has surpassed the set folder size limit of %2MB.").arg(folderPath, QString::number(ConfigFile().newBigFolderSizeLimit().second));
-        existingFolderNowBigActivity._message = tr("Would you like to stop syncing this folder?");
-        existingFolderNowBigActivity._accName = _accountState->account()->displayName();
-        existingFolderNowBigActivity._folder = alias();
-        existingFolderNowBigActivity._file = cleanPath() + '/' + trailSlashFolderPath;
-        existingFolderNowBigActivity._links = activityLinks;
-        existingFolderNowBigActivity._id = qHash(existingFolderNowBigActivity._file);
-
-        const auto user = UserModel::instance()->findUserForAccount(_accountState.data());
-        user->slotAddNotification(this, existingFolderNowBigActivity);
+        postExistingFolderNowBigActivity(folderPath);
     }
 }
 
@@ -1333,6 +1303,43 @@ void Folder::postExistingFolderNowBigNotification(const QString &folderPath)
     Logger::instance()->postGuiLog(Theme::instance()->appNameGUI(), message);
 }
 
+void Folder::postExistingFolderNowBigActivity(const QString &folderPath) const
+{
+    const auto stopSyncing = ConfigFile().stopSyncingExistingFoldersOverLimit();
+    const auto trailSlashFolderPath = Utility::trailingSlashPath(folderPath);
+
+    auto whitelistActivityLink = ActivityLink();
+    whitelistActivityLink._label = tr("Keep syncing");
+    whitelistActivityLink._primary = false;
+    whitelistActivityLink._verb = ActivityLink::WhitelistFolderVerb;
+
+    QVector<ActivityLink> activityLinks = {whitelistActivityLink};
+
+    if (!stopSyncing) {
+        auto blacklistActivityLink = ActivityLink();
+        blacklistActivityLink._label = tr("Stop syncing");
+        blacklistActivityLink._primary = true;
+        blacklistActivityLink._verb = ActivityLink::BlacklistFolderVerb;
+
+        activityLinks.append(blacklistActivityLink);
+    }
+
+    auto existingFolderNowBigActivity = Activity();
+    existingFolderNowBigActivity._type = Activity::NotificationType;
+    existingFolderNowBigActivity._dateTime = QDateTime::fromString(QDateTime::currentDateTime().toString(), Qt::ISODate);
+    existingFolderNowBigActivity._subject =
+        tr("The folder %1 has surpassed the set folder size limit of %2MB.").arg(folderPath, QString::number(ConfigFile().newBigFolderSizeLimit().second));
+    existingFolderNowBigActivity._message = tr("Would you like to stop syncing this folder?");
+    existingFolderNowBigActivity._accName = _accountState->account()->displayName();
+    existingFolderNowBigActivity._folder = alias();
+    existingFolderNowBigActivity._file = cleanPath() + '/' + trailSlashFolderPath;
+    existingFolderNowBigActivity._links = activityLinks;
+    existingFolderNowBigActivity._id = qHash(existingFolderNowBigActivity._file);
+
+    const auto user = UserModel::instance()->findUserForAccount(_accountState.data());
+    user->slotAddNotification(this, existingFolderNowBigActivity);
+}
+
 void Folder::slotLogPropagationStart()
 {
     _fileLog->logLap("Propagation starts");
index 77550e48903dfdb667abcabd6d6e3a291b8d33fc..13f493102ee91772676dcb7bb3d0c294232762da 100644 (file)
@@ -475,6 +475,7 @@ private:
     void removePathFromSelectiveSyncList(const QString &path, const SyncJournalDb::SelectiveSyncListType listType);
 
     static void postExistingFolderNowBigNotification(const QString &folderPath);
+    void postExistingFolderNowBigActivity(const QString &folderPath) const;
 
     AccountStatePtr _accountState;
     FolderDefinition _definition;