X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fbufferviewmanager.cpp;h=41cdd463826fed6f4afbe95b5c8b6d27abf31bfd;hp=36018fd93d118388eadff3770f8dda0f7bc43ac3;hb=00e1a9c29e792ba4d65dba21b7ba04131bcb13bc;hpb=694f9bfbf7f1af19108461c7e00d133e55082bce diff --git a/src/common/bufferviewmanager.cpp b/src/common/bufferviewmanager.cpp index 36018fd9..41cdd463 100644 --- a/src/common/bufferviewmanager.cpp +++ b/src/common/bufferviewmanager.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-09 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" @@ -47,25 +47,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 +91,7 @@ QVariantList BufferViewManager::initBufferViewIds() const BufferViewConfigHash::const_iterator iterEnd = _bufferViewConfigs.constEnd(); while (iter != iterEnd) { bufferViewIds << (*iter)->bufferViewId(); - iter++; + ++iter; } return bufferViewIds; } @@ -96,10 +99,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()); - iter++; + for (auto &&id : bufferViewIds) { + addBufferViewConfig(id.value()); } }