common: Simplify SyncableObject macros and usage
[quassel.git] / src / common / bufferviewmanager.cpp
index 33ba528..ba1b6c2 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2015 by the Quassel Project                        *
+ *   Copyright (C) 2005-2018 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -23,7 +23,6 @@
 #include "bufferviewconfig.h"
 #include "signalproxy.h"
 
-INIT_SYNCABLE_OBJECT(BufferViewManager)
 BufferViewManager::BufferViewManager(SignalProxy *proxy, QObject *parent)
     : SyncableObject(parent),
     _proxy(proxy)
@@ -47,25 +46,28 @@ BufferViewConfig *BufferViewManager::bufferViewConfigFactory(int bufferViewConfi
 }
 
 
-void BufferViewManager::addBufferViewConfig(BufferViewConfig *config)
+void BufferViewManager::addBufferViewConfig(int bufferViewConfigId)
 {
-    if (_bufferViewConfigs.contains(config->bufferViewId()))
+    if (_bufferViewConfigs.contains(bufferViewConfigId)) {
         return;
+    }
 
-    _proxy->synchronize(config);
-    _bufferViewConfigs[config->bufferViewId()] = config;
-    int bufferViewId = config->bufferViewId();
-    SYNC_OTHER(addBufferViewConfig, ARG(bufferViewId))
-    emit bufferViewConfigAdded(bufferViewId);
+    addBufferViewConfig(bufferViewConfigFactory(bufferViewConfigId));
 }
 
 
-void BufferViewManager::addBufferViewConfig(int bufferViewConfigId)
+void BufferViewManager::addBufferViewConfig(BufferViewConfig *config)
 {
-    if (_bufferViewConfigs.contains(bufferViewConfigId))
+    if (_bufferViewConfigs.contains(config->bufferViewId())) {
+        delete config;
         return;
+    }
 
-    addBufferViewConfig(bufferViewConfigFactory(bufferViewConfigId));
+    _proxy->synchronize(config);
+    _bufferViewConfigs[config->bufferViewId()] = config;
+    int bufferViewId = config->bufferViewId();
+    SYNC_OTHER(addBufferViewConfig, ARG(bufferViewId))
+    emit bufferViewConfigAdded(bufferViewId);
 }
 
 
@@ -88,7 +90,7 @@ QVariantList BufferViewManager::initBufferViewIds() const
     BufferViewConfigHash::const_iterator iterEnd = _bufferViewConfigs.constEnd();
     while (iter != iterEnd) {
         bufferViewIds << (*iter)->bufferViewId();
-        iter++;
+        ++iter;
     }
     return bufferViewIds;
 }
@@ -96,10 +98,7 @@ QVariantList BufferViewManager::initBufferViewIds() const
 
 void BufferViewManager::initSetBufferViewIds(const QVariantList bufferViewIds)
 {
-    QVariantList::const_iterator iter = bufferViewIds.constBegin();
-    QVariantList::const_iterator iterEnd = bufferViewIds.constEnd();
-    while (iter != iterEnd) {
-        newBufferViewConfig((*iter).value<int>());
-        iter++;
+    for (auto &&id : bufferViewIds) {
+        addBufferViewConfig(id.value<int>());
     }
 }