Mercurial > trustbridge
view ui/mainwindow.h @ 158:fb3b2d77518f
Merged
author | Sascha Wilde <wilde@intevation.de> |
---|---|
date | Tue, 25 Mar 2014 09:30:51 +0100 |
parents | c0fdb8d336cf |
children | 0c06a608e15f |
line wrap: on
line source
#ifndef MAINWINDOW_H #define MAINWINDOW_H /** * @file mainwindow.h * @brief Main UI controller */ #include <QSystemTrayIcon> #include <QMainWindow> #include <QSettings> #include <QMenuBar> #include "downloader.h" #include "certificatelist.h" class QMenu; class QAction; class QTimer; class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(); void setMessage(const QString message) {mCurMessage = message;} QString getMessage() {return mCurMessage;} enum CurrentState { BeforeDownload, NewListAvailable, NewSoftwareAvailable, TransferError }; CurrentState getState() {return mCurState;} void setState(CurrentState state) {mCurState = state;} private slots: void showMessage(); void iconActivated(QSystemTrayIcon::ActivationReason reason); void checkUpdates(); void handleNewList(const QString& fileName, const QDateTime& modDate); void handleNewSW(const QString& fileName, const QDateTime& modDate); void downloaderError(const QString &message, SSLConnection::ErrorCode error); /** @brief Trigger the appropiate action depending on the state */ void messageClicked(); void showSettings(); void showHelp(); void showAbout(); private: /** @brief check the integrity of available files. * * Do not use this as a trust check as this only works on * FileNames where the underlying files can change. This * is just meant to check if the downloaded data was somehow * removed or corrupted. * */ void verifyAvailableData(); void createTrayIcon(); void createActions(); void createMenuBar(); QString mCurMessage; QString mInstalledSWVersion; QString mInstalledListVersion; QSettings mSettings; QSystemTrayIcon *mTrayIcon; QTimer *mMessageTimer; QMenu *mTrayMenu; QAction *mCheckUpdates; QAction *mQuitAction; CurrentState mCurState; QMenuBar *mMenuBar; CertificateList mListToInstall; }; #endif // MAINWINDOW_H