OSDN Git Service

[UI][Qt] Fix lacked entries; Joystick and Keyboard.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 1 Jun 2017 06:37:22 +0000 (15:37 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 1 Jun 2017 06:37:22 +0000 (15:37 +0900)
14 files changed:
source/src/qt/CMakeLists.txt
source/src/qt/avio/CMakeLists.txt
source/src/qt/common/menu_flags.cpp
source/src/qt/gui/CMakeLists.txt
source/src/qt/gui/commonclasses.h
source/src/qt/gui/mainwidget_base.h
source/src/qt/gui/mainwindow_utils.cpp
source/src/qt/gui/menu_control.cpp
source/src/qt/gui/menu_flags.h
source/src/qt/gui/menu_flags_tmpl.cpp
source/src/qt/gui/menu_main.cpp
source/src/qt/machines/pc8801/MainWindow.cpp
source/src/qt/machines/pcengine/MainWindow.cpp
source/src/qt/machines/x1/MainWindow.cpp

index f006ad0..160bff5 100644 (file)
@@ -47,8 +47,8 @@ generate_export_header(CSPosd
        STATIC_DEFINE CSPgosd_BUILT_AS_STATIC
 )
   set_target_properties(CSPosd PROPERTIES 
-     SOVERSION 2.9.1
-     VERSION 2.9.1
+     SOVERSION 2.9.3
+     VERSION 2.9.3
   )
 
 else()
@@ -64,8 +64,8 @@ target_link_libraries(CSPosd PUBLIC
          )
   
   set_target_properties(CSPosd PROPERTIES 
-     SOVERSION 2.9.2
-     VERSION 2.9.2
+     SOVERSION 2.9.3
+     VERSION 2.9.3
   )
   INSTALL(TARGETS CSPosd DESTINATION ${LIBCSP_INSTALL_DIR})
 endif()
index 9355791..3807d03 100644 (file)
@@ -66,8 +66,8 @@ target_link_libraries(CSPavio PUBLIC
          )
 
 set_target_properties(CSPavio PROPERTIES 
-                            SOVERSION 2.6.4
-                            VERSION 2.6.4
+                            SOVERSION 2.6.5
+                            VERSION 2.6.5
                             )
 INSTALL(TARGETS CSPavio DESTINATION ${LIBCSP_INSTALL_DIR})
 endif()
index 48f7536..a8539c6 100644 (file)
@@ -273,6 +273,12 @@ USING_FLAGS_EXT::USING_FLAGS_EXT(config_t *cfg) : USING_FLAGS(cfg)
 #if defined(USE_MOUSE_TYPE)
        use_mouse_type = USE_MOUSE_TYPE;
 #endif
+#if defined(USE_JOYSTICK_TYPE)
+       use_joystick_type = USE_JOYSTICK_TYPE;
+#endif
+#if defined(USE_KEYBOARD_TYPE)
+       use_keyboard_type = USE_KEYBOARD_TYPE;
+#endif
 #if defined(USE_DIPSWITCH)
        use_dipswitch = true;
 #endif
index 8d8e79a..866cf0f 100644 (file)
@@ -151,8 +151,8 @@ target_link_libraries(CSPgui
          ${SDL2_LIBRARIES}
          )
 set_target_properties(CSPgui PROPERTIES
-                            SOVERSION 2.9.3
-                            VERSION 2.9.3
+                            SOVERSION 2.9.4
+                            VERSION 2.9.4
                             LINK_INTERFACE_LIBRARIES ""
                             )
 generate_export_header(CSPgui
@@ -176,8 +176,8 @@ target_link_libraries(CSPgui PUBLIC
          )
 
 set_target_properties(CSPgui PROPERTIES 
-                            SOVERSION 2.9.3
-                            VERSION 2.9.3
+                            SOVERSION 2.9.4
+                            VERSION 2.9.4
                             )
 INSTALL(TARGETS CSPgui DESTINATION ${LIBCSP_INSTALL_DIR})
 endif()
index 4c18855..30907dc 100644 (file)
@@ -87,6 +87,8 @@ public slots:
        void set_screen_aspect(void);
        void set_screen_size(void);
        void do_set_device_type(void);
+       void do_set_keyboard_type(void);
+       void do_set_joystick_type(void);
        void do_set_mouse_type(void);
        void do_set_drive_type(void);
        void do_set_sound_device(void);
@@ -133,6 +135,8 @@ signals:
        int set_recent_disk(int, int);
        int sig_write_protect_fd(int, bool);
        int sig_device_type(int);
+       int sig_keyboard_type(int);
+       int sig_joystick_type(int);
        int sig_mouse_type(int);
        int sig_sound_device(int);
        int sig_printer_device(int);
index f287348..66976f7 100644 (file)
@@ -172,6 +172,8 @@ class DLL_PREFIX Ui_MainWindowBase : public QMainWindow
        void ConfigScreenMenu_List(void);
        void CreateScreenMenu(void);
        void ConfigDeviceType(void);
+       void ConfigKeyboardType(void);
+       void ConfigJoystickType(void);
        void ConfigMouseType(void);
        void ConfigDriveType(void);
        void ConfigSoundDeviceType(void);
@@ -296,6 +298,14 @@ class DLL_PREFIX Ui_MainWindowBase : public QMainWindow
        QMenu *menuDeviceType;
        class Action_Control *actionDeviceType[16];
 
+       QActionGroup *actionGroup_KeyboardType;
+       QMenu *menuKeyboardType;
+       class Action_Control *actionKeyboardType[16];
+       
+       QActionGroup *actionGroup_JoystickType;
+       QMenu *menuJoystickType;
+       class Action_Control *actionJoystickType[16];
+       
        QActionGroup *actionGroup_MouseType;
        QMenu *menuMouseType;
        class Action_Control *actionMouseType[8];
@@ -579,6 +589,8 @@ public slots:
        virtual void set_window_title();
        void set_device_type(int);
        void set_mouse_type(int);
+       void set_keyboard_type(int);
+       void set_joystick_type(int);
        void set_drive_type(int);
        void set_scan_line(bool);
        void set_gl_scan_line_vert(bool);
index 181a9d8..32c6873 100644 (file)
@@ -105,6 +105,20 @@ void Ui_MainWindowBase::set_device_type(int num)
        emit sig_emu_update_config();
 }
 
+void Ui_MainWindowBase::set_keyboard_type(int num)
+{
+       if((num >= using_flags->get_use_keyboard_type()) && (num < 0)) return;
+       using_flags->get_config_ptr()->keyboard_type = num;
+       emit sig_emu_update_config();
+}
+
+void Ui_MainWindowBase::set_joystick_type(int num)
+{
+       if((num >= using_flags->get_use_joystick_type()) && (num < 0)) return;
+       using_flags->get_config_ptr()->joystick_type = num;
+       emit sig_emu_update_config();
+}
+
 void Ui_MainWindowBase::set_drive_type(int num)
 {
        if((num >= using_flags->get_use_drive_type()) && (num < 0)) return;
@@ -200,6 +214,60 @@ void Ui_MainWindowBase::ConfigDeviceType(void)
        }
 }
 
+void Ui_MainWindowBase::ConfigJoystickType(void)
+{
+       if(using_flags->get_use_joystick_type() > 0) {
+               int ii;
+               menuJoystickType = new QMenu(menuMachine);
+               menuJoystickType->setObjectName(QString::fromUtf8("menuJoystickType"));
+               menuMachine->addAction(menuJoystickType->menuAction());
+               menuJoystickType->setToolTipsVisible(true);
+      
+               actionGroup_JoystickType = new QActionGroup(this);
+               actionGroup_JoystickType->setExclusive(true);
+               for(ii = 0; ii < using_flags->get_use_joystick_type(); ii++) {
+                       actionJoystickType[ii] = new Action_Control(this, using_flags);
+                       actionGroup_JoystickType->addAction(actionJoystickType[ii]);
+                       actionJoystickType[ii]->setCheckable(true);
+                       actionJoystickType[ii]->setVisible(true);
+                       actionJoystickType[ii]->binds->setValue1(ii);
+                       if(using_flags->get_config_ptr()->joystick_type == ii) actionJoystickType[ii]->setChecked(true);
+                       menuJoystickType->addAction(actionJoystickType[ii]);
+                       connect(actionJoystickType[ii], SIGNAL(triggered()),
+                               actionJoystickType[ii]->binds, SLOT(do_set_joystick_type()));
+                       connect(actionJoystickType[ii]->binds, SIGNAL(sig_joystick_type(int)),
+                               this, SLOT(set_joystick_type(int)));
+               }
+       }
+}
+
+void Ui_MainWindowBase::ConfigKeyboardType(void)
+{
+       if(using_flags->get_use_keyboard_type() > 0) {
+               int ii;
+               menuKeyboardType = new QMenu(menuMachine);
+               menuKeyboardType->setObjectName(QString::fromUtf8("menuKeyboardType"));
+               menuMachine->addAction(menuKeyboardType->menuAction());
+               menuKeyboardType->setToolTipsVisible(true);
+      
+               actionGroup_KeyboardType = new QActionGroup(this);
+               actionGroup_KeyboardType->setExclusive(true);
+               for(ii = 0; ii < using_flags->get_use_keyboard_type(); ii++) {
+                       actionKeyboardType[ii] = new Action_Control(this, using_flags);
+                       actionGroup_KeyboardType->addAction(actionKeyboardType[ii]);
+                       actionKeyboardType[ii]->setCheckable(true);
+                       actionKeyboardType[ii]->setVisible(true);
+                       actionKeyboardType[ii]->binds->setValue1(ii);
+                       if(using_flags->get_config_ptr()->keyboard_type == ii) actionKeyboardType[ii]->setChecked(true);
+                       menuKeyboardType->addAction(actionKeyboardType[ii]);
+                       connect(actionKeyboardType[ii], SIGNAL(triggered()),
+                               actionKeyboardType[ii]->binds, SLOT(do_set_keyboard_type()));
+                       connect(actionKeyboardType[ii]->binds, SIGNAL(sig_keyboard_type(int)),
+                               this, SLOT(set_keyboard_type(int)));
+               }
+       }
+}
+
 void Ui_MainWindowBase::ConfigMouseType(void)
 {
        if(using_flags->get_use_mouse_type() > 0) {
index df3b5c4..f2a722a 100644 (file)
@@ -30,6 +30,12 @@ void Object_Menu_Control::open_debugger(void) {
 void Object_Menu_Control::do_set_device_type(void){
        emit sig_device_type(this->getValue1());
 }
+void Object_Menu_Control::do_set_joystick_type(void){
+       emit sig_joystick_type(this->getValue1());
+}
+void Object_Menu_Control::do_set_keyboard_type(void){
+       emit sig_keyboard_type(this->getValue1());
+}
 void Object_Menu_Control::do_set_mouse_type(void){
        emit sig_mouse_type(this->getValue1());
 }
index ea99ab3..c6b72a3 100644 (file)
@@ -71,8 +71,12 @@ protected:
        int max_draw_ranges;
        
        bool use_joystick;
+       int use_joystick_type;
        bool use_joy_button_captions;
        int num_joy_button_captions;
+
+       int use_keyboard_type;
+
        bool use_laser_disc;
        int use_led_device;
 
@@ -207,7 +211,10 @@ public:
        bool is_use_joystick() { return use_joystick; }
        bool is_use_joy_button_captions() { return use_joy_button_captions; }
        int  get_num_joy_button_captions() { return num_joy_button_captions; }
+       int  get_use_joystick_type() { return use_joystick_type; }
 
+       int  get_use_keyboard_type() { return use_keyboard_type; }
+       
        bool is_use_laser_disc() {return use_laser_disc; }
        int get_use_led_device() { return use_led_device; }
 
index 8b9e010..83a0ae5 100644 (file)
@@ -26,6 +26,8 @@ USING_FLAGS::USING_FLAGS(config_t *cfg)
        use_compact_disc = use_debugger = false;
        use_device_type = 0;
        use_mouse_type = -1;
+       use_joystick_type = -1;
+       use_keyboard_type = -1;
        use_dipswitch = false;
 
        use_drive_type = 0;
index b3e8eda..2a0b52b 100644 (file)
@@ -466,6 +466,8 @@ void Ui_MainWindowBase::setupUi(void)
 
        ConfigDeviceType();
        ConfigMouseType();
+       ConfigKeyboardType();
+       ConfigJoystickType();
        ConfigDriveType();
        ConfigSoundDeviceType();
        ConfigPrinterType();
index 261d4a4..15f2b9f 100644 (file)
@@ -153,12 +153,12 @@ void META_MainWindow::retranslateUi(void)
        actionDebugger[2]->setVisible(false);
        actionDebugger[3]->setVisible(false);
 #endif 
-#if defined(USE_DEVICE_TYPE)
-       actionDeviceType[0]->setText(QApplication::translate("MainWindow", "Joystick", 0));
-       actionDeviceType[1]->setText(QApplication::translate("MainWindow", "Bus Mouse", 0));
-       actionDeviceType[0]->setToolTip(QApplication::translate("MainWindow", "Connect joystick to JOY PORT.", 0));
-       actionDeviceType[1]->setToolTip(QApplication::translate("MainWindow", "Connect bus-mouse to JOY PORT.", 0));
-       menuDeviceType->setTitle(QApplication::translate("MainWindow", "Joy Port", 0));
+#if defined(USE_JOYSTICK_TYPE)
+       actionJoystickType[0]->setText(QApplication::translate("MainWindow", "Joystick", 0));
+       actionJoystickType[1]->setText(QApplication::translate("MainWindow", "Bus Mouse", 0));
+       actionJoystickType[0]->setToolTip(QApplication::translate("MainWindow", "Connect joystick to JOY PORT.", 0));
+       actionJoystickType[1]->setToolTip(QApplication::translate("MainWindow", "Connect bus-mouse to JOY PORT.", 0));
+       menuJoystickType->setTitle(QApplication::translate("MainWindow", "Joy Port", 0));
 #endif
 #if defined(USE_PRINTER)
        actionPrintDevice[1]->setText(QString::fromUtf8("PC-PR201"));
index f631e86..76588d1 100644 (file)
@@ -34,11 +34,11 @@ void META_MainWindow::retranslateUi(void)
        retranslateEmulatorMenu();
        retranslateUI_Help();
 
-       menuDeviceType->setTitle(QApplication::translate("MainWindow", "Joy PAD Type", 0));
-       actionDeviceType[0]->setText(QApplication::translate("MainWindow", "2-Buttons Joy Pad", 0));
-       actionDeviceType[1]->setText(QApplication::translate("MainWindow", "6-Buttons Joy Pad", 0));
-       actionDeviceType[2]->setText(QApplication::translate("MainWindow", "2-Buttons with Multi-Tap", 0));
-       actionDeviceType[3]->setText(QApplication::translate("MainWindow", "6-Buttons with Multi-Tap", 0));
+       menuJoystickType->setTitle(QApplication::translate("MainWindow", "Joy PAD Type", 0));
+       actionJoystickType[0]->setText(QApplication::translate("MainWindow", "2-Buttons Joy Pad", 0));
+       actionJoystickType[1]->setText(QApplication::translate("MainWindow", "6-Buttons Joy Pad", 0));
+       actionJoystickType[2]->setText(QApplication::translate("MainWindow", "2-Buttons with Multi-Tap", 0));
+       actionJoystickType[3]->setText(QApplication::translate("MainWindow", "6-Buttons with Multi-Tap", 0));
 
        this->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0));
        actionAbout->setText(QApplication::translate("MainWindow", "About...", 0));
index e1c587d..7c0f913 100644 (file)
@@ -101,10 +101,17 @@ void META_MainWindow::retranslateUi(void)
        action_Emu_DisplayMode[0]->setText(QApplication::translate("MainWindow", "High Resolution (400line)", 0));
        action_Emu_DisplayMode[1]->setText(QApplication::translate("MainWindow", "Standarsd Resolution (200line)", 0));
 #endif
-#if defined(USE_DEVICE_TYPE)
-       menuDeviceType->setTitle(QApplication::translate("MainWindow", "Keyboard Mode", 0));
-       actionDeviceType[0]->setText(QApplication::translate("MainWindow", "Mode A", 0));
-       actionDeviceType[1]->setText(QApplication::translate("MainWindow", "Mode B", 0));
+#if defined(USE_KEYBOARD_TYPE)
+       menuKeyboardType->setTitle(QApplication::translate("MainWindow", "Keyboard Mode", 0));
+       actionKeyboardType[0]->setText(QApplication::translate("MainWindow", "Mode A", 0));
+       actionKeyboardType[1]->setText(QApplication::translate("MainWindow", "Mode B", 0));
+#endif
+#if defined(USE_JOYSTICK_TYPE)
+       menuJoystickType->setTitle(QApplication::translate("MainWindow", "Joy PAD Type", 0));
+       actionJoystickType[0]->setText(QApplication::translate("MainWindow", "2-Buttons Joy Pad", 0));
+       actionJoystickType[1]->setText(QApplication::translate("MainWindow", "6-Buttons Joy Pad", 0));
+       actionJoystickType[2]->setText(QApplication::translate("MainWindow", "2-Buttons with Multi-Tap", 0));
+       actionJoystickType[3]->setText(QApplication::translate("MainWindow", "6-Buttons with Multi-Tap", 0));
 #endif
 #if defined(USE_DRIVE_TYPE)
        menuDriveType->setTitle(QApplication::translate("MainWindow", "Floppy Type", 0));