#include <QList>
#include <QObject>
#include <QString>
-
-#if QT_VERSION >= 0x050000
-# include <QTemporaryDir>
-#endif
+#include <QTemporaryDir>
#include "abstractnotificationbackend.h"
#include "graphicalui.h"
public:
QtUi();
- ~QtUi();
+ ~QtUi() override;
MessageModel *createMessageModel(QObject *parent) override;
AbstractMessageProcessor *createMessageProcessor(QObject *parent) override;
- inline static QtUi *instance();
+ static QtUi *instance();
inline static QtUiStyle *style();
inline static MainWin *mainWindow();
void setupIconTheme();
private:
- static QtUi *_instance;
- static MainWin *_mainWin;
static QList<AbstractNotificationBackend *> _notificationBackends;
static QList<AbstractNotificationBackend::Notification> _notifications;
+ std::unique_ptr<MainWin> _mainWin;
+
QString _systemIconTheme;
-#if QT_VERSION >= 0x050000
std::unique_ptr<QTemporaryDir> _dummyThemeDir;
-#endif
bool _useSystemTray;
};
-
-QtUi *QtUi::instance() { return _instance ? _instance : new QtUi(); }
QtUiStyle *QtUi::style() { return qobject_cast<QtUiStyle *>(uiStyle()); }
-MainWin *QtUi::mainWindow() { return _mainWin; }
+MainWin *QtUi::mainWindow() { return instance()->_mainWin.get(); }