Fix Quassel not rejoining newly joined channels
[quassel.git] / src / core / coreignorelistmanager.cpp
index db9cc7d..a1e298c 100644 (file)
@@ -23,6 +23,8 @@
 #include "core.h"
 #include "coresession.h"
 
+INIT_SYNCABLE_OBJECT(CoreIgnoreListManager)
+
 CoreIgnoreListManager::CoreIgnoreListManager(CoreSession *parent)
   : IgnoreListManager(parent)
 {
@@ -34,11 +36,15 @@ 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();
 }
 
-CoreIgnoreListManager::~CoreIgnoreListManager() {
+void CoreIgnoreListManager::save() const {
   CoreSession *session = qobject_cast<CoreSession *>(parent());
   if(!session) {
     qWarning() << "CoreIgnoreListManager: unable to save IgnoreList. Parent is not a Coresession!";