diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp index 6079edb28..1d6b3ac58 100644 --- a/src/gui/folder.cpp +++ b/src/gui/folder.cpp @@ -104,7 +104,8 @@ Folder::Folder(const FolderDefinition& definition, 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(newBigFolder(QString)), this, SLOT(slotNewBigFolderDiscovered(QString))); + connect(_engine.data(), SIGNAL(newBigFolder(QString,bool)), + this, SLOT(slotNewBigFolderDiscovered(QString,bool))); connect(_engine.data(), SIGNAL(seenLockedFile(QString)), FolderMan::instance(), SLOT(slotSyncOnceFileUnlocks(QString))); connect(_engine.data(), SIGNAL(aboutToPropagate(SyncFileItemVector&)), SLOT(slotLogPropagationStart())); @@ -930,7 +931,7 @@ void Folder::slotItemCompleted(const SyncFileItem &item, const PropagatorJob& jo emit ProgressDispatcher::instance()->itemCompleted(alias(), item, job); } -void Folder::slotNewBigFolderDiscovered(const QString &newF) +void Folder::slotNewBigFolderDiscovered(const QString &newF, bool isExternal) { auto newFolder = newF; if (!newFolder.endsWith(QLatin1Char('/'))) { @@ -955,9 +956,11 @@ void Folder::slotNewBigFolderDiscovered(const QString &newF) journal->setSelectiveSyncList(SyncJournalDb::SelectiveSyncUndecidedList, undecidedList); emit newBigFolderDiscovered(newFolder); } - QString message = tr("A new folder larger than %1 MB has been added: %2.\n" - "Please go in the settings to select it if you wish to download it.") - .arg(ConfigFile().newBigFolderSizeLimit().second).arg(newF); + QString message = !isExternal ? + (tr("A new folder larger than %1 MB has been added: %2.\n") + .arg(ConfigFile().newBigFolderSizeLimit().second).arg(newF)) + : (tr("A folder from an external storage has been added.\n")); + message += tr("Please go in the settings to select it if you wish to download it."); auto logger = Logger::instance(); logger->postOptionalGuiLog(Theme::instance()->appNameGUI(), message); diff --git a/src/gui/folder.h b/src/gui/folder.h index b44f5799b..57a618b00 100644 --- a/src/gui/folder.h +++ b/src/gui/folder.h @@ -290,7 +290,7 @@ private slots: void slotEmitFinishedDelayed(); - void slotNewBigFolderDiscovered(const QString &); + void slotNewBigFolderDiscovered(const QString &, bool isExternal); void slotLogPropagationStart(); diff --git a/src/gui/generalsettings.ui b/src/gui/generalsettings.ui index 06b7aa034..5a035a592 100644 --- a/src/gui/generalsettings.ui +++ b/src/gui/generalsettings.ui @@ -52,34 +52,32 @@ Advanced - - - - - Qt::Horizontal - - - - 555 - 20 - - - + + + + + + + Edit &Ignored Files + + + + + + + Qt::Horizontal + + + + 555 + 20 + + + + + - - - - - 0 - 0 - - - - S&how crash reporter - - - - + @@ -123,37 +121,26 @@ - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Edit &Ignored Files - - - - + Ask for confirmation before synchronizing external storages + + + + + 0 + 0 + + + + S&how crash reporter + + + diff --git a/src/libsync/discoveryphase.cpp b/src/libsync/discoveryphase.cpp index 79b476d09..faa7c0b07 100644 --- a/src/libsync/discoveryphase.cpp +++ b/src/libsync/discoveryphase.cpp @@ -99,7 +99,7 @@ bool DiscoveryJob::checkSelectiveSyncNewFolder(const QString& path, const char * return false; } - emit newBigFolder(path); + emit newBigFolder(path, true); return true; } @@ -125,7 +125,7 @@ bool DiscoveryJob::checkSelectiveSyncNewFolder(const QString& path, const char * if (result >= limit) { // we tell the UI there is a new folder - emit newBigFolder(path); + emit newBigFolder(path, false); return true; } else { // it is not too big, put it in the white list (so we will not do more query for the children) diff --git a/src/libsync/discoveryphase.h b/src/libsync/discoveryphase.h index e521c1fab..43c292e7e 100644 --- a/src/libsync/discoveryphase.h +++ b/src/libsync/discoveryphase.h @@ -229,7 +229,7 @@ signals: void doGetSizeSignal(const QString &path, qint64 *result); // A new folder was discovered and was not synced because of the confirmation feature - void newBigFolder(const QString &folder); + void newBigFolder(const QString &folder, bool isExternal); }; } diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp index b6c347fe3..26ffecbe9 100644 --- a/src/libsync/syncengine.cpp +++ b/src/libsync/syncengine.cpp @@ -835,8 +835,8 @@ void SyncEngine::startSync() connect(discoveryJob, SIGNAL(folderDiscovered(bool,QString)), this, SIGNAL(folderDiscovered(bool,QString))); - connect(discoveryJob, SIGNAL(newBigFolder(QString)), - this, SIGNAL(newBigFolder(QString))); + connect(discoveryJob, SIGNAL(newBigFolder(QString,bool)), + this, SIGNAL(newBigFolder(QString,bool))); // This is used for the DiscoveryJob to be able to request the main thread/ diff --git a/src/libsync/syncengine.h b/src/libsync/syncengine.h index 927c7ad5b..f998790ba 100644 --- a/src/libsync/syncengine.h +++ b/src/libsync/syncengine.h @@ -143,7 +143,7 @@ signals: void aboutToRestoreBackup(bool *restore); // A new folder was discovered and was not synced because of the confirmation feature - void newBigFolder(const QString &folder); + void newBigFolder(const QString &folder, bool isExternal); /** Emitted when propagation has problems with a locked file. *