@@ -92,7 +92,6 @@ namespace chrono = std::chrono;
9292Q_LOGGING_CATEGORY (lcConfigFile, " nextcloud.sync.configfile" , QtInfoMsg)
9393
9494QString ConfigFile::_confDir = {};
95- QString ConfigFile::_discoveredLegacyConfigPath = {};
9695Migration ConfigFile::_migration = Migration{};
9796
9897static chrono::milliseconds millisecondsValue (const QSettings &setting, const char *key,
@@ -382,7 +381,7 @@ QString ConfigFile::excludeFile(Scope scope) const
382381 return ConfigFile::excludeFileFromSystem ();
383382 }
384383
385- const auto excludeFilePath = scope == LegacyScope ? discoveredLegacyConfigPath () : configPath ();
384+ const auto excludeFilePath = scope == LegacyScope ? _migration. discoveredLegacyConfigPath () : configPath ();
386385
387386 // prefer sync-exclude.lst, but if it does not exist, check for exclude.lst
388387 QFileInfo exclFileInfo (excludeFilePath, syncExclFile);
@@ -1302,20 +1301,6 @@ void ConfigFile::setupDefaultExcludeFilePaths(ExcludedFiles &excludedFiles)
13021301 excludedFiles.addExcludeFilePath (userList);
13031302}
13041303
1305- QString ConfigFile::discoveredLegacyConfigPath ()
1306- {
1307- return _discoveredLegacyConfigPath;
1308- }
1309-
1310- void ConfigFile::setDiscoveredLegacyConfigPath (const QString &discoveredLegacyConfigPath)
1311- {
1312- if (_discoveredLegacyConfigPath == discoveredLegacyConfigPath) {
1313- return ;
1314- }
1315-
1316- _discoveredLegacyConfigPath = discoveredLegacyConfigPath;
1317- }
1318-
13191304void ConfigFile::removeFileProviderDomainMapping ()
13201305{
13211306 QSettings settings (configFile (), QSettings::IniFormat);
@@ -1336,6 +1321,35 @@ void ConfigFile::setFileProviderDomainsAppSandboxMigrationCompleted(const bool c
13361321 settings.setValue (fileProviderDomainsAppSandboxMigrationCompletedC, completed);
13371322}
13381323
1324+ QStringList ConfigFile::backupConfigFiles () const
1325+ {
1326+ // 'Launch on system startup' defaults to true > 3.11.x
1327+ const auto theme = Theme::instance ();
1328+ ConfigFile ().setLaunchOnSystemStartup (ConfigFile ().launchOnSystemStartup ());
1329+ Utility::setLaunchOnStartup (theme->appName (), theme->appNameGUI (), ConfigFile ().launchOnSystemStartup ());
1330+
1331+ // default is now off to displaying dialog warning user of too many files deletion
1332+ ConfigFile ().setPromptDeleteFiles (false );
1333+
1334+ // back up all old config files
1335+ QStringList backupFilesList;
1336+ QDir configDir (ConfigFile ().configPath ());
1337+ const auto anyConfigFileNameList = configDir.entryInfoList ({" *.cfg" }, QDir::Files);
1338+ for (const auto &oldConfig : anyConfigFileNameList) {
1339+ const auto oldConfigFileName = oldConfig.fileName ();
1340+ const auto oldConfigFilePath = oldConfig.filePath ();
1341+ const auto newConfigFileName = ConfigFile ().configFile ();
1342+ backupFilesList.append (backup (oldConfigFileName));
1343+ if (oldConfigFilePath != newConfigFileName) {
1344+ if (!QFile::rename (oldConfigFilePath, newConfigFileName)) {
1345+ qCWarning (lcConfigFile) << " Failed to rename configuration file from" << oldConfigFilePath << " to" << newConfigFileName;
1346+ }
1347+ }
1348+ }
1349+
1350+ return backupFilesList;
1351+ }
1352+
13391353Migration &ConfigFile::migration () {
13401354 return _migration;
13411355}
0 commit comments