2 * Common Source code Project:
3 * Ui->Qt->gui->menu_emulator for generic.
4 * (C) 2015 K.Ohta <whatisthis.sowhat _at_ gmail.com>
7 * Aug 13, 2019 : Split from menu_main.cpp.
10 #include <QApplication>
14 #include <QApplication>
16 #include <QTranslator>
17 #include <QDockWidget>
23 #include "commonclasses.h"
24 #include "display_text_document.h"
25 #include "mainwidget_base.h"
26 #include "dock_disks.h"
28 #include "qt_gldraw.h"
31 #include "menu_flags.h"
32 #include "csp_logger.h"
35 #include "dropdown_joystick.h"
36 #include "dropdown_joykey.h"
37 #include "dialog_set_key.h"
39 void Ui_MainWindowBase::do_set_roma_kana(bool flag)
41 p_config->romaji_to_kana = flag;
42 emit sig_set_roma_kana(flag);
45 void Ui_MainWindowBase::do_set_numpad_enter_as_fullkey(bool flag)
47 p_config->numpad_enter_as_fullkey = flag;
50 void Ui_MainWindowBase::do_set_joy_to_key(bool flag)
52 p_config->use_joy_to_key = flag;
55 void Ui_MainWindowBase::do_set_print_cpu_statistics(bool flag)
57 p_config->print_statistics = flag;
58 emit sig_emu_update_config();
61 void Ui_MainWindowBase::do_set_visible_virtual_media_none()
64 driveData->setVisible(false);
65 p_config->virtual_media_position = 0;
66 set_screen_size(graphicsView->width(), graphicsView->height());
68 pCentralLayout->setDirection(QBoxLayout::TopToBottom);
69 rect.setRect(0, 0, graphicsView->width(), graphicsView->height() + 2);
71 pCentralLayout->removeWidget(driveData);
72 pCentralWidget->setGeometry(rect);
73 //pCentralLayout->setGeometry(rect);
74 pCentralLayout->update();
75 pCentralWidget->setLayout(pCentralLayout);
76 MainWindow->setCentralWidget(pCentralWidget);
77 //emit sig_set_display_osd(true);
80 void Ui_MainWindowBase::do_set_visible_virtual_media_upper()
83 driveData->setVisible(true);
84 p_config->virtual_media_position = 1;
85 set_screen_size(graphicsView->width(), graphicsView->height());
86 emit sig_set_orientation_osd(1);
87 pCentralLayout->setDirection(QBoxLayout::TopToBottom);
88 pCentralLayout->removeWidget(driveData);
89 pCentralLayout->removeWidget(graphicsView);
90 pCentralLayout->addWidget(driveData);
91 pCentralLayout->addWidget(graphicsView);
92 rect.setRect(0, 0, graphicsView->width(), graphicsView->height() + driveData->height() + 2);
93 pCentralWidget->setGeometry(rect);
94 //pCentralLayout->setGeometry(rect);
95 pCentralLayout->update();
96 pCentralWidget->setLayout(pCentralLayout);
97 MainWindow->setCentralWidget(pCentralWidget);
98 //emit sig_set_display_osd(false);
101 void Ui_MainWindowBase::do_set_visible_virtual_media_lower()
104 driveData->setVisible(true);
105 p_config->virtual_media_position = 2;
106 set_screen_size(graphicsView->width(), graphicsView->height());
107 emit sig_set_orientation_osd(2);
108 pCentralLayout->setDirection(QBoxLayout::BottomToTop);
109 pCentralLayout->removeWidget(driveData);
110 pCentralLayout->removeWidget(graphicsView);
111 pCentralLayout->addWidget(driveData);
112 pCentralLayout->addWidget(graphicsView);
114 rect.setRect(0, 0, graphicsView->width(), graphicsView->height() + driveData->height() + 2);
115 pCentralWidget->setGeometry(rect);
116 pCentralLayout->update();
117 pCentralWidget->setLayout(pCentralLayout);
118 MainWindow->setCentralWidget(pCentralWidget);
121 void Ui_MainWindowBase::do_set_visible_virtual_media_left()
124 driveData->setVisible(true);
125 p_config->virtual_media_position = 3;
126 set_screen_size(graphicsView->width(), graphicsView->height());
127 emit sig_set_orientation_osd(3);
128 pCentralLayout->removeWidget(driveData);
129 pCentralLayout->addWidget(driveData, 1, 0);
130 //emit sig_set_display_osd(false);
134 void Ui_MainWindowBase::do_set_visible_virtual_media_right()
137 driveData->setVisible(true);
138 p_config->virtual_media_position = 4;
139 set_screen_size(graphicsView->width(), graphicsView->height());
140 emit sig_set_orientation_osd(4);
141 pCentralLayout->removeWidget(driveData);
142 pCentralLayout->addWidget(driveData, 1, 2);
143 //emit sig_set_display_osd(false);
147 #include "display_log.h"
149 void Ui_MainWindowBase::rise_log_viewer(void)
151 Dlg_LogViewer *dlg = new Dlg_LogViewer(using_flags, csp_logger, NULL);
155 void Ui_MainWindowBase::rise_joystick_dialog(void)
157 if(graphicsView != NULL) {
158 QStringList *lst = graphicsView->getVKNames();
159 CSP_DropDownJoysticks *dlg = new CSP_DropDownJoysticks(NULL, lst, using_flags);
160 dlg->setWindowTitle(QApplication::translate("CSP_DropDownJoysticks", "Configure Joysticks", 0));
165 void Ui_MainWindowBase::rise_joykey_dialog(void)
167 if(graphicsView != NULL) {
168 QStringList *lst = graphicsView->getVKNames();
169 CSP_DropDownJoykey *dlg = new CSP_DropDownJoykey(NULL, lst, using_flags);
170 dlg->setWindowTitle(QApplication::translate("CSP_DropDownJoysticks", "Configure Joystick to KEYBOARD", 0));
175 void Ui_MainWindowBase::rise_movie_dialog(void)
180 void Ui_MainWindowBase::rise_keyboard_dialog(void)
182 if(graphicsView != NULL) {
183 CSP_KeySetDialog *dlg = new CSP_KeySetDialog(NULL, graphicsView);
184 dlg->setWindowTitle(QApplication::translate("KeySetDialog", "Configure Keyboard", 0));
189 #if defined(Q_OS_LINUX)
190 //#define _GNU_SOURCE
195 void Ui_MainWindowBase::ConfigEmulatorMenu(void)
199 actionGroup_DispVirtualMedias = new QActionGroup(this);
200 actionGroup_DispVirtualMedias->setExclusive(true);
201 menu_DispVirtualMedias = new QMenu(this);
202 menu_DispVirtualMedias->setToolTipsVisible(true);
203 for(i = 0; i < 3; i++) {
204 action_DispVirtualMedias[i] = new Action_Control(this, using_flags);
205 action_DispVirtualMedias[i]->setCheckable(true);
206 action_DispVirtualMedias[i]->setChecked(false);
207 if(i == p_config->virtual_media_position) action_DispVirtualMedias[i]->setChecked(true);
208 action_DispVirtualMedias[i]->setEnabled(true);
209 actionGroup_DispVirtualMedias->addAction(action_DispVirtualMedias[i]);
210 menu_DispVirtualMedias->addAction(action_DispVirtualMedias[i]);
212 connect(action_DispVirtualMedias[0], SIGNAL(triggered()), this, SLOT(do_set_visible_virtual_media_none()));
213 connect(action_DispVirtualMedias[1], SIGNAL(triggered()), this, SLOT(do_set_visible_virtual_media_upper()));
214 connect(action_DispVirtualMedias[2], SIGNAL(triggered()), this, SLOT(do_set_visible_virtual_media_lower()));
216 if(using_flags->is_use_joystick()) {
217 SET_ACTION_SINGLE(action_UseJoykey, true, true, (p_config->use_joy_to_key));
218 connect(action_UseJoykey, SIGNAL(toggled(bool)), this, SLOT(do_set_joy_to_key(bool)));
221 if(using_flags->is_use_auto_key()) {
222 // ToDo: Setup if checked.
223 SET_ACTION_SINGLE(action_UseRomaKana, true, true, (p_config->romaji_to_kana));
224 connect(action_UseRomaKana, SIGNAL(toggled(bool)), this, SLOT(do_set_roma_kana(bool)));
226 SET_ACTION_SINGLE(action_NumPadEnterAsFullkey, true, true, (p_config->numpad_enter_as_fullkey));
227 connect(action_NumPadEnterAsFullkey, SIGNAL(toggled(bool)), this, SLOT(do_set_numpad_enter_as_fullkey(bool)));
229 SET_ACTION_SINGLE(action_PrintCpuStatistics, true, true, (p_config->print_statistics));
230 connect(action_PrintCpuStatistics, SIGNAL(toggled(bool)), this, SLOT(do_set_print_cpu_statistics(bool)));
232 // Cursor to ten key.
233 menu_EmulateCursorAs = new QMenu(this);
234 menu_EmulateCursorAs->setToolTipsVisible(true);
235 actionGroup_EmulateCursorAs = new QActionGroup(this);
236 actionGroup_EmulateCursorAs->setExclusive(true);
238 for(i = 0; i < 3; i++) {
239 tmps = QString::number(i);
240 action_EmulateCursorAs[i] = new Action_Control(this, using_flags);
241 action_EmulateCursorAs[i]->setObjectName(QString::fromUtf8("action_EmulateCursorAs", -1) + tmps);
242 action_EmulateCursorAs[i]->setCheckable(true);
243 action_EmulateCursorAs[i]->binds->setValue1(i);
244 actionGroup_EmulateCursorAs->addAction(action_EmulateCursorAs[i]);
245 menu_EmulateCursorAs->addAction(action_EmulateCursorAs[i]);
246 if(i == p_config->cursor_as_ten_key) action_EmulateCursorAs[i]->setChecked(true);
248 connect(action_EmulateCursorAs[i], SIGNAL(triggered()),
249 action_EmulateCursorAs[i], SLOT(do_set_emulate_cursor_as()));
250 connect(action_EmulateCursorAs[i], SIGNAL(sig_set_emulate_cursor_as(int)),
251 this, SLOT(do_set_emulate_cursor_as(int)));
255 SET_ACTION_CHECKABLE_SINGLE_CONNECT_NOMENU(actionSpeed_FULL, "actionSpeed_FULL", p_config->full_speed, SIGNAL(toggled(bool)), SLOT(do_emu_full_speed(bool)));
257 if(using_flags->is_use_joystick()) {
258 action_SetupJoystick = new Action_Control(this, using_flags);
259 action_SetupJoykey = new Action_Control(this, using_flags);
261 if(using_flags->is_use_sound_files_fdd()) {
262 SET_ACTION_SINGLE(action_SoundFilesFDD, true, true, (p_config->sound_noise_fdd != 0));
264 if(using_flags->is_use_sound_files_relay()) {
265 SET_ACTION_SINGLE(action_SoundFilesRelay, true, true, (p_config->sound_noise_cmt != 0));
268 SET_ACTION_CHECKABLE_SINGLE_CONNECT_NOMENU(action_FocusWithClick, "actionFocus_With_Click", p_config->focus_with_click, SIGNAL(toggled(bool)), SLOT(do_set_window_focus_type(bool)));
270 action_Logging_FDC = NULL;
271 if(using_flags->is_use_fd()) {
272 SET_ACTION_SINGLE(action_Logging_FDC, true, true, (p_config->special_debug_fdc != 0));
273 connect(action_Logging_FDC, SIGNAL(toggled(bool)), this, SLOT(do_set_logging_fdc(bool)));
275 #if !defined(Q_OS_WIN)
276 SET_ACTION_SINGLE(action_LogToSyslog, true, true, (p_config->log_to_syslog != 0));
278 menuDevLogToSyslog = new QMenu(this);
279 menuDevLogToSyslog->setToolTipsVisible(true);
280 for(int i = 0; i < (CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1); i++) {
281 action_DevLogToSyslog[i] = new Action_Control(this, using_flags);
282 action_DevLogToSyslog[i]->setCheckable(true);
283 action_DevLogToSyslog[i]->setEnabled(false);
284 action_DevLogToSyslog[i]->binds->setValue1(i);
285 menuDevLogToSyslog->addAction(action_DevLogToSyslog[i]);
286 if(p_config->dev_log_to_syslog[i][0]) action_DevLogToSyslog[i]->setChecked(true);
287 connect(action_DevLogToSyslog[i], SIGNAL(toggled(bool)),
288 action_DevLogToSyslog[i], SLOT(do_set_dev_log_to_syslog(bool)));
289 connect(action_DevLogToSyslog[i], SIGNAL(sig_set_dev_log_to_syslog(int, bool)),
290 this, SLOT(do_set_dev_log_to_syslog(int, bool)));
294 SET_ACTION_SINGLE(action_LogToConsole, true, true, (p_config->log_to_console != 0));
296 //menuDevLogToConsole = new QMenu(menuEmulator);
297 menuDevLogToConsole = new QMenu(this);
298 menuDevLogToConsole->setToolTipsVisible(true);
300 SET_ACTION_CONTROL_ARRAY(0, (CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1),
302 menuDevLogToConsole, action_DevLogToConsole, true, false,
304 SIGNAL(toggled(bool)),
305 SLOT(do_set_dev_log_to_console(bool)),
306 SIGNAL(sig_set_dev_log_to_console(int, bool)),
307 SLOT(do_set_dev_log_to_console(int, bool)));
309 action_LogView = new Action_Control(this, using_flags);
310 connect(action_LogView, SIGNAL(triggered()),
311 this, SLOT(rise_log_viewer()));
314 #if defined(Q_OS_LINUX)
316 cpus = sysconf(_SC_NPROCESSORS_ONLN);
319 menu_SetFixedCpu = NULL;
320 action_ResetFixedCpu = NULL;
321 for(i = 0; i < 128; i++) {
322 action_SetFixedCpu[i] = NULL;
325 menu_SetFixedCpu = new QMenu(this);
326 menu_SetFixedCpu->setToolTipsVisible(true);
327 actionGroup_SetFixedCpu = new QActionGroup(this);
328 actionGroup_SetFixedCpu->setExclusive(true);
329 if(cpus >= 128) cpus = 128;
331 action_ResetFixedCpu = new Action_Control(this, using_flags);
332 action_ResetFixedCpu->setObjectName(QString::fromUtf8("action_SetFixedCpu", -1) + tmps);
333 action_ResetFixedCpu->setCheckable(true);
334 action_ResetFixedCpu->binds->setValue1(-1);
335 actionGroup_SetFixedCpu->addAction(action_ResetFixedCpu);
336 menu_SetFixedCpu->addAction(action_ResetFixedCpu);
337 connect(action_ResetFixedCpu, SIGNAL(triggered()),
338 action_ResetFixedCpu->binds, SLOT(do_select_fixed_cpu(void)));
339 connect(action_ResetFixedCpu->binds, SIGNAL(sig_set_fixed_cpu(int)),
340 this, SLOT(do_select_fixed_cpu(int)));
342 for(i = 0; i < cpus; i++) {
343 tmps = QString::number(i);
344 action_SetFixedCpu[i] = new Action_Control(this, using_flags);
345 action_SetFixedCpu[i]->setObjectName(QString::fromUtf8("action_SetFixedCpu", -1) + tmps);
346 action_SetFixedCpu[i]->setCheckable(true);
347 action_SetFixedCpu[i]->binds->setValue1(i);
348 actionGroup_SetFixedCpu->addAction(action_SetFixedCpu[i]);
349 menu_SetFixedCpu->addAction(action_SetFixedCpu[i]);
350 connect(action_SetFixedCpu[i], SIGNAL(triggered()),
351 action_SetFixedCpu[i]->binds, SLOT(do_select_fixed_cpu(void)));
352 connect(action_SetFixedCpu[i]->binds, SIGNAL(sig_set_fixed_cpu(int)),
353 this, SLOT(do_select_fixed_cpu(int)));
356 menu_SetRenderPlatform = new QMenu(this);
357 menu_SetRenderPlatform->setToolTipsVisible(true);
358 actionGroup_SetRenderPlatform = new QActionGroup(this);
359 actionGroup_SetRenderPlatform->setExclusive(true);
361 int render_type = p_config->render_platform;
362 int _major_version = p_config->render_major_version;
363 //int _minor_version = p_config->render_minor_version; // ToDo
364 for(i = 0; i < MAX_RENDER_PLATFORMS; i++) {
365 tmps = QString::number(i);
366 action_SetRenderPlatform[i] = new Action_Control(this, using_flags);
367 action_SetRenderPlatform[i]->setObjectName(QString::fromUtf8("action_SetRenderPlatform", -1) + tmps);
368 action_SetRenderPlatform[i]->setCheckable(true);
369 action_SetRenderPlatform[i]->binds->setValue1(i);
370 actionGroup_SetRenderPlatform->addAction(action_SetRenderPlatform[i]);
371 menu_SetRenderPlatform->addAction(action_SetRenderPlatform[i]);
372 if(i >= RENDER_PLATFORMS_END) {
373 action_SetRenderPlatform[i]->setVisible(false);
375 if(render_type == CONFIG_RENDER_PLATFORM_OPENGL_ES) {
376 if(_major_version >= 2) {
377 if(i == RENDER_PLATFORMS_OPENGL_ES_2) {
378 action_SetRenderPlatform[i]->setChecked(true);
381 } else if(render_type == CONFIG_RENDER_PLATFORM_OPENGL_MAIN) {
382 if(_major_version >= 3) {
383 if(i == RENDER_PLATFORMS_OPENGL3_MAIN) {
384 action_SetRenderPlatform[i]->setChecked(true);
386 } else if(i == RENDER_PLATFORMS_OPENGL2_MAIN) {
387 action_SetRenderPlatform[i]->setChecked(true);
389 } else if(render_type == CONFIG_RENDER_PLATFORM_OPENGL_CORE) {
390 if(i == RENDER_PLATFORMS_OPENGL_CORE) {
391 action_SetRenderPlatform[i]->setChecked(true);
395 connect(action_SetRenderPlatform[i], SIGNAL(triggered()),
396 action_SetRenderPlatform[i], SLOT(do_select_render_platform(void)));
397 connect(action_SetRenderPlatform[i], SIGNAL(sig_select_render_platform(int)),
398 this, SLOT(do_select_render_platform(int)));
401 action_SetupKeyboard = new Action_Control(this, using_flags);
403 action_SetupMovie = new Action_Control(this, using_flags);
407 #if defined(Q_OS_LINUX)
411 void Ui_MainWindowBase::CreateEmulatorMenu(void)
413 //menuEmulator->addAction(action_LogRecord);
414 menuEmulator->addAction(action_FocusWithClick);
415 menuEmulator->addAction(menu_DispVirtualMedias->menuAction());
416 menuEmulator->addSeparator();
417 if(using_flags->is_use_auto_key()) {
418 menuEmulator->addAction(action_UseRomaKana);
420 if(using_flags->is_use_joystick()) {
421 menuEmulator->addAction(action_UseJoykey);
423 menuEmulator->addAction(action_NumPadEnterAsFullkey);
424 menuEmulator->addSeparator();
425 menuEmulator->addAction(actionSpeed_FULL);
426 if(menu_SetFixedCpu != NULL) {
427 menuEmulator->addAction(menu_SetFixedCpu->menuAction());
429 menuEmulator->addSeparator();
430 menuEmulator->addAction(menu_EmulateCursorAs->menuAction());
431 if(action_Logging_FDC != NULL) {
432 menuEmulator->addSeparator();
433 menuEmulator->addAction(action_Logging_FDC);
435 menuEmulator->addAction(action_PrintCpuStatistics);
436 menuEmulator->addSeparator();
437 menuEmulator->addAction(action_LogToConsole);
438 menuEmulator->addAction(menuDevLogToConsole->menuAction());
439 menuEmulator->addSeparator();
440 #if !defined(Q_OS_WIN)
441 menuEmulator->addAction(action_LogToSyslog);
442 menuEmulator->addAction(menuDevLogToSyslog->menuAction());
444 menuEmulator->addSeparator();
445 menuEmulator->addAction(action_LogView);
446 menuEmulator->addSeparator();
447 if(using_flags->is_use_sound_files_fdd() || using_flags->is_use_sound_files_relay()) {
448 if(using_flags->is_use_sound_files_fdd()) menuEmulator->addAction(action_SoundFilesFDD);
449 if(using_flags->is_use_sound_files_relay()) menuEmulator->addAction(action_SoundFilesRelay);
450 menuEmulator->addSeparator();
452 menuEmulator->addAction(menu_SetRenderPlatform->menuAction());
454 if(using_flags->is_use_joystick()) {
455 menuEmulator->addAction(action_SetupJoystick);
456 menuEmulator->addAction(action_SetupJoykey);
458 menuEmulator->addAction(action_SetupKeyboard);
459 menuEmulator->addAction(action_SetupMovie);
462 void Ui_MainWindowBase::retranslateEmulatorMenu(void)
464 if(using_flags->is_use_joystick()) {
465 action_SetupJoystick->setText(QApplication::translate("MenuEmulator", "Configure Joysticks", 0));
466 action_SetupJoystick->setToolTip(QApplication::translate("MenuEmulator", "Configure assigning buttons/directions of joysticks.", 0));
467 action_SetupJoykey->setText(QApplication::translate("MenuEmulator", "Configure Joystick to KEYBOARD", 0));
468 action_SetupJoykey->setToolTip(QApplication::translate("MenuEmulator", "Configure assigning keycode to joystick buttons.\nThis feature using Joystick #1.", 0));
469 action_UseJoykey->setText(QApplication::translate("MenuEmulator", "Joystick to KEYBOARD", 0));
470 action_UseJoykey->setToolTip(QApplication::translate("MenuEmulator", "Use Joystick axis/buttons to input keyboard.\nThis feature using Joystick #1.", 0));
471 action_SetupJoystick->setIcon(QIcon(":/icon_gamepad.png"));
473 if(using_flags->is_use_auto_key()) {
474 action_UseRomaKana->setText(QApplication::translate("MenuEmulator", "ROMA-KANA Conversion", 0));
475 action_UseRomaKana->setToolTip(QApplication::translate("MenuEmulator", "Use romaji-kana conversion assistant of emulator.", 0));
477 actionSpeed_FULL->setText(QApplication::translate("MenuEmulator", "Emulate as FULL SPEED", 0));
478 actionSpeed_FULL->setToolTip(QApplication::translate("MenuEmulator", "Run emulation thread without frame sync.", 0));
480 action_NumPadEnterAsFullkey->setText(QApplication::translate("MenuEmulator", "Numpad's Enter is Fullkey's", 0));
481 action_NumPadEnterAsFullkey->setToolTip(QApplication::translate("MenuEmulator", "Numpad's enter key makes full key's enter.\nUseful for some VMs.", 0));
483 action_PrintCpuStatistics->setText(QApplication::translate("MenuEmulator", "Print Statistics", 0));
484 action_PrintCpuStatistics->setToolTip(QApplication::translate("MenuEmulator", "Print statistics of CPUs (or some devices).\nUseful for debugging.", 0));
486 if(action_Logging_FDC != NULL) {
487 action_Logging_FDC->setText(QApplication::translate("MenuEmulator", "FDC: Turn ON Debug log.", 0));
488 action_Logging_FDC->setToolTip(QApplication::translate("MenuEmulator", "Turn ON debug logging for FDCs.Useful to resolve issues from guest software.", 0));
491 menu_EmulateCursorAs->setTitle(QApplication::translate("MenuEmulator", "Emulate cursor as", 0));
492 menu_EmulateCursorAs->setToolTip(QApplication::translate("MenuEmulator", "Emulate cursor as ten-key.", 0));
493 action_EmulateCursorAs[0]->setText(QApplication::translate("MenuEmulator", "None", 0));
494 action_EmulateCursorAs[1]->setText(QApplication::translate("MenuEmulator", "2 4 6 8", 0));
495 action_EmulateCursorAs[2]->setText(QApplication::translate("MenuEmulator", "1 2 3 5", 0));
497 menuEmulator->setTitle(QApplication::translate("MenuEmulator", "Emulator", 0));
500 action_FocusWithClick->setText(QApplication::translate("MenuEmulator", "Focus on click", 0));
501 action_FocusWithClick->setToolTip(QApplication::translate("MenuEmulator", "If set, focus with click, not mouse-over.", 0));
503 action_SetupKeyboard->setText(QApplication::translate("MenuEmulator", "Configure Keyboard", 0));
504 action_SetupKeyboard->setToolTip(QApplication::translate("MenuEmulator", "Set addignation of keyboard.", 0));
505 action_SetupKeyboard->setIcon(QIcon(":/icon_keyboard.png"));
506 action_SetupMovie->setText(QApplication::translate("MenuEmulator", "Configure movie encoding", 0));
507 action_SetupMovie->setToolTip(QApplication::translate("MenuEmulator", "Configure parameters of movie encoding.", 0));
509 action_LogToConsole->setText(QApplication::translate("MenuEmulator", "Log to Console", 0));
510 action_LogToConsole->setToolTip(QApplication::translate("MenuEmulator", "Enable logging to STDOUT if checked.", 0));
511 #if !defined(Q_OS_WIN)
512 action_LogToSyslog->setText(QApplication::translate("MenuEmulator", "Log to Syslog", 0));
513 action_LogToSyslog->setToolTip(QApplication::translate("MenuEmulator", "Enable logging to SYSTEM log.\nMay be having permission to system and using *nix OS.", 0));
514 //action_LogRecord->setText(QApplication::translate("MenuEmulator", "Recording Log", 0));
516 if(using_flags->is_use_sound_files_fdd()) {
517 action_SoundFilesFDD->setText(QApplication::translate("MenuEmulator", "Sound FDD Seek", 0));
518 action_SoundFilesFDD->setToolTip(QApplication::translate("MenuEmulator", "Enable FDD HEAD seeking sound.\nNeeds sound file.\nSee HELP->READMEs->Bios and Key assigns", 0));
520 if(using_flags->is_use_sound_files_relay()) {
521 action_SoundFilesRelay->setText(QApplication::translate("MenuEmulator", "Sound CMT Relay and Buttons", 0));
522 action_SoundFilesRelay->setToolTip(QApplication::translate("MenuEmulator", "Enable CMT relay's sound and buttons's sounds.\nNeeds sound file.\nSee HELP->READMEs->Bios and Key assigns", 0));
523 if(using_flags->is_tape_binary_only()) action_SoundFilesRelay->setEnabled(false);
525 menuDevLogToConsole->setTitle(QApplication::translate("MenuEmulator", "Per Device", 0));
526 #if !defined(Q_OS_WIN)
527 menuDevLogToSyslog->setTitle(QApplication::translate("MenuEmulator", "Per Device", 0));
529 menu_SetRenderPlatform->setTitle(QApplication::translate("MenuEmulator", "Video Platform(need restart)", 0));
530 if(menu_SetFixedCpu != NULL) {
531 menu_SetFixedCpu->setTitle(QApplication::translate("MenuEmulator", "Occupy Fixed CPU", 0));
533 if(action_ResetFixedCpu != NULL) {
534 action_ResetFixedCpu->setText(QApplication::translate("MenuEmulator", "Using all CPU", 0));
535 action_ResetFixedCpu->setToolTip(QApplication::translate("MenuEmulator", "Using all CPU to emulation.\nReset cpu usings.", 0));
537 for(int ii = 0; ii < 128; ii++) {
538 if(action_SetFixedCpu[ii] != NULL) {
539 QString numname = QString::number(ii);
540 QString numtip = QApplication::translate("MenuEmulator", "Set Fixed logical CPU #%1 to be occupied by emulation thread.\nMay useful for heavy VM (i.e. using i386 CPU).\nStill implement LINUX host only, not another operating systems.", 0).arg(numname);
541 action_SetFixedCpu[ii]->setText(QString::fromUtf8("CPU #") + numname);
542 action_SetFixedCpu[ii]->setToolTip(numtip);
546 action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL_ES_2]->setText(QApplication::translate("MenuEmulator", "OpenGL ES v2.0", 0));
547 action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL3_MAIN]->setText(QApplication::translate("MenuEmulator", "OpenGLv3.0", 0));
548 action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL2_MAIN]->setText(QApplication::translate("MenuEmulator", "OpenGLv2.0", 0));
549 action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL_CORE]->setText(QApplication::translate("MenuEmulator", "OpenGL(Core profile)", 0));
551 action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL_ES_2]->setToolTip(QApplication::translate("MenuEmulator", "Using OpenGL ES v2.0.\nThis is recommanded.\nIf changed, need to restart this emulator.", 0));
552 action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL3_MAIN]->setToolTip(QApplication::translate("MenuEmulator", "Using OpenGL v3.0(MAIN).\nThis is recommanded.\nIf changed, need to restart this emulator.", 0));
553 action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL2_MAIN]->setToolTip(QApplication::translate("MenuEmulator", "Using OpenGLv2.\nThis is fallback of some systems.\nIf changed, need to restart this emulator.", 0));
554 action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL_CORE]->setToolTip(QApplication::translate("MenuEmulator", "Using OpenGL core profile.\nThis still not implement.\nIf changed, need to restart this emulator.", 0));
556 menu_DispVirtualMedias->setTitle(QApplication::translate("MenuEmulator", "Show Virtual Medias.", 0));
557 action_DispVirtualMedias[0]->setText(QApplication::translate("MenuEmulator", "None.", 0));
558 action_DispVirtualMedias[1]->setText(QApplication::translate("MenuEmulator", "Upper.", 0));
559 action_DispVirtualMedias[2]->setText(QApplication::translate("MenuEmulator", "Lower.", 0));
560 //action_DispVirtualMedias[3]->setText(QApplication::translate("MenuEmulator", "Left.", 0));
561 //action_DispVirtualMedias[4]->setText(QApplication::translate("MenuEmulator", "Right.", 0));
562 action_LogView->setText(QApplication::translate("MenuEmulator", "View Log", 0));
563 action_LogView->setToolTip(QApplication::translate("MenuEmulator", "View emulator logs with a dialog.", 0));
566 void Ui_MainWindowBase::retranselateUi_Depended_OSD(void)
568 for(int i=0; i < (CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1) ; i++) {
570 p = using_flags->get_vm_node_name(i);
571 do_update_device_node_name(i, p);