Write aliases+ignorelist changes to DB immediately
authorSebastian Goth <seezer@roath.org>
Tue, 29 Sep 2009 15:39:35 +0000 (17:39 +0200)
committerSebastian Goth <seezer@roath.org>
Thu, 1 Oct 2009 10:05:42 +0000 (12:05 +0200)
Hopefully pleases EgS and fixes #809

src/core/corealiasmanager.cpp
src/core/corealiasmanager.h
src/core/coreignorelistmanager.cpp
src/core/coreignorelistmanager.h
src/core/coresession.cpp

index b892a04..03027ca 100644 (file)
@@ -38,6 +38,9 @@ CoreAliasManager::CoreAliasManager(CoreSession *parent)
   initSetAliases(Core::getUserSetting(session->user(), "Aliases").toMap());
   if(isEmpty())
     loadDefaults();
+
+  // we store our settings whenever they change
+  connect(this, SIGNAL(updatedRemotely()), SLOT(save()));
 }
 
 void CoreAliasManager::save() const {
index 79641df..ee22c5a 100644 (file)
@@ -34,11 +34,12 @@ public:
 
   inline virtual const QMetaObject *syncMetaObject() const { return &AliasManager::staticMetaObject; }
 
-  void save() const;
-
 protected:
   const Network *network(NetworkId) const;
 
+private slots:
+  void save() const;
+
 private:
   void loadDefaults();
 
index 0d9901f..a1e298c 100644 (file)
@@ -36,6 +36,10 @@ CoreIgnoreListManager::CoreIgnoreListManager(CoreSession *parent)
   }
 
   initSetIgnoreList(Core::getUserSetting(session->user(), "IgnoreList").toMap());
+
+  // we store our settings whenever they change
+  connect(this, SIGNAL(updatedRemotely()), SLOT(save()));
+
   //if(isEmpty())
     //loadDefaults();
 }
index 32e78b9..c12e323 100644 (file)
@@ -33,7 +33,6 @@ public:
   explicit CoreIgnoreListManager(CoreSession *parent);
 
   inline virtual const QMetaObject *syncMetaObject() const { return &IgnoreListManager::staticMetaObject; }
-  void save() const;
 
 public slots:
   virtual inline void requestToggleIgnoreRule(const QString &ignoreRule) { toggleIgnoreRule(ignoreRule); }
@@ -43,6 +42,9 @@ public slots:
     addIgnoreListItem(type, ignoreRule, isRegEx, strictness, scope, scopeRule, isActive);
   }
 
+private slots:
+  void save() const;
+
 //private:
 //  void loadDefaults();
 
index 58af49a..3c8e20c 100644 (file)
@@ -154,8 +154,6 @@ void CoreSession::saveSessionState() const {
   _bufferSyncer->storeDirtyIds();
   _bufferViewManager->saveBufferViews();
   _networkConfig->save();
-  _aliasManager.save();
-  _ignoreListManager.save();
 }
 
 void CoreSession::restoreSessionState() {