/***************************************************************************
- * Copyright (C) 2005-2018 by the Quassel Project *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#pragma once
-#ifdef HAVE_KDE4
-# include <KApplication>
-#else
-# include <QApplication>
-#endif
+#include "qtui-export.h"
+#include <memory>
+
+#include <QApplication>
#include <QSessionManager>
+#include "client.h"
+#include "qtuisettings.h"
#include "quassel.h"
#include "uisettings.h"
-#include "qtuisettings.h"
class QtUi;
-#ifdef HAVE_KDE4
-class QtUiApplication : public KApplication
-{
-#else
-class QtUiApplication : public QApplication
+class QTUI_EXPORT QtUiApplication : public QApplication
{
-#endif
-
Q_OBJECT
public:
- QtUiApplication(int &, char **);
- ~QtUiApplication();
+ QtUiApplication(int&, char**);
+
virtual void init();
void resumeSessionIfPossible();
inline bool isAboutToQuit() const { return _aboutToQuit; }
-#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
- void commitData(QSessionManager &manager) override;
- void saveState(QSessionManager &manager) override;
-#else
- void commitData(QSessionManager &manager);
- void saveState(QSessionManager &manager);
-#endif
+ void commitData(QSessionManager& manager);
+ void saveState(QSessionManager& manager);
+
+protected:
+ virtual Quassel::QuitHandler quitHandler();
private:
/**
*/
bool applySettingsMigration(QtUiSettings settings, const uint newVersion);
-private slots:
- void initUi();
+protected:
+ std::unique_ptr<Client> _client;
private:
bool _aboutToQuit{false};