00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GLUONPLAYER_MAINWINDOW_H
00021 #define GLUONPLAYER_MAINWINDOW_H
00022
00023 #include "loginform.h"
00024
00025 #include <QtGui/QMainWindow>
00026 #include <QtGui/QAction>
00027 #include <QtGui/QToolBar>
00028 #include <QtGui/QMenuBar>
00029 #include <QtGui/QMessageBox>
00030 #include <QtGui/QGridLayout>
00031 #include <QtGui/QLabel>
00032 #include <QtGui/QLineEdit>
00033 #include <QtGui/QStackedWidget>
00034
00035 #include <QtCore/QSharedPointer>
00036 #include <QtCore/QSettings>
00037 #include <QtCore/QString>
00038
00039 class QModelIndex;
00040
00041 namespace GluonPlayer
00042 {
00043 class MainWindow : public QMainWindow
00044 {
00045 Q_OBJECT
00046 public:
00047 MainWindow( int argc, char** argv, QWidget* parent = 0, Qt::WindowFlags flags = 0 );
00048 virtual void closeEvent( QCloseEvent* event );
00049
00050 QString userName() const;
00051 QString password() const;
00052 bool rememberSettings() const;
00053
00054 void setUserName(const QString &userName);
00055 void setPassword(const QString &password);
00056 void setRememberSettings(bool on);
00057
00058 public slots:
00059 void openProject( const QString& fileName = QString() );
00060 void updateTitle( int msec );
00061 void activated( QModelIndex index );
00062 void openClicked( bool );
00063 void startGame();
00064 void countFrames( int );
00065
00066 private slots:
00067 void mOpenGame();
00068 void mShowToolBar(bool checked);
00069 void mShowStatusBar(bool checked);
00070 void mConfigureToolBar();
00071 void mConfigureShortcuts();
00072 void mAbout();
00073
00074 void mLoginLogout(bool checked);
00075 void mHome();
00076 void mDetails();
00077 void mRegistration();
00078 void mForgottenPassword();
00079
00080 protected:
00081 void changeEvent(QEvent *e);
00082
00083 private:
00084 void setupUi();
00085 void retranslateUi();
00086
00087 void createActions();
00088 void createMenus();
00089 void createToolBars();
00090 void createStatusBar();
00091
00092 void loadActions();
00093
00094 QStackedWidget *stackedWidget;
00095
00096 LoginForm *loginForm;
00097
00098 QWidget *centralWidget;
00099 QGridLayout *mainGridLayout;
00100
00101 QMenuBar *menuBar;
00102 QToolBar *mainToolBar;
00103 QStatusBar *statusBar;
00104
00105
00106 QAction *openGameAct;
00107 QAction *quitAct;
00108
00109
00110 QAction *showToolBarAct;
00111 QAction *showStatusBarAct;
00112
00113
00114
00115 QAction *loginLogoutAct;
00116 QAction *homeAct;
00117 QAction *detailsAct;
00118 QAction *registrationAct;
00119 QAction *forgottenPasswordAct;
00120
00121
00122
00123 QAction *configureShortcutsAct;
00124 QAction *saveShortcutsAct;
00125 QAction *configureToolBarAct;
00126
00127
00128
00129 QAction *aboutAct;
00130 QAction *aboutQtAct;
00131
00132
00133
00134 QMenu *fileMenu;
00135 QMenu *viewMenu;
00136 QMenu *communityMenu;
00137 QMenu *settingsMenu;
00138 QMenu *helpMenu;
00139
00140 QSharedPointer<QSettings> settings;
00141 QList<QAction *> m_actions;
00142
00143 class MainWindowPrivate;
00144 MainWindowPrivate* d;
00145 };
00146 }
00147
00148 #endif // GLUONPLAYER_MAINWINDOW_H