OSDN Git Service

[UI][Qt] Use Qt5. 'Cos Qt4 is obsoleted now.
[csp-qt/common_source_project-fm7.git] / source / src / qt / x1turboz / MainWindow.cpp
1 /*
2  * Common Source code Project:
3  * Ui->Qt->MainWindow for X1TurboZ .
4  * (C) 2015 K.Ohta <whatisthis.sowhat _at_ gmail.com>
5  *   License : GPLv2
6  *   History :
7  * Jan 14, 2015 : Initial, many of constructors were moved to qt/gui/menu_main.cpp.
8  */
9
10 #include <QVariant>
11 #include <QtGui>
12 #include "menuclasses.h"
13 #include "emu.h"
14 #include "qt_main.h"
15
16 //QT_BEGIN_NAMESPACE
17
18
19 Action_Control_X1::Action_Control_X1(QObject *parent) : Action_Control(parent)
20 {
21    x1_binds = new Object_Menu_Control_X1(parent);
22 }
23
24 Action_Control_X1::~Action_Control_X1(){
25    delete x1_binds;
26 }
27
28 Object_Menu_Control_X1::Object_Menu_Control_X1(QObject *parent) : Object_Menu_Control(parent)
29 {
30 }
31
32 Object_Menu_Control_X1::~Object_Menu_Control_X1(){
33 }
34
35 void Object_Menu_Control_X1::do_set_sound_device(void)
36 {
37    emit sig_sound_device(getValue1());
38 }
39
40 #ifdef _X1TURBOZ
41 void Object_Menu_Control_X1::do_set_display_mode(void)
42 {
43    emit sig_display_mode(getValue1());
44 }
45 #endif
46
47 #ifdef USE_DEVICE_TYPE
48 void Object_Menu_Control_X1::do_set_device_type(void)
49 {
50    emit sig_device_type(getValue1());
51 }
52 #endif
53 #ifdef USE_DRIVE_TYPE
54 void Object_Menu_Control_X1::do_set_drive_type(void)
55 {
56    emit sig_drive_type(getValue1());
57 }
58 #endif
59         
60
61 void META_MainWindow::setupUI_Emu(void)
62 {
63    int i;
64    menu_Emu_SoundDevice = new QMenu(menuMachine);
65    menu_Emu_SoundDevice->setObjectName(QString::fromUtf8("menu_SoundDevice"));
66    
67    actionGroup_SoundDevice = new QActionGroup(this);
68    actionGroup_SoundDevice->setObjectName(QString::fromUtf8("actionGroup_SoundDevice"));
69    actionGroup_SoundDevice->setExclusive(true);
70    menuMachine->addAction(menu_Emu_SoundDevice->menuAction());   
71    for(i = 0; i < 3; i++) {
72         action_Emu_SoundDevice[i] = new Action_Control_X1(this);
73         action_Emu_SoundDevice[i]->setCheckable(true);
74         action_Emu_SoundDevice[i]->x1_binds->setValue1(i);
75         if(i == 2) action_Emu_SoundDevice[i]->setChecked(true); // Need to write configure
76    }
77    
78    action_Emu_SoundDevice[0]->setObjectName(QString::fromUtf8("action_Emu_SoundDevice_PSG"));
79    action_Emu_SoundDevice[1]->setObjectName(QString::fromUtf8("action_Emu_SoundDevice_FM1"));
80    action_Emu_SoundDevice[2]->setObjectName(QString::fromUtf8("action_Emu_SoundDevice_FM2"));
81    for(i = 0; i < 3; i++) {
82       menu_Emu_SoundDevice->addAction(action_Emu_SoundDevice[i]);
83       actionGroup_SoundDevice->addAction(action_Emu_SoundDevice[i]);
84       connect(action_Emu_SoundDevice[i], SIGNAL(triggered()),
85               action_Emu_SoundDevice[i]->x1_binds, SLOT(do_set_sound_device()));
86       connect(action_Emu_SoundDevice[i]->x1_binds, SIGNAL(sig_sound_device(int)),
87               this, SLOT(set_sound_device(int)));
88    }
89 #ifdef USE_DEVICE_TYPE
90    menuDeviceType = new QMenu(menuMachine);
91    menuDeviceType->setObjectName(QString::fromUtf8("menu_DeviceType"));
92    
93    actionGroup_DeviceType = new QActionGroup(this);
94    actionGroup_DeviceType->setObjectName(QString::fromUtf8("actionGroup_DeviceType"));
95    actionGroup_DeviceType->setExclusive(true);
96    menuMachine->addAction(menuDeviceType->menuAction());   
97    for(i = 0; i < USE_DEVICE_TYPE; i++) {
98       actionDeviceType[i] = new Action_Control_X1(this);
99       actionDeviceType[i]->setCheckable(true);
100       actionDeviceType[i]->setVisible(true);
101       actionDeviceType[i]->x1_binds->setValue1(i);
102       actionGroup_DeviceType->addAction(actionDeviceType[i]);
103       menuDeviceType->addAction(actionDeviceType[i]);
104       if(i == config.device_type) actionDeviceType[i]->setChecked(true); // Need to write configure
105       connect(actionDeviceType[i], SIGNAL(triggered()),
106               actionDeviceType[i]->x1_binds, SLOT(do_set_device_type()));
107       connect(actionDeviceType[i]->x1_binds, SIGNAL(sig_device_type(int)),
108               this, SLOT(set_device_type(int)));
109    }
110 #endif
111 #ifdef USE_DRIVE_TYPE
112    menuDriveType = new QMenu(menuMachine);
113    menuDriveType->setObjectName(QString::fromUtf8("menu_DriveType"));
114    
115    actionGroup_DriveType = new QActionGroup(this);
116    actionGroup_DriveType->setObjectName(QString::fromUtf8("actionGroup_DriveType"));
117    actionGroup_DriveType->setExclusive(true);
118    menuMachine->addAction(menuDriveType->menuAction());
119    for(i = 0; i < USE_DRIVE_TYPE; i++) {
120       actionDriveType[i] = new Action_Control_X1(this);
121       actionDriveType[i]->setCheckable(true);
122       actionDriveType[i]->setVisible(true);
123       actionDriveType[i]->x1_binds->setValue1(i);
124       if(i == config.drive_type) actionDriveType[i]->setChecked(true); // Need to write configure
125       actionGroup_DriveType->addAction(actionDriveType[i]);
126       menuDriveType->addAction(actionDriveType[i]);
127       connect(actionDriveType[i], SIGNAL(triggered()),
128               actionDriveType[i]->x1_binds, SLOT(do_set_drive_type()));
129       connect(actionDriveType[i]->x1_binds, SIGNAL(sig_drive_type(int)),
130               this, SLOT(set_drive_type(int)));
131    }
132 #endif
133    
134 # if defined(_X1TURBOZ)
135    menu_Emu_DisplayMode = new QMenu(menuMachine);
136    menu_Emu_DisplayMode->setObjectName(QString::fromUtf8("menu_DisplayMode"));
137    
138    actionGroup_DisplayMode = new QActionGroup(this);
139    actionGroup_DisplayMode->setObjectName(QString::fromUtf8("actionGroup_DisplayMode"));
140    actionGroup_DisplayMode->setExclusive(true);
141    menuMachine->addAction(menu_Emu_DisplayMode->menuAction());   
142    for(i = 0; i < 2; i++) {
143       action_Emu_DisplayMode[i] = new Action_Control_X1(this);
144       action_Emu_DisplayMode[i]->setCheckable(true);
145       action_Emu_DisplayMode[i]->x1_binds->setValue1(i);
146       if(i == config.monitor_type) action_Emu_DisplayMode[i]->setChecked(true); // Need to write configure
147    }
148    
149    action_Emu_DisplayMode[0]->setObjectName(QString::fromUtf8("action_Emu_DisplayMode_High"));
150    action_Emu_DisplayMode[1]->setObjectName(QString::fromUtf8("action_Emu_DisplayMode_Standard"));
151    for(i = 0; i < 2; i++) {
152       menu_Emu_DisplayMode->addAction(action_Emu_DisplayMode[i]);
153       actionGroup_DisplayMode->addAction(action_Emu_DisplayMode[i]);
154       connect(action_Emu_DisplayMode[i], SIGNAL(triggered()),
155               action_Emu_DisplayMode[i]->x1_binds, SLOT(do_set_display_mode()));
156       connect(action_Emu_DisplayMode[i]->x1_binds, SIGNAL(sig_display_mode(int)),
157               this, SLOT(set_monitor_type(int)));
158    }
159 #endif
160
161 }
162
163 void META_MainWindow::retranslateUi(void)
164 {
165   retranslateControlMenu("NMI Reset",  true);
166   retranslateFloppyMenu(0, 0);
167   retranslateFloppyMenu(1, 1);
168   retranslateCMTMenu();
169   retranslateSoundMenu();
170   retranslateScreenMenu();
171 #if defined(_X1TWIN)
172      retranslateCartMenu(0, 1);
173 #endif
174   this->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0));
175   
176   
177   actionAbout->setText(QApplication::translate("MainWindow", "About...", 0));
178   
179
180   menuEmulator->setTitle(QApplication::translate("MainWindow", "Emulator", 0));
181   menuMachine->setTitle(QApplication::translate("MainWindow", "Machine", 0));
182   
183   menuHELP->setTitle(QApplication::translate("MainWindow", "HELP", 0));
184    // Set Labels
185   menu_Emu_SoundDevice->setTitle(QApplication::translate("MainWindow", "Sound Device", 0));
186   action_Emu_SoundDevice[0]->setText(QApplication::translate("MainWindow", "PSG", 0));
187   action_Emu_SoundDevice[1]->setText(QApplication::translate("MainWindow", "CZ-8BS1 Single", 0));
188   action_Emu_SoundDevice[2]->setText(QApplication::translate("MainWindow", "CZ-8BS1 Double", 0));
189
190 #if defined(_X1TURBOZ)
191   menu_Emu_DisplayMode->setTitle(QApplication::translate("MainWindow", "Display Mode", 0));
192   action_Emu_DisplayMode[0]->setText(QApplication::translate("MainWindow", "High Resolution (400line)", 0));
193   action_Emu_DisplayMode[1]->setText(QApplication::translate("MainWindow", "Standarsd Resolution (200line)", 0));
194 #endif
195 #if defined(USE_DEVICE_TYPE)
196   menuDeviceType->setTitle(QApplication::translate("MainWindow", "Keyboard Mode", 0));
197   actionDeviceType[0]->setText(QApplication::translate("MainWindow", "Mode A", 0));
198   actionDeviceType[1]->setText(QApplication::translate("MainWindow", "Mode B", 0));
199 #endif
200 #if defined(USE_DRIVE_TYPE)
201   menuDriveType->setTitle(QApplication::translate("MainWindow", "Floppy Type", 0));
202   actionDriveType[0]->setText(QApplication::translate("MainWindow", "2D", 0));
203   actionDriveType[1]->setText(QApplication::translate("MainWindow", "2HD", 0));
204 #endif
205 #ifdef USE_DEBUGGER
206         actionDebugger_1->setText(QApplication::translate("MainWindow", "Main CPU", 0));
207         actionDebugger_2->setText(QApplication::translate("MainWindow", "Sub CPU", 0));
208         actionDebugger_3->setText(QApplication::translate("MainWindow", "Keyboard CPU", 0));
209 #endif  
210    
211 } // retranslateUi
212
213
214
215 META_MainWindow::META_MainWindow(QWidget *parent) : Ui_MainWindow(parent)
216 {
217    setupUI_Emu();
218    retranslateUi();
219 }
220
221
222 META_MainWindow::~META_MainWindow()
223 {
224 }
225
226 //QT_END_NAMESPACE
227
228
229