X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fbufferviewmanager.cpp;h=42cb6ad1ca3bbc93e1140ed77041da833f87c079;hp=104692938132e07a095e6f546e244aa43fb9c825;hb=f6b9eeda207d42c99fc3e9085631722cf2ec83dc;hpb=997a62b68d7469a93f373476dd955c44eb051be0 diff --git a/src/common/bufferviewmanager.cpp b/src/common/bufferviewmanager.cpp index 10469293..42cb6ad1 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 * @@ -23,6 +23,7 @@ #include "bufferviewconfig.h" #include "signalproxy.h" +INIT_SYNCABLE_OBJECT(BufferViewManager) BufferViewManager::BufferViewManager(SignalProxy *proxy, QObject *parent) : SyncableObject(parent), _proxy(proxy) @@ -37,20 +38,26 @@ 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; _proxy->synchronize(config); _bufferViewConfigs[config->bufferViewId()] = config; - emit bufferViewConfigAdded(config->bufferViewId()); + int bufferViewId = config->bufferViewId(); + SYNC_OTHER(addBufferViewConfig, ARG(bufferViewId)) + emit bufferViewConfigAdded(bufferViewId); } void BufferViewManager::addBufferViewConfig(int bufferViewConfigId) { if(_bufferViewConfigs.contains(bufferViewConfigId)) return; - addBufferViewConfig(new BufferViewConfig(bufferViewConfigId, this)); + addBufferViewConfig(bufferViewConfigFactory(bufferViewConfigId)); } void BufferViewManager::deleteBufferViewConfig(int bufferViewConfigId) { @@ -59,6 +66,7 @@ void BufferViewManager::deleteBufferViewConfig(int bufferViewConfigId) { _bufferViewConfigs[bufferViewConfigId]->deleteLater(); _bufferViewConfigs.remove(bufferViewConfigId); + SYNC(ARG(bufferViewConfigId)) emit bufferViewConfigDeleted(bufferViewConfigId); }