2 * Common Source code Project:
3 * Ui->Qt->MainWindow for Babbage2nd .
4 * (C) 2015 K.Ohta <whatisthis.sowhat _at_ gmail.com>
7 * Jan 14, 2015 : Initial, many of constructors were moved to qt/gui/menu_main.cpp.
9 #include <QApplication>
10 #include <QtCore/QVariant>
12 #include "menuclasses.h"
13 #include "commonclasses.h"
17 #include "../../vm/fmtowns/fmtowns.h"
18 #include "menu_binary.h"
19 #include "menu_cart.h"
24 void META_MainWindow::retranslateUi(void)
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++) {
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);
38 for(int i = 5; i < 10; i++) {
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);
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));
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);
64 for(int j = 4; j < 6; j++) {
65 actionJOYPORT_TYPE[i][j]->setEnabled(false);
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));
79 if(menu_Cart[0] != NULL) {
80 menu_Cart[0]->setTitle(QApplication::translate("MainWindow", "IC1", 0));
82 if(menu_Cart[1] != NULL) {
83 menu_Cart[1]->setTitle(QApplication::translate("MainWindow", "IC2", 0));
86 // menu_BINs[0]->setTitle(QApplication::translate("MenuBABBAGE", "RAM", 0));
87 //menuMachine->setVisible(false);
91 actionDebugger[0]->setVisible(true);
92 actionDebugger[1]->setVisible(false);
93 actionDebugger[2]->setVisible(false);
94 actionDebugger[3]->setVisible(false);
98 void META_MainWindow::setupUI_Emu(void)
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);
119 actionJOYPORT_TYPE[i][j]->setChecked(false);
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)));
130 for(int j = 0; j < 6; j++) {
131 actionJOYPORT_TYPE[i][j]->setVisible(true);
134 for(int i = 2; i < 6; i++) {
135 menuMachineFeatures[i]->setVisible(false);
136 menuMachineFeatures[i]->setEnabled(false);
142 META_MainWindow::META_MainWindow(USING_FLAGS *p, CSP_Logger *logger, QWidget *parent) : Ui_MainWindow(p, logger, parent)
149 META_MainWindow::~META_MainWindow()