OSDN Git Service

d5333d2683d08f2c9b30dfe03c0ac4419db19a8c
[csp-qt/common_source_project-fm7.git] / source / src / qt / machines / fmtowns / MainWindow.cpp
1 /*
2  * Common Source code Project:
3  * Ui->Qt->MainWindow for Babbage2nd .
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 #include <QApplication>
10 #include <QtCore/QVariant>
11 #include <QtGui>
12 #include "menuclasses.h"
13 #include "commonclasses.h"
14
15 #include "emu.h"
16 #include "qt_main.h"
17 #include "../../vm/fmtowns/fmtowns.h"
18 #include "menu_binary.h"
19 #include "menu_cart.h"
20
21 //QT_BEGIN_NAMESPACE
22
23
24 void META_MainWindow::retranslateUi(void)
25 {
26         Ui_MainWindowBase::retranslateUi();
27         retranslateControlMenu("Reset with CD", true);
28         actionSpecial_Reset[0]->setText(QApplication::translate("Machine", "Reset with CD", 0));
29         actionSpecial_Reset[0]->setToolTip(QApplication::translate("Machine", "Reset and boot from CD-ROM", 0));
30         for(int i = 1; i < 5; i++) {
31                 QString tmps2, tmps3;
32                 QString numname = QString::number(i - 1);
33                 tmps2 = QApplication::translate("Machine", "Reset with F%1", 0).arg(numname);
34                 tmps3 = QApplication::translate("Machine", "Reset and boot from FLOPPY #%1", 0).arg(numname);
35                 actionSpecial_Reset[i]->setText(tmps2);
36                 actionSpecial_Reset[i]->setToolTip(tmps3);
37         }
38         for(int i = 5; i < 10; i++) {
39                 QString tmps2, tmps3;
40                 QString numname = QString::number(i - 5);
41                 tmps2 = QApplication::translate("Machine", "Reset with H%1", 0).arg(numname);
42                 tmps3 = QApplication::translate("Machine", "Reset and boot from HDD #%1", 0).arg(numname);
43                 actionSpecial_Reset[i]->setText(tmps2);
44                 actionSpecial_Reset[i]->setToolTip(tmps3);
45         }
46         actionSpecial_Reset[10]->setText(QApplication::translate("Machine", "Reset with ICM", 0));
47         actionSpecial_Reset[10]->setToolTip(QApplication::translate("Machine", "Reset with boot from IC CARD #0", 0));
48         actionSpecial_Reset[11]->setText(QApplication::translate("Machine", "Reset with DEBUG", 0));
49         actionSpecial_Reset[11]->setToolTip(QApplication::translate("Machine", "Reset with DEBUGGING MODE", 0));
50
51         menuMAchineFeatures[0]->setTitle(QApplication::translate("Machine", "Joystick Port #1", 0));
52         menuMAchineFeatures[1]->setTitle(QApplication::translate("Machine", "Joystick Port #2", 0));
53 #if defined(USE_MACHINE_FEATURES)
54         for(int i = 0; i < 2; i++) {
55                 actionJOYPORT_TYPE[i][0]->setText(QApplication::translate("Machine", "none", 0));
56                 actionJOYPORT_TYPE[i][1]->setText(QApplication::translate("Machine", "2Buttons PAD", 0));
57                 actionJOYPORT_TYPE[i][2]->setText(QApplication::translate("Machine", "6Buttons PAD", 0));
58                 actionJOYPORT_TYPE[i][3]->setText(QApplication::translate("Machine", "Towns Mouse", 0));
59                 actionJOYPORT_TYPE[i][4]->setText(QApplication::translate("Machine", "Analog Stick", 0));
60                 actionJOYPORT_TYPE[i][5]->setText(QApplication::translate("Machine", "Joystick for Libble Rabble", 0));
61                 for(int j = 0; j < 4; j++) {
62                         actionJOYPORT_TYPE[i][j]->setEnabled(true);
63                 }
64                 for(int j = 4; j < 6; j++) {
65                         actionJOYPORT_TYPE[i][j]->setEnabled(false);
66                 }
67
68                 actionJOYPORT_TYPE[i][0]->setToolTip(QApplication::translate("Machine", "No devices are connected to this port", 0));
69                 actionJOYPORT_TYPE[i][1]->setToolTip(QApplication::translate("Machine", "Connect standard Towns PAD, 2Buttons.", 0));
70                 actionJOYPORT_TYPE[i][2]->setToolTip(QApplication::translate("Machine", "Connect extended Towns PAD, 6Buttons.", 0));
71                 actionJOYPORT_TYPE[i][3]->setToolTip(QApplication::translate("Machine", "Connect MOUSE", 0));
72                 actionJOYPORT_TYPE[i][4]->setToolTip(QApplication::translate("Machine", "Connect analog joystick, this still be unimplemented", 0));
73                 actionJOYPORT_TYPE[i][5]->setToolTip(QApplication::translate("Machine", "Connect hacked joystick for Libble Rabble, this still be unimplemented.", 0));
74                 
75         }
76 #endif
77                                                                                    
78 #if defined(USE_CART)
79         if(menu_Cart[0] != NULL) {
80                 menu_Cart[0]->setTitle(QApplication::translate("MainWindow", "IC1", 0));
81         }
82         if(menu_Cart[1] != NULL) {
83                 menu_Cart[1]->setTitle(QApplication::translate("MainWindow", "IC2", 0));
84         }
85 #endif
86 //      menu_BINs[0]->setTitle(QApplication::translate("MenuBABBAGE", "RAM", 0));
87         //menuMachine->setVisible(false);
88         // Set Labels
89         
90 #ifdef USE_DEBUGGER
91         actionDebugger[0]->setVisible(true);
92         actionDebugger[1]->setVisible(false);
93         actionDebugger[2]->setVisible(false);
94         actionDebugger[3]->setVisible(false);
95 #endif
96 } // retranslateUi
97
98 void META_MainWindow::setupUI_Emu(void)
99 {
100 #if defined(USE_MACHINE_FEATURES)
101         // menuMachineFeatures[0] : Joystick Port #1
102         // menuMachineFeatures[1] : Joystick Port #2
103         // menuMachineFeatures[2] : Reserved
104         // menuMachineFeatures[3] : Reserved
105         // menuMachineFeatures[4] : Reserved
106         // menuMachineFeatures[5] : Reserved
107         for(int i = 0; i < 2; i++) {
108                 actionGroup_JOYPortType[i] = new QActionGroup(this);
109                 actionGroup_JOYPortType[i]->setExclusive(true);
110                 actionGroup_JOYPortType[i]->setObjectName(QString("actionGroupJOYPort%1").arg(i + 1));
111                 menuMachineFeatures[i]->addAction(actionGroup_JOYPortType[i]);
112                 for(int j = 0; j < 8; j++) {
113                         actionJOYPORT_TYPE[i][j] = new Action_Control(this, using_flags);
114                         actionJOYPORT_TYPE[i][j]->setCheckable(true);
115                         actionJOYPORT_TYPE[i][j]->setVisible(false);
116                         if(p_config->machine_features[i] == (uint32_t)j) {
117                                 actionJOYPORT_TYPE[i][j]->setChecked(true);
118                         } else {
119                                 actionJOYPORT_TYPE[i][j]->setChecked(false);
120                         }
121                         actionJOYPORT_TYPE[i][j]->binds->setNumber(i);
122                         actionJOYPORT_TYPE[i][j]->binds->setValue1(j);
123                         actionGroup_JOYPortType[i]->addAction(actionJOYPORT_TYPE[i][j]);
124                         connect(actionJOYPORT_TYPE[i][j], SIGNAL(triggered()),
125                                         actionJOYPORT_TYPE[i][j]->binds, SLOT(do_select_machine_feature_single()));
126                         connect(actionJOYPORT_TYPE[i][j]->binds,
127                                         SIGNAL(sig_set_machine_feature(int, uint32_t)),
128                                         this, SLOT(do_set_machine_feature(int, uint32_t)));
129                 }
130                 for(int j = 0; j < 6; j++) {
131                         actionJOYPORT_TYPE[i][j]->setVisible(true);
132                 }
133         }
134         for(int i = 2; i < 6; i++) {
135                 menuMachineFeatures[i]->setVisible(false);
136                 menuMachineFeatures[i]->setEnabled(false);
137         }               
138 #endif
139 }
140
141
142 META_MainWindow::META_MainWindow(USING_FLAGS *p, CSP_Logger *logger, QWidget *parent) : Ui_MainWindow(p, logger, parent)
143 {
144         setupUI_Emu();
145         retranslateUi();
146 }
147
148
149 META_MainWindow::~META_MainWindow()
150 {
151 }
152
153 //QT_END_NAMESPACE
154
155
156