X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fbufferviewmanager.cpp;h=59d3a9b476313ed3762a290c236c382236d760fa;hb=38c619629af261ada7df30bbe71b19b0808867b3;hp=7ab9831f5f94f49062cc32d724b1c113bd40a404;hpb=4e0445e459c690cfa6013c5ad574e94f9214827b;p=quassel.git diff --git a/src/common/bufferviewmanager.cpp b/src/common/bufferviewmanager.cpp index 7ab9831f..59d3a9b4 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-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -37,6 +37,10 @@ BufferViewConfig *BufferViewManager::bufferViewConfig(int bufferViewId) const { return 0; } +BufferViewConfig *BufferViewManager::bufferViewConfigFactory(int bufferViewConfigId) { + return new BufferViewConfig(bufferViewConfigId, this); +} + void BufferViewManager::addBufferViewConfig(BufferViewConfig *config) { if(_bufferViewConfigs.contains(config->bufferViewId())) return; @@ -50,7 +54,16 @@ void BufferViewManager::addBufferViewConfig(int bufferViewConfigId) { if(_bufferViewConfigs.contains(bufferViewConfigId)) return; - addBufferViewConfig(new BufferViewConfig(bufferViewConfigId, this)); + addBufferViewConfig(bufferViewConfigFactory(bufferViewConfigId)); +} + +void BufferViewManager::deleteBufferViewConfig(int bufferViewConfigId) { + if(!_bufferViewConfigs.contains(bufferViewConfigId)) + return; + + _bufferViewConfigs[bufferViewConfigId]->deleteLater(); + _bufferViewConfigs.remove(bufferViewConfigId); + emit bufferViewConfigDeleted(bufferViewConfigId); } QVariantList BufferViewManager::initBufferViewIds() const {