diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index 136641ba1..54d06c071 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -847,6 +847,13 @@ void MainWindow::sdsync() static bool showExtraOptions = false; QStringList errorMsgs; + if (syncOpts.sessionId != g.sessionId()) { + syncOpts.reset(); + syncOpts.folderA = QString(); + syncOpts.folderB = QString(); + syncOpts.sessionId = g.sessionId(); + } + if (syncOpts.folderA.isEmpty()) syncOpts.folderA = g.profile[g.id()].sdPath(); if (syncOpts.folderB.isEmpty()) diff --git a/companion/src/process_sync.h b/companion/src/process_sync.h index 4fffc4d66..146e5209f 100644 --- a/companion/src/process_sync.h +++ b/companion/src/process_sync.h @@ -75,6 +75,7 @@ class SyncProcess : public QObject int flags; // SyncOptionFlags int dirFilterFlags; // QDir::Filters int logLevel; // QtMsgType (see ProgressWidget::addMessage()) + int sessionId; // Last run radio profile void reset() { @@ -86,6 +87,7 @@ class SyncProcess : public QObject logLevel = QtWarningMsg; flags = OPT_RECURSIVE; dirFilterFlags = QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot; + sessionId = -1; } friend inline QDebug operator<<(QDebug debug, const SyncOptions &o) {