#include "clientbufferviewmanager.h"
-#include "bufferviewoverlay.h"
#include "clientbufferviewconfig.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) {
ClientBufferViewConfig *ClientBufferViewManager::clientBufferViewConfig(int bufferViewId) const {
return static_cast<ClientBufferViewConfig *>(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<BufferViewConfig *>(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();
-}