X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclientbufferviewmanager.cpp;h=4741b0df2482bcd7cf19ba77b1665576d0b26207;hp=d7cd837fc2aa3aa8a3b39d4e6b57a319f731e8e6;hb=9188f1a4880dc7f4c26612a265c1d874f6df5a8c;hpb=92f256c9ef102ef5af61164bb17b63e501510541 diff --git a/src/client/clientbufferviewmanager.cpp b/src/client/clientbufferviewmanager.cpp index d7cd837f..4741b0df 100644 --- a/src/client/clientbufferviewmanager.cpp +++ b/src/client/clientbufferviewmanager.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,57 +15,45 @@ * 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 "clientbufferviewmanager.h" -#include "bufferviewoverlay.h" +#include "client.h" #include "clientbufferviewconfig.h" +#include "networkmodel.h" -ClientBufferViewManager::ClientBufferViewManager(SignalProxy *proxy, QObject *parent) - : BufferViewManager(proxy, parent) -{ - connect(this, SIGNAL(initDone()), this, SLOT(waitForConfigInit())); -} +ClientBufferViewManager::ClientBufferViewManager(SignalProxy* proxy, QObject* parent) + : BufferViewManager(proxy, parent) +{} -BufferViewConfig *ClientBufferViewManager::bufferViewConfigFactory(int bufferViewConfigId) { - return new ClientBufferViewConfig(bufferViewConfigId, this); -} - -QList ClientBufferViewManager::clientBufferViewConfigs() const { - QList clientConfigs; - foreach(BufferViewConfig *config, bufferViewConfigs()) { - clientConfigs << static_cast(config); - } - return clientConfigs; +BufferViewConfig* ClientBufferViewManager::bufferViewConfigFactory(int bufferViewConfigId) +{ + return new ClientBufferViewConfig(bufferViewConfigId, this); } -ClientBufferViewConfig *ClientBufferViewManager::clientBufferViewConfig(int bufferViewId) const { - return static_cast(bufferViewConfig(bufferViewId)); +QList ClientBufferViewManager::clientBufferViewConfigs() const +{ + QList clientConfigs; + foreach (BufferViewConfig* config, bufferViewConfigs()) { + clientConfigs << static_cast(config); + } + return clientConfigs; } -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(); +ClientBufferViewConfig* ClientBufferViewManager::clientBufferViewConfig(int bufferViewId) const +{ + return static_cast(bufferViewConfig(bufferViewId)); } -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(); - } - if(initialized) - emit viewsInitialized(); +void ClientBufferViewManager::setInitialized() +{ + if (bufferViewConfigs().isEmpty()) { + BufferViewConfig config(-1); + config.setBufferViewName(tr("All Chats")); + config.setBufferList(Client::networkModel()->allBufferIdsSorted()); + requestCreateBufferView(config.toVariantMap()); + } + BufferViewManager::setInitialized(); }