Mark missing settingsKey name as non-translateable
[quassel.git] / src / core / corealiasmanager.cpp
index 78044db..03027ca 100644 (file)
 #include "corealiasmanager.h"
 
 #include "core.h"
+#include "corenetwork.h"
 #include "coresession.h"
 
+INIT_SYNCABLE_OBJECT(CoreAliasManager)
 CoreAliasManager::CoreAliasManager(CoreSession *parent)
   : AliasManager(parent)
 {
@@ -33,14 +35,15 @@ CoreAliasManager::CoreAliasManager(CoreSession *parent)
     return;
   }
 
-  QVariantMap aliases = Core::getUserSetting(session->user(), "Aliases").toMap();
   initSetAliases(Core::getUserSetting(session->user(), "Aliases").toMap());
   if(isEmpty())
     loadDefaults();
-}
 
+  // we store our settings whenever they change
+  connect(this, SIGNAL(updatedRemotely()), SLOT(save()));
+}
 
-CoreAliasManager::~CoreAliasManager() {
+void CoreAliasManager::save() const {
   CoreSession *session = qobject_cast<CoreSession *>(parent());
   if(!session) {
     qWarning() << "CoreAliasManager: unable to save Aliases. Parent is not a Coresession!";
@@ -50,6 +53,9 @@ CoreAliasManager::~CoreAliasManager() {
   Core::setUserSetting(session->user(), "Aliases", initAliases());
 }
 
+const Network *CoreAliasManager::network(NetworkId id) const {
+  return qobject_cast<CoreSession *>(parent())->network(id);
+}
 
 void CoreAliasManager::loadDefaults() {
   foreach(Alias alias, AliasManager::defaults()) {