#include "buffersettings.h"
#include "buffersyncer.h"
#include "bufferviewconfig.h"
+ #include "bufferviewoverlay.h"
+#include "clientaliasmanager.h"
#include "clientbacklogmanager.h"
#include "clientbufferviewmanager.h"
#include "clientirclisthelper.h"
_networkModel(0),
_bufferModel(0),
_bufferSyncer(0),
+ _aliasManager(0),
_backlogManager(new ClientBacklogManager(this)),
_bufferViewManager(0),
+ _bufferViewOverlay(new BufferViewOverlay(this)),
_ircListHelper(new ClientIrcListHelper(this)),
- _inputHandler(new ClientUserInputHandler(this)),
+ _inputHandler(0),
_messageModel(0),
_messageProcessor(0),
_connectedToCore(false),
// create a new BufferViewManager
Q_ASSERT(!_bufferViewManager);
_bufferViewManager = new ClientBufferViewManager(signalProxy(), this);
- connect(bufferViewManager(), SIGNAL(initDone()), this, SLOT(requestInitialBacklog()));
connect(bufferViewManager(), SIGNAL(initDone()), this, SLOT(createDefaultBufferView()));
+ connect(bufferViewManager(), SIGNAL(viewsInitialized()), this, SLOT(requestInitialBacklogBarrier()));
+ // create AliasManager
+ Q_ASSERT(!_aliasManager);
+ _aliasManager = new ClientAliasManager(this);
+ connect(aliasManager(), SIGNAL(initDone()), SLOT(sendBufferedUserInput()));
+ signalProxy()->synchronize(aliasManager());
+
_syncedToCore = true;
emit connected();
emit coreConnectionStateChanged(true);
class NetworkModel;
class BufferModel;
class BufferSyncer;
+ class BufferViewOverlay;
+class ClientAliasManager;
class ClientBacklogManager;
class ClientBufferViewManager;
class ClientIrcListHelper;
void setConnectedToCore(AccountId id, QIODevice *socket = 0);
void setSyncedToCore();
- void requestInitialBacklog();
+ void requestInitialBacklogBarrier();
void createDefaultBufferView();
+ void sendBufferedUserInput();
+
private:
Client(QObject *parent = 0);
virtual ~Client();
NetworkModel * _networkModel;
BufferModel * _bufferModel;
BufferSyncer * _bufferSyncer;
+ ClientAliasManager *_aliasManager;
ClientBacklogManager *_backlogManager;
ClientBufferViewManager *_bufferViewManager;
+ BufferViewOverlay *_bufferViewOverlay;
ClientIrcListHelper *_ircListHelper;
ClientUserInputHandler *_inputHandler;