]> Shamusworld >> Repos - virtualjaguar/blob - src/gui/mainwin.h
Added switch to disable untuned tank circuit, for slower computers.
[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 HelpWindow;
18 class FilePickerWindow;
19
20 class MainWin: public QMainWindow
21 {
22         // All Qt apps require this macro for signal/slot functionality to work
23         Q_OBJECT
24
25         public:
26                 MainWin();
27
28         protected:
29                 void closeEvent(QCloseEvent *);
30                 void keyPressEvent(QKeyEvent *);
31                 void keyReleaseEvent(QKeyEvent *);
32
33         private slots:
34                 void Open(void);
35                 void Configure(void);
36                 void Timer(void);
37                 void TogglePowerState(void);
38                 void ToggleRunState(void);
39                 void SetZoom100(void);
40                 void SetZoom200(void);
41                 void SetZoom300(void);
42                 void SetNTSC(void);
43                 void SetPAL(void);
44                 void ToggleBlur(void);
45                 void ShowAboutWin(void);
46                 void ShowHelpWin(void);
47                 void InsertCart(void);
48                 void Unpause(void);
49                 void LoadSoftware(QString);
50                 void ToggleCDUsage(void);
51                 void FrameAdvance(void);
52
53         private:
54                 void HandleKeys(QKeyEvent *, bool);
55                 void ResizeMainWindow(void);
56                 void ReadSettings(void);
57                 void WriteSettings(void);
58
59 //      public:
60                 GLWidget * videoWidget;
61                 AboutWindow * aboutWin;
62                 HelpWindow * helpWin;
63                 FilePickerWindow * filePickWin;
64                 QTimer * timer;
65                 bool running;
66                 int zoomLevel;
67                 bool powerButtonOn;
68                 bool showUntunedTankCircuit;
69                 bool cartridgeLoaded;
70                 bool allowUnknownSoftware;
71                 bool CDActive;
72 //              bool alpineLoadSuccessful;
73                 bool pauseForFileSelector;
74         public:
75                 bool plzDontKillMyComputer;
76         private:
77                 QMenu * fileMenu;
78                 QMenu * helpMenu;
79                 QToolBar * toolbar;
80
81                 QActionGroup * zoomActs;
82                 QActionGroup * tvTypeActs;
83
84                 QAction * quitAppAct;
85                 QAction * powerAct;
86                 QAction * pauseAct;
87                 QAction * x1Act;
88                 QAction * x2Act;
89                 QAction * x3Act;
90                 QAction * ntscAct;
91                 QAction * palAct;
92                 QAction * blurAct;
93                 QAction * aboutAct;
94                 QAction * helpAct;
95                 QAction * filePickAct;
96                 QAction * configAct;
97                 QAction * useCDAct;
98                 QAction * frameAdvanceAct;
99                 
100                 QIcon powerGreen;
101                 QIcon powerRed;
102 };
103
104 #endif  // __MAINWIN_H__