OSDN Git Service

[UI][Qt][MENU] Split some methods (of Ui_MainMenuBase::) to menu_emulator.cpp and...
authorK.Ohta <whatisthis.sowhat@gmail.com>
Tue, 13 Aug 2019 14:45:31 +0000 (23:45 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Tue, 13 Aug 2019 14:45:31 +0000 (23:45 +0900)
[UI][Qt][MENU] Simplify menu creation.

source/src/qt/gui/CMakeLists.txt
source/src/qt/gui/mainwidget_base.h
source/src/qt/gui/menu_emulator.cpp [new file with mode: 0644]
source/src/qt/gui/menu_machine.cpp [new file with mode: 0644]
source/src/qt/gui/menu_main.cpp
source/src/qt/gui/menu_screen.cpp

index 917a742..c885fd9 100644 (file)
@@ -1,6 +1,6 @@
 message("* qt/gui")
 
-set(THIS_LIB_VERSION 2.19.2)
+set(THIS_LIB_VERSION 2.19.3)
 #include(cotire)
 #include(PrecompiledHeader)
 
@@ -80,6 +80,8 @@ set(s_qt_gui_srcs
          menu_cmt.cpp
          menu_cart.cpp
          menu_main.cpp
+         menu_emulator.cpp
+         menu_machine.cpp
          menu_sound.cpp
          menu_binary.cpp
          menu_bubble.cpp
index 6305cd7..a23437a 100644 (file)
@@ -58,6 +58,29 @@ QT_BEGIN_NAMESPACE
                        __action->setChecked(true);                                                       \
                }                                                                                                                 \
 
+#define SET_ACTION_SINGLE_CONNECT(__action,__checkable,__enabled,__cfgif,__signal1,__slot1) \
+               __action = new Action_Control(this, using_flags);                 \
+               __action->setCheckable(__checkable);                                      \
+               __action->setEnabled(__enabled);                                                  \
+               __action->setChecked(false);                                                      \
+               if(__cfgif) {                                                                                     \
+                       __action->setChecked(true);                                                       \
+               }                                                                                                                 \
+               connect(__action, __signal1, this, __slot1);                      
+
+#define SET_ACTION_NUMERIC_CONNECT(__action,__num,__condval,__signal1,__slot1,__signal2,__slot2) \
+       __action = new Action_Control(this, using_flags);                                       \
+       __action->setCheckable(true);                                                                           \
+       __action->setEnabled(true);                                                                                     \
+       __action->binds->setValue1(__num);                                                                                      \
+       __action->setChecked(false);                                                                            \
+       if(__condval == __num) {                                                                                        \
+               __action->setChecked(true);                                                                             \
+       }                                                                                                                                       \
+       connect(__action, __signal1, __action->binds, __slot1);                         \
+       connect(__action->binds, __signal2, this, __slot2); 
+
+
 #define SET_ACTION_CHECKABLE_SINGLE_CONNECT(__menu,__action,__objname,__cond,__signal1,__slot1) \
        __action = new Action_Control(this, using_flags);                                       \
        __action->setObjectName(QString::fromUtf8(__objname));                          \
@@ -66,6 +89,12 @@ QT_BEGIN_NAMESPACE
        connect(__action, __signal1, this, __slot1);                                            \
        __menu->addAction(__action);
 
+#define SET_ACTION_CHECKABLE_SINGLE_CONNECT_NOMENU(__action,__objname,__cond,__signal1,__slot1) \
+       __action = new Action_Control(this, using_flags);                                       \
+       __action->setObjectName(QString::fromUtf8(__objname));                          \
+       __action->setCheckable(true);                                                                           \
+       if(__cond) __action->setChecked(true);                                                          \
+       connect(__action, __signal1, this, __slot1);                                            \
 
 #define SET_HELP_MENUENTRY(__menu,__action,__objname,__txtname) \
        __action = new Action_Control(this, using_flags); \
@@ -492,6 +521,9 @@ protected:
        void retranslateMachineMenu(void);
        void retranslateBinaryMenu(int drv, int basedrv);
        void retranslateSoundMenu(void);
+       QMenu  *createMenuNode(QMenuBar *parent, QString objname = QString::fromUtf8(""));
+       QMenu  *createMenuNode(QMenu *parent, QString objname = QString::fromUtf8(""));
+
 public:
        Ui_MainWindowBase(USING_FLAGS *p, CSP_Logger *logger, QWidget *parent = 0);
        ~Ui_MainWindowBase();
@@ -786,6 +818,7 @@ signals:
        int sig_save_state(QString);
        int sig_emu_thread_to_fixed_cpu(int);
 };
+
 QT_END_NAMESPACE
 
 #endif
diff --git a/source/src/qt/gui/menu_emulator.cpp b/source/src/qt/gui/menu_emulator.cpp
new file mode 100644 (file)
index 0000000..2588003
--- /dev/null
@@ -0,0 +1,573 @@
+/*
+ * Common Source code Project:
+ * Ui->Qt->gui->menu_emulator for generic.
+ * (C) 2015 K.Ohta <whatisthis.sowhat _at_ gmail.com>
+ *   License : GPLv2
+ *   History :
+ * Aug 13, 2019 : Split from menu_main.cpp.
+ */
+
+#include <QApplication>
+#include <QVariant>
+#include <QtGui>
+#include <QPixmap>
+#include <QApplication>
+#include <QLocale>
+#include <QTranslator>
+#include <QDockWidget>
+#include <QToolBar>
+#include <QMenu>
+#include <QMenuBar>
+#include <QStyle>
+
+#include "commonclasses.h"
+#include "display_text_document.h"
+#include "mainwidget_base.h"
+#include "dock_disks.h"
+
+#include "qt_gldraw.h"
+//#include "emu.h"
+#include "qt_main.h"
+#include "menu_flags.h"
+#include "csp_logger.h"
+#include "common.h"
+// Emulator
+#include "dropdown_joystick.h"
+#include "dropdown_joykey.h"
+#include "dialog_set_key.h"
+
+void Ui_MainWindowBase::do_set_roma_kana(bool flag)
+{
+       p_config->romaji_to_kana = flag;
+       emit sig_set_roma_kana(flag);
+}
+
+void Ui_MainWindowBase::do_set_numpad_enter_as_fullkey(bool flag)
+{
+       p_config->numpad_enter_as_fullkey = flag;
+}
+
+void Ui_MainWindowBase::do_set_joy_to_key(bool flag)
+{
+       p_config->use_joy_to_key = flag;
+}
+
+void Ui_MainWindowBase::do_set_print_cpu_statistics(bool flag)
+{
+       p_config->print_statistics = flag;
+       emit sig_emu_update_config();
+}
+
+void Ui_MainWindowBase::do_set_visible_virtual_media_none()
+{
+       QRect rect;
+       driveData->setVisible(false);
+       p_config->virtual_media_position = 0;
+       set_screen_size(graphicsView->width(), graphicsView->height());
+       
+       pCentralLayout->setDirection(QBoxLayout::TopToBottom);
+       rect.setRect(0, 0, graphicsView->width(), graphicsView->height() + 2);
+       
+       pCentralLayout->removeWidget(driveData);
+       pCentralWidget->setGeometry(rect);
+       //pCentralLayout->setGeometry(rect);
+       pCentralLayout->update();
+       pCentralWidget->setLayout(pCentralLayout);
+       MainWindow->setCentralWidget(pCentralWidget);
+       //emit sig_set_display_osd(true);
+}
+
+void Ui_MainWindowBase::do_set_visible_virtual_media_upper()
+{
+       QRect rect;
+       driveData->setVisible(true);
+       p_config->virtual_media_position = 1;
+       set_screen_size(graphicsView->width(), graphicsView->height());
+       emit sig_set_orientation_osd(1);
+       pCentralLayout->setDirection(QBoxLayout::TopToBottom);
+       pCentralLayout->removeWidget(driveData);
+       pCentralLayout->removeWidget(graphicsView);
+       pCentralLayout->addWidget(driveData);
+       pCentralLayout->addWidget(graphicsView);
+       rect.setRect(0, 0, graphicsView->width(), graphicsView->height() + driveData->height() + 2);
+       pCentralWidget->setGeometry(rect);
+       //pCentralLayout->setGeometry(rect);
+       pCentralLayout->update();
+       pCentralWidget->setLayout(pCentralLayout);
+       MainWindow->setCentralWidget(pCentralWidget);
+       //emit sig_set_display_osd(false);
+}
+
+void Ui_MainWindowBase::do_set_visible_virtual_media_lower()
+{
+       QRect rect;
+       driveData->setVisible(true);
+       p_config->virtual_media_position = 2;
+       set_screen_size(graphicsView->width(), graphicsView->height());
+       emit sig_set_orientation_osd(2);
+       pCentralLayout->setDirection(QBoxLayout::BottomToTop);
+       pCentralLayout->removeWidget(driveData);
+       pCentralLayout->removeWidget(graphicsView);
+       pCentralLayout->addWidget(driveData);
+       pCentralLayout->addWidget(graphicsView);
+       
+       rect.setRect(0, 0, graphicsView->width(), graphicsView->height() + driveData->height() + 2);
+       pCentralWidget->setGeometry(rect);
+       pCentralLayout->update();
+       pCentralWidget->setLayout(pCentralLayout);
+       MainWindow->setCentralWidget(pCentralWidget);
+}
+
+void Ui_MainWindowBase::do_set_visible_virtual_media_left()
+{
+#if 0
+       driveData->setVisible(true);
+       p_config->virtual_media_position = 3;
+       set_screen_size(graphicsView->width(), graphicsView->height());
+       emit sig_set_orientation_osd(3);
+       pCentralLayout->removeWidget(driveData);
+       pCentralLayout->addWidget(driveData, 1, 0);
+       //emit sig_set_display_osd(false);
+#endif
+}
+
+void Ui_MainWindowBase::do_set_visible_virtual_media_right()
+{
+#if 0
+       driveData->setVisible(true);
+       p_config->virtual_media_position = 4;
+       set_screen_size(graphicsView->width(), graphicsView->height());
+       emit sig_set_orientation_osd(4);
+       pCentralLayout->removeWidget(driveData);
+       pCentralLayout->addWidget(driveData, 1, 2);
+       //emit sig_set_display_osd(false);
+#endif
+}
+
+#include "display_log.h"
+
+void Ui_MainWindowBase::rise_log_viewer(void)
+{
+       Dlg_LogViewer *dlg = new Dlg_LogViewer(using_flags, csp_logger, NULL);
+       dlg->show();
+}
+
+void Ui_MainWindowBase::rise_joystick_dialog(void)
+{
+       if(graphicsView != NULL) {
+               QStringList *lst = graphicsView->getVKNames();
+               CSP_DropDownJoysticks *dlg = new CSP_DropDownJoysticks(NULL, lst, using_flags);
+               dlg->setWindowTitle(QApplication::translate("CSP_DropDownJoysticks", "Configure Joysticks", 0));
+               dlg->show();
+       }
+}
+
+void Ui_MainWindowBase::rise_joykey_dialog(void)
+{
+       if(graphicsView != NULL) {
+               QStringList *lst = graphicsView->getVKNames();
+               CSP_DropDownJoykey *dlg = new CSP_DropDownJoykey(NULL, lst, using_flags);
+               dlg->setWindowTitle(QApplication::translate("CSP_DropDownJoysticks", "Configure Joystick to KEYBOARD", 0));
+               dlg->show();
+       }
+}
+
+void Ui_MainWindowBase::rise_movie_dialog(void)
+{
+
+}
+
+void Ui_MainWindowBase::rise_keyboard_dialog(void)
+{
+       if(graphicsView != NULL) {
+               CSP_KeySetDialog *dlg = new CSP_KeySetDialog(NULL, graphicsView);
+               dlg->setWindowTitle(QApplication::translate("KeySetDialog", "Configure Keyboard", 0));
+               dlg->show();
+       }
+}
+
+#if defined(Q_OS_LINUX)
+//#define _GNU_SOURCE
+#include <unistd.h>
+#include <sched.h>
+#endif
+
+void Ui_MainWindowBase::ConfigEmulatorMenu(void)
+{
+       int i;
+       QString tmps;
+       actionGroup_DispVirtualMedias = new QActionGroup(this);
+       actionGroup_DispVirtualMedias->setExclusive(true);
+       menu_DispVirtualMedias = new QMenu(this);
+       menu_DispVirtualMedias->setToolTipsVisible(true);
+       for(i = 0; i < 3; i++) {
+               action_DispVirtualMedias[i] = new Action_Control(this, using_flags);
+               action_DispVirtualMedias[i]->setCheckable(true);
+               action_DispVirtualMedias[i]->setChecked(false);
+               if(i == p_config->virtual_media_position) action_DispVirtualMedias[i]->setChecked(true);
+               action_DispVirtualMedias[i]->setEnabled(true);
+               actionGroup_DispVirtualMedias->addAction(action_DispVirtualMedias[i]);
+               menu_DispVirtualMedias->addAction(action_DispVirtualMedias[i]);
+       }
+       connect(action_DispVirtualMedias[0], SIGNAL(triggered()), this, SLOT(do_set_visible_virtual_media_none()));
+       connect(action_DispVirtualMedias[1], SIGNAL(triggered()), this, SLOT(do_set_visible_virtual_media_upper()));
+       connect(action_DispVirtualMedias[2], SIGNAL(triggered()), this, SLOT(do_set_visible_virtual_media_lower()));
+
+       if(using_flags->is_use_joystick()) {
+               SET_ACTION_SINGLE(action_UseJoykey, true, true, (p_config->use_joy_to_key));
+               connect(action_UseJoykey, SIGNAL(toggled(bool)), this, SLOT(do_set_joy_to_key(bool)));
+       }
+       
+       if(using_flags->is_use_auto_key()) {
+               // ToDo: Setup if checked.
+               SET_ACTION_SINGLE(action_UseRomaKana, true, true, (p_config->romaji_to_kana)); 
+               connect(action_UseRomaKana, SIGNAL(toggled(bool)), this, SLOT(do_set_roma_kana(bool)));
+       }
+       SET_ACTION_SINGLE(action_NumPadEnterAsFullkey, true, true, (p_config->numpad_enter_as_fullkey));
+       connect(action_NumPadEnterAsFullkey, SIGNAL(toggled(bool)), this, SLOT(do_set_numpad_enter_as_fullkey(bool)));
+
+       SET_ACTION_SINGLE(action_PrintCpuStatistics, true, true, (p_config->print_statistics));
+       connect(action_PrintCpuStatistics, SIGNAL(toggled(bool)), this, SLOT(do_set_print_cpu_statistics(bool)));
+       
+       // Cursor to ten key.
+       menu_EmulateCursorAs = new QMenu(this);
+       menu_EmulateCursorAs->setToolTipsVisible(true);
+       actionGroup_EmulateCursorAs = new QActionGroup(this);
+       actionGroup_EmulateCursorAs->setExclusive(true);
+       {
+               for(i = 0; i < 3; i++) {
+                       tmps = QString::number(i);
+                       action_EmulateCursorAs[i] = new Action_Control(this, using_flags);
+                       action_EmulateCursorAs[i]->setObjectName(QString::fromUtf8("action_EmulateCursorAs", -1) + tmps);
+                       action_EmulateCursorAs[i]->setCheckable(true);
+                       action_EmulateCursorAs[i]->binds->setValue1(i);
+                       actionGroup_EmulateCursorAs->addAction(action_EmulateCursorAs[i]);
+                       menu_EmulateCursorAs->addAction(action_EmulateCursorAs[i]);
+                       if(i == p_config->cursor_as_ten_key) action_EmulateCursorAs[i]->setChecked(true);
+                               
+                       connect(action_EmulateCursorAs[i], SIGNAL(triggered()),
+                                       action_EmulateCursorAs[i], SLOT(do_set_emulate_cursor_as()));
+                       connect(action_EmulateCursorAs[i], SIGNAL(sig_set_emulate_cursor_as(int)),
+                                       this, SLOT(do_set_emulate_cursor_as(int)));
+               }
+       }
+       
+       SET_ACTION_CHECKABLE_SINGLE_CONNECT_NOMENU(actionSpeed_FULL, "actionSpeed_FULL", p_config->full_speed, SIGNAL(toggled(bool)), SLOT(do_emu_full_speed(bool)));
+       
+       if(using_flags->is_use_joystick()) {
+               action_SetupJoystick = new Action_Control(this, using_flags);
+               action_SetupJoykey = new Action_Control(this, using_flags);
+       }
+       if(using_flags->is_use_sound_files_fdd()) {
+               SET_ACTION_SINGLE(action_SoundFilesFDD, true, true, (p_config->sound_noise_fdd != 0));
+       }
+       if(using_flags->is_use_sound_files_relay()) {
+               SET_ACTION_SINGLE(action_SoundFilesRelay, true, true, (p_config->sound_noise_cmt != 0));
+       }
+       
+       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)));
+
+       action_Logging_FDC = NULL;
+       if(using_flags->is_use_fd()) {
+               SET_ACTION_SINGLE(action_Logging_FDC, true, true, (p_config->special_debug_fdc != 0));
+               connect(action_Logging_FDC, SIGNAL(toggled(bool)), this, SLOT(do_set_logging_fdc(bool)));
+       }
+#if !defined(Q_OS_WIN)
+       SET_ACTION_SINGLE(action_LogToSyslog, true, true, (p_config->log_to_syslog != 0));
+       
+       menuDevLogToSyslog = new QMenu(this);
+       menuDevLogToSyslog->setToolTipsVisible(true);
+       for(int i = 0; i < (CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1); i++) {
+               action_DevLogToSyslog[i] = new Action_Control(this, using_flags);
+               action_DevLogToSyslog[i]->setCheckable(true);
+               action_DevLogToSyslog[i]->setEnabled(false);
+               action_DevLogToSyslog[i]->binds->setValue1(i);
+               menuDevLogToSyslog->addAction(action_DevLogToSyslog[i]);
+               if(p_config->dev_log_to_syslog[i][0]) action_DevLogToSyslog[i]->setChecked(true);
+               connect(action_DevLogToSyslog[i], SIGNAL(toggled(bool)),
+                               action_DevLogToSyslog[i], SLOT(do_set_dev_log_to_syslog(bool)));
+               connect(action_DevLogToSyslog[i], SIGNAL(sig_set_dev_log_to_syslog(int, bool)),
+                               this, SLOT(do_set_dev_log_to_syslog(int, bool)));
+       }
+#endif
+       
+       SET_ACTION_SINGLE(action_LogToConsole, true, true, (p_config->log_to_console != 0));
+
+       //menuDevLogToConsole = new QMenu(menuEmulator);
+       menuDevLogToConsole = new QMenu(this);
+       menuDevLogToConsole->setToolTipsVisible(true);
+
+       SET_ACTION_CONTROL_ARRAY(0, (CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1),
+                                                        this, using_flags,
+                                                        menuDevLogToConsole, action_DevLogToConsole, true, false,
+                                                        dev_log_to_console,
+                                                        SIGNAL(toggled(bool)),
+                                                        SLOT(do_set_dev_log_to_console(bool)),
+                                                        SIGNAL(sig_set_dev_log_to_console(int, bool)),
+                                                        SLOT(do_set_dev_log_to_console(int, bool)));
+       
+       action_LogView = new Action_Control(this, using_flags);
+       connect(action_LogView, SIGNAL(triggered()),
+                       this, SLOT(rise_log_viewer()));
+       
+       long cpus = -1;
+#if defined(Q_OS_LINUX)
+       {
+               cpus = sysconf(_SC_NPROCESSORS_ONLN);
+       }
+#endif
+       menu_SetFixedCpu = NULL;
+       action_ResetFixedCpu = NULL;
+       for(i = 0; i < 128; i++) {
+               action_SetFixedCpu[i] = NULL;
+       }
+       if(cpus > 0) {
+               menu_SetFixedCpu = new QMenu(this);
+               menu_SetFixedCpu->setToolTipsVisible(true);
+               actionGroup_SetFixedCpu = new QActionGroup(this);
+               actionGroup_SetFixedCpu->setExclusive(true);
+               if(cpus >= 128) cpus = 128;
+               
+               action_ResetFixedCpu = new Action_Control(this, using_flags);
+               action_ResetFixedCpu->setObjectName(QString::fromUtf8("action_SetFixedCpu", -1) + tmps);
+               action_ResetFixedCpu->setCheckable(true);
+               action_ResetFixedCpu->binds->setValue1(-1);
+               actionGroup_SetFixedCpu->addAction(action_ResetFixedCpu);
+               menu_SetFixedCpu->addAction(action_ResetFixedCpu);
+               connect(action_ResetFixedCpu, SIGNAL(triggered()),
+                               action_ResetFixedCpu->binds, SLOT(do_select_fixed_cpu(void)));
+               connect(action_ResetFixedCpu->binds, SIGNAL(sig_set_fixed_cpu(int)),
+                               this, SLOT(do_select_fixed_cpu(int)));
+               
+               for(i = 0; i < cpus; i++) {
+                       tmps = QString::number(i);
+                       action_SetFixedCpu[i] = new Action_Control(this, using_flags);
+                       action_SetFixedCpu[i]->setObjectName(QString::fromUtf8("action_SetFixedCpu", -1) + tmps);
+                       action_SetFixedCpu[i]->setCheckable(true);
+                       action_SetFixedCpu[i]->binds->setValue1(i);
+                       actionGroup_SetFixedCpu->addAction(action_SetFixedCpu[i]);
+                       menu_SetFixedCpu->addAction(action_SetFixedCpu[i]);
+                       connect(action_SetFixedCpu[i], SIGNAL(triggered()),
+                                       action_SetFixedCpu[i]->binds, SLOT(do_select_fixed_cpu(void)));
+                       connect(action_SetFixedCpu[i]->binds, SIGNAL(sig_set_fixed_cpu(int)),
+                                       this, SLOT(do_select_fixed_cpu(int)));
+               }
+       }
+       menu_SetRenderPlatform = new QMenu(this);
+       menu_SetRenderPlatform->setToolTipsVisible(true);
+       actionGroup_SetRenderPlatform = new QActionGroup(this);
+       actionGroup_SetRenderPlatform->setExclusive(true);
+       {
+                       int render_type = p_config->render_platform;
+                       int _major_version = p_config->render_major_version;
+                       //int _minor_version = p_config->render_minor_version; // ToDo
+                       for(i = 0; i < MAX_RENDER_PLATFORMS; i++) {
+                               tmps = QString::number(i);
+                               action_SetRenderPlatform[i] = new Action_Control(this, using_flags);
+                               action_SetRenderPlatform[i]->setObjectName(QString::fromUtf8("action_SetRenderPlatform", -1) + tmps);
+                               action_SetRenderPlatform[i]->setCheckable(true);
+                               action_SetRenderPlatform[i]->binds->setValue1(i);
+                               actionGroup_SetRenderPlatform->addAction(action_SetRenderPlatform[i]);
+                               menu_SetRenderPlatform->addAction(action_SetRenderPlatform[i]);
+                               if(i >= RENDER_PLATFORMS_END) {
+                                       action_SetRenderPlatform[i]->setVisible(false);
+                               } else {
+                                       if(render_type == CONFIG_RENDER_PLATFORM_OPENGL_ES) {
+                                               if(_major_version >= 2) {
+                                                       if(i == RENDER_PLATFORMS_OPENGL_ES_2) {
+                                                               action_SetRenderPlatform[i]->setChecked(true);
+                                                       }
+                                               }
+                                       } else if(render_type == CONFIG_RENDER_PLATFORM_OPENGL_MAIN) {
+                                               if(_major_version >= 3) {
+                                                       if(i == RENDER_PLATFORMS_OPENGL3_MAIN) {
+                                                               action_SetRenderPlatform[i]->setChecked(true);
+                                                       }
+                                               } else if(i == RENDER_PLATFORMS_OPENGL2_MAIN) {
+                                                       action_SetRenderPlatform[i]->setChecked(true);
+                                               }
+                                       } else if(render_type == CONFIG_RENDER_PLATFORM_OPENGL_CORE) {
+                                               if(i == RENDER_PLATFORMS_OPENGL_CORE) {
+                                                       action_SetRenderPlatform[i]->setChecked(true);
+                                               }                                               
+                                       }                                               
+                               }
+                               connect(action_SetRenderPlatform[i], SIGNAL(triggered()),
+                                               action_SetRenderPlatform[i], SLOT(do_select_render_platform(void)));
+                               connect(action_SetRenderPlatform[i], SIGNAL(sig_select_render_platform(int)),
+                                               this, SLOT(do_select_render_platform(int)));
+                       }
+       }
+       action_SetupKeyboard = new Action_Control(this, using_flags);
+
+       action_SetupMovie = new Action_Control(this, using_flags);
+  
+}
+
+#if defined(Q_OS_LINUX)
+//#undef _GNU_SOURCE
+#endif
+
+void Ui_MainWindowBase::CreateEmulatorMenu(void)
+{
+       //menuEmulator->addAction(action_LogRecord);
+       menuEmulator->addAction(action_FocusWithClick);
+       menuEmulator->addAction(menu_DispVirtualMedias->menuAction());
+       menuEmulator->addSeparator();
+       if(using_flags->is_use_auto_key()) {
+               menuEmulator->addAction(action_UseRomaKana);
+       }
+       if(using_flags->is_use_joystick()) {
+               menuEmulator->addAction(action_UseJoykey);
+       }               
+       menuEmulator->addAction(action_NumPadEnterAsFullkey);
+       menuEmulator->addSeparator();
+       menuEmulator->addAction(actionSpeed_FULL);
+       if(menu_SetFixedCpu != NULL) {
+               menuEmulator->addAction(menu_SetFixedCpu->menuAction());
+       }
+       menuEmulator->addSeparator();
+       menuEmulator->addAction(menu_EmulateCursorAs->menuAction());
+       if(action_Logging_FDC != NULL) {
+               menuEmulator->addSeparator();
+               menuEmulator->addAction(action_Logging_FDC);
+       }
+       menuEmulator->addAction(action_PrintCpuStatistics);
+       menuEmulator->addSeparator();
+       menuEmulator->addAction(action_LogToConsole);
+       menuEmulator->addAction(menuDevLogToConsole->menuAction());
+       menuEmulator->addSeparator();
+#if !defined(Q_OS_WIN)
+       menuEmulator->addAction(action_LogToSyslog);
+       menuEmulator->addAction(menuDevLogToSyslog->menuAction());
+#endif
+       menuEmulator->addSeparator();
+       menuEmulator->addAction(action_LogView);
+       menuEmulator->addSeparator();
+       if(using_flags->is_use_sound_files_fdd() || using_flags->is_use_sound_files_relay()) {
+               if(using_flags->is_use_sound_files_fdd())     menuEmulator->addAction(action_SoundFilesFDD);
+               if(using_flags->is_use_sound_files_relay())   menuEmulator->addAction(action_SoundFilesRelay);
+               menuEmulator->addSeparator();
+       }
+       menuEmulator->addAction(menu_SetRenderPlatform->menuAction());
+       
+       if(using_flags->is_use_joystick()) {
+               menuEmulator->addAction(action_SetupJoystick);
+               menuEmulator->addAction(action_SetupJoykey);
+       }
+       menuEmulator->addAction(action_SetupKeyboard);
+       menuEmulator->addAction(action_SetupMovie);
+}
+
+void Ui_MainWindowBase::retranslateEmulatorMenu(void)
+{
+       if(using_flags->is_use_joystick()) {
+               action_SetupJoystick->setText(QApplication::translate("MenuEmulator", "Configure Joysticks", 0));
+               action_SetupJoystick->setToolTip(QApplication::translate("MenuEmulator", "Configure assigning buttons/directions of joysticks.", 0));
+               action_SetupJoykey->setText(QApplication::translate("MenuEmulator", "Configure Joystick to KEYBOARD", 0));
+               action_SetupJoykey->setToolTip(QApplication::translate("MenuEmulator", "Configure assigning keycode to joystick buttons.\nThis feature using Joystick #1.", 0));
+               action_UseJoykey->setText(QApplication::translate("MenuEmulator", "Joystick to KEYBOARD", 0));
+               action_UseJoykey->setToolTip(QApplication::translate("MenuEmulator", "Use Joystick axis/buttons to input keyboard.\nThis feature using Joystick #1.", 0));
+               action_SetupJoystick->setIcon(QIcon(":/icon_gamepad.png"));
+       }
+       if(using_flags->is_use_auto_key()) {
+               action_UseRomaKana->setText(QApplication::translate("MenuEmulator", "ROMA-KANA Conversion", 0));
+               action_UseRomaKana->setToolTip(QApplication::translate("MenuEmulator", "Use romaji-kana conversion assistant of emulator.", 0));
+       }
+       actionSpeed_FULL->setText(QApplication::translate("MenuEmulator", "Emulate as FULL SPEED", 0));
+       actionSpeed_FULL->setToolTip(QApplication::translate("MenuEmulator", "Run emulation thread without frame sync.", 0));
+       
+       action_NumPadEnterAsFullkey->setText(QApplication::translate("MenuEmulator", "Numpad's Enter is Fullkey's", 0));
+       action_NumPadEnterAsFullkey->setToolTip(QApplication::translate("MenuEmulator", "Numpad's enter key makes full key's enter.\nUseful for some VMs.", 0));
+
+       action_PrintCpuStatistics->setText(QApplication::translate("MenuEmulator", "Print Statistics", 0));
+       action_PrintCpuStatistics->setToolTip(QApplication::translate("MenuEmulator", "Print statistics of CPUs (or some devices).\nUseful for debugging.", 0));
+
+       if(action_Logging_FDC != NULL) {
+               action_Logging_FDC->setText(QApplication::translate("MenuEmulator", "FDC: Turn ON Debug log.", 0));
+               action_Logging_FDC->setToolTip(QApplication::translate("MenuEmulator", "Turn ON debug logging for FDCs.Useful to resolve issues from guest software.", 0));
+       }
+       // ToDo
+       menu_EmulateCursorAs->setTitle(QApplication::translate("MenuEmulator", "Emulate cursor as", 0));
+       menu_EmulateCursorAs->setToolTip(QApplication::translate("MenuEmulator", "Emulate cursor as ten-key.", 0));
+       action_EmulateCursorAs[0]->setText(QApplication::translate("MenuEmulator", "None", 0));
+       action_EmulateCursorAs[1]->setText(QApplication::translate("MenuEmulator", "2 4 6 8", 0));
+       action_EmulateCursorAs[2]->setText(QApplication::translate("MenuEmulator", "1 2 3 5", 0));
+       
+       menuEmulator->setTitle(QApplication::translate("MenuEmulator", "Emulator", 0));
+
+       
+       action_FocusWithClick->setText(QApplication::translate("MenuEmulator", "Focus on click", 0));
+       action_FocusWithClick->setToolTip(QApplication::translate("MenuEmulator", "If set, focus with click, not mouse-over.", 0));
+       
+       action_SetupKeyboard->setText(QApplication::translate("MenuEmulator", "Configure Keyboard", 0));
+       action_SetupKeyboard->setToolTip(QApplication::translate("MenuEmulator", "Set addignation of keyboard.", 0));
+       action_SetupKeyboard->setIcon(QIcon(":/icon_keyboard.png"));
+       action_SetupMovie->setText(QApplication::translate("MenuEmulator", "Configure movie encoding", 0));
+       action_SetupMovie->setToolTip(QApplication::translate("MenuEmulator", "Configure parameters of movie encoding.", 0));
+
+       action_LogToConsole->setText(QApplication::translate("MenuEmulator", "Log to Console", 0));
+       action_LogToConsole->setToolTip(QApplication::translate("MenuEmulator", "Enable logging to STDOUT if checked.", 0));
+#if !defined(Q_OS_WIN)
+       action_LogToSyslog->setText(QApplication::translate("MenuEmulator", "Log to Syslog", 0));
+       action_LogToSyslog->setToolTip(QApplication::translate("MenuEmulator", "Enable logging to SYSTEM log.\nMay be having permission to system and using *nix OS.", 0));
+       //action_LogRecord->setText(QApplication::translate("MenuEmulator", "Recording Log", 0));
+#endif
+       if(using_flags->is_use_sound_files_fdd()) {
+               action_SoundFilesFDD->setText(QApplication::translate("MenuEmulator", "Sound FDD Seek", 0));
+               action_SoundFilesFDD->setToolTip(QApplication::translate("MenuEmulator", "Enable FDD HEAD seeking sound.\nNeeds sound file.\nSee HELP->READMEs->Bios and Key assigns", 0));
+       }
+       if(using_flags->is_use_sound_files_relay()) {
+               action_SoundFilesRelay->setText(QApplication::translate("MenuEmulator", "Sound CMT Relay and Buttons", 0));
+               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));
+               if(using_flags->is_tape_binary_only()) action_SoundFilesRelay->setEnabled(false);
+       }
+       menuDevLogToConsole->setTitle(QApplication::translate("MenuEmulator", "Per Device", 0));
+#if !defined(Q_OS_WIN)
+       menuDevLogToSyslog->setTitle(QApplication::translate("MenuEmulator", "Per Device", 0));
+#endif
+       menu_SetRenderPlatform->setTitle(QApplication::translate("MenuEmulator", "Video Platform(need restart)", 0));
+       if(menu_SetFixedCpu != NULL) {
+               menu_SetFixedCpu->setTitle(QApplication::translate("MenuEmulator", "Occupy Fixed CPU", 0));
+               
+               if(action_ResetFixedCpu != NULL) {
+                       action_ResetFixedCpu->setText(QApplication::translate("MenuEmulator", "Using all CPU", 0));
+                       action_ResetFixedCpu->setToolTip(QApplication::translate("MenuEmulator", "Using all CPU to emulation.\nReset cpu usings.", 0));
+               }
+               for(int ii = 0; ii < 128; ii++) {
+                       if(action_SetFixedCpu[ii] != NULL) {
+                               QString numname = QString::number(ii);
+                               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);
+                               action_SetFixedCpu[ii]->setText(QString::fromUtf8("CPU #") + numname);
+                               action_SetFixedCpu[ii]->setToolTip(numtip);
+                       }
+               }
+       }
+       action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL_ES_2]->setText(QApplication::translate("MenuEmulator", "OpenGL ES v2.0", 0));
+       action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL3_MAIN]->setText(QApplication::translate("MenuEmulator", "OpenGLv3.0", 0));
+       action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL2_MAIN]->setText(QApplication::translate("MenuEmulator", "OpenGLv2.0", 0));
+       action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL_CORE]->setText(QApplication::translate("MenuEmulator", "OpenGL(Core profile)", 0));
+       
+       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));
+       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));
+       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));
+       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));
+
+       menu_DispVirtualMedias->setTitle(QApplication::translate("MenuEmulator", "Show Virtual Medias.", 0));
+       action_DispVirtualMedias[0]->setText(QApplication::translate("MenuEmulator", "None.", 0));
+       action_DispVirtualMedias[1]->setText(QApplication::translate("MenuEmulator", "Upper.", 0));
+       action_DispVirtualMedias[2]->setText(QApplication::translate("MenuEmulator", "Lower.", 0));
+       //action_DispVirtualMedias[3]->setText(QApplication::translate("MenuEmulator", "Left.", 0));
+       //action_DispVirtualMedias[4]->setText(QApplication::translate("MenuEmulator", "Right.", 0));
+       action_LogView->setText(QApplication::translate("MenuEmulator", "View Log", 0));
+       action_LogView->setToolTip(QApplication::translate("MenuEmulator", "View emulator logs with a dialog.", 0));
+}
+
+void Ui_MainWindowBase::retranselateUi_Depended_OSD(void)
+{
+       for(int i=0; i < (CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1) ; i++) {
+               const _TCHAR *p;
+               p = using_flags->get_vm_node_name(i);
+               do_update_device_node_name(i, p);
+       }
+}
diff --git a/source/src/qt/gui/menu_machine.cpp b/source/src/qt/gui/menu_machine.cpp
new file mode 100644 (file)
index 0000000..0d64f23
--- /dev/null
@@ -0,0 +1,106 @@
+/*
+ * Common Source code Project:
+ * Ui->Qt->gui->menu_machine ; Template of machine menu.
+ * (C) 2019 K.Ohta <whatisthis.sowhat _at_ gmail.com>
+ *   License : GPLv2
+ *   History :
+ * Aug 13, 2019 : Split from menu_main.cpp .
+ */
+
+#include <QApplication>
+#include <QVariant>
+#include <QtGui>
+#include <QIcon>
+#include <QApplication>
+#include <QLocale>
+#include <QTranslator>
+#include <QMenu>
+#include <QMenuBar>
+#include <QStyle>
+
+#include "commonclasses.h"
+#include "mainwidget_base.h"
+
+#include "qt_gldraw.h"
+//#include "emu.h"
+#include "qt_main.h"
+#include "menu_flags.h"
+#include "csp_logger.h"
+#include "common.h"
+
+// You can Override this function: Re-define on foo/MainWindow.cpp.
+// This code is example: by X1(TurboZ).
+void Ui_MainWindowBase::retranslateMachineMenu(void)
+{
+       int i;
+       QString tmps;
+       QString tmps2;
+       menuMachine->setTitle(QApplication::translate("MenuMachine", "Machine", 0));
+       if(using_flags->get_use_device_type() > 0) {
+               menuDeviceType->setTitle(QApplication::translate("MenuMachine", "Device Type", 0));
+               for(i = 0; i < using_flags->get_use_device_type(); i++) {
+                       tmps2.setNum(i + 1);
+                       tmps = QString::fromUtf8("Machine Device ") + tmps2;
+                       actionDeviceType[i]->setText(tmps); 
+               }
+       }
+       if(using_flags->get_use_sound_device_type() > 0) {
+               menuSoundDevice->setTitle(QApplication::translate("MenuMachine", "Sound Cards", 0));
+               for(i = 0; i < using_flags->get_use_sound_device_type(); i++) {
+                       tmps2.setNum(i + 1);
+                       tmps = QString::fromUtf8("Sound Device ") + tmps2;
+                       actionSoundDevice[i]->setText(tmps); 
+               }
+       }
+       if(using_flags->get_use_drive_type() > 0) {
+               menuDriveType->setTitle(QApplication::translate("MenuMachine", "Drive Type", 0));
+               for(i = 0; i < using_flags->get_use_drive_type(); i++) {
+                       tmps2.setNum(i + 1);
+                       tmps = QString::fromUtf8("Drive Type ") + tmps2;
+                       actionDriveType[i]->setText(tmps); 
+               }
+       }
+       if(using_flags->is_use_printer()) {
+               menuPrintDevice->setTitle(QApplication::translate("MenuMachine", "Printer (Need RESET)", 0));
+               i = 1;
+               actionPrintDevice[0]->setText(QApplication::translate("MenuMachine", "Dump to File", 0));
+               actionPrintDevice[0]->setToolTip(QApplication::translate("MenuMachine", "Dump printer output to file.\nMaybe output only ascii text.", 0));
+               if(using_flags->get_use_printer_type() > 0) {
+                       for(i = 1; i < (using_flags->get_use_printer_type() - 1); i++) {
+                               tmps2.setNum(i + 1);
+                               tmps = QApplication::translate("MenuMachine", "Printer", 0) + tmps2;
+                               actionPrintDevice[i]->setText(tmps); 
+                               actionPrintDevice[i]->setToolTip(tmps); 
+                       }
+               }
+               actionPrintDevice[i]->setText(QApplication::translate("MenuMachine", "Not Connect", 0));
+               actionPrintDevice[i]->setToolTip(QApplication::translate("MenuMachine", "None devices connect to printer port.", 0));
+       }
+       if(using_flags->get_use_monitor_type() > 0) {
+               menuMonitorType->setTitle(QApplication::translate("MenuMachine", "Monitor Type", 0));
+               menuMonitorType->setToolTipsVisible(true);
+               for(int ii = 0; ii < using_flags->get_use_monitor_type(); ii++) {
+                       tmps = QString::fromUtf8("Monitor %1").arg(ii + 1);
+                       actionMonitorType[ii]->setText(tmps);
+               }
+       }
+}
+
+void Ui_MainWindowBase::ConfigMonitorType(void)
+{
+       if(using_flags->get_use_monitor_type() > 0) {
+               int ii;
+               menuMonitorType = new QMenu(menuMachine);
+               menuMonitorType->setObjectName(QString::fromUtf8("menuControl_MonitorType"));
+               menuMachine->addAction(menuMonitorType->menuAction());
+               
+               actionGroup_MonitorType = new QActionGroup(this);
+               actionGroup_MonitorType->setExclusive(true);
+               for(ii = 0; ii < using_flags->get_use_monitor_type(); ii++) {
+                       SET_ACTION_NUMERIC_CONNECT(actionMonitorType[ii], ii, p_config->monitor_type,  SIGNAL(triggered()), SLOT(do_set_monitor_type()), SIGNAL(sig_monitor_type(int)),SLOT(set_monitor_type(int)));
+                       
+                       actionGroup_MonitorType->addAction(actionMonitorType[ii]);
+                       menuMonitorType->addAction(actionMonitorType[ii]);
+               }
+       }
+}
index 7871fdf..4b8507e 100644 (file)
@@ -85,6 +85,22 @@ Ui_MainWindowBase::~Ui_MainWindowBase()
        delete using_flags;
 }
 
+QMenu  *Ui_MainWindowBase::createMenuNode(QMenuBar *parent, QString objname)
+{
+       QMenu *reto = new QMenu(parent);
+       reto->setObjectName(objname);
+       reto->setToolTipsVisible(true);
+       return reto;
+}
+
+QMenu  *Ui_MainWindowBase::createMenuNode(QMenu *parent, QString objname)
+{
+       QMenu *reto = new QMenu(parent);
+       reto->setObjectName(objname);
+       reto->setToolTipsVisible(true);
+       return reto;
+}
+
 QString Ui_MainWindowBase::get_gui_version()
 {
        QString retval;
@@ -461,32 +477,17 @@ void Ui_MainWindowBase::setupUi(void)
        menubar = new QMenuBar(this);
        menubar->setObjectName(QString::fromUtf8("menubar"));
        menubar->setGeometry(QRect(0, 0, 1288, 27));
-       menuControl = new QMenu(menubar);
-       menuControl->setToolTipsVisible(true);
-       menuControl->setObjectName(QString::fromUtf8("menuControl"));
-       menuState = new QMenu(menuControl);
-       menuState->setToolTipsVisible(true);
-       menuState->setObjectName(QString::fromUtf8("menuState"));
-
-       menuSave_State = new QMenu(menuState);
-       menuSave_State->setToolTipsVisible(true);
-       menuSave_State->setObjectName(QString::fromUtf8("menuSaveState"));
-
-       menuLoad_State = new QMenu(menuState);
-       menuLoad_State->setToolTipsVisible(true);
-       menuLoad_State->setObjectName(QString::fromUtf8("menuLoadState"));
 
+       menuControl = createMenuNode(menubar, QString::fromUtf8("menuControl"));
+       menuState = createMenuNode(menuControl, QString::fromUtf8("menuState"));
+       menuSave_State = createMenuNode(menuState, QString::fromUtf8("menuSaveState"));
+       menuLoad_State = createMenuNode(menuState, QString::fromUtf8("menuLoad_State"));
        if(using_flags->is_use_auto_key()) {
-               menuCopy_Paste = new QMenu(menuControl);
-               menuCopy_Paste->setObjectName(QString::fromUtf8("menuCopy_Paste"));
-               menuCopy_Paste->setToolTipsVisible(true);
+               menuCopy_Paste = createMenuNode(menuControl, QString::fromUtf8("menuCopy_Paste"));
        }
-       menuCpu_Speed = new QMenu(menuControl);
-       menuCpu_Speed->setObjectName(QString::fromUtf8("menuCpu_Speed"));
-       menuCpu_Speed->setToolTipsVisible(true);
-       menuDebugger = new QMenu(menuControl);
-       menuDebugger->setObjectName(QString::fromUtf8("menuDebugger"));
-       menuDebugger->setToolTipsVisible(true);
+       menuCpu_Speed = createMenuNode(menuControl, QString::fromUtf8("menuCpu_Speed"));
+       menuDebugger = createMenuNode(menuControl, QString::fromUtf8("menuDebugger"));
+       
        if(using_flags->is_use_fd()) {
                int base_drv = using_flags->get_base_floppy_disk_num();
                for(int i = 0; i < using_flags->get_max_drive(); i++) CreateFloppyMenu(i, base_drv + i);
@@ -537,20 +538,19 @@ void Ui_MainWindowBase::setupUi(void)
        connect(this, SIGNAL(sig_update_screen(void)), graphicsView, SLOT(update(void)));
        //connect(this, SIGNAL(sig_update_screen(void)), graphicsView, SLOT(updateGL(void)));
 
-       menuMachine = new QMenu(menubar);
-       menuMachine->setObjectName(QString::fromUtf8("menuMachine"));
-       menuMachine->setToolTipsVisible(true);
-
+       menuMachine = createMenuNode(menubar, QString::fromUtf8("menuMachine"));
+       
        if(using_flags->is_use_mouse()) {
-               actionMouseEnable = new Action_Control(this, using_flags);
-               actionMouseEnable->setCheckable(true);
-               actionMouseEnable->setVisible(true);
-               actionMouseEnable->setChecked(false);
-               menuMachine->addAction(actionMouseEnable);
-               connect(actionMouseEnable, SIGNAL(toggled(bool)),
-                               this, SLOT(do_set_mouse_enable(bool)));
+               SET_ACTION_SINGLE_CONNECT(actionMouseEnable, true , true, false, SIGNAL(toggled(bool)), SLOT(do_set_mouse_enable(bool)));
+//             actionMouseEnable = new Action_Control(this, using_flags);
+//             actionMouseEnable->setCheckable(true);
+//             actionMouseEnable->setVisible(true);
+//             actionMouseEnable->setChecked(false);
+//             connect(actionMouseEnable, SIGNAL(toggled(bool)),
+//                             this, SLOT(do_set_mouse_enable(bool)));
                connect(graphicsView, SIGNAL(sig_check_grab_mouse(bool)),
                                actionMouseEnable, SLOT(do_check_grab_mouse(bool)));
+               menuMachine->addAction(actionMouseEnable);
        }
 
        ConfigDeviceType();
@@ -563,17 +563,11 @@ void Ui_MainWindowBase::setupUi(void)
        ConfigMonitorType();
        
        if(!using_flags->is_without_sound()) {
-               menuSound = new QMenu(menubar);
-               menuSound->setObjectName(QString::fromUtf8("menuSound"));
-               menuSound->setToolTipsVisible(true);
+               menuSound = createMenuNode(menubar, QString::fromUtf8("menuSound"));
        }
-       menuEmulator = new QMenu(menubar);
-       menuEmulator->setObjectName(QString::fromUtf8("menuEmulator"));
-       menuEmulator->setToolTipsVisible(true);
-
-       menuHELP = new QMenu(menubar);
-       menuHELP->setObjectName(QString::fromUtf8("menuHELP"));
-       menuHELP->setToolTipsVisible(true);
+       menuEmulator = createMenuNode(menubar, QString::fromUtf8("menuEmulator"));
+       menuHELP = createMenuNode(menubar, QString::fromUtf8("menuHelp"));
+       
        MainWindow->setMenuBar(menubar);
 
        menubar->addAction(menuControl->menuAction());
@@ -781,519 +775,6 @@ void Ui_MainWindowBase::setupUi(void)
        csp_logger->debug_log(CSP_LOG_INFO, CSP_LOG_TYPE_GENERAL, "setupUI() OK");
 } // setupUi
 
-// Emulator
-#include "dropdown_joystick.h"
-#include "dropdown_joykey.h"
-#include "dialog_set_key.h"
-
-void Ui_MainWindowBase::retranslateEmulatorMenu(void)
-{
-       if(using_flags->is_use_joystick()) {
-               action_SetupJoystick->setText(QApplication::translate("MenuEmulator", "Configure Joysticks", 0));
-               action_SetupJoystick->setToolTip(QApplication::translate("MenuEmulator", "Configure assigning buttons/directions of joysticks.", 0));
-               action_SetupJoykey->setText(QApplication::translate("MenuEmulator", "Configure Joystick to KEYBOARD", 0));
-               action_SetupJoykey->setToolTip(QApplication::translate("MenuEmulator", "Configure assigning keycode to joystick buttons.\nThis feature using Joystick #1.", 0));
-               action_UseJoykey->setText(QApplication::translate("MenuEmulator", "Joystick to KEYBOARD", 0));
-               action_UseJoykey->setToolTip(QApplication::translate("MenuEmulator", "Use Joystick axis/buttons to input keyboard.\nThis feature using Joystick #1.", 0));
-               action_SetupJoystick->setIcon(QIcon(":/icon_gamepad.png"));
-       }
-       if(using_flags->is_use_auto_key()) {
-               action_UseRomaKana->setText(QApplication::translate("MenuEmulator", "ROMA-KANA Conversion", 0));
-               action_UseRomaKana->setToolTip(QApplication::translate("MenuEmulator", "Use romaji-kana conversion assistant of emulator.", 0));
-       }
-       actionSpeed_FULL->setText(QApplication::translate("MenuEmulator", "Emulate as FULL SPEED", 0));
-       actionSpeed_FULL->setToolTip(QApplication::translate("MenuEmulator", "Run emulation thread without frame sync.", 0));
-       
-       action_NumPadEnterAsFullkey->setText(QApplication::translate("MenuEmulator", "Numpad's Enter is Fullkey's", 0));
-       action_NumPadEnterAsFullkey->setToolTip(QApplication::translate("MenuEmulator", "Numpad's enter key makes full key's enter.\nUseful for some VMs.", 0));
-
-       action_PrintCpuStatistics->setText(QApplication::translate("MenuEmulator", "Print Statistics", 0));
-       action_PrintCpuStatistics->setToolTip(QApplication::translate("MenuEmulator", "Print statistics of CPUs (or some devices).\nUseful for debugging.", 0));
-
-       if(action_Logging_FDC != NULL) {
-               action_Logging_FDC->setText(QApplication::translate("MenuEmulator", "FDC: Turn ON Debug log.", 0));
-               action_Logging_FDC->setToolTip(QApplication::translate("MenuEmulator", "Turn ON debug logging for FDCs.Useful to resolve issues from guest software.", 0));
-       }
-       // ToDo
-       menu_EmulateCursorAs->setTitle(QApplication::translate("MenuEmulator", "Emulate cursor as", 0));
-       menu_EmulateCursorAs->setToolTip(QApplication::translate("MenuEmulator", "Emulate cursor as ten-key.", 0));
-       action_EmulateCursorAs[0]->setText(QApplication::translate("MenuEmulator", "None", 0));
-       action_EmulateCursorAs[1]->setText(QApplication::translate("MenuEmulator", "2 4 6 8", 0));
-       action_EmulateCursorAs[2]->setText(QApplication::translate("MenuEmulator", "1 2 3 5", 0));
-       
-       menuEmulator->setTitle(QApplication::translate("MenuEmulator", "Emulator", 0));
-
-       
-       action_FocusWithClick->setText(QApplication::translate("MenuEmulator", "Focus on click", 0));
-       action_FocusWithClick->setToolTip(QApplication::translate("MenuEmulator", "If set, focus with click, not mouse-over.", 0));
-       
-       action_SetupKeyboard->setText(QApplication::translate("MenuEmulator", "Configure Keyboard", 0));
-       action_SetupKeyboard->setToolTip(QApplication::translate("MenuEmulator", "Set addignation of keyboard.", 0));
-       action_SetupKeyboard->setIcon(QIcon(":/icon_keyboard.png"));
-       action_SetupMovie->setText(QApplication::translate("MenuEmulator", "Configure movie encoding", 0));
-       action_SetupMovie->setToolTip(QApplication::translate("MenuEmulator", "Configure parameters of movie encoding.", 0));
-
-       action_LogToConsole->setText(QApplication::translate("MenuEmulator", "Log to Console", 0));
-       action_LogToConsole->setToolTip(QApplication::translate("MenuEmulator", "Enable logging to STDOUT if checked.", 0));
-#if !defined(Q_OS_WIN)
-       action_LogToSyslog->setText(QApplication::translate("MenuEmulator", "Log to Syslog", 0));
-       action_LogToSyslog->setToolTip(QApplication::translate("MenuEmulator", "Enable logging to SYSTEM log.\nMay be having permission to system and using *nix OS.", 0));
-       //action_LogRecord->setText(QApplication::translate("MenuEmulator", "Recording Log", 0));
-#endif
-       if(using_flags->is_use_sound_files_fdd()) {
-               action_SoundFilesFDD->setText(QApplication::translate("MenuEmulator", "Sound FDD Seek", 0));
-               action_SoundFilesFDD->setToolTip(QApplication::translate("MenuEmulator", "Enable FDD HEAD seeking sound.\nNeeds sound file.\nSee HELP->READMEs->Bios and Key assigns", 0));
-       }
-       if(using_flags->is_use_sound_files_relay()) {
-               action_SoundFilesRelay->setText(QApplication::translate("MenuEmulator", "Sound CMT Relay and Buttons", 0));
-               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));
-               if(using_flags->is_tape_binary_only()) action_SoundFilesRelay->setEnabled(false);
-       }
-       menuDevLogToConsole->setTitle(QApplication::translate("MenuEmulator", "Per Device", 0));
-#if !defined(Q_OS_WIN)
-       menuDevLogToSyslog->setTitle(QApplication::translate("MenuEmulator", "Per Device", 0));
-#endif
-       menu_SetRenderPlatform->setTitle(QApplication::translate("MenuEmulator", "Video Platform(need restart)", 0));
-       if(menu_SetFixedCpu != NULL) {
-               menu_SetFixedCpu->setTitle(QApplication::translate("MenuEmulator", "Occupy Fixed CPU", 0));
-               
-               if(action_ResetFixedCpu != NULL) {
-                       action_ResetFixedCpu->setText(QApplication::translate("MenuEmulator", "Using all CPU", 0));
-                       action_ResetFixedCpu->setToolTip(QApplication::translate("MenuEmulator", "Using all CPU to emulation.\nReset cpu usings.", 0));
-               }
-               for(int ii = 0; ii < 128; ii++) {
-                       if(action_SetFixedCpu[ii] != NULL) {
-                               QString numname = QString::number(ii);
-                               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);
-                               action_SetFixedCpu[ii]->setText(QString::fromUtf8("CPU #") + numname);
-                               action_SetFixedCpu[ii]->setToolTip(numtip);
-                       }
-               }
-       }
-       action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL_ES_2]->setText(QApplication::translate("MenuEmulator", "OpenGL ES v2.0", 0));
-       action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL3_MAIN]->setText(QApplication::translate("MenuEmulator", "OpenGLv3.0", 0));
-       action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL2_MAIN]->setText(QApplication::translate("MenuEmulator", "OpenGLv2.0", 0));
-       action_SetRenderPlatform[RENDER_PLATFORMS_OPENGL_CORE]->setText(QApplication::translate("MenuEmulator", "OpenGL(Core profile)", 0));
-       
-       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));
-       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));
-       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));
-       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));
-
-       menu_DispVirtualMedias->setTitle(QApplication::translate("MenuEmulator", "Show Virtual Medias.", 0));
-       action_DispVirtualMedias[0]->setText(QApplication::translate("MenuEmulator", "None.", 0));
-       action_DispVirtualMedias[1]->setText(QApplication::translate("MenuEmulator", "Upper.", 0));
-       action_DispVirtualMedias[2]->setText(QApplication::translate("MenuEmulator", "Lower.", 0));
-       //action_DispVirtualMedias[3]->setText(QApplication::translate("MenuEmulator", "Left.", 0));
-       //action_DispVirtualMedias[4]->setText(QApplication::translate("MenuEmulator", "Right.", 0));
-       action_LogView->setText(QApplication::translate("MenuEmulator", "View Log", 0));
-       action_LogView->setToolTip(QApplication::translate("MenuEmulator", "View emulator logs with a dialog.", 0));
-}
-
-void Ui_MainWindowBase::retranselateUi_Depended_OSD(void)
-{
-       for(int i=0; i < (CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1) ; i++) {
-               const _TCHAR *p;
-               p = using_flags->get_vm_node_name(i);
-               do_update_device_node_name(i, p);
-       }
-}
-
-void Ui_MainWindowBase::do_set_roma_kana(bool flag)
-{
-       p_config->romaji_to_kana = flag;
-       emit sig_set_roma_kana(flag);
-}
-
-void Ui_MainWindowBase::do_set_numpad_enter_as_fullkey(bool flag)
-{
-       p_config->numpad_enter_as_fullkey = flag;
-}
-
-void Ui_MainWindowBase::do_set_joy_to_key(bool flag)
-{
-       p_config->use_joy_to_key = flag;
-}
-
-void Ui_MainWindowBase::do_set_print_cpu_statistics(bool flag)
-{
-       p_config->print_statistics = flag;
-       emit sig_emu_update_config();
-}
-
-void Ui_MainWindowBase::CreateEmulatorMenu(void)
-{
-       //menuEmulator->addAction(action_LogRecord);
-       menuEmulator->addAction(action_FocusWithClick);
-       menuEmulator->addAction(menu_DispVirtualMedias->menuAction());
-       menuEmulator->addSeparator();
-       if(using_flags->is_use_auto_key()) {
-               menuEmulator->addAction(action_UseRomaKana);
-       }
-       if(using_flags->is_use_joystick()) {
-               menuEmulator->addAction(action_UseJoykey);
-       }               
-       menuEmulator->addAction(action_NumPadEnterAsFullkey);
-       menuEmulator->addSeparator();
-       menuEmulator->addAction(actionSpeed_FULL);
-       if(menu_SetFixedCpu != NULL) {
-               menuEmulator->addAction(menu_SetFixedCpu->menuAction());
-       }
-       menuEmulator->addSeparator();
-       menuEmulator->addAction(menu_EmulateCursorAs->menuAction());
-       if(action_Logging_FDC != NULL) {
-               menuEmulator->addSeparator();
-               menuEmulator->addAction(action_Logging_FDC);
-       }
-       menuEmulator->addAction(action_PrintCpuStatistics);
-       menuEmulator->addSeparator();
-       menuEmulator->addAction(action_LogToConsole);
-       menuEmulator->addAction(menuDevLogToConsole->menuAction());
-       menuEmulator->addSeparator();
-#if !defined(Q_OS_WIN)
-       menuEmulator->addAction(action_LogToSyslog);
-       menuEmulator->addAction(menuDevLogToSyslog->menuAction());
-#endif
-       menuEmulator->addSeparator();
-       menuEmulator->addAction(action_LogView);
-       menuEmulator->addSeparator();
-       if(using_flags->is_use_sound_files_fdd() || using_flags->is_use_sound_files_relay()) {
-               if(using_flags->is_use_sound_files_fdd())     menuEmulator->addAction(action_SoundFilesFDD);
-               if(using_flags->is_use_sound_files_relay())   menuEmulator->addAction(action_SoundFilesRelay);
-               menuEmulator->addSeparator();
-       }
-       menuEmulator->addAction(menu_SetRenderPlatform->menuAction());
-       
-       if(using_flags->is_use_joystick()) {
-               menuEmulator->addAction(action_SetupJoystick);
-               menuEmulator->addAction(action_SetupJoykey);
-       }
-       menuEmulator->addAction(action_SetupKeyboard);
-       menuEmulator->addAction(action_SetupMovie);
-}
-
-void Ui_MainWindowBase::ConfigMonitorType(void)
-{
-       if(using_flags->get_use_monitor_type() > 0) {
-               int ii;
-               menuMonitorType = new QMenu(menuMachine);
-               menuMonitorType->setObjectName(QString::fromUtf8("menuControl_MonitorType"));
-               menuMachine->addAction(menuMonitorType->menuAction());
-               
-               actionGroup_MonitorType = new QActionGroup(this);
-               actionGroup_MonitorType->setExclusive(true);
-               for(ii = 0; ii < using_flags->get_use_monitor_type(); ii++) {
-                       actionMonitorType[ii] = new Action_Control(this, using_flags);
-                       actionGroup_MonitorType->addAction(actionMonitorType[ii]);
-                       actionMonitorType[ii]->setCheckable(true);
-                       actionMonitorType[ii]->setVisible(true);
-                       actionMonitorType[ii]->binds->setValue1(ii);
-                       if(p_config->monitor_type == ii) actionMonitorType[ii]->setChecked(true);
-                       menuMonitorType->addAction(actionMonitorType[ii]);
-                       connect(actionMonitorType[ii], SIGNAL(triggered()),
-                                       actionMonitorType[ii]->binds, SLOT(do_set_monitor_type()));
-                       connect(actionMonitorType[ii]->binds, SIGNAL(sig_monitor_type(int)),
-                                       this, SLOT(set_monitor_type(int)));
-               }
-       }
-}
-#if defined(Q_OS_LINUX)
-//#define _GNU_SOURCE
-#include <unistd.h>
-#include <sched.h>
-#endif
-
-void Ui_MainWindowBase::ConfigEmulatorMenu(void)
-{
-       int i;
-       QString tmps;
-       actionGroup_DispVirtualMedias = new QActionGroup(this);
-       actionGroup_DispVirtualMedias->setExclusive(true);
-       menu_DispVirtualMedias = new QMenu(this);
-       menu_DispVirtualMedias->setToolTipsVisible(true);
-       for(i = 0; i < 3; i++) {
-               action_DispVirtualMedias[i] = new Action_Control(this, using_flags);
-               action_DispVirtualMedias[i]->setCheckable(true);
-               action_DispVirtualMedias[i]->setChecked(false);
-               if(i == p_config->virtual_media_position) action_DispVirtualMedias[i]->setChecked(true);
-               action_DispVirtualMedias[i]->setEnabled(true);
-               actionGroup_DispVirtualMedias->addAction(action_DispVirtualMedias[i]);
-               menu_DispVirtualMedias->addAction(action_DispVirtualMedias[i]);
-       }
-       connect(action_DispVirtualMedias[0], SIGNAL(triggered()), this, SLOT(do_set_visible_virtual_media_none()));
-       connect(action_DispVirtualMedias[1], SIGNAL(triggered()), this, SLOT(do_set_visible_virtual_media_upper()));
-       connect(action_DispVirtualMedias[2], SIGNAL(triggered()), this, SLOT(do_set_visible_virtual_media_lower()));
-
-       if(using_flags->is_use_joystick()) {
-               SET_ACTION_SINGLE(action_UseJoykey, true, true, (p_config->use_joy_to_key));
-               connect(action_UseJoykey, SIGNAL(toggled(bool)), this, SLOT(do_set_joy_to_key(bool)));
-       }
-       
-       if(using_flags->is_use_auto_key()) {
-               // ToDo: Setup if checked.
-               SET_ACTION_SINGLE(action_UseRomaKana, true, true, (p_config->romaji_to_kana)); 
-               connect(action_UseRomaKana, SIGNAL(toggled(bool)), this, SLOT(do_set_roma_kana(bool)));
-       }
-       SET_ACTION_SINGLE(action_NumPadEnterAsFullkey, true, true, (p_config->numpad_enter_as_fullkey));
-       connect(action_NumPadEnterAsFullkey, SIGNAL(toggled(bool)), this, SLOT(do_set_numpad_enter_as_fullkey(bool)));
-
-       SET_ACTION_SINGLE(action_PrintCpuStatistics, true, true, (p_config->print_statistics));
-       connect(action_PrintCpuStatistics, SIGNAL(toggled(bool)), this, SLOT(do_set_print_cpu_statistics(bool)));
-       
-       // Cursor to ten key.
-       menu_EmulateCursorAs = new QMenu(this);
-       menu_EmulateCursorAs->setToolTipsVisible(true);
-       actionGroup_EmulateCursorAs = new QActionGroup(this);
-       actionGroup_EmulateCursorAs->setExclusive(true);
-       {
-               for(i = 0; i < 3; i++) {
-                       tmps = QString::number(i);
-                       action_EmulateCursorAs[i] = new Action_Control(this, using_flags);
-                       action_EmulateCursorAs[i]->setObjectName(QString::fromUtf8("action_EmulateCursorAs", -1) + tmps);
-                       action_EmulateCursorAs[i]->setCheckable(true);
-                       action_EmulateCursorAs[i]->binds->setValue1(i);
-                       actionGroup_EmulateCursorAs->addAction(action_EmulateCursorAs[i]);
-                       menu_EmulateCursorAs->addAction(action_EmulateCursorAs[i]);
-                       if(i == p_config->cursor_as_ten_key) action_EmulateCursorAs[i]->setChecked(true);
-                               
-                       connect(action_EmulateCursorAs[i], SIGNAL(triggered()),
-                                       action_EmulateCursorAs[i], SLOT(do_set_emulate_cursor_as()));
-                       connect(action_EmulateCursorAs[i], SIGNAL(sig_set_emulate_cursor_as(int)),
-                                       this, SLOT(do_set_emulate_cursor_as(int)));
-               }
-       }
-       
-       actionSpeed_FULL = new Action_Control(this, using_flags);
-       actionSpeed_FULL->setObjectName(QString::fromUtf8("actionSpeed_FULL"));
-       actionSpeed_FULL->setVisible(true);
-       actionSpeed_FULL->setCheckable(true);
-       actionSpeed_FULL->setChecked(false);
-       if(p_config->full_speed) actionSpeed_FULL->setChecked(true);
-       connect(actionSpeed_FULL, SIGNAL(toggled(bool)), this,SLOT(do_emu_full_speed(bool))); // OK?
-       
-       if(using_flags->is_use_joystick()) {
-               action_SetupJoystick = new Action_Control(this, using_flags);
-               action_SetupJoykey = new Action_Control(this, using_flags);
-       }
-       if(using_flags->is_use_sound_files_fdd()) {
-               /*
-               action_SoundFilesFDD = new Action_Control(this, using_flags);
-               action_SoundFilesFDD->setCheckable(true);
-               action_SoundFilesFDD->setEnabled(true);
-               action_SoundFilesFDD->setChecked(false);
-               if(p_config->sound_noise_fdd != 0) {
-                       action_SoundFilesFDD->setChecked(true);
-               }
-               */
-               SET_ACTION_SINGLE(action_SoundFilesFDD, true, true, (p_config->sound_noise_fdd != 0));
-       }
-       if(using_flags->is_use_sound_files_relay()) {
-               /*
-               action_SoundFilesRelay = new Action_Control(this, using_flags);
-               action_SoundFilesRelay->setCheckable(true);
-               action_SoundFilesRelay->setEnabled(true);
-               action_SoundFilesRelay->setChecked(false);
-               if(p_config->sound_noise_cmt != 0) {
-                       action_SoundFilesRelay->setChecked(true);
-               }
-               */
-               SET_ACTION_SINGLE(action_SoundFilesRelay, true, true, (p_config->sound_noise_cmt != 0));
-       }
-       action_FocusWithClick = new Action_Control(this, using_flags);
-       action_FocusWithClick->setCheckable(true);
-       action_FocusWithClick->setEnabled(true);
-       if(p_config->focus_with_click) {
-               action_FocusWithClick->setChecked(true);
-       }
-
-       connect(action_FocusWithClick, SIGNAL(toggled(bool)),
-                               this, SLOT(do_set_window_focus_type(bool)));
-       //connect(action_FocusWithClick, SIGNAL(sig_set_window_focus_type(bool)),
-       //                      this, SLOT(do_set_window_focus_type(bool)));
-
-       action_Logging_FDC = NULL;
-       if(using_flags->is_use_fd()) {
-               SET_ACTION_SINGLE(action_Logging_FDC, true, true, (p_config->special_debug_fdc != 0));
-               connect(action_Logging_FDC, SIGNAL(toggled(bool)), this, SLOT(do_set_logging_fdc(bool)));
-       }
-#if !defined(Q_OS_WIN)
-       action_LogToSyslog = new Action_Control(this, using_flags);
-       action_LogToSyslog->setCheckable(true);
-       action_LogToSyslog->setEnabled(true);
-       if(p_config->log_to_syslog != 0) action_LogToSyslog->setChecked(true);
-       menuDevLogToSyslog = new QMenu(this);
-       menuDevLogToSyslog->setToolTipsVisible(true);
-       for(int i = 0; i < (CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1); i++) {
-               action_DevLogToSyslog[i] = new Action_Control(this, using_flags);
-               action_DevLogToSyslog[i]->setCheckable(true);
-               action_DevLogToSyslog[i]->setEnabled(false);
-               action_DevLogToSyslog[i]->binds->setValue1(i);
-               menuDevLogToSyslog->addAction(action_DevLogToSyslog[i]);
-               if(p_config->dev_log_to_syslog[i][0]) action_DevLogToSyslog[i]->setChecked(true);
-               connect(action_DevLogToSyslog[i], SIGNAL(toggled(bool)),
-                               action_DevLogToSyslog[i], SLOT(do_set_dev_log_to_syslog(bool)));
-               connect(action_DevLogToSyslog[i], SIGNAL(sig_set_dev_log_to_syslog(int, bool)),
-                               this, SLOT(do_set_dev_log_to_syslog(int, bool)));
-       }
-#endif
-       action_LogToConsole = new Action_Control(this, using_flags);
-       action_LogToConsole->setCheckable(true);
-       action_LogToConsole->setEnabled(true);
-       if(p_config->log_to_console != 0) action_LogToConsole->setChecked(true);
-
-       //menuDevLogToConsole = new QMenu(menuEmulator);
-       menuDevLogToConsole = new QMenu(this);
-       menuDevLogToConsole->setToolTipsVisible(true);
-
-       SET_ACTION_CONTROL_ARRAY(0, (CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1),
-                                                        this, using_flags,
-                                                        menuDevLogToConsole, action_DevLogToConsole, true, false,
-                                                        dev_log_to_console,
-                                                        SIGNAL(toggled(bool)),
-                                                        SLOT(do_set_dev_log_to_console(bool)),
-                                                        SIGNAL(sig_set_dev_log_to_console(int, bool)),
-                                                        SLOT(do_set_dev_log_to_console(int, bool)));
-       /*
-       for(int i = 0; i < (CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1); i++) {
-               action_DevLogToConsole[i] = new Action_Control(this, using_flags);
-               action_DevLogToConsole[i]->setCheckable(true);
-               action_DevLogToConsole[i]->setEnabled(false);
-               action_DevLogToConsole[i]->binds->setValue1(i);
-               menuDevLogToConsole->addAction(action_DevLogToConsole[i]);
-               if(p_config->dev_log_to_console[i][0]) action_DevLogToConsole[i]->setChecked(true);
-               connect(action_DevLogToConsole[i], SIGNAL(toggled(bool)),
-                               action_DevLogToConsole[i], SLOT(do_set_dev_log_to_console(bool)));
-               connect(action_DevLogToConsole[i], SIGNAL(sig_set_dev_log_to_console(int, bool)),
-                               this, SLOT(do_set_dev_log_to_console(int, bool)));
-       }
-       */
-       action_LogView = new Action_Control(this, using_flags);
-       connect(action_LogView, SIGNAL(triggered()),
-                       this, SLOT(rise_log_viewer()));
-       
-       long cpus = -1;
-#if defined(Q_OS_LINUX)
-       {
-               cpus = sysconf(_SC_NPROCESSORS_ONLN);
-       }
-#endif
-       menu_SetFixedCpu = NULL;
-       action_ResetFixedCpu = NULL;
-       for(i = 0; i < 128; i++) {
-               action_SetFixedCpu[i] = NULL;
-       }
-       if(cpus > 0) {
-               menu_SetFixedCpu = new QMenu(this);
-               menu_SetFixedCpu->setToolTipsVisible(true);
-               actionGroup_SetFixedCpu = new QActionGroup(this);
-               actionGroup_SetFixedCpu->setExclusive(true);
-               if(cpus >= 128) cpus = 128;
-               action_ResetFixedCpu = new Action_Control(this, using_flags);
-               action_ResetFixedCpu->setObjectName(QString::fromUtf8("action_SetFixedCpu", -1) + tmps);
-               action_ResetFixedCpu->setCheckable(true);
-               action_ResetFixedCpu->binds->setValue1(-1);
-               actionGroup_SetFixedCpu->addAction(action_ResetFixedCpu);
-               menu_SetFixedCpu->addAction(action_ResetFixedCpu);
-               connect(action_ResetFixedCpu, SIGNAL(triggered()),
-                               action_ResetFixedCpu->binds, SLOT(do_select_fixed_cpu(void)));
-               connect(action_ResetFixedCpu->binds, SIGNAL(sig_set_fixed_cpu(int)),
-                               this, SLOT(do_select_fixed_cpu(int)));
-               
-               for(i = 0; i < cpus; i++) {
-                       tmps = QString::number(i);
-                       action_SetFixedCpu[i] = new Action_Control(this, using_flags);
-                       action_SetFixedCpu[i]->setObjectName(QString::fromUtf8("action_SetFixedCpu", -1) + tmps);
-                       action_SetFixedCpu[i]->setCheckable(true);
-                       action_SetFixedCpu[i]->binds->setValue1(i);
-                       actionGroup_SetFixedCpu->addAction(action_SetFixedCpu[i]);
-                       menu_SetFixedCpu->addAction(action_SetFixedCpu[i]);
-                       connect(action_SetFixedCpu[i], SIGNAL(triggered()),
-                                       action_SetFixedCpu[i]->binds, SLOT(do_select_fixed_cpu(void)));
-                       connect(action_SetFixedCpu[i]->binds, SIGNAL(sig_set_fixed_cpu(int)),
-                                       this, SLOT(do_select_fixed_cpu(int)));
-               }
-       }
-       menu_SetRenderPlatform = new QMenu(this);
-       menu_SetRenderPlatform->setToolTipsVisible(true);
-       actionGroup_SetRenderPlatform = new QActionGroup(this);
-       actionGroup_SetRenderPlatform->setExclusive(true);
-       {
-                       int render_type = p_config->render_platform;
-                       int _major_version = p_config->render_major_version;
-                       //int _minor_version = p_config->render_minor_version; // ToDo
-                       for(i = 0; i < MAX_RENDER_PLATFORMS; i++) {
-                               tmps = QString::number(i);
-                               action_SetRenderPlatform[i] = new Action_Control(this, using_flags);
-                               action_SetRenderPlatform[i]->setObjectName(QString::fromUtf8("action_SetRenderPlatform", -1) + tmps);
-                               action_SetRenderPlatform[i]->setCheckable(true);
-                               action_SetRenderPlatform[i]->binds->setValue1(i);
-                               actionGroup_SetRenderPlatform->addAction(action_SetRenderPlatform[i]);
-                               menu_SetRenderPlatform->addAction(action_SetRenderPlatform[i]);
-                               if(i >= RENDER_PLATFORMS_END) {
-                                       action_SetRenderPlatform[i]->setVisible(false);
-                               } else {
-                                       if(render_type == CONFIG_RENDER_PLATFORM_OPENGL_ES) {
-                                               if(_major_version >= 2) {
-                                                       if(i == RENDER_PLATFORMS_OPENGL_ES_2) {
-                                                               action_SetRenderPlatform[i]->setChecked(true);
-                                                       }
-                                               }
-                                       } else if(render_type == CONFIG_RENDER_PLATFORM_OPENGL_MAIN) {
-                                               if(_major_version >= 3) {
-                                                       if(i == RENDER_PLATFORMS_OPENGL3_MAIN) {
-                                                               action_SetRenderPlatform[i]->setChecked(true);
-                                                       }
-                                               } else if(i == RENDER_PLATFORMS_OPENGL2_MAIN) {
-                                                       action_SetRenderPlatform[i]->setChecked(true);
-                                               }
-                                       } else if(render_type == CONFIG_RENDER_PLATFORM_OPENGL_CORE) {
-                                               if(i == RENDER_PLATFORMS_OPENGL_CORE) {
-                                                       action_SetRenderPlatform[i]->setChecked(true);
-                                               }                                               
-                                       }                                               
-                               }
-                               connect(action_SetRenderPlatform[i], SIGNAL(triggered()),
-                                               action_SetRenderPlatform[i], SLOT(do_select_render_platform(void)));
-                               connect(action_SetRenderPlatform[i], SIGNAL(sig_select_render_platform(int)),
-                                               this, SLOT(do_select_render_platform(int)));
-                       }
-       }
-       action_SetupKeyboard = new Action_Control(this, using_flags);
-
-       action_SetupMovie = new Action_Control(this, using_flags);
-  
-}
-#if defined(Q_OS_LINUX)
-//#undef _GNU_SOURCE
-#endif
-
-#include "display_log.h"
-
-void Ui_MainWindowBase::rise_log_viewer(void)
-{
-       Dlg_LogViewer *dlg = new Dlg_LogViewer(using_flags, csp_logger, NULL);
-       dlg->show();
-}
-
-void Ui_MainWindowBase::rise_joystick_dialog(void)
-{
-       if(graphicsView != NULL) {
-               QStringList *lst = graphicsView->getVKNames();
-               CSP_DropDownJoysticks *dlg = new CSP_DropDownJoysticks(NULL, lst, using_flags);
-               dlg->setWindowTitle(QApplication::translate("CSP_DropDownJoysticks", "Configure Joysticks", 0));
-               dlg->show();
-       }
-}
-
-void Ui_MainWindowBase::rise_joykey_dialog(void)
-{
-       if(graphicsView != NULL) {
-               QStringList *lst = graphicsView->getVKNames();
-               CSP_DropDownJoykey *dlg = new CSP_DropDownJoykey(NULL, lst, using_flags);
-               dlg->setWindowTitle(QApplication::translate("CSP_DropDownJoysticks", "Configure Joystick to KEYBOARD", 0));
-               dlg->show();
-       }
-}
 
 QString Ui_MainWindowBase::get_system_version()
 {
@@ -1305,20 +786,6 @@ QString Ui_MainWindowBase::get_build_date()
        return QString::fromUtf8("Dummy");
 }
 
-
-void Ui_MainWindowBase::rise_movie_dialog(void)
-{
-
-}
-
-void Ui_MainWindowBase::rise_keyboard_dialog(void)
-{
-       if(graphicsView != NULL) {
-               CSP_KeySetDialog *dlg = new CSP_KeySetDialog(NULL, graphicsView);
-               dlg->setWindowTitle(QApplication::translate("KeySetDialog", "Configure Keyboard", 0));
-               dlg->show();
-       }
-}
 // Retranslate
 void Ui_MainWindowBase::retranslateUI_Help(void)
 {
@@ -1357,63 +824,7 @@ void Ui_MainWindowBase::retranslateUI_Help(void)
        ui_retranslate_completed = true;
 }
 
-// You can Override this function: Re-define on foo/MainWindow.cpp.
-// This code is example: by X1(TurboZ).
-void Ui_MainWindowBase::retranslateMachineMenu(void)
-{
-       int i;
-       QString tmps;
-       QString tmps2;
-       menuMachine->setTitle(QApplication::translate("MenuMachine", "Machine", 0));
-       if(using_flags->get_use_device_type() > 0) {
-               menuDeviceType->setTitle(QApplication::translate("MenuMachine", "Device Type", 0));
-               for(i = 0; i < using_flags->get_use_device_type(); i++) {
-                       tmps2.setNum(i + 1);
-                       tmps = QString::fromUtf8("Machine Device ") + tmps2;
-                       actionDeviceType[i]->setText(tmps); 
-               }
-       }
-       if(using_flags->get_use_sound_device_type() > 0) {
-               menuSoundDevice->setTitle(QApplication::translate("MenuMachine", "Sound Cards", 0));
-               for(i = 0; i < using_flags->get_use_sound_device_type(); i++) {
-                       tmps2.setNum(i + 1);
-                       tmps = QString::fromUtf8("Sound Device ") + tmps2;
-                       actionSoundDevice[i]->setText(tmps); 
-               }
-       }
-       if(using_flags->get_use_drive_type() > 0) {
-               menuDriveType->setTitle(QApplication::translate("MenuMachine", "Drive Type", 0));
-               for(i = 0; i < using_flags->get_use_drive_type(); i++) {
-                       tmps2.setNum(i + 1);
-                       tmps = QString::fromUtf8("Drive Type ") + tmps2;
-                       actionDriveType[i]->setText(tmps); 
-               }
-       }
-       if(using_flags->is_use_printer()) {
-               menuPrintDevice->setTitle(QApplication::translate("MenuMachine", "Printer (Need RESET)", 0));
-               i = 1;
-               actionPrintDevice[0]->setText(QApplication::translate("MenuMachine", "Dump to File", 0));
-               actionPrintDevice[0]->setToolTip(QApplication::translate("MenuMachine", "Dump printer output to file.\nMaybe output only ascii text.", 0));
-               if(using_flags->get_use_printer_type() > 0) {
-                       for(i = 1; i < (using_flags->get_use_printer_type() - 1); i++) {
-                               tmps2.setNum(i + 1);
-                               tmps = QApplication::translate("MenuMachine", "Printer", 0) + tmps2;
-                               actionPrintDevice[i]->setText(tmps); 
-                               actionPrintDevice[i]->setToolTip(tmps); 
-                       }
-               }
-               actionPrintDevice[i]->setText(QApplication::translate("MenuMachine", "Not Connect", 0));
-               actionPrintDevice[i]->setToolTip(QApplication::translate("MenuMachine", "None devices connect to printer port.", 0));
-       }
-       if(using_flags->get_use_monitor_type() > 0) {
-               menuMonitorType->setTitle(QApplication::translate("MenuMachine", "Monitor Type", 0));
-               menuMonitorType->setToolTipsVisible(true);
-               for(int ii = 0; ii < using_flags->get_use_monitor_type(); ii++) {
-                       tmps = QString::fromUtf8("Monitor %1").arg(ii + 1);
-                       actionMonitorType[ii]->setText(tmps);
-               }
-       }
-}
+
 void Ui_MainWindowBase::retranslateUi(void)
 {
        retranslateControlMenu("Reset",  true);
@@ -1532,92 +943,6 @@ void Ui_MainWindowBase::doChangeMessage_EmuThread(QString message)
       emit message_changed(message);
 }
 
-void Ui_MainWindowBase::do_set_visible_virtual_media_none()
-{
-       QRect rect;
-       driveData->setVisible(false);
-       p_config->virtual_media_position = 0;
-       set_screen_size(graphicsView->width(), graphicsView->height());
-       
-       pCentralLayout->setDirection(QBoxLayout::TopToBottom);
-       rect.setRect(0, 0, graphicsView->width(), graphicsView->height() + 2);
-       
-       pCentralLayout->removeWidget(driveData);
-       pCentralWidget->setGeometry(rect);
-       //pCentralLayout->setGeometry(rect);
-       pCentralLayout->update();
-       pCentralWidget->setLayout(pCentralLayout);
-       MainWindow->setCentralWidget(pCentralWidget);
-       //emit sig_set_display_osd(true);
-}
-
-void Ui_MainWindowBase::do_set_visible_virtual_media_upper()
-{
-       QRect rect;
-       driveData->setVisible(true);
-       p_config->virtual_media_position = 1;
-       set_screen_size(graphicsView->width(), graphicsView->height());
-       emit sig_set_orientation_osd(1);
-       pCentralLayout->setDirection(QBoxLayout::TopToBottom);
-       pCentralLayout->removeWidget(driveData);
-       pCentralLayout->removeWidget(graphicsView);
-       pCentralLayout->addWidget(driveData);
-       pCentralLayout->addWidget(graphicsView);
-       rect.setRect(0, 0, graphicsView->width(), graphicsView->height() + driveData->height() + 2);
-       pCentralWidget->setGeometry(rect);
-       //pCentralLayout->setGeometry(rect);
-       pCentralLayout->update();
-       pCentralWidget->setLayout(pCentralLayout);
-       MainWindow->setCentralWidget(pCentralWidget);
-       //emit sig_set_display_osd(false);
-}
-
-void Ui_MainWindowBase::do_set_visible_virtual_media_lower()
-{
-       QRect rect;
-       driveData->setVisible(true);
-       p_config->virtual_media_position = 2;
-       set_screen_size(graphicsView->width(), graphicsView->height());
-       emit sig_set_orientation_osd(2);
-       pCentralLayout->setDirection(QBoxLayout::BottomToTop);
-       pCentralLayout->removeWidget(driveData);
-       pCentralLayout->removeWidget(graphicsView);
-       pCentralLayout->addWidget(driveData);
-       pCentralLayout->addWidget(graphicsView);
-       
-       rect.setRect(0, 0, graphicsView->width(), graphicsView->height() + driveData->height() + 2);
-       pCentralWidget->setGeometry(rect);
-       pCentralLayout->update();
-       pCentralWidget->setLayout(pCentralLayout);
-       MainWindow->setCentralWidget(pCentralWidget);
-}
-
-void Ui_MainWindowBase::do_set_visible_virtual_media_left()
-{
-#if 0
-       driveData->setVisible(true);
-       p_config->virtual_media_position = 3;
-       set_screen_size(graphicsView->width(), graphicsView->height());
-       emit sig_set_orientation_osd(3);
-       pCentralLayout->removeWidget(driveData);
-       pCentralLayout->addWidget(driveData, 1, 0);
-       //emit sig_set_display_osd(false);
-#endif
-}
-
-void Ui_MainWindowBase::do_set_visible_virtual_media_right()
-{
-#if 0
-       driveData->setVisible(true);
-       p_config->virtual_media_position = 4;
-       set_screen_size(graphicsView->width(), graphicsView->height());
-       emit sig_set_orientation_osd(4);
-       pCentralLayout->removeWidget(driveData);
-       pCentralLayout->addWidget(driveData, 1, 2);
-       //emit sig_set_display_osd(false);
-#endif
-}
-
 void Ui_MainWindowBase::StopEmuThread(void)
 {
        emit quit_emu_thread();
index 5e1a0d9..658fe78 100644 (file)
@@ -313,7 +313,6 @@ void Ui_MainWindowBase::ConfigScreenMenu(void)
                        action_SetRenderMode[i]->binds->setValue1(i);
                        
                        if(i == p_config->rendering_type) action_SetRenderMode[i]->setChecked(true);
-               
                        if(i == CONFIG_RENDER_TYPE_STD) {
                                action_SetRenderMode[i]->setEnabled(true);
                                action_SetRenderMode[i]->setVisible(true);