/***************************************************************************
- * Copyright (C) 2005-2016 by the Quassel Project *
+ * Copyright (C) 2005-2018 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#ifndef QTUIAPPLICATION_H_
-#define QTUIAPPLICATION_H_
+#pragma once
+
+#include <memory>
#ifdef HAVE_KDE4
# include <KApplication>
#include <QSessionManager>
+#include "client.h"
#include "quassel.h"
#include "uisettings.h"
#include "qtuisettings.h"
class QtUi;
#ifdef HAVE_KDE4
-class QtUiApplication : public KApplication, public Quassel
+class QtUiApplication : public KApplication
{
#else
-class QtUiApplication : public QApplication, public Quassel
+class QtUiApplication : public QApplication
{
#endif
public:
QtUiApplication(int &, char **);
- ~QtUiApplication();
- virtual bool init();
+
+ virtual void init();
void resumeSessionIfPossible();
inline bool isAboutToQuit() const { return _aboutToQuit; }
#endif
protected:
- virtual void quit();
+ virtual Quassel::QuitHandler quitHandler();
private:
/**
*/
bool applySettingsMigration(QtUiSettings settings, const uint newVersion);
- bool _aboutToQuit;
-};
+private slots:
+ void initUi();
+protected:
+ std::unique_ptr<Client> _client;
-#endif
+private:
+ bool _aboutToQuit{false};
+};