Просмотр исходного кода

FolderDefinition: Escape the alias of a folder before writing to the config

Issue #3707
Olivier Goffart 10 лет назад
Родитель
Сommit
d853b4f083
3 измененных файлов с 4 добавлено и 5 удалено
  1. 2 2
      src/gui/folder.cpp
  2. 1 1
      src/gui/folderman.cpp
  3. 1 2
      src/gui/folderman.h

+ 2 - 2
src/gui/folder.cpp

@@ -1142,7 +1142,7 @@ void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction, bool *cancel)
 
 void FolderDefinition::save(QSettings& settings, const FolderDefinition& folder)
 {
-    settings.beginGroup(folder.alias);
+    settings.beginGroup(FolderMan::escapeAlias(folder.alias));
     settings.setValue(QLatin1String("localPath"), folder.localPath);
     settings.setValue(QLatin1String("targetPath"), folder.targetPath);
     settings.setValue(QLatin1String("paused"), folder.paused);
@@ -1154,7 +1154,7 @@ bool FolderDefinition::load(QSettings& settings, const QString& alias,
                             FolderDefinition* folder)
 {
     settings.beginGroup(alias);
-    folder->alias = alias;
+    folder->alias = FolderMan::unescapeAlias(alias);
     folder->localPath = settings.value(QLatin1String("localPath")).toString();
     folder->targetPath = settings.value(QLatin1String("targetPath")).toString();
     folder->paused = settings.value(QLatin1String("paused")).toBool();

+ 1 - 1
src/gui/folderman.cpp

@@ -321,7 +321,7 @@ SocketApi *FolderMan::socketApi()
     return this->_socketApi;
 }
 
-QString FolderMan::unescapeAlias( const QString& alias ) const
+QString FolderMan::unescapeAlias( const QString& alias )
 {
     QString a(alias);
 

+ 1 - 2
src/gui/folderman.h

@@ -86,6 +86,7 @@ public:
     // Escaping of the alias which is used in QSettings AND the file
     // system, thus need to be escaped.
     static QString escapeAlias( const QString& );
+    static QString unescapeAlias( const QString& );
 
     SocketApi *socketApi();
 
@@ -193,8 +194,6 @@ private:
     // restarts the application (Linux only)
     void restartApplication();
 
-    QString unescapeAlias( const QString& ) const;
-
     QSet<Folder*>  _disabledFolders;
     Folder::Map    _folderMap;
     QString        _folderConfigPath;