X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fbufferviewmanager.cpp;h=41cdd463826fed6f4afbe95b5c8b6d27abf31bfd;hp=104692938132e07a095e6f546e244aa43fb9c825;hb=7fef34357cbd749e119dc3c47dda0ba63d068a03;hpb=997a62b68d7469a93f373476dd955c44eb051be0 diff --git a/src/common/bufferviewmanager.cpp b/src/common/bufferviewmanager.cpp index 10469293..41cdd463 100644 --- a/src/common/bufferviewmanager.cpp +++ b/src/common/bufferviewmanager.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 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 * @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #include "bufferviewmanager.h" @@ -23,61 +23,83 @@ #include "bufferviewconfig.h" #include "signalproxy.h" +INIT_SYNCABLE_OBJECT(BufferViewManager) BufferViewManager::BufferViewManager(SignalProxy *proxy, QObject *parent) - : SyncableObject(parent), + : SyncableObject(parent), _proxy(proxy) { - _proxy->synchronize(this); + _proxy->synchronize(this); } -BufferViewConfig *BufferViewManager::bufferViewConfig(int bufferViewId) const { - if(_bufferViewConfigs.contains(bufferViewId)) - return _bufferViewConfigs[bufferViewId]; - else - return 0; + +BufferViewConfig *BufferViewManager::bufferViewConfig(int bufferViewId) const +{ + if (_bufferViewConfigs.contains(bufferViewId)) + return _bufferViewConfigs[bufferViewId]; + else + return 0; } -void BufferViewManager::addBufferViewConfig(BufferViewConfig *config) { - if(_bufferViewConfigs.contains(config->bufferViewId())) - return; - _proxy->synchronize(config); - _bufferViewConfigs[config->bufferViewId()] = config; - emit bufferViewConfigAdded(config->bufferViewId()); +BufferViewConfig *BufferViewManager::bufferViewConfigFactory(int bufferViewConfigId) +{ + return new BufferViewConfig(bufferViewConfigId, this); } -void BufferViewManager::addBufferViewConfig(int bufferViewConfigId) { - if(_bufferViewConfigs.contains(bufferViewConfigId)) - return; - - addBufferViewConfig(new BufferViewConfig(bufferViewConfigId, this)); + +void BufferViewManager::addBufferViewConfig(int bufferViewConfigId) +{ + if (_bufferViewConfigs.contains(bufferViewConfigId)) { + return; + } + + addBufferViewConfig(bufferViewConfigFactory(bufferViewConfigId)); } -void BufferViewManager::deleteBufferViewConfig(int bufferViewConfigId) { - if(!_bufferViewConfigs.contains(bufferViewConfigId)) - return; - _bufferViewConfigs[bufferViewConfigId]->deleteLater(); - _bufferViewConfigs.remove(bufferViewConfigId); - emit bufferViewConfigDeleted(bufferViewConfigId); +void BufferViewManager::addBufferViewConfig(BufferViewConfig *config) +{ + if (_bufferViewConfigs.contains(config->bufferViewId())) { + delete config; + return; + } + + _proxy->synchronize(config); + _bufferViewConfigs[config->bufferViewId()] = config; + int bufferViewId = config->bufferViewId(); + SYNC_OTHER(addBufferViewConfig, ARG(bufferViewId)) + emit bufferViewConfigAdded(bufferViewId); } -QVariantList BufferViewManager::initBufferViewIds() const { - QVariantList bufferViewIds; - BufferViewConfigHash::const_iterator iter = _bufferViewConfigs.constBegin(); - BufferViewConfigHash::const_iterator iterEnd = _bufferViewConfigs.constEnd(); - while(iter != iterEnd) { - bufferViewIds << (*iter)->bufferViewId(); - iter++; - } - return bufferViewIds; + +void BufferViewManager::deleteBufferViewConfig(int bufferViewConfigId) +{ + if (!_bufferViewConfigs.contains(bufferViewConfigId)) + return; + + _bufferViewConfigs[bufferViewConfigId]->deleteLater(); + _bufferViewConfigs.remove(bufferViewConfigId); + SYNC(ARG(bufferViewConfigId)) + emit bufferViewConfigDeleted(bufferViewConfigId); +} + + +QVariantList BufferViewManager::initBufferViewIds() const +{ + QVariantList bufferViewIds; + BufferViewConfigHash::const_iterator iter = _bufferViewConfigs.constBegin(); + BufferViewConfigHash::const_iterator iterEnd = _bufferViewConfigs.constEnd(); + while (iter != iterEnd) { + bufferViewIds << (*iter)->bufferViewId(); + ++iter; + } + return bufferViewIds; } -void BufferViewManager::initSetBufferViewIds(const QVariantList bufferViewIds) { - QVariantList::const_iterator iter = bufferViewIds.constBegin(); - QVariantList::const_iterator iterEnd = bufferViewIds.constEnd(); - while(iter != iterEnd) { - newBufferViewConfig((*iter).value()); - iter++; - } + +void BufferViewManager::initSetBufferViewIds(const QVariantList bufferViewIds) +{ + for (auto &&id : bufferViewIds) { + addBufferViewConfig(id.value()); + } }