Provide some new accessors for Chat{View|Scene}
[quassel.git] / src / qtui / qtuiapplication.h
index 7b004d9..7478875 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-08 by the Quassel IRC Team                         *
+ *   Copyright (C) 2005-09 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
 #ifndef QTUIAPPLICATION_H_
 #define QTUIAPPLICATION_H_
 
-#include <QApplication>
+#ifdef HAVE_KDE
+#  include <KApplication>
+#else
+#  include <QApplication>
+#endif
+
 #include <QSessionManager>
 
-#include "sessionsettings.h"
-#include "qtui.h"
+#include "quassel.h"
+#include "uisettings.h"
+
+class QtUi;
+
+#ifdef HAVE_KDE
+class QtUiApplication : public KApplication, public Quassel {
+#else
+class QtUiApplication : public QApplication, public Quassel {
+#endif
 
-class QtUiApplication : public QApplication {
   Q_OBJECT
-  public:
-    QtUiApplication(int &, char**);
-    ~QtUiApplication();
-    void resumeSessionIfPossible();
-    virtual void saveState(QSessionManager & manager);
-  signals:
-    void saveStateToSession(const QString &sessionId);
-    void saveStateToSessionSettings(SessionSettings &s);
-    void resumeFromSession(const QString sessionId);
-    void resumeFromSessionSettings(SessionSettings &s);
-    
+
+public:
+  QtUiApplication(int &, char **);
+  ~QtUiApplication();
+  virtual bool init();
+
+  void resumeSessionIfPossible();
+  virtual void commitData(QSessionManager &manager);
+  virtual void saveState(QSessionManager &manager);
+
+  inline bool isAboutToQuit() const { return _aboutToQuit; }
+
+protected:
+  virtual void quit();
+
+private:
+  bool _aboutToQuit;
 };
 
 #endif