/*
* Copyright (C) 2010 Ixonos Plc.
* Copyright (C) 2011-2021 Philipp Spitzer, gregor herrmann, Stefan Stahl
*
* This file is part of ConfClerk.
*
* ConfClerk is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 2 of the License, or (at your option)
* any later version.
*
* ConfClerk is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* ConfClerk. If not, see .
*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "qglobal.h"
#if QT_VERSION >= 0x050000
#include
#else
#include
#endif
#include
#include "ui_mainwindow.h"
#include "conferencemodel.h"
class ScheduleXmlParser;
class QNetworkAccessManager;
class QNetworkReply;
class MainWindow : public QMainWindow, private Ui::MainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
signals:
void conferenceRemoved();
private slots:
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 sslErrors(QNetworkReply*,const QList &errors);
void networkQueryFinished(QNetworkReply*);
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 conferenceId);
void unsetConference();
void showError(const QString& message);
private:
void fillAndShowConferenceHeader();
void initTabs(); ///< called on startup and on change of a conference
void clearTabs();
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 */