OSDN Git Service

[UI][Qt] Fix issues for ROMAJI-TO-KANA conversion.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 1 Mar 2018 05:57:45 +0000 (14:57 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 1 Mar 2018 05:57:45 +0000 (14:57 +0900)
source/src/qt/common/emu_thread.cpp
source/src/qt/common/emu_thread.h
source/src/qt/common/qt_utils.cpp
source/src/qt/gui/emu_thread_tmpl.h
source/src/qt/gui/mainwidget_base.h
source/src/qt/gui/menu_control.cpp
source/src/qt/gui/menu_main.cpp

index a64af35..be1e1b0 100644 (file)
@@ -43,11 +43,10 @@ EmuThreadClass::~EmuThreadClass()
 {
 }
 
-void EmuThreadClass::set_romakana(void)
+void EmuThreadClass::set_romakana(bool flag)
 {
-       p_config->romaji_to_kana = !p_config->romaji_to_kana;
 #if defined(USE_AUTO_KEY)
-       p_emu->set_auto_key_char(p_config->romaji_to_kana ? 1 : 0);
+       p_emu->set_auto_key_char(flag ? 1 : 0);
 #endif
 }
 
index 2be145c..3912ca1 100644 (file)
@@ -53,7 +53,7 @@ protected:
        void get_cd_string(void);
        void get_bubble_string(void);
 
-       void set_romakana(void) override;
+
 public:
        EmuThreadClass(META_MainWindow *rootWindow, USING_FLAGS *p, QObject *parent = 0);
        ~EmuThreadClass();
@@ -96,7 +96,7 @@ public slots:
        void do_open_bubble_casette(int, QString, int);
        void do_start_auto_key(QString text);
        void do_stop_auto_key(void);
-
+       void set_romakana(bool flag);
        void do_close_debugger(void);
 signals:
        int sig_set_draw_fps(double);
index 58677f5..c8aadad 100644 (file)
@@ -251,6 +251,7 @@ void Ui_MainWindow::LaunchEmuThread(void)
 #ifdef USE_AUTO_KEY
        connect(this, SIGNAL(sig_start_auto_key(QString)), hRunEmu, SLOT(do_start_auto_key(QString)));
        connect(this, SIGNAL(sig_stop_auto_key()), hRunEmu, SLOT(do_stop_auto_key()));
+       connect(this, SIGNAL(sig_set_roma_kana(bool)), hRunEmu, SLOT(set_romakana(bool)));
 #endif 
        //connect(actionExit_Emulator, SIGNAL(triggered()), hRunEmu, SLOT(doExit()));
        csp_logger->debug_log(CSP_LOG_INFO, CSP_LOG_TYPE_GENERAL, "EmuThread : Start.");
index e173879..97d4317 100644 (file)
@@ -171,7 +171,7 @@ protected:
                key_fifo->clear();
                keyMutex->unlock();
        };
-       virtual void set_romakana(void) { };
+
 public:
        EmuThreadClassBase(META_MainWindow *rootWindow, USING_FLAGS *p, QObject *parent = 0);
        ~EmuThreadClassBase();
@@ -199,6 +199,7 @@ public slots:
        void button_released_mouse(Qt::MouseButton);
        void do_key_down(uint32_t vk, uint32_t mod, bool repeat);
        void do_key_up(uint32_t vk, uint32_t mod);
+
 signals:
        int message_changed(QString);
        int window_title_changed(QString);
index a805d15..784816f 100644 (file)
@@ -720,7 +720,7 @@ signals:
        int sig_display_osd_leds(int,bool);
        int sig_set_led_width(int);
        int sig_set_orientation_osd(int);
-
+       int sig_set_roma_kana(bool);
        int quit_debugger_thread(void);
        int sig_quit_widgets(void);
 
index c67edfb..70d0879 100644 (file)
@@ -258,8 +258,9 @@ void Ui_MainWindowBase::connectActions_ControlMenu(void)
                menuControl->addAction(menuCopy_Paste->menuAction());
        }
        menuControl->addSeparator();
-       menuControl->addAction(menuState->menuAction());
-
+       if(using_flags->is_use_state()) {
+               menuControl->addAction(menuState->menuAction());
+       }
        if(using_flags->is_use_debugger()) {
                menuControl->addAction(menuDebugger->menuAction());
        }
index e58eb6b..bc9ea35 100644 (file)
@@ -816,6 +816,7 @@ void Ui_MainWindowBase::retranselateUi_Depended_OSD(void)
 void Ui_MainWindowBase::do_set_roma_kana(bool flag)
 {
        using_flags->get_config_ptr()->romaji_to_kana = flag;
+       emit sig_set_roma_kana(flag);
 }
 
 void Ui_MainWindowBase::do_set_numpad_enter_as_fullkey(bool flag)
@@ -891,7 +892,8 @@ void Ui_MainWindowBase::ConfigEmulatorMenu(void)
        connect(action_DispVirtualMedias[2], SIGNAL(triggered()), this, SLOT(do_set_visible_virtual_media_lower()));
                        
        if(using_flags->is_use_auto_key()) {
-               SET_ACTION_SINGLE(action_UseRomaKana, true, true, (using_flags->get_config_ptr()->romaji_to_kana));
+               // ToDo: Setup if checked.
+               SET_ACTION_SINGLE(action_UseRomaKana, true, true, (using_flags->get_config_ptr()->romaji_to_kana)); 
                connect(action_UseRomaKana, SIGNAL(toggled(bool)), this, SLOT(do_set_roma_kana(bool)));
        }
        SET_ACTION_SINGLE(action_NumPadEnterAsFullkey, true, true, (using_flags->get_config_ptr()->numpad_enter_as_fullkey));