2ce3b4f4ffca28533d27e6d0bb1c4c3b3f468697
[toast/confclerk.git] / src / gui / mainwindow.h
1 /*
2  * Copyright (C) 2010 Ixonos Plc.
3  * Copyright (C) 2011 Philipp Spitzer, gregor herrmann
4  *
5  * This file is part of ConfClerk.
6  *
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)
10  * any later version.
11  *
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
15  * more details.
16  *
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/>.
19  */
20 #ifndef MAINWINDOW_H
21 #define MAINWINDOW_H
22
23 #include <QtGui/QMainWindow>
24
25 #include <ui_mainwindow.h>
26
27 #include "conferencemodel.h"
28
29 class ScheduleXmlParser;
30 class QNetworkAccessManager;
31 class QNetworkReply;
32
33 class MainWindow : public QMainWindow, private Ui::MainWindow
34 {
35     Q_OBJECT
36 public:
37     // aEventId is used to inform widget to automatically open
38     // Event dialog for given Event ID
39     MainWindow(int aEventId = 0, QWidget *aParent = NULL);
40     ~MainWindow() {}
41 signals:
42     void conferenceRemoved();
43 private slots:
44     void aboutApp();
45     void eventHasChanged(int aEventId, bool aReloadModel);
46     void setup();
47     // TODO: remove
48     void showConferences();
49     void networkQueryFinished(QNetworkReply*);
50     void importFromNetwork(const QString&);
51     void importFromFile(const QString&);
52     void removeConference(int);
53     void changeConferenceUrl(int, const QString&);
54
55     void useConference(int id);
56     void unsetConference();
57 private:
58     void fillAndShowConferenceHeader();
59     void initTabs();
60     void clearTabs();
61     void importData(const QByteArray &aData, const QString& url);
62
63     QString saved_title;
64     ConferenceModel* conferenceModel;
65     ScheduleXmlParser *mXmlParser;
66     QNetworkAccessManager *mNetworkAccessManager;
67 };
68
69 #endif /* MAINWINDOW_H */
70