X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclientbufferviewmanager.cpp;h=504604f5ce1b6fab538f1cb08cc29108a40ffacb;hp=d7cd837fc2aa3aa8a3b39d4e6b57a319f731e8e6;hb=02b4f33429788d35500454bfb5a8a9ab0a2a2b49;hpb=92f256c9ef102ef5af61164bb17b63e501510541 diff --git a/src/client/clientbufferviewmanager.cpp b/src/client/clientbufferviewmanager.cpp index d7cd837f..504604f5 100644 --- a/src/client/clientbufferviewmanager.cpp +++ b/src/client/clientbufferviewmanager.cpp @@ -20,13 +20,14 @@ #include "clientbufferviewmanager.h" -#include "bufferviewoverlay.h" #include "clientbufferviewconfig.h" +#include "client.h" +#include "networkmodel.h" +INIT_SYNCABLE_OBJECT(ClientBufferViewManager) ClientBufferViewManager::ClientBufferViewManager(SignalProxy *proxy, QObject *parent) : BufferViewManager(proxy, parent) { - connect(this, SIGNAL(initDone()), this, SLOT(waitForConfigInit())); } BufferViewConfig *ClientBufferViewManager::bufferViewConfigFactory(int bufferViewConfigId) { @@ -45,27 +46,12 @@ ClientBufferViewConfig *ClientBufferViewManager::clientBufferViewConfig(int buff return static_cast(bufferViewConfig(bufferViewId)); } -void ClientBufferViewManager::waitForConfigInit() { - bool initialized = true; - foreach(BufferViewConfig *config, bufferViewConfigs()) { - initialized &= config->isInitialized(); - if(config->isInitialized()) - continue; - connect(config, SIGNAL(initDone()), this, SLOT(configInitBarrier())); - } - if(initialized) - emit viewsInitialized(); -} - -void ClientBufferViewManager::configInitBarrier() { - BufferViewConfig *config = qobject_cast(sender()); - Q_ASSERT(config); - disconnect(config, SIGNAL(initDone()), this, SLOT(configInitBarrier())); - - bool initialized = true; - foreach(BufferViewConfig *config, bufferViewConfigs()) { - initialized &= config->isInitialized(); +void ClientBufferViewManager::setInitialized() { + if(bufferViewConfigs().isEmpty()) { + BufferViewConfig config(-1); + config.setBufferViewName(tr("All Chats")); + config.initSetBufferList(Client::networkModel()->allBufferIdsSorted()); + requestCreateBufferView(config.toVariantMap()); } - if(initialized) - emit viewsInitialized(); + BufferViewManager::setInitialized(); }