X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclient.h;h=ef37ad531611fc70577d6b28178e1eabe67eef33;hp=00c9c974f9b933740576597343471c6cd32954ec;hb=72473527f99cbe68dcfcb4ca17f828bd3775bba7;hpb=ee3e3d298a1208d06e3a35a8aea6bcc42ce3aa5c diff --git a/src/client/client.h b/src/client/client.h index 00c9c974..ef37ad53 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -20,6 +20,8 @@ #pragma once +#include + #include #include @@ -29,6 +31,7 @@ #include "coreconnection.h" #include "highlightrulemanager.h" #include "quassel.h" +#include "singleton.h" #include "types.h" class Message; @@ -63,7 +66,7 @@ class TransferModel; struct NetworkInfo; -class Client : public QObject +class Client : public QObject, public Singleton { Q_OBJECT @@ -73,10 +76,9 @@ public: RemoteCore }; - static bool instanceExists(); - static Client *instance(); - static void destroy(); - static void init(AbstractUi *); + Client(std::unique_ptr, QObject *parent = nullptr); + ~Client() override; + static AbstractUi *mainUi(); static QList networkIds(); @@ -292,10 +294,6 @@ private slots: void sendBufferedUserInput(); private: - Client(QObject *parent = 0); - virtual ~Client(); - void init(); - void requestInitialBacklog(); /** @@ -311,10 +309,8 @@ private: static void addNetwork(Network *); - static QPointer instanceptr; - SignalProxy *_signalProxy; - AbstractUi *_mainUi; + std::unique_ptr _mainUi; NetworkModel *_networkModel; BufferModel *_bufferModel; BufferSyncer *_bufferSyncer;