]> Shamusworld >> Repos - virtualjaguar/blob - src/gui/mainwin.h
Rewrote key handling to decouple hardwired SDL way from current way.
[virtualjaguar] / src / gui / mainwin.h
1 //
2 // mainwin.h: Header file
3 //
4 // by James L. Hammons
5 // (C) 2010 Underground Software
6 //
7
8 #ifndef __MAINWIN_H__
9 #define __MAINWIN_H__
10
11 //Hrm. uh??? I thought this wasn't the way to do this stuff...???
12 #include <QtGui>
13
14 // Forward declarations
15 class GLWidget;
16 class AboutWindow;
17 class FilePickerWindow;
18
19 class MainWin: public QMainWindow
20 {
21         // All Qt apps require this macro for signal/slot functionality to work
22         Q_OBJECT
23
24         public:
25                 MainWin();
26
27         protected:
28                 void closeEvent(QCloseEvent *);
29                 void keyPressEvent(QKeyEvent *);
30                 void keyReleaseEvent(QKeyEvent *);
31
32         private slots:
33                 void Open(void);
34                 void Timer(void);
35                 void TogglePowerState(void);
36                 void ToggleRunState(void);
37                 void SetZoom100(void);
38                 void SetZoom200(void);
39                 void SetZoom300(void);
40                 void SetNTSC(void);
41                 void SetPAL(void);
42                 void ToggleBlur(void);
43                 void ShowAboutWin(void);
44                 void InsertCart(void);
45                 void LoadSoftware(QString);
46
47         private:
48                 void HandleKeys(QKeyEvent *, bool);
49                 void ResizeMainWindow(void);
50                 void ReadSettings(void);
51                 void WriteSettings(void);
52
53 //      public:
54                 GLWidget * videoWidget;
55                 AboutWindow * aboutWin;
56                 FilePickerWindow * filePickWin;
57                 QTimer * timer;
58                 bool running;
59                 int zoomLevel;
60                 bool powerButtonOn;
61                 bool showUntunedTankCircuit;
62                 bool cartridgeLoaded;
63
64                 QMenu * fileMenu;
65                 QMenu * helpMenu;
66                 QToolBar * toolbar;
67
68                 QActionGroup * zoomActs;
69                 QActionGroup * tvTypeActs;
70
71                 QAction * quitAppAct;
72                 QAction * powerAct;
73                 QAction * pauseAct;
74                 QAction * x1Act;
75                 QAction * x2Act;
76                 QAction * x3Act;
77                 QAction * ntscAct;
78                 QAction * palAct;
79                 QAction * blurAct;
80                 QAction * aboutAct;
81                 QAction * filePickAct;
82 };
83
84 #endif  // __MAINWIN_H__