2 * Common Source code Project:
3 * Ui->Qt->gui->menu_main for generic.
4 * (C) 2015 K.Ohta <whatisthis.sowhat _at_ gmail.com>
7 * Jan 14, 2015 : Initial, moved from qt/x1turboz/MainWindow.cpp .
10 #include <QtCore/QVariant>
14 #include <QImageReader>
17 #include "commonclasses.h"
18 #include "display_about.h"
19 #include "display_text_document.h"
20 #include "mainwidget_base.h"
21 //#include "menuclasses.h"
22 #include "menu_disk.h"
24 #include "menu_cart.h"
25 #include "menu_quickdisk.h"
26 #include "menu_binary.h"
27 #include "menu_compactdisc.h"
28 #include "menu_bubble.h"
30 #include "qt_gldraw.h"
33 #include "menu_flags.h"
36 //extern USING_FLAGS *using_flags;
38 Ui_MainWindowBase::Ui_MainWindowBase(USING_FLAGS *p, QWidget *parent) : QMainWindow(parent)
45 Ui_MainWindowBase::~Ui_MainWindowBase()
48 graphicsView->releaseKeyboard();
52 void Action_Control::do_check_grab_mouse(bool flag)
57 void Action_Control::do_send_string(void)
59 emit sig_send_string(bindString);
62 void Action_Control::do_set_string(QString s)
68 void Ui_MainWindowBase::do_show_about(void)
70 Dlg_AboutCSP *dlg = new Dlg_AboutCSP(using_flags);
74 void Ui_MainWindowBase::do_browse_document(QString fname)
76 Dlg_BrowseText *dlg = new Dlg_BrowseText(fname, using_flags);
81 void Ui_MainWindowBase::setupUi(void)
84 // QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
85 MainWindow = new QMainWindow();
86 if (MainWindow->objectName().isEmpty())
87 MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
88 //MainWindow->resize(1288, 862);
93 if(!using_flags->is_without_sound()) {
96 if(using_flags->is_use_binary_file()) {
99 if(using_flags->is_use_qd()) {
100 ConfigQuickDiskMenu();
103 if(using_flags->is_use_cart()) {
106 if(using_flags->is_use_compact_disc()) {
109 if(using_flags->is_use_bubble()) {
112 ConfigEmulatorMenu();
113 actionAbout = new Action_Control(this, using_flags);
114 actionAbout->setObjectName(QString::fromUtf8("actionAbout"));
116 graphicsView = new GLDrawClass(using_flags, this);
117 graphicsView->setObjectName(QString::fromUtf8("graphicsView"));
118 graphicsView->setMaximumSize(2560, 2560); // ?
119 graphicsView->setMinimumSize(240, 192); // ?
120 //graphicsView->grabKeyboard();
121 graphicsView->setAttribute(Qt::WA_InputMethodEnabled, false); // Disable [Zenkaku / Hankaku] with IM.
122 graphicsView->setAttribute(Qt::WA_KeyboardFocusChange, false);
123 //graphicsView->setFocusPolicy(Qt::StrongFocus);
124 //this->setFocusPolicy(Qt::ClickFocus);
127 MainWindow->setCentralWidget(graphicsView);
128 MainWindow->setFocusProxy(graphicsView);
130 MainWindow->centralWidget()->adjustSize();
131 MainWindow->adjustSize();
133 statusbar = new QStatusBar(this);
134 statusbar->setObjectName(QString::fromUtf8("statusbar"));
135 MainWindow->setStatusBar(statusbar);
138 menubar = new QMenuBar(this);
139 menubar->setObjectName(QString::fromUtf8("menubar"));
140 menubar->setGeometry(QRect(0, 0, 1288, 27));
141 menuControl = new QMenu(menubar);
142 menuControl->setObjectName(QString::fromUtf8("menuControl"));
143 menuState = new QMenu(menuControl);
144 menuState->setObjectName(QString::fromUtf8("menuState"));
145 if(using_flags->is_use_auto_key()) {
146 menuCopy_Paste = new QMenu(menuControl);
147 menuCopy_Paste->setObjectName(QString::fromUtf8("menuCopy_Paste"));
149 menuCpu_Speed = new QMenu(menuControl);
150 menuCpu_Speed->setObjectName(QString::fromUtf8("menuCpu_Speed"));
151 menuDebugger = new QMenu(menuControl);
152 menuDebugger->setObjectName(QString::fromUtf8("menuDebugger"));
153 if(using_flags->is_use_fd()) {
155 for(i = 0; i < using_flags->get_max_drive(); i++) CreateFloppyMenu(i, i + 1);
157 if(using_flags->is_use_qd()) {
159 for(i = 0; i < using_flags->get_max_qd(); i++) CreateQuickDiskMenu(i, i + 1);
161 if(using_flags->is_use_tape()) {
165 if(using_flags->is_use_cart()) {
167 for(i = 0; i < using_flags->get_max_cart(); i++) {
168 CreateCartMenu(i, i + 1);
171 if(using_flags->is_use_binary_file()) {
173 for(i = 0; i < using_flags->get_max_binary(); i++) {
174 CreateBinaryMenu(i, i + 1);
177 if(using_flags->is_use_compact_disc()) {
180 if(using_flags->is_use_bubble()) {
182 for(i = 0; i < using_flags->get_max_bubble(); i++) {
183 CreateBubbleMenu(i, i + 1);
186 connect(this, SIGNAL(sig_update_screen(void)), graphicsView, SLOT(update(void)));
187 //connect(this, SIGNAL(sig_update_screen(void)), graphicsView, SLOT(updateGL(void)));
189 menuMachine = new QMenu(menubar);
190 menuMachine->setObjectName(QString::fromUtf8("menuMachine"));
192 if(using_flags->is_use_mouse()) {
193 actionMouseEnable = new Action_Control(this, using_flags);
194 actionMouseEnable->setCheckable(true);
195 actionMouseEnable->setVisible(true);
196 actionMouseEnable->setChecked(false);
197 menuMachine->addAction(actionMouseEnable);
198 connect(actionMouseEnable, SIGNAL(toggled(bool)),
199 this, SLOT(do_set_mouse_enable(bool)));
200 connect(graphicsView, SIGNAL(sig_check_grab_mouse(bool)),
201 actionMouseEnable, SLOT(do_check_grab_mouse(bool)));
206 ConfigSoundDeviceType();
209 if(!using_flags->is_without_sound()) {
210 menuSound = new QMenu(menubar);
211 menuSound->setObjectName(QString::fromUtf8("menuSound"));
213 menuEmulator = new QMenu(menubar);
214 menuEmulator->setObjectName(QString::fromUtf8("menuEmulator"));
216 menuHELP = new QMenu(menubar);
217 menuHELP->setObjectName(QString::fromUtf8("menuHELP"));
218 MainWindow->setMenuBar(menubar);
220 menubar->addAction(menuControl->menuAction());
221 connectActions_ControlMenu();
222 if(using_flags->is_use_fd()) {
224 for(i = 0; i < using_flags->get_max_drive(); i++) {
225 menubar->addAction(menu_fds[i]->menuAction());
228 if(using_flags->is_use_qd()) {
230 for(i = 0; i < using_flags->get_max_qd(); i++) {
231 menubar->addAction(menu_QDs[i]->menuAction());
234 if(using_flags->is_use_tape()) {
235 menubar->addAction(menu_CMT->menuAction());
237 if(using_flags->is_use_cart()) {
239 for(i = 0; i < using_flags->get_max_cart(); i++) {
240 menubar->addAction(menu_Cart[i]->menuAction());
243 if(using_flags->is_use_binary_file()) {
245 for(i = 0; i < using_flags->get_max_binary(); i++) {
246 menubar->addAction(menu_BINs[i]->menuAction());
249 if(using_flags->is_use_compact_disc()) {
250 menubar->addAction(menu_CDROM->menuAction());
252 // if(using_flags->is_use_laser_disc()) {
253 // menubar->addAction(menu_LaserDisc->menuAction());
255 if(using_flags->is_use_bubble()) {
257 for(i = 0; i < using_flags->get_max_bubble(); i++) {
258 menubar->addAction(menu_bubbles[i]->menuAction());
261 menubar->addAction(menuMachine->menuAction());
262 if(!using_flags->is_without_sound()) {
263 menubar->addAction(menuSound->menuAction());
266 menubar->addAction(menuScreen->menuAction());
267 // menubar->addAction(menuRecord->menuAction());
268 menubar->addAction(menuEmulator->menuAction());
269 menubar->addAction(menuHELP->menuAction());
270 if(using_flags->is_use_qd()) {
272 for(i = 0; i < using_flags->get_max_qd(); i++) {
273 CreateQuickDiskPulldownMenu(i);
276 if(using_flags->is_use_binary_file()) {
278 for(i = 0; i < using_flags->get_max_binary(); i++) {
279 CreateBinaryPulldownMenu(1);
282 if(!using_flags->is_without_sound()) {
285 CreateEmulatorMenu();
287 menuHELP->addAction(actionAbout);
288 connect(actionAbout, SIGNAL(triggered()), this, SLOT(do_show_about()));
289 menuHELP->addSeparator();
291 actionHelp_AboutQt = new Action_Control(this, using_flags);
292 actionHelp_AboutQt->setObjectName(QString::fromUtf8("menuHelp_AboutQt"));
293 menuHELP->addAction(actionHelp_AboutQt);
294 menuHELP->addSeparator();
295 menuHelp_Readme = new QMenu(menuHELP);
296 menuHelp_Readme->setObjectName(QString::fromUtf8("menuHelp_Readme_menu"));;
297 menuHELP->addAction(menuHelp_Readme->menuAction());
299 actionHelp_README = new Action_Control(this, using_flags);
300 actionHelp_README->setObjectName(QString::fromUtf8("menuHelp_README"));
301 actionHelp_README->do_set_string(QString::fromUtf8("readme.txt"));
302 connect(actionHelp_README, SIGNAL(triggered()), actionHelp_README, SLOT(do_send_string()));
303 connect(actionHelp_README, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
304 menuHelp_Readme->addAction(actionHelp_README);
306 actionHelp_README_QT = new Action_Control(this, using_flags);
307 actionHelp_README_QT->setObjectName(QString::fromUtf8("menuHelp_README_QT"));
308 actionHelp_README_QT->do_set_string(QString::fromUtf8("readme.qt.txt"));
309 menuHelp_Readme->addAction(actionHelp_README_QT);
310 connect(actionHelp_README_QT, SIGNAL(triggered()), actionHelp_README_QT, SLOT(do_send_string()));
311 connect(actionHelp_README_QT, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
312 actionHelp_README_Artane = new Action_Control(this, using_flags);
313 actionHelp_README_Artane->setObjectName(QString::fromUtf8("menuHelp_README_Artane"));
314 actionHelp_README_Artane->do_set_string(QString::fromUtf8("readme_by_artane.txt"));
315 connect(actionHelp_README_Artane, SIGNAL(triggered()), actionHelp_README_Artane, SLOT(do_send_string()));
316 connect(actionHelp_README_Artane, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
317 menuHelp_Readme->addAction(actionHelp_README_Artane);
318 menuHelp_Readme->addSeparator();
320 actionHelp_README_BIOS = new Action_Control(this, using_flags);
321 actionHelp_README_BIOS->setObjectName(QString::fromUtf8("menuHelp_README_BIOS"));
322 actionHelp_README_BIOS->do_set_string(QString::fromUtf8("bios_and_keys.txt"));
323 connect(actionHelp_README_BIOS, SIGNAL(triggered()), actionHelp_README_BIOS, SLOT(do_send_string()));
324 connect(actionHelp_README_BIOS, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
325 menuHelp_Readme->addAction(actionHelp_README_BIOS);
326 menuHelp_Readme->addSeparator();
328 actionHelp_README_MR_TANAM = new Action_Control(this, using_flags);
329 actionHelp_README_MR_TANAM->setObjectName(QString::fromUtf8("menuHelp_README_MR_TANAM"));
330 actionHelp_README_MR_TANAM->do_set_string(QString::fromUtf8("readme_by_mr_tanam.txt"));
331 connect(actionHelp_README_MR_TANAM, SIGNAL(triggered()), actionHelp_README_MR_TANAM, SLOT(do_send_string()));
332 connect(actionHelp_README_MR_TANAM, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
333 menuHelp_Readme->addAction(actionHelp_README_MR_TANAM);
335 menuHelp_Readme->addSeparator();
337 actionHelp_README_FAQ = new Action_Control(this, using_flags);
338 actionHelp_README_FAQ->setObjectName(QString::fromUtf8("menuHelp_README_FAQ"));
339 actionHelp_README_FAQ->do_set_string(QString::fromUtf8("FAQ.html"));
340 connect(actionHelp_README_FAQ, SIGNAL(triggered()), actionHelp_README_FAQ, SLOT(do_send_string()));
341 connect(actionHelp_README_FAQ, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
342 menuHelp_Readme->addAction(actionHelp_README_FAQ);
344 actionHelp_README_FAQ_JP = new Action_Control(this, using_flags);
345 actionHelp_README_FAQ_JP->setObjectName(QString::fromUtf8("menuHelp_README_FAQ_JP"));
346 actionHelp_README_FAQ_JP->do_set_string(QString::fromUtf8("FAQ.ja.html"));
347 connect(actionHelp_README_FAQ_JP, SIGNAL(triggered()), actionHelp_README_FAQ_JP, SLOT(do_send_string()));
348 connect(actionHelp_README_FAQ_JP, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
349 menuHelp_Readme->addAction(actionHelp_README_FAQ_JP);
350 menuHelp_Readme->addSeparator();
352 actionHelp_README_FM7 = new Action_Control(this, using_flags);
353 actionHelp_README_FM7->setObjectName(QString::fromUtf8("menuHelp_README_FM7"));
354 actionHelp_README_FM7->do_set_string(QString::fromUtf8("readme_fm7.txt"));
355 connect(actionHelp_README_FM7, SIGNAL(triggered()), actionHelp_README_FM7, SLOT(do_send_string()));
356 connect(actionHelp_README_FM7, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
357 menuHelp_Readme->addAction(actionHelp_README_FM7);
359 actionHelp_README_FM7_JP = new Action_Control(this, using_flags);
360 actionHelp_README_FM7_JP->setObjectName(QString::fromUtf8("menuHelp_README_FM7_JP"));
361 actionHelp_README_FM7_JP->do_set_string(QString::fromUtf8("readme_fm7.jp.txt"));
362 connect(actionHelp_README_FM7_JP, SIGNAL(triggered()), actionHelp_README_FM7_JP, SLOT(do_send_string()));
363 connect(actionHelp_README_FM7_JP, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
364 menuHelp_Readme->addAction(actionHelp_README_FM7_JP);
366 menuHelp_Histories = new QMenu(menuHELP);
367 menuHelp_Histories->setObjectName(QString::fromUtf8("menuHelp_Histories"));;
368 menuHELP->addAction(menuHelp_Histories->menuAction());
370 actionHelp_History = new Action_Control(this, using_flags);
371 actionHelp_History->setObjectName(QString::fromUtf8("menuHelp_History"));
372 actionHelp_History->do_set_string(QString::fromUtf8("history.txt"));
373 connect(actionHelp_History, SIGNAL(triggered()), actionHelp_History, SLOT(do_send_string()));
374 connect(actionHelp_History, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
375 menuHelp_Histories->addAction(actionHelp_History);
377 actionHelp_History_Relnote = new Action_Control(this, using_flags);
378 actionHelp_History_Relnote->setObjectName(QString::fromUtf8("menuHelp_History_Relnote"));
379 actionHelp_History_Relnote->do_set_string(QString::fromUtf8("RELEASENOTE.txt"));
380 connect(actionHelp_History_Relnote, SIGNAL(triggered()), actionHelp_History_Relnote, SLOT(do_send_string()));
381 connect(actionHelp_History_Relnote, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
382 menuHelp_Histories->addAction(actionHelp_History_Relnote);
384 actionHelp_History_ChangeLog = new Action_Control(this, using_flags);
385 actionHelp_History_ChangeLog->setObjectName(QString::fromUtf8("menuHelp_History_ChangeLog"));
386 actionHelp_History_ChangeLog->do_set_string(QString::fromUtf8("ChangeLog.txt"));
387 connect(actionHelp_History_ChangeLog, SIGNAL(triggered()), actionHelp_History_ChangeLog, SLOT(do_send_string()));
388 connect(actionHelp_History_ChangeLog, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
389 menuHelp_Histories->addAction(actionHelp_History_ChangeLog);
391 actionHelp_History_MR_TANAM = new Action_Control(this, using_flags);
392 actionHelp_History_MR_TANAM->setObjectName(QString::fromUtf8("menuHelp_History_MR_TANAM"));
393 actionHelp_History_MR_TANAM->do_set_string(QString::fromUtf8("history_by_mr_tanam.txt"));
394 connect(actionHelp_History_MR_TANAM, SIGNAL(triggered()), actionHelp_History_MR_TANAM, SLOT(do_send_string()));
395 connect(actionHelp_History_MR_TANAM, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
396 menuHelp_Histories->addAction(actionHelp_History_MR_TANAM);
398 actionHelp_License = new Action_Control(this, using_flags);
399 actionHelp_License->setObjectName(QString::fromUtf8("menuHelp_License"));
400 actionHelp_License->do_set_string(QString::fromUtf8("LICENSE.txt"));
401 connect(actionHelp_License, SIGNAL(triggered()), actionHelp_License, SLOT(do_send_string()));
402 connect(actionHelp_License, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
403 menuHELP->addAction(actionHelp_License);
405 actionHelp_License_JP = new Action_Control(this, using_flags);
406 actionHelp_License_JP->setObjectName(QString::fromUtf8("menuHelp_License_JP"));
407 actionHelp_License_JP->do_set_string(QString::fromUtf8("LICENSE.ja.txt"));
408 connect(actionHelp_License_JP, SIGNAL(triggered()), actionHelp_License_JP, SLOT(do_send_string()));
409 connect(actionHelp_License_JP, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
410 menuHELP->addAction(actionHelp_License_JP);
412 if(config.window_mode <= 0) config.window_mode = 0;
413 if(config.window_mode >= using_flags->get_screen_mode_num()) config.window_mode = using_flags->get_screen_mode_num() - 1;
414 w = using_flags->get_screen_width();
415 h = using_flags->get_screen_height();
416 if(actionScreenSize[config.window_mode] != NULL) {
417 double nd = actionScreenSize[config.window_mode]->binds->getDoubleValue();
418 w = (int)(nd * (double)w);
419 h = (int)(nd * (double)h);
420 if(using_flags->is_use_screen_rotate()) {
421 if(config.rotate_type) {
428 if(using_flags->is_use_screen_rotate()) {
429 if(config.rotate_type) {
441 graphicsView->setFixedSize(w, h);
442 for(int i = 0; i < using_flags->get_screen_mode_num(); i++) {
443 if(actionScreenSize[i] != NULL) {
444 connect(actionScreenSize[i]->binds, SIGNAL(sig_screen_multiply(float)),
445 graphicsView, SLOT(do_set_screen_multiply(float)));
448 this->set_screen_size(w, h);
449 this->set_screen_aspect(config.window_stretch_type);
450 if(actionScreenSize[config.window_mode] != NULL) {
451 double nd = actionScreenSize[config.window_mode]->binds->getDoubleValue();
452 graphicsView->do_set_screen_multiply(nd);
454 if(using_flags->is_use_joystick()) {
455 connect(action_SetupJoystick, SIGNAL(triggered()), this, SLOT(rise_joystick_dialog()));
457 connect(action_SetupKeyboard, SIGNAL(triggered()), this, SLOT(rise_keyboard_dialog()));
459 QImageReader reader(":/default.ico");
460 QImage result = reader.read();
462 MainWindow->setWindowIcon(QPixmap::fromImage(result));
463 this->set_window_title();
465 InsertIcon = QApplication::style()->standardIcon(QStyle::SP_FileDialogStart);
466 EjectIcon = QIcon(":/icon_eject.png");
467 StopIcon = QIcon(":/icon_process_stop.png");
468 RecordSoundIcon = QIcon(":/icon_record_to_wav.png");
469 ResetIcon = QApplication::style()->standardIcon(QStyle::SP_BrowserReload);
471 VolumeMutedIcon = QIcon(":/icon_volume_muted.png");
472 VolumeLowIcon = QIcon(":/icon_volume_low.png");
473 VolumeMidIcon = QIcon(":/icon_volume_mid.png");
474 VolumeHighIcon = QIcon(":/icon_volume_high.png");
476 ExitIcon = QIcon(":/icon_exit.png");
478 QMetaObject::connectSlotsByName(MainWindow);
482 #include "dropdown_joystick.h"
483 #include "dialog_set_key.h"
485 void Ui_MainWindowBase::retranslateEmulatorMenu(void)
488 menuEmulator->setTitle(QApplication::translate("MainWindow", "Emulator", 0));
489 if(using_flags->is_use_joystick()) {
490 action_SetupJoystick->setText(QApplication::translate("MainWindow", "Configure Joysticks", 0));
491 action_SetupJoystick->setIcon(QIcon(":/icon_gamepad.png"));
493 action_SetupKeyboard->setText(QApplication::translate("MainWindow", "Configure Keyboard", 0));
494 action_SetupKeyboard->setIcon(QIcon(":/icon_keyboard.png"));
495 action_SetupMovie->setText(QApplication::translate("MainWindow", "Configure movie encoding", 0));
499 void Ui_MainWindowBase::CreateEmulatorMenu(void)
501 if(using_flags->is_use_joystick()) {
502 menuEmulator->addAction(action_SetupJoystick);
504 menuEmulator->addAction(action_SetupKeyboard);
505 menuEmulator->addAction(action_SetupMovie);
508 void Ui_MainWindowBase::ConfigEmulatorMenu(void)
512 if(using_flags->is_use_joystick()) {
513 action_SetupJoystick = new Action_Control(this, using_flags);
515 action_SetupKeyboard = new Action_Control(this, using_flags);
517 action_SetupMovie = new Action_Control(this, using_flags);
521 void Ui_MainWindowBase::rise_joystick_dialog(void)
523 if(graphicsView != NULL) {
524 QStringList *lst = graphicsView->getVKNames();
525 CSP_DropDownJoysticks *dlg = new CSP_DropDownJoysticks(NULL, lst, using_flags);
526 dlg->setWindowTitle(QApplication::translate("CSP_DropDownJoysticks", "Configure Joysticks", 0));
531 void Ui_MainWindowBase::rise_movie_dialog(void)
536 void Ui_MainWindowBase::rise_keyboard_dialog(void)
538 if(graphicsView != NULL) {
539 CSP_KeySetDialog *dlg = new CSP_KeySetDialog(NULL, graphicsView);
540 dlg->setWindowTitle(QApplication::translate("KeySetDialog", "Configure Keyboard", 0));
545 void Ui_MainWindowBase::retranslateUI_Help(void)
547 menuHELP->setTitle(QApplication::translate("MainWindow", "Help", 0));
548 actionHelp_AboutQt->setText(QApplication::translate("MainWindow", "About Qt", 0));
549 actionHelp_AboutQt->setIcon(QApplication::style()->standardIcon(QStyle::SP_TitleBarMenuButton));
551 actionAbout->setText(QApplication::translate("MainWindow", "About...", 0));
552 actionAbout->setIcon(QApplication::style()->standardIcon(QStyle::SP_MessageBoxQuestion));
554 menuHelp_Readme->setTitle(QApplication::translate("MainWindow", "READMEs", 0));
556 actionHelp_README->setText(QApplication::translate("MainWindow", "General Document", 0));
557 actionHelp_README_QT->setText(QApplication::translate("MainWindow", "About Qt ports", 0));
558 actionHelp_README_Artane->setText(QApplication::translate("MainWindow", "About Qt ports (Japanese).", 0));
559 actionHelp_README_MR_TANAM->setText(QApplication::translate("MainWindow", "By Mr. tanam", 0));
560 actionHelp_README_FM7->setText(QApplication::translate("MainWindow", "About eFM-7/8/77/AV.", 0));
561 actionHelp_README_FM7_JP->setText(QApplication::translate("MainWindow", "About eFM-7/8/77/AV (Japanese).", 0));
562 actionHelp_README_FAQ->setText(QApplication::translate("MainWindow", "FAQs(English)", 0));
563 actionHelp_README_FAQ_JP->setText(QApplication::translate("MainWindow", "FAQs(Japanese)", 0));
564 actionHelp_README_BIOS->setText(QApplication::translate("MainWindow", "BIOS and Key assigns", 0));
566 menuHelp_Histories->setTitle(QApplication::translate("MainWindow", "Histories", 0));
567 actionHelp_History->setText(QApplication::translate("MainWindow", "General History", 0));
568 actionHelp_History_Relnote->setText(QApplication::translate("MainWindow", "Release Note", 0));
569 actionHelp_History_ChangeLog->setText(QApplication::translate("MainWindow", "Change Log", 0));
570 actionHelp_History_MR_TANAM->setText(QApplication::translate("MainWindow", "History by Tanam", 0));
572 actionHelp_License->setText(QApplication::translate("MainWindow", "Show License", 0));
573 actionHelp_License_JP->setText(QApplication::translate("MainWindow", "Show License (Japanese)", 0));
577 // You can Override this function: Re-define on foo/MainWindow.cpp.
578 // This code is example: by X1(TurboZ).
579 void Ui_MainWindowBase::retranslateMachineMenu(void)
584 menuMachine->setTitle(QApplication::translate("MainWindow", "Machine", 0));
585 if(using_flags->get_use_device_type() > 0) {
586 menuDeviceType->setTitle(QApplication::translate("MainWindow", "Device Type", 0));
587 for(i = 0; i < using_flags->get_use_device_type(); i++) {
589 tmps = QString::fromUtf8("Machine Device ") + tmps2;
590 actionDeviceType[i]->setText(tmps);
593 if(using_flags->get_use_sound_device_type() > 0) {
594 menuSoundDevice->setTitle(QApplication::translate("MainWindow", "Sound Cards", 0));
595 for(i = 0; i < using_flags->get_use_sound_device_type(); i++) {
597 tmps = QString::fromUtf8("Sound Device ") + tmps2;
598 actionSoundDevice[i]->setText(tmps);
601 if(using_flags->get_use_drive_type() > 0) {
602 menuDriveType->setTitle(QApplication::translate("MainWindow", "Drive Type", 0));
603 for(i = 0; i < using_flags->get_use_drive_type(); i++) {
605 tmps = QString::fromUtf8("Drive Type ") + tmps2;
606 actionDriveType[i]->setText(tmps);
609 if(using_flags->is_use_printer()) {
610 menuPrintDevice->setTitle(QApplication::translate("MainWindow", "Printer (Need RESET)", 0));
612 actionPrintDevice[0]->setText(QApplication::translate("MainWindow", "Dump to File", 0));
613 if(using_flags->get_use_printer_type() > 0) {
614 for(i = 1; i < (using_flags->get_use_printer_type() - 1); i++) {
616 tmps = QApplication::translate("MainWindow", "Printer", 0) + tmps2;
617 actionPrintDevice[i]->setText(tmps);
620 actionPrintDevice[i]->setText(QApplication::translate("MainWindow", "Not Connect", 0));
623 void Ui_MainWindowBase::retranslateUi(void)
625 retranslateControlMenu("NMI Reset", true);
626 retranslateFloppyMenu(0, 0);
627 retranslateFloppyMenu(1, 1);
628 retranslateCMTMenu();
629 if(!using_flags->is_without_sound()) {
630 retranslateSoundMenu();
632 retranslateScreenMenu();
633 retranslateCartMenu(0, 1);
634 retranslateCartMenu(1, 2);
635 retranslateCDROMMenu();
637 retranslateBinaryMenu(0, 1);
638 retranslateBinaryMenu(1, 2);
640 retranslateBubbleMenu(0, 1);
641 retranslateBubbleMenu(1, 2);
642 retranslateMachineMenu();
643 retranslateEmulatorMenu();
644 retranslateUI_Help();
648 void Ui_MainWindowBase::setCoreApplication(QApplication *p)
650 this->CoreApplication = p;
651 connect(actionExit_Emulator, SIGNAL(triggered()),
652 this->CoreApplication, SLOT(closeAllWindows())); // OnGuiExit()?
653 connect(actionHelp_AboutQt, SIGNAL(triggered()),
654 this->CoreApplication, SLOT(aboutQt()));
659 // Move from common/qt_main.cpp
661 extern std::string cpp_homedir;
662 extern std::string cpp_confdir;
663 extern std::string my_procname;
664 extern bool now_menuloop;
668 extern unsigned int desktop_width;
669 extern unsigned int desktop_height;
671 extern int prev_window_mode;
672 extern bool now_fullscreen;
673 extern int window_mode_count;
675 void Ui_MainWindowBase::set_window(int mode)
677 // static LONG style = WS_VISIBLE;
680 void Ui_MainWindowBase::do_emu_update_volume_level(int num, int level)
682 emit sig_emu_update_volume_level(num, level);
685 void Ui_MainWindowBase::do_emu_update_volume_balance(int num, int level)
687 emit sig_emu_update_volume_balance(num, level);
690 void Ui_MainWindowBase::do_emu_update_config(void)
692 emit sig_emu_update_config();
695 void Ui_MainWindowBase::doChangeMessage_EmuThread(QString message)
697 emit message_changed(message);
702 void Ui_MainWindowBase::StopEmuThread(void)
704 emit quit_emu_thread();
707 void Ui_MainWindowBase::delete_emu_thread(void)
709 //do_release_emu_resources();
713 #include <QTextCodec>
715 #include <QByteArray>
717 void Convert_CP932_to_UTF8(char *dst, char *src, int n_limit, int i_limit)
719 QTextCodec *srcCodec = QTextCodec::codecForName( "SJIS" );
720 QTextCodec *dstCodec = QTextCodec::codecForName( "UTF-8" );
724 if(dst != NULL) dst[0] = '\0';
727 if(dst == NULL) return;
728 dst_b = srcCodec->toUnicode(src, strlen(src));
729 dst_s = dstCodec->fromUnicode(dst_b);
731 memset(dst, 0x00, n_limit);
732 strncpy(dst, dst_s.constData(), n_limit - 1);
736 void Ui_MainWindowBase::set_window_title()
739 tmps = QString::fromUtf8("emu");
740 tmps = tmps + using_flags->get_config_name();
741 tmps = tmps + QString::fromUtf8(" (");
742 tmps = tmps + using_flags->get_device_name();
743 tmps = tmps + QString::fromUtf8(")");
744 MainWindow->setWindowTitle(tmps);
747 void Ui_MainWindowBase::do_set_window_title(QString s)
750 tmps = QString::fromUtf8("emu");
751 tmps = tmps + using_flags->get_config_name();
752 tmps = tmps + QString::fromUtf8(" (");
756 tmps = tmps + QString::fromUtf8(")");
757 MainWindow->setWindowTitle(tmps);
760 void Ui_MainWindowBase::do_set_mouse_enable(bool flag)
764 void Ui_MainWindowBase::do_toggle_mouse(void)
768 void Ui_MainWindowBase::LaunchEmuThread(void)
772 void Ui_MainWindowBase::LaunchJoyThread(void)
776 void Ui_MainWindowBase::StopJoyThread(void)
780 void Ui_MainWindowBase::delete_joy_thread(void)
784 void Ui_MainWindowBase::on_actionExit_triggered()
786 OnMainWindowClosed();
789 void Ui_MainWindowBase::OnWindowMove(void)
793 void Ui_MainWindowBase::OnWindowResize(void)
796 set_window(config.window_mode);
800 void Ui_MainWindowBase::OnWindowRedraw(void)
804 bool Ui_MainWindowBase::GetPowerState(void)
809 void Ui_MainWindowBase::OnMainWindowClosed(void)
814 void Ui_MainWindowBase::do_release_emu_resources(void)
818 void Ui_MainWindowBase::OnOpenDebugger(int no)
822 void Ui_MainWindowBase::OnCloseDebugger(void )