OSDN Git Service

a4b0e7dcbc6071a380ea5b0b421abb2b4f32c205
[csp-qt/common_source_project-fm7.git] / source / src / qt / machines / qc10 / 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 "commonclasses.h"
13 #include "menuclasses.h"
14 #include "emu.h"
15 #include "qt_main.h"
16
17 extern config_t config;
18
19 Action_Control_QC10::Action_Control_QC10(QObject *parent, USING_FLAGS *p) : Action_Control(parent, p)
20 {
21         qc_binds = new Object_Menu_Control_QC10(parent, p);
22 }
23
24 Action_Control_QC10::~Action_Control_QC10(){
25         delete qc_binds;
26 }
27
28 Object_Menu_Control_QC10::Object_Menu_Control_QC10(QObject *parent, USING_FLAGS *p) : Object_Menu_Control(parent, p)
29 {
30 }
31
32 Object_Menu_Control_QC10::~Object_Menu_Control_QC10(){
33 }
34
35 void Object_Menu_Control_QC10::set_dipsw(bool flag)
36 {
37         emit sig_dipsw(getValue1(), flag);
38 }
39         
40
41 void META_MainWindow::retranslateUi(void)
42 {
43         retranslateControlMenu(" ", false);
44         retranslateFloppyMenu(0, 1);
45         retranslateFloppyMenu(1, 2);
46         
47 #if USE_FLOPPY_DISK > 2
48         for(int _drv = 0; _drv < USE_FLOPPY_DISK; _drv++) {
49                 retranslateFloppyMenu(_drv, _drv + 1);
50         }
51 #endif
52         retranslateSoundMenu();
53         retranslateScreenMenu();
54         retranslateMachineMenu();
55         retranslateEmulatorMenu();
56         retranslateUI_Help();
57         QString tmps;
58         QString n_tmps;
59         int i;
60         menu_Emu_DipSw->setTitle(QApplication::translate("MainWindow", "DIP Switches", 0));
61         menu_Emu_DipSw->setToolTipsVisible(true);
62         for(i = 0; i < 8; i++) {
63                 tmps = QApplication::translate("MainWindow", "DIP Switch #", 0);
64                 n_tmps.setNum(i + 1);
65                 action_Emu_DipSw[i]->setText(tmps + n_tmps);
66         }
67         this->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0));
68 #ifdef USE_DEBUGGER
69         actionDebugger[0]->setVisible(true);
70         actionDebugger[1]->setVisible(false);
71         actionDebugger[2]->setVisible(false);
72         actionDebugger[3]->setVisible(false);
73 #endif
74 } // retranslateUi
75
76 void META_MainWindow::setupUI_Emu(void)
77 {
78         int i;
79         QString tmps;
80         
81         menuMachine->setVisible(true);
82         menu_Emu_DipSw = new QMenu(menuMachine);
83         menu_Emu_DipSw->setObjectName(QString::fromUtf8("menu_DipSw"));
84         actionGroup_DipSw = new QActionGroup(this);
85         actionGroup_DipSw->setExclusive(false);
86         menuMachine->addAction(menu_Emu_DipSw->menuAction());
87         
88         for(i = 0; i < 8; i++) {
89                 action_Emu_DipSw[i] = new Action_Control_QC10(this, using_flags);
90                 action_Emu_DipSw[i]->setCheckable(true);
91                 action_Emu_DipSw[i]->qc_binds->setValue1(i);
92                 tmps.number(i + 1);
93                 tmps = QString::fromUtf8("actionEmu_DipSw") + tmps;
94                 action_Emu_DipSw[i]->setObjectName(tmps);
95                 menu_Emu_DipSw->addAction(action_Emu_DipSw[i]);
96                 if((config.dipswitch & (1 << i)) != 0) action_Emu_DipSw[i]->setChecked(true);
97                 
98                 actionGroup_DipSw->addAction(action_Emu_DipSw[i]);
99                 connect(action_Emu_DipSw[i], SIGNAL(toggled(bool)),
100                                 action_Emu_DipSw[i]->qc_binds, SLOT(set_dipsw(bool)));
101                 connect(action_Emu_DipSw[i]->qc_binds, SIGNAL(sig_dipsw(int, bool)),
102                                 this, SLOT(set_dipsw(int, bool)));
103         }
104
105 }
106
107
108 META_MainWindow::META_MainWindow(USING_FLAGS *p, CSP_Logger *logger, QWidget *parent) : Ui_MainWindow(p, logger, parent)
109 {
110         setupUI_Emu();
111         retranslateUi();
112 }
113
114
115 META_MainWindow::~META_MainWindow()
116 {
117 }
118
119