2 * Copyright (C) 2010 Ixonos Plc.
3 * Copyright (C) 2011-2014 Philipp Spitzer, gregor herrmann, Stefan Stahl
5 * This file is part of ConfClerk.
7 * ConfClerk is free software: you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the Free
9 * Software Foundation, either version 2 of the License, or (at your option)
12 * ConfClerk is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
17 * You should have received a copy of the GNU General Public License along with
18 * ConfClerk. If not, see <http://www.gnu.org/licenses/>.
23 #include <QtGui/QMainWindow>
25 #include "ui_mainwindow.h"
27 #include "conferencemodel.h"
29 class ScheduleXmlParser;
30 class QNetworkAccessManager;
33 class MainWindow : public QMainWindow, private Ui::MainWindow
37 MainWindow(QWidget *parent = 0);
40 void conferenceRemoved();
42 void on_conferencesAction_triggered();
43 void on_settingsAction_triggered();
44 void on_aboutAction_triggered();
45 void on_reloadAction_triggered();
46 void on_nowAction_triggered();
47 void on_searchAction_triggered();
48 void on_expandAllAction_triggered();
49 void on_collapseAllAction_triggered();
51 void onEventChanged(int aEventId, bool favouriteChanged);
52 void onSearchResultChanged();
54 void networkQueryFinished(QNetworkReply*);
55 void importFromNetwork(const QString&, int conferenceId);
56 void importFromFile(const QString&, int conferenceId);
57 void removeConference(int);
58 void changeConferenceUrl(int, const QString&);
59 void onSystemTrayMessageClicked();
60 void onAlarmTimerTimeout();
62 void useConference(int conferenceId);
63 void unsetConference();
65 void showError(const QString& message);
67 void fillAndShowConferenceHeader();
68 void initTabs(); ///< called on startup and on change of a conference
70 void importData(const QByteArray &aData, const QString& url, int conferenceId);
74 ConferenceModel* conferenceModel;
75 ScheduleXmlParser *mXmlParser;
76 QNetworkAccessManager *mNetworkAccessManager;
77 QSystemTrayIcon* systemTrayIcon; ///< to be able to show notifications
78 QTimer* alarmTimer; ///< timer that triggers every minute to be able to show alarms
81 #endif /* MAINWINDOW_H */