Imported Upstream version 0.6.0
[debian/confclerk.git] / src / gui / mainwindow.h
index 2ce3b4f4ffca28533d27e6d0bb1c4c3b3f468697..488dede57c18d993638d1793dc03eae65c78beed 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2010 Ixonos Plc.
- * Copyright (C) 2011 Philipp Spitzer, gregor herrmann
+ * Copyright (C) 2011-2013 Philipp Spitzer, gregor herrmann, Stefan Stahl
  *
  * This file is part of ConfClerk.
  *
@@ -22,7 +22,7 @@
 
 #include <QtGui/QMainWindow>
 
-#include <ui_mainwindow.h>
+#include "ui_mainwindow.h"
 
 #include "conferencemodel.h"
 
@@ -34,36 +34,48 @@ class MainWindow : public QMainWindow, private Ui::MainWindow
 {
     Q_OBJECT
 public:
-    // aEventId is used to inform widget to automatically open
-    // Event dialog for given Event ID
-    MainWindow(int aEventId = 0, QWidget *aParent = NULL);
-    ~MainWindow() {}
+    MainWindow(QWidget *parent = 0);
+    ~MainWindow();
 signals:
     void conferenceRemoved();
 private slots:
-    void aboutApp();
-    void eventHasChanged(int aEventId, bool aReloadModel);
-    void setup();
-    // TODO: remove
-    void showConferences();
+    void on_conferencesAction_triggered();
+    void on_settingsAction_triggered();
+    void on_aboutAction_triggered();
+    void on_reloadAction_triggered();
+    void on_nowAction_triggered();
+    void on_searchAction_triggered();
+    void on_expandAllAction_triggered();
+    void on_collapseAllAction_triggered();
+
+    void onEventChanged(int aEventId, bool favouriteChanged);
+    void onSearchResultChanged();
+
     void networkQueryFinished(QNetworkReply*);
-    void importFromNetwork(const QString&);
-    void importFromFile(const QString&);
+    void importFromNetwork(const QString&, int conferenceId);
+    void importFromFile(const QString&, int conferenceId);
     void removeConference(int);
     void changeConferenceUrl(int, const QString&);
+    void onSystemTrayMessageClicked();
+    void onAlarmTimerTimeout();
 
-    void useConference(int id);
+    void useConference(int conferenceId);
     void unsetConference();
+
+    void showError(const QString& message);
 private:
     void fillAndShowConferenceHeader();
-    void initTabs();
+    void initTabs(); ///< called on startup and on change of a conference
     void clearTabs();
-    void importData(const QByteArray &aData, const QString& url);
+    void importData(const QByteArray &aData, const QString& url, int conferenceId);
 
     QString saved_title;
+    SqlEngine* sqlEngine;
     ConferenceModel* conferenceModel;
     ScheduleXmlParser *mXmlParser;
     QNetworkAccessManager *mNetworkAccessManager;
+    QSystemTrayIcon* systemTrayIcon; ///< to be able to show notifications
+    QTimer* alarmTimer; ///< timer that triggers every minute to be able to show alarms
 };
 
 #endif /* MAINWINDOW_H */