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)
41 p_config = p->get_config_ptr();
46 Ui_MainWindowBase::~Ui_MainWindowBase()
49 graphicsView->releaseKeyboard();
53 void Action_Control::do_check_grab_mouse(bool flag)
58 void Action_Control::do_send_string(void)
60 emit sig_send_string(bindString);
63 void Action_Control::do_set_string(QString s)
69 void Ui_MainWindowBase::do_show_about(void)
71 Dlg_AboutCSP *dlg = new Dlg_AboutCSP(using_flags);
75 void Ui_MainWindowBase::do_browse_document(QString fname)
77 Dlg_BrowseText *dlg = new Dlg_BrowseText(fname, using_flags);
82 void Ui_MainWindowBase::setupUi(void)
85 // QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
86 MainWindow = new QMainWindow();
87 if (MainWindow->objectName().isEmpty())
88 MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
89 //MainWindow->resize(1288, 862);
94 if(!using_flags->is_without_sound()) {
97 if(using_flags->is_use_binary_file()) {
100 if(using_flags->is_use_qd()) {
101 ConfigQuickDiskMenu();
104 if(using_flags->is_use_cart()) {
107 if(using_flags->is_use_compact_disc()) {
110 if(using_flags->is_use_bubble()) {
113 ConfigEmulatorMenu();
114 actionAbout = new Action_Control(this, using_flags);
115 actionAbout->setObjectName(QString::fromUtf8("actionAbout"));
117 graphicsView = new GLDrawClass(using_flags, this);
118 graphicsView->setObjectName(QString::fromUtf8("graphicsView"));
119 graphicsView->setMaximumSize(2560, 2560); // ?
120 graphicsView->setMinimumSize(240, 192); // ?
121 //graphicsView->grabKeyboard();
122 graphicsView->setAttribute(Qt::WA_InputMethodEnabled, false); // Disable [Zenkaku / Hankaku] with IM.
123 graphicsView->setAttribute(Qt::WA_KeyboardFocusChange, false);
124 //graphicsView->setFocusPolicy(Qt::StrongFocus);
125 //this->setFocusPolicy(Qt::ClickFocus);
128 MainWindow->setCentralWidget(graphicsView);
129 MainWindow->setFocusProxy(graphicsView);
131 MainWindow->centralWidget()->adjustSize();
132 MainWindow->adjustSize();
134 statusbar = new QStatusBar(this);
135 statusbar->setObjectName(QString::fromUtf8("statusbar"));
136 MainWindow->setStatusBar(statusbar);
139 menubar = new QMenuBar(this);
140 menubar->setObjectName(QString::fromUtf8("menubar"));
141 menubar->setGeometry(QRect(0, 0, 1288, 27));
142 menuControl = new QMenu(menubar);
143 menuControl->setObjectName(QString::fromUtf8("menuControl"));
144 menuState = new QMenu(menuControl);
145 menuState->setObjectName(QString::fromUtf8("menuState"));
146 if(using_flags->is_use_auto_key()) {
147 menuCopy_Paste = new QMenu(menuControl);
148 menuCopy_Paste->setObjectName(QString::fromUtf8("menuCopy_Paste"));
150 menuCpu_Speed = new QMenu(menuControl);
151 menuCpu_Speed->setObjectName(QString::fromUtf8("menuCpu_Speed"));
152 menuDebugger = new QMenu(menuControl);
153 menuDebugger->setObjectName(QString::fromUtf8("menuDebugger"));
154 if(using_flags->is_use_fd()) {
156 for(i = 0; i < using_flags->get_max_drive(); i++) CreateFloppyMenu(i, i + 1);
158 if(using_flags->is_use_qd()) {
160 for(i = 0; i < using_flags->get_max_qd(); i++) CreateQuickDiskMenu(i, i + 1);
162 if(using_flags->is_use_tape()) {
166 if(using_flags->is_use_cart()) {
168 for(i = 0; i < using_flags->get_max_cart(); i++) {
169 CreateCartMenu(i, i + 1);
172 if(using_flags->is_use_binary_file()) {
174 for(i = 0; i < using_flags->get_max_binary(); i++) {
175 CreateBinaryMenu(i, i + 1);
178 if(using_flags->is_use_compact_disc()) {
181 if(using_flags->is_use_bubble()) {
183 for(i = 0; i < using_flags->get_max_bubble(); i++) {
184 CreateBubbleMenu(i, i + 1);
187 connect(this, SIGNAL(sig_update_screen(void)), graphicsView, SLOT(update(void)));
188 //connect(this, SIGNAL(sig_update_screen(void)), graphicsView, SLOT(updateGL(void)));
190 menuMachine = new QMenu(menubar);
191 menuMachine->setObjectName(QString::fromUtf8("menuMachine"));
193 if(using_flags->is_use_mouse()) {
194 actionMouseEnable = new Action_Control(this, using_flags);
195 actionMouseEnable->setCheckable(true);
196 actionMouseEnable->setVisible(true);
197 actionMouseEnable->setChecked(false);
198 menuMachine->addAction(actionMouseEnable);
199 connect(actionMouseEnable, SIGNAL(toggled(bool)),
200 this, SLOT(do_set_mouse_enable(bool)));
201 connect(graphicsView, SIGNAL(sig_check_grab_mouse(bool)),
202 actionMouseEnable, SLOT(do_check_grab_mouse(bool)));
207 ConfigSoundDeviceType();
210 if(!using_flags->is_without_sound()) {
211 menuSound = new QMenu(menubar);
212 menuSound->setObjectName(QString::fromUtf8("menuSound"));
214 menuEmulator = new QMenu(menubar);
215 menuEmulator->setObjectName(QString::fromUtf8("menuEmulator"));
217 menuHELP = new QMenu(menubar);
218 menuHELP->setObjectName(QString::fromUtf8("menuHELP"));
219 MainWindow->setMenuBar(menubar);
221 menubar->addAction(menuControl->menuAction());
222 connectActions_ControlMenu();
223 if(using_flags->is_use_fd()) {
225 for(i = 0; i < using_flags->get_max_drive(); i++) {
226 menubar->addAction(menu_fds[i]->menuAction());
229 if(using_flags->is_use_qd()) {
231 for(i = 0; i < using_flags->get_max_qd(); i++) {
232 menubar->addAction(menu_QDs[i]->menuAction());
235 if(using_flags->is_use_tape()) {
236 menubar->addAction(menu_CMT->menuAction());
238 if(using_flags->is_use_cart()) {
240 for(i = 0; i < using_flags->get_max_cart(); i++) {
241 menubar->addAction(menu_Cart[i]->menuAction());
244 if(using_flags->is_use_binary_file()) {
246 for(i = 0; i < using_flags->get_max_binary(); i++) {
247 menubar->addAction(menu_BINs[i]->menuAction());
250 if(using_flags->is_use_compact_disc()) {
251 menubar->addAction(menu_CDROM->menuAction());
253 // if(using_flags->is_use_laser_disc()) {
254 // menubar->addAction(menu_LaserDisc->menuAction());
256 if(using_flags->is_use_bubble()) {
258 for(i = 0; i < using_flags->get_max_bubble(); i++) {
259 menubar->addAction(menu_bubbles[i]->menuAction());
262 menubar->addAction(menuMachine->menuAction());
263 if(!using_flags->is_without_sound()) {
264 menubar->addAction(menuSound->menuAction());
267 menubar->addAction(menuScreen->menuAction());
268 // menubar->addAction(menuRecord->menuAction());
269 menubar->addAction(menuEmulator->menuAction());
270 menubar->addAction(menuHELP->menuAction());
271 if(using_flags->is_use_qd()) {
273 for(i = 0; i < using_flags->get_max_qd(); i++) {
274 CreateQuickDiskPulldownMenu(i);
277 if(using_flags->is_use_binary_file()) {
279 for(i = 0; i < using_flags->get_max_binary(); i++) {
280 CreateBinaryPulldownMenu(1);
283 if(!using_flags->is_without_sound()) {
286 CreateEmulatorMenu();
288 menuHELP->addAction(actionAbout);
289 connect(actionAbout, SIGNAL(triggered()), this, SLOT(do_show_about()));
290 menuHELP->addSeparator();
292 actionHelp_AboutQt = new Action_Control(this, using_flags);
293 actionHelp_AboutQt->setObjectName(QString::fromUtf8("menuHelp_AboutQt"));
294 menuHELP->addAction(actionHelp_AboutQt);
295 menuHELP->addSeparator();
296 menuHelp_Readme = new QMenu(menuHELP);
297 menuHelp_Readme->setObjectName(QString::fromUtf8("menuHelp_Readme_menu"));;
298 menuHELP->addAction(menuHelp_Readme->menuAction());
300 actionHelp_README = new Action_Control(this, using_flags);
301 actionHelp_README->setObjectName(QString::fromUtf8("menuHelp_README"));
302 actionHelp_README->do_set_string(QString::fromUtf8("readme.txt"));
303 connect(actionHelp_README, SIGNAL(triggered()), actionHelp_README, SLOT(do_send_string()));
304 connect(actionHelp_README, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
305 menuHelp_Readme->addAction(actionHelp_README);
307 actionHelp_README_QT = new Action_Control(this, using_flags);
308 actionHelp_README_QT->setObjectName(QString::fromUtf8("menuHelp_README_QT"));
309 actionHelp_README_QT->do_set_string(QString::fromUtf8("readme.qt.txt"));
310 menuHelp_Readme->addAction(actionHelp_README_QT);
311 connect(actionHelp_README_QT, SIGNAL(triggered()), actionHelp_README_QT, SLOT(do_send_string()));
312 connect(actionHelp_README_QT, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
313 actionHelp_README_Artane = new Action_Control(this, using_flags);
314 actionHelp_README_Artane->setObjectName(QString::fromUtf8("menuHelp_README_Artane"));
315 actionHelp_README_Artane->do_set_string(QString::fromUtf8("readme_by_artane.txt"));
316 connect(actionHelp_README_Artane, SIGNAL(triggered()), actionHelp_README_Artane, SLOT(do_send_string()));
317 connect(actionHelp_README_Artane, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
318 menuHelp_Readme->addAction(actionHelp_README_Artane);
319 menuHelp_Readme->addSeparator();
321 actionHelp_README_BIOS = new Action_Control(this, using_flags);
322 actionHelp_README_BIOS->setObjectName(QString::fromUtf8("menuHelp_README_BIOS"));
323 actionHelp_README_BIOS->do_set_string(QString::fromUtf8("bios_and_keys.txt"));
324 connect(actionHelp_README_BIOS, SIGNAL(triggered()), actionHelp_README_BIOS, SLOT(do_send_string()));
325 connect(actionHelp_README_BIOS, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
326 menuHelp_Readme->addAction(actionHelp_README_BIOS);
327 menuHelp_Readme->addSeparator();
329 actionHelp_README_MR_TANAM = new Action_Control(this, using_flags);
330 actionHelp_README_MR_TANAM->setObjectName(QString::fromUtf8("menuHelp_README_MR_TANAM"));
331 actionHelp_README_MR_TANAM->do_set_string(QString::fromUtf8("readme_by_mr_tanam.txt"));
332 connect(actionHelp_README_MR_TANAM, SIGNAL(triggered()), actionHelp_README_MR_TANAM, SLOT(do_send_string()));
333 connect(actionHelp_README_MR_TANAM, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
334 menuHelp_Readme->addAction(actionHelp_README_MR_TANAM);
336 menuHelp_Readme->addSeparator();
338 actionHelp_README_FAQ = new Action_Control(this, using_flags);
339 actionHelp_README_FAQ->setObjectName(QString::fromUtf8("menuHelp_README_FAQ"));
340 actionHelp_README_FAQ->do_set_string(QString::fromUtf8("FAQ.html"));
341 connect(actionHelp_README_FAQ, SIGNAL(triggered()), actionHelp_README_FAQ, SLOT(do_send_string()));
342 connect(actionHelp_README_FAQ, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
343 menuHelp_Readme->addAction(actionHelp_README_FAQ);
345 actionHelp_README_FAQ_JP = new Action_Control(this, using_flags);
346 actionHelp_README_FAQ_JP->setObjectName(QString::fromUtf8("menuHelp_README_FAQ_JP"));
347 actionHelp_README_FAQ_JP->do_set_string(QString::fromUtf8("FAQ.ja.html"));
348 connect(actionHelp_README_FAQ_JP, SIGNAL(triggered()), actionHelp_README_FAQ_JP, SLOT(do_send_string()));
349 connect(actionHelp_README_FAQ_JP, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
350 menuHelp_Readme->addAction(actionHelp_README_FAQ_JP);
351 menuHelp_Readme->addSeparator();
353 actionHelp_README_FM7 = new Action_Control(this, using_flags);
354 actionHelp_README_FM7->setObjectName(QString::fromUtf8("menuHelp_README_FM7"));
355 actionHelp_README_FM7->do_set_string(QString::fromUtf8("readme_fm7.txt"));
356 connect(actionHelp_README_FM7, SIGNAL(triggered()), actionHelp_README_FM7, SLOT(do_send_string()));
357 connect(actionHelp_README_FM7, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
358 menuHelp_Readme->addAction(actionHelp_README_FM7);
360 actionHelp_README_FM7_JP = new Action_Control(this, using_flags);
361 actionHelp_README_FM7_JP->setObjectName(QString::fromUtf8("menuHelp_README_FM7_JP"));
362 actionHelp_README_FM7_JP->do_set_string(QString::fromUtf8("readme_fm7.jp.txt"));
363 connect(actionHelp_README_FM7_JP, SIGNAL(triggered()), actionHelp_README_FM7_JP, SLOT(do_send_string()));
364 connect(actionHelp_README_FM7_JP, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
365 menuHelp_Readme->addAction(actionHelp_README_FM7_JP);
367 menuHelp_Histories = new QMenu(menuHELP);
368 menuHelp_Histories->setObjectName(QString::fromUtf8("menuHelp_Histories"));;
369 menuHELP->addAction(menuHelp_Histories->menuAction());
371 actionHelp_History = new Action_Control(this, using_flags);
372 actionHelp_History->setObjectName(QString::fromUtf8("menuHelp_History"));
373 actionHelp_History->do_set_string(QString::fromUtf8("history.txt"));
374 connect(actionHelp_History, SIGNAL(triggered()), actionHelp_History, SLOT(do_send_string()));
375 connect(actionHelp_History, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
376 menuHelp_Histories->addAction(actionHelp_History);
378 actionHelp_History_Relnote = new Action_Control(this, using_flags);
379 actionHelp_History_Relnote->setObjectName(QString::fromUtf8("menuHelp_History_Relnote"));
380 actionHelp_History_Relnote->do_set_string(QString::fromUtf8("RELEASENOTE.txt"));
381 connect(actionHelp_History_Relnote, SIGNAL(triggered()), actionHelp_History_Relnote, SLOT(do_send_string()));
382 connect(actionHelp_History_Relnote, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
383 menuHelp_Histories->addAction(actionHelp_History_Relnote);
385 actionHelp_History_ChangeLog = new Action_Control(this, using_flags);
386 actionHelp_History_ChangeLog->setObjectName(QString::fromUtf8("menuHelp_History_ChangeLog"));
387 actionHelp_History_ChangeLog->do_set_string(QString::fromUtf8("ChangeLog.txt"));
388 connect(actionHelp_History_ChangeLog, SIGNAL(triggered()), actionHelp_History_ChangeLog, SLOT(do_send_string()));
389 connect(actionHelp_History_ChangeLog, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
390 menuHelp_Histories->addAction(actionHelp_History_ChangeLog);
392 actionHelp_History_MR_TANAM = new Action_Control(this, using_flags);
393 actionHelp_History_MR_TANAM->setObjectName(QString::fromUtf8("menuHelp_History_MR_TANAM"));
394 actionHelp_History_MR_TANAM->do_set_string(QString::fromUtf8("history_by_mr_tanam.txt"));
395 connect(actionHelp_History_MR_TANAM, SIGNAL(triggered()), actionHelp_History_MR_TANAM, SLOT(do_send_string()));
396 connect(actionHelp_History_MR_TANAM, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
397 menuHelp_Histories->addAction(actionHelp_History_MR_TANAM);
399 actionHelp_License = new Action_Control(this, using_flags);
400 actionHelp_License->setObjectName(QString::fromUtf8("menuHelp_License"));
401 actionHelp_License->do_set_string(QString::fromUtf8("LICENSE.txt"));
402 connect(actionHelp_License, SIGNAL(triggered()), actionHelp_License, SLOT(do_send_string()));
403 connect(actionHelp_License, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
404 menuHELP->addAction(actionHelp_License);
406 actionHelp_License_JP = new Action_Control(this, using_flags);
407 actionHelp_License_JP->setObjectName(QString::fromUtf8("menuHelp_License_JP"));
408 actionHelp_License_JP->do_set_string(QString::fromUtf8("LICENSE.ja.txt"));
409 connect(actionHelp_License_JP, SIGNAL(triggered()), actionHelp_License_JP, SLOT(do_send_string()));
410 connect(actionHelp_License_JP, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
411 menuHELP->addAction(actionHelp_License_JP);
413 if(using_flags->get_config_ptr()->window_mode <= 0) using_flags->get_config_ptr()->window_mode = 0;
414 if(using_flags->get_config_ptr()->window_mode >= using_flags->get_screen_mode_num()) using_flags->get_config_ptr()->window_mode = using_flags->get_screen_mode_num() - 1;
415 w = using_flags->get_screen_width();
416 h = using_flags->get_screen_height();
417 if(actionScreenSize[using_flags->get_config_ptr()->window_mode] != NULL) {
418 double nd = actionScreenSize[using_flags->get_config_ptr()->window_mode]->binds->getDoubleValue();
419 w = (int)(nd * (double)w);
420 h = (int)(nd * (double)h);
421 if(using_flags->is_use_screen_rotate()) {
422 if(using_flags->get_config_ptr()->rotate_type) {
429 if(using_flags->is_use_screen_rotate()) {
430 if(using_flags->get_config_ptr()->rotate_type) {
442 graphicsView->setFixedSize(w, h);
443 for(int i = 0; i < using_flags->get_screen_mode_num(); i++) {
444 if(actionScreenSize[i] != NULL) {
445 connect(actionScreenSize[i]->binds, SIGNAL(sig_screen_multiply(float)),
446 graphicsView, SLOT(do_set_screen_multiply(float)));
449 this->set_screen_size(w, h);
450 this->set_screen_aspect(using_flags->get_config_ptr()->window_stretch_type);
451 if(actionScreenSize[using_flags->get_config_ptr()->window_mode] != NULL) {
452 double nd = actionScreenSize[using_flags->get_config_ptr()->window_mode]->binds->getDoubleValue();
453 graphicsView->do_set_screen_multiply(nd);
455 if(using_flags->is_use_joystick()) {
456 connect(action_SetupJoystick, SIGNAL(triggered()), this, SLOT(rise_joystick_dialog()));
458 connect(action_SetupKeyboard, SIGNAL(triggered()), this, SLOT(rise_keyboard_dialog()));
460 QImageReader reader(":/default.ico");
461 QImage result = reader.read();
463 MainWindow->setWindowIcon(QPixmap::fromImage(result));
464 this->set_window_title();
466 InsertIcon = QApplication::style()->standardIcon(QStyle::SP_FileDialogStart);
467 EjectIcon = QIcon(":/icon_eject.png");
468 StopIcon = QIcon(":/icon_process_stop.png");
469 RecordSoundIcon = QIcon(":/icon_record_to_wav.png");
470 ResetIcon = QApplication::style()->standardIcon(QStyle::SP_BrowserReload);
472 VolumeMutedIcon = QIcon(":/icon_volume_muted.png");
473 VolumeLowIcon = QIcon(":/icon_volume_low.png");
474 VolumeMidIcon = QIcon(":/icon_volume_mid.png");
475 VolumeHighIcon = QIcon(":/icon_volume_high.png");
477 ExitIcon = QIcon(":/icon_exit.png");
479 QMetaObject::connectSlotsByName(MainWindow);
483 #include "dropdown_joystick.h"
484 #include "dialog_set_key.h"
486 void Ui_MainWindowBase::retranslateEmulatorMenu(void)
489 menuEmulator->setTitle(QApplication::translate("MainWindow", "Emulator", 0));
490 if(using_flags->is_use_joystick()) {
491 action_SetupJoystick->setText(QApplication::translate("MainWindow", "Configure Joysticks", 0));
492 action_SetupJoystick->setIcon(QIcon(":/icon_gamepad.png"));
494 action_SetupKeyboard->setText(QApplication::translate("MainWindow", "Configure Keyboard", 0));
495 action_SetupKeyboard->setIcon(QIcon(":/icon_keyboard.png"));
496 action_SetupMovie->setText(QApplication::translate("MainWindow", "Configure movie encoding", 0));
500 void Ui_MainWindowBase::CreateEmulatorMenu(void)
502 if(using_flags->is_use_joystick()) {
503 menuEmulator->addAction(action_SetupJoystick);
505 menuEmulator->addAction(action_SetupKeyboard);
506 menuEmulator->addAction(action_SetupMovie);
509 void Ui_MainWindowBase::ConfigEmulatorMenu(void)
513 if(using_flags->is_use_joystick()) {
514 action_SetupJoystick = new Action_Control(this, using_flags);
516 action_SetupKeyboard = new Action_Control(this, using_flags);
518 action_SetupMovie = new Action_Control(this, using_flags);
522 void Ui_MainWindowBase::rise_joystick_dialog(void)
524 if(graphicsView != NULL) {
525 QStringList *lst = graphicsView->getVKNames();
526 CSP_DropDownJoysticks *dlg = new CSP_DropDownJoysticks(NULL, lst, using_flags);
527 dlg->setWindowTitle(QApplication::translate("CSP_DropDownJoysticks", "Configure Joysticks", 0));
532 void Ui_MainWindowBase::rise_movie_dialog(void)
537 void Ui_MainWindowBase::rise_keyboard_dialog(void)
539 if(graphicsView != NULL) {
540 CSP_KeySetDialog *dlg = new CSP_KeySetDialog(NULL, graphicsView);
541 dlg->setWindowTitle(QApplication::translate("KeySetDialog", "Configure Keyboard", 0));
546 void Ui_MainWindowBase::retranslateUI_Help(void)
548 menuHELP->setTitle(QApplication::translate("MainWindow", "Help", 0));
549 actionHelp_AboutQt->setText(QApplication::translate("MainWindow", "About Qt", 0));
550 actionHelp_AboutQt->setIcon(QApplication::style()->standardIcon(QStyle::SP_TitleBarMenuButton));
552 actionAbout->setText(QApplication::translate("MainWindow", "About...", 0));
553 actionAbout->setIcon(QApplication::style()->standardIcon(QStyle::SP_MessageBoxQuestion));
555 menuHelp_Readme->setTitle(QApplication::translate("MainWindow", "READMEs", 0));
557 actionHelp_README->setText(QApplication::translate("MainWindow", "General Document", 0));
558 actionHelp_README_QT->setText(QApplication::translate("MainWindow", "About Qt ports", 0));
559 actionHelp_README_Artane->setText(QApplication::translate("MainWindow", "About Qt ports (Japanese).", 0));
560 actionHelp_README_MR_TANAM->setText(QApplication::translate("MainWindow", "By Mr. tanam", 0));
561 actionHelp_README_FM7->setText(QApplication::translate("MainWindow", "About eFM-7/8/77/AV.", 0));
562 actionHelp_README_FM7_JP->setText(QApplication::translate("MainWindow", "About eFM-7/8/77/AV (Japanese).", 0));
563 actionHelp_README_FAQ->setText(QApplication::translate("MainWindow", "FAQs(English)", 0));
564 actionHelp_README_FAQ_JP->setText(QApplication::translate("MainWindow", "FAQs(Japanese)", 0));
565 actionHelp_README_BIOS->setText(QApplication::translate("MainWindow", "BIOS and Key assigns", 0));
567 menuHelp_Histories->setTitle(QApplication::translate("MainWindow", "Histories", 0));
568 actionHelp_History->setText(QApplication::translate("MainWindow", "General History", 0));
569 actionHelp_History_Relnote->setText(QApplication::translate("MainWindow", "Release Note", 0));
570 actionHelp_History_ChangeLog->setText(QApplication::translate("MainWindow", "Change Log", 0));
571 actionHelp_History_MR_TANAM->setText(QApplication::translate("MainWindow", "History by Tanam", 0));
573 actionHelp_License->setText(QApplication::translate("MainWindow", "Show License", 0));
574 actionHelp_License_JP->setText(QApplication::translate("MainWindow", "Show License (Japanese)", 0));
578 // You can Override this function: Re-define on foo/MainWindow.cpp.
579 // This code is example: by X1(TurboZ).
580 void Ui_MainWindowBase::retranslateMachineMenu(void)
585 menuMachine->setTitle(QApplication::translate("MainWindow", "Machine", 0));
586 if(using_flags->get_use_device_type() > 0) {
587 menuDeviceType->setTitle(QApplication::translate("MainWindow", "Device Type", 0));
588 for(i = 0; i < using_flags->get_use_device_type(); i++) {
590 tmps = QString::fromUtf8("Machine Device ") + tmps2;
591 actionDeviceType[i]->setText(tmps);
594 if(using_flags->get_use_sound_device_type() > 0) {
595 menuSoundDevice->setTitle(QApplication::translate("MainWindow", "Sound Cards", 0));
596 for(i = 0; i < using_flags->get_use_sound_device_type(); i++) {
598 tmps = QString::fromUtf8("Sound Device ") + tmps2;
599 actionSoundDevice[i]->setText(tmps);
602 if(using_flags->get_use_drive_type() > 0) {
603 menuDriveType->setTitle(QApplication::translate("MainWindow", "Drive Type", 0));
604 for(i = 0; i < using_flags->get_use_drive_type(); i++) {
606 tmps = QString::fromUtf8("Drive Type ") + tmps2;
607 actionDriveType[i]->setText(tmps);
610 if(using_flags->is_use_printer()) {
611 menuPrintDevice->setTitle(QApplication::translate("MainWindow", "Printer (Need RESET)", 0));
613 actionPrintDevice[0]->setText(QApplication::translate("MainWindow", "Dump to File", 0));
614 if(using_flags->get_use_printer_type() > 0) {
615 for(i = 1; i < (using_flags->get_use_printer_type() - 1); i++) {
617 tmps = QApplication::translate("MainWindow", "Printer", 0) + tmps2;
618 actionPrintDevice[i]->setText(tmps);
621 actionPrintDevice[i]->setText(QApplication::translate("MainWindow", "Not Connect", 0));
624 void Ui_MainWindowBase::retranslateUi(void)
626 retranslateControlMenu("NMI Reset", true);
627 retranslateFloppyMenu(0, 0);
628 retranslateFloppyMenu(1, 1);
629 retranslateCMTMenu();
630 if(!using_flags->is_without_sound()) {
631 retranslateSoundMenu();
633 retranslateScreenMenu();
634 retranslateCartMenu(0, 1);
635 retranslateCartMenu(1, 2);
636 retranslateCDROMMenu();
638 retranslateBinaryMenu(0, 1);
639 retranslateBinaryMenu(1, 2);
641 retranslateBubbleMenu(0, 1);
642 retranslateBubbleMenu(1, 2);
643 retranslateMachineMenu();
644 retranslateEmulatorMenu();
645 retranslateUI_Help();
649 void Ui_MainWindowBase::setCoreApplication(QApplication *p)
651 this->CoreApplication = p;
652 connect(actionExit_Emulator, SIGNAL(triggered()),
653 this->CoreApplication, SLOT(closeAllWindows())); // OnGuiExit()?
654 connect(actionHelp_AboutQt, SIGNAL(triggered()),
655 this->CoreApplication, SLOT(aboutQt()));
660 // Move from common/qt_main.cpp
662 extern std::string cpp_homedir;
663 extern std::string cpp_confdir;
664 extern std::string my_procname;
665 extern bool now_menuloop;
669 extern unsigned int desktop_width;
670 extern unsigned int desktop_height;
672 extern int prev_window_mode;
673 extern bool now_fullscreen;
674 extern int window_mode_count;
676 void Ui_MainWindowBase::set_window(int mode)
678 // static LONG style = WS_VISIBLE;
681 void Ui_MainWindowBase::do_emu_update_volume_level(int num, int level)
683 emit sig_emu_update_volume_level(num, level);
686 void Ui_MainWindowBase::do_emu_update_volume_balance(int num, int level)
688 emit sig_emu_update_volume_balance(num, level);
691 void Ui_MainWindowBase::do_emu_update_config(void)
693 emit sig_emu_update_config();
696 void Ui_MainWindowBase::doChangeMessage_EmuThread(QString message)
698 emit message_changed(message);
703 void Ui_MainWindowBase::StopEmuThread(void)
705 emit quit_emu_thread();
708 void Ui_MainWindowBase::delete_emu_thread(void)
710 //do_release_emu_resources();
714 #include <QTextCodec>
716 #include <QByteArray>
718 void Convert_CP932_to_UTF8(char *dst, char *src, int n_limit, int i_limit)
720 QTextCodec *srcCodec = QTextCodec::codecForName( "SJIS" );
721 QTextCodec *dstCodec = QTextCodec::codecForName( "UTF-8" );
725 if(dst != NULL) dst[0] = '\0';
728 if(dst == NULL) return;
729 dst_b = srcCodec->toUnicode(src, strlen(src));
730 dst_s = dstCodec->fromUnicode(dst_b);
732 memset(dst, 0x00, n_limit);
733 strncpy(dst, dst_s.constData(), n_limit - 1);
737 void Ui_MainWindowBase::set_window_title()
740 tmps = QString::fromUtf8("emu");
741 tmps = tmps + using_flags->get_config_name();
742 tmps = tmps + QString::fromUtf8(" (");
743 tmps = tmps + using_flags->get_device_name();
744 tmps = tmps + QString::fromUtf8(")");
745 MainWindow->setWindowTitle(tmps);
748 void Ui_MainWindowBase::do_set_window_title(QString s)
751 tmps = QString::fromUtf8("emu");
752 tmps = tmps + using_flags->get_config_name();
753 tmps = tmps + QString::fromUtf8(" (");
757 tmps = tmps + QString::fromUtf8(")");
758 MainWindow->setWindowTitle(tmps);
761 void Ui_MainWindowBase::do_set_mouse_enable(bool flag)
765 void Ui_MainWindowBase::do_toggle_mouse(void)
769 void Ui_MainWindowBase::LaunchEmuThread(void)
773 void Ui_MainWindowBase::LaunchJoyThread(void)
777 void Ui_MainWindowBase::StopJoyThread(void)
781 void Ui_MainWindowBase::delete_joy_thread(void)
785 void Ui_MainWindowBase::on_actionExit_triggered()
787 OnMainWindowClosed();
790 void Ui_MainWindowBase::OnWindowMove(void)
794 void Ui_MainWindowBase::OnWindowResize(void)
797 set_window(using_flags->get_config_ptr()->window_mode);
801 void Ui_MainWindowBase::OnWindowRedraw(void)
805 bool Ui_MainWindowBase::GetPowerState(void)
810 void Ui_MainWindowBase::OnMainWindowClosed(void)
815 void Ui_MainWindowBase::do_release_emu_resources(void)
819 void Ui_MainWindowBase::OnOpenDebugger(int no)
823 void Ui_MainWindowBase::OnCloseDebugger(void )