aheinecke@0: #ifndef MAINWINDOW_H aheinecke@0: #define MAINWINDOW_H aheinecke@0: aheinecke@0: #include aheinecke@0: #include aheinecke@16: #include aheinecke@16: aheinecke@16: #include "downloader.h" aheinecke@0: class QMenu; aheinecke@0: class QAction; aheinecke@19: class QTimer; aheinecke@0: aheinecke@0: class MainWindow : public QDialog aheinecke@0: { aheinecke@0: Q_OBJECT aheinecke@0: aheinecke@0: public: aheinecke@0: MainWindow(); aheinecke@0: aheinecke@0: void setMessage(const QString message) {mCurMessage = message;} aheinecke@0: QString getMessage() {return mCurMessage;} aheinecke@0: aheinecke@16: enum CurrentState { aheinecke@16: BeforeDownload, aheinecke@16: NewListAvailable, aheinecke@16: NewSoftwareAvailable, aheinecke@16: TransferError aheinecke@16: }; aheinecke@16: aheinecke@16: CurrentState getState() {return mCurState;} aheinecke@16: void setState(CurrentState state) {mCurState = state;} aheinecke@16: aheinecke@0: private slots: aheinecke@0: void showMessage(); aheinecke@0: void iconActivated(QSystemTrayIcon::ActivationReason reason); aheinecke@16: void checkUpdates(); aheinecke@16: void handleNewList(const QString& fileName, const QDateTime& modDate); aheinecke@16: void handleNewSW(const QString& fileName, const QDateTime& modDate); aheinecke@45: void downloaderError(const QString &message, SSLConnection::ErrorCode error); aheinecke@0: aheinecke@0: private: aheinecke@16: void verifyAvailableData(); aheinecke@0: void createTrayIcon(); aheinecke@0: void createActions(); aheinecke@2: aheinecke@0: QString mCurMessage; aheinecke@16: QString mInstalledSWVersion; aheinecke@16: QString mInstalledListVersion; aheinecke@16: aheinecke@17: QSettings mSettings; aheinecke@0: aheinecke@0: QSystemTrayIcon *mTrayIcon; aheinecke@19: QTimer *mMessageTimer; aheinecke@0: QMenu *mTrayMenu; aheinecke@0: QAction *mCheckUpdates; aheinecke@2: QAction *mQuitAction; aheinecke@16: CurrentState mCurState; aheinecke@0: }; aheinecke@0: aheinecke@0: #endif // MAINWINDOW_H