OSDN Git Service

[UI][Qt] Not liking config, using_flags directly.
[csp-qt/common_source_project-fm7.git] / source / src / qt / machines / mz3500 / 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 //QT_BEGIN_NAMESPACE
18
19 extern config_t config;
20
21 Action_Control_MZ3500::Action_Control_MZ3500(QObject *parent, USING_FLAGS *p) : Action_Control(parent, p)
22 {
23         mz_binds = new Object_Menu_Control_MZ3500(parent, p);
24 }
25
26 Action_Control_MZ3500::~Action_Control_MZ3500(){
27         delete mz_binds;
28 }
29
30 Object_Menu_Control_MZ3500::Object_Menu_Control_MZ3500(QObject *parent, USING_FLAGS *p) : Object_Menu_Control(parent, p)
31 {
32 }
33
34 Object_Menu_Control_MZ3500::~Object_Menu_Control_MZ3500(){
35 }
36
37 void Object_Menu_Control_MZ3500::set_dipsw(bool flag)
38 {
39         emit sig_dipsw(getValue1(), flag);
40 }
41         
42
43 void META_MainWindow::setupUI_Emu(void)
44 {
45         int i;
46         QString tmps;
47         menuMachine->setVisible(true);
48         menu_Emu_DipSw = new QMenu(menuMachine);
49         menu_Emu_DipSw->setObjectName(QString::fromUtf8("menu_DipSw"));
50         actionGroup_DipSw = new QActionGroup(this);
51         actionGroup_DipSw->setExclusive(false);
52
53         menuMachine->addAction(menu_Emu_DipSw->menuAction());
54         
55         for(i = 0; i < 3; i++) {
56         action_Emu_DipSw[i] = new Action_Control_MZ3500(this, p);
57         action_Emu_DipSw[i]->setCheckable(true);
58         tmps.number(i + 1);
59         tmps = QString::fromUtf8("actionEmu_DipSw") + tmps;
60         action_Emu_DipSw[i]->setObjectName(tmps);
61                 menu_Emu_DipSw->addAction(action_Emu_DipSw[i]);
62                         
63                 actionGroup_DipSw->addAction(action_Emu_DipSw[i]);
64                 connect(action_Emu_DipSw[i], SIGNAL(toggled(bool)),
65                                 action_Emu_DipSw[i]->mz_binds, SLOT(set_dipsw(bool)));
66                 connect(action_Emu_DipSw[i]->mz_binds, SIGNAL(sig_dipsw(int, bool)),
67                                 this, SLOT(set_dipsw(int, bool)));
68         
69         }
70         action_Emu_DipSw[0]->mz_binds->setValue1(3);
71         action_Emu_DipSw[1]->mz_binds->setValue1(7);
72         action_Emu_DipSw[2]->mz_binds->setValue1(8);
73         if(((1 << 3) & config.dipswitch) != 0) action_Emu_DipSw[0]->setChecked(true);
74         if(((1 << 7) & config.dipswitch) != 0) action_Emu_DipSw[1]->setChecked(true);
75         if(((1 << 8) & config.dipswitch) != 0) action_Emu_DipSw[2]->setChecked(true);
76         
77 }
78
79 void META_MainWindow::retranslateUi(void)
80 {
81         int i;
82         retranslateControlMenu("Halt",  true);
83         retranslateFloppyMenu(0, 1);
84         retranslateFloppyMenu(1, 2);
85         retranslateFloppyMenu(2, 3);
86         retranslateFloppyMenu(3, 4);
87         retranslateMachineMenu();
88
89         retranslateSoundMenu();
90         retranslateScreenMenu();
91         retranslateEmulatorMenu();
92         retranslateUI_Help();
93    
94         this->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0));
95         menu_Emu_DipSw->setTitle(QApplication::translate("MainWindow", "Dip Switches", 0));
96         action_Emu_DipSw[0]->setText(QApplication::translate("MainWindow", "SW4: Period for Decimal Point", 0));
97         action_Emu_DipSw[1]->setText(QApplication::translate("MainWindow", "FD1: Normally Capital Letter", 0));
98         action_Emu_DipSw[2]->setText(QApplication::translate("MainWindow", "P/M: 3500 CG for 200 Line CRT", 0));
99
100 //      actionPrintDevice[1]->setText(QApplication::translate("MainWindow", "Write to file", 0));
101         actionPrintDevice[1]->setText(QApplication::translate("MainWindow", "MZ-1P17", 0));
102 #if defined(USE_DEBUGGER)
103         actionDebugger[0]->setVisible(true);
104         actionDebugger[1]->setVisible(true);
105         actionDebugger[2]->setVisible(false);
106         actionDebugger[3]->setVisible(false);
107 #endif
108
109                 // Set Labels
110 } // retranslateUi
111
112
113 META_MainWindow::META_MainWindow(USING_FLAGS *p, QWidget *parent) : Ui_MainWindow(p, parent)
114 {
115         setupUI_Emu();
116         retranslateUi();
117 }
118
119
120 META_MainWindow::~META_MainWindow()
121 {
122 }
123
124 //QT_END_NAMESPACE
125
126
127