From: K.Ohta Date: Sun, 19 Jun 2016 19:13:10 +0000 (+0900) Subject: [UI][Qt] Not liking config, using_flags directly. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=9a86ee0e9e57accc3e2abd545535f8ddcb430998;p=csp-qt%2Fcommon_source_project-fm7.git [UI][Qt] Not liking config, using_flags directly. --- diff --git a/source/src/qt/common/emu_thread.cpp b/source/src/qt/common/emu_thread.cpp index 9bdd14f0a..fe0d31362 100644 --- a/source/src/qt/common/emu_thread.cpp +++ b/source/src/qt/common/emu_thread.cpp @@ -26,12 +26,11 @@ #endif #define MAX_SKIP_FRAMES 10 -//extern USING_FLAGS *using_flags; - EmuThreadClass::EmuThreadClass(META_MainWindow *rootWindow, EMU *pp_emu, USING_FLAGS *p, QObject *parent) : QThread(parent) { MainWindow = rootWindow; p_emu = pp_emu; using_flags = p; + p_config = p->get_config_ptr(); bRunThread = true; prev_skip = false; @@ -56,8 +55,10 @@ EmuThreadClass::EmuThreadClass(META_MainWindow *rootWindow, EMU *pp_emu, USING_F if(using_flags->get_use_sound_volume() > 0) { for(int i = 0; i < using_flags->get_use_sound_volume(); i++) { bUpdateVolumeReq[i] = true; - volume_avg[i] = (config.sound_volume_l[i] + config.sound_volume_r[i]) / 2; - volume_balance[i] = (config.sound_volume_r[i] - config.sound_volume_l[i]) / 2; + volume_avg[i] = (using_flags->get_config_ptr()->sound_volume_l[i] + + using_flags->get_config_ptr()->sound_volume_r[i]) / 2; + volume_balance[i] = (using_flags->get_config_ptr()->sound_volume_r[i] - + using_flags->get_config_ptr()->sound_volume_l[i]) / 2; } } }; @@ -74,8 +75,8 @@ void EmuThreadClass::calc_volume_from_balance(int num, int balance) volume_balance[num] = balance; right = level + balance; left = level - balance; - config.sound_volume_l[num] = left; - config.sound_volume_r[num] = right; + using_flags->get_config_ptr()->sound_volume_l[num] = left; + using_flags->get_config_ptr()->sound_volume_r[num] = right; } void EmuThreadClass::calc_volume_from_level(int num, int level) @@ -85,8 +86,8 @@ void EmuThreadClass::calc_volume_from_level(int num, int level) volume_avg[num] = level; right = level + balance; left = level - balance; - config.sound_volume_l[num] = left; - config.sound_volume_r[num] = right; + using_flags->get_config_ptr()->sound_volume_l[num] = left; + using_flags->get_config_ptr()->sound_volume_r[num] = right; } int EmuThreadClass::get_interval(void) @@ -1165,10 +1166,10 @@ void EmuThreadClass::doWork(const QString ¶ms) #endif QString ctext; bool req_draw = true; - bool vert_line_bak = config.opengl_scanline_vert; - bool horiz_line_bak = config.opengl_scanline_horiz; - bool gl_crt_filter_bak = config.use_opengl_filters; - int opengl_filter_num_bak = config.opengl_filter_num; + bool vert_line_bak = using_flags->get_config_ptr()->opengl_scanline_vert; + bool horiz_line_bak = using_flags->get_config_ptr()->opengl_scanline_horiz; + bool gl_crt_filter_bak = using_flags->get_config_ptr()->use_opengl_filters; + int opengl_filter_num_bak = using_flags->get_config_ptr()->opengl_filter_num; //uint32_t key_mod_old = 0xffffffff; int no_draw_count = 0; bool prevRecordReq; @@ -1255,14 +1256,14 @@ void EmuThreadClass::doWork(const QString ¶ms) } #endif #if defined(USE_MINIMUM_RENDERING) - if((vert_line_bak != config.opengl_scanline_vert) || - (horiz_line_bak != config.opengl_scanline_horiz) || - (gl_crt_filter_bak != config.use_opengl_filters) || - (opengl_filter_num_bak != config.opengl_filter_num)) req_draw = true; - vert_line_bak = config.opengl_scanline_vert; - horiz_line_bak = config.opengl_scanline_horiz; - gl_crt_filter_bak = config.use_opengl_filters; - opengl_filter_num_bak = config.opengl_filter_num; + if((vert_line_bak != p_config->opengl_scanline_vert) || + (horiz_line_bak != p_config->opengl_scanline_horiz) || + (gl_crt_filter_bak != p_config->use_opengl_filters) || + (opengl_filter_num_bak != p_config->opengl_filter_num)) req_draw = true; + vert_line_bak = p_config->opengl_scanline_vert; + horiz_line_bak = p_config->opengl_scanline_horiz; + gl_crt_filter_bak = p_config->use_opengl_filters; + opengl_filter_num_bak = p_config->opengl_filter_num; #endif if(bStartRecordSoundReq != false) { p_emu->start_record_sound(); @@ -1300,7 +1301,7 @@ void EmuThreadClass::doWork(const QString ¶ms) #if defined(USE_SOUND_VOLUME) for(int ii = 0; ii < USE_SOUND_VOLUME; ii++) { if(bUpdateVolumeReq[ii]) { - p_emu->set_sound_device_volume(ii, config.sound_volume_l[ii], config.sound_volume_r[ii]); + p_emu->set_sound_device_volume(ii, p_config->sound_volume_l[ii], p_config->sound_volume_r[ii]); bUpdateVolumeReq[ii] = false; } } diff --git a/source/src/qt/common/emu_thread.h b/source/src/qt/common/emu_thread.h index f20db118d..55cd93ca2 100644 --- a/source/src/qt/common/emu_thread.h +++ b/source/src/qt/common/emu_thread.h @@ -21,6 +21,7 @@ #include "menuclasses.h" #include "mainwidget.h" #include "commonclasses.h" +#include "config.h" class META_MainWindow; class EMU; @@ -57,6 +58,8 @@ private: protected: EMU *p_emu; USING_FLAGS *using_flags; + config_t *p_config; + QWaitCondition *drawCond; class META_MainWindow *MainWindow; QElapsedTimer tick_timer; diff --git a/source/src/qt/common/menu_flags.cpp b/source/src/qt/common/menu_flags.cpp index 37d45d765..8cffe2a73 100644 --- a/source/src/qt/common/menu_flags.cpp +++ b/source/src/qt/common/menu_flags.cpp @@ -9,7 +9,7 @@ static const _TCHAR *sound_device_caption[] = {""}; static const _TCHAR *joy_button_captions[] = {""}; #endif -USING_FLAGS::USING_FLAGS() +USING_FLAGS::USING_FLAGS(config_t *cfg) { use_access_lamp = use_alt_f10_key = false; use_auto_key = use_auto_key_us = use_auto_key_caps = false; @@ -447,6 +447,8 @@ USING_FLAGS::USING_FLAGS() #if defined(USE_STATE) use_state = true; #endif + + p_config = cfg; } USING_FLAGS::~USING_FLAGS() @@ -498,3 +500,8 @@ OSD *USING_FLAGS::get_osd(void) { return p_osd; } + +config_t *USING_FLAGS::get_config_ptr(void) +{ + return p_config; +} diff --git a/source/src/qt/common/menu_flags.h b/source/src/qt/common/menu_flags.h index bdd17df85..4ef4692a4 100644 --- a/source/src/qt/common/menu_flags.h +++ b/source/src/qt/common/menu_flags.h @@ -4,6 +4,8 @@ #include #include "common.h" +#include "config.h" + #ifndef _SCREEN_MODE_NUM #define _SCREEN_MODE_NUM 32 #endif @@ -145,8 +147,9 @@ private: EMU *p_emu; OSD *p_osd; + config_t *p_config; public: - USING_FLAGS(); + USING_FLAGS(config_t *cfg); ~USING_FLAGS(); QString get_config_name() { return config_name; } QString get_device_name() { return device_name; } @@ -274,6 +277,7 @@ public: EMU *get_emu(void); void set_osd(OSD *p); OSD *get_osd(void); + config_t *get_config_ptr(void); }; diff --git a/source/src/qt/common/qt_utils.cpp b/source/src/qt/common/qt_utils.cpp index a17abee1c..e8fb23a42 100644 --- a/source/src/qt/common/qt_utils.cpp +++ b/source/src/qt/common/qt_utils.cpp @@ -104,7 +104,7 @@ void Ui_MainWindow::do_toggle_mouse(void) void Object_Menu_Control::do_save_as_movie(void) { - int fps = config.video_frame_rate; + int fps = using_flags->get_config_ptr()->video_frame_rate; emit sig_start_record_movie(fps); } @@ -316,7 +316,7 @@ void Ui_MainWindow::LaunchEmuThread(void) hDrawEmu->start(); AGAR_DebugLog(AGAR_LOG_DEBUG, "DrawThread : Launch done."); - hSaveMovieThread = new MOVIE_SAVER(640, 400, 30, emu->get_osd()); + hSaveMovieThread = new MOVIE_SAVER(640, 400, 30, emu->get_osd(), using_flags->get_config_ptr()); connect(actionStart_Record_Movie->binds, SIGNAL(sig_start_record_movie(int)), hRunEmu, SLOT(doStartRecordVideo(int))); connect(this, SIGNAL(sig_start_saving_movie()), @@ -330,7 +330,7 @@ void Ui_MainWindow::LaunchEmuThread(void) connect(emu->get_osd(), SIGNAL(sig_save_as_movie(QString, int, int)), hSaveMovieThread, SLOT(do_open(QString, int, int))); connect(emu->get_osd(), SIGNAL(sig_stop_saving_movie()), hSaveMovieThread, SLOT(do_close())); - + actionStop_Record_Movie->setIcon(QIcon(":/icon_process_stop.png")); actionStop_Record_Movie->setVisible(false); @@ -355,7 +355,7 @@ void Ui_MainWindow::LaunchEmuThread(void) hRunEmu->start(); AGAR_DebugLog(AGAR_LOG_DEBUG, "EmuThread : Launch done."); - this->set_screen_aspect(config.window_stretch_type); + this->set_screen_aspect(using_flags->get_config_ptr()->window_stretch_type); emit sig_movie_set_width(SCREEN_WIDTH); emit sig_movie_set_height(SCREEN_HEIGHT); } @@ -363,7 +363,7 @@ void Ui_MainWindow::LaunchEmuThread(void) void Ui_MainWindow::LaunchJoyThread(void) { #if defined(USE_JOYSTICK) - hRunJoy = new JoyThreadClass(emu, emu->get_osd(), using_flags); + hRunJoy = new JoyThreadClass(emu, emu->get_osd(), using_flags, using_flags->get_config_ptr()); connect(this, SIGNAL(quit_joy_thread()), hRunJoy, SLOT(doExit())); hRunJoy->setObjectName("JoyThread"); hRunJoy->start(); @@ -565,7 +565,7 @@ static void setup_logs(void) #endif } -int MainLoop(int argc, char *argv[]) +int MainLoop(int argc, char *argv[], config_t *cfg) { char c; char strbuf[2048]; @@ -590,7 +590,7 @@ int MainLoop(int argc, char *argv[]) load_config(create_local_path(_T("%s.ini"), _T(CONFIG_NAME))); - USING_FLAGS *using_flags = new USING_FLAGS; + USING_FLAGS *using_flags = new USING_FLAGS(cfg); rMainWindow = new META_MainWindow(using_flags); rMainWindow->connect(rMainWindow, SIGNAL(sig_quit_all(void)), rMainWindow, SLOT(deleteLater(void))); rMainWindow->setCoreApplication(GuiMain); diff --git a/source/src/qt/common/util_bubble2.cpp b/source/src/qt/common/util_bubble2.cpp index 22da7fab5..8a1f8b798 100644 --- a/source/src/qt/common/util_bubble2.cpp +++ b/source/src/qt/common/util_bubble2.cpp @@ -47,7 +47,7 @@ void Ui_MainWindow::do_update_recent_bubble(int drv) int i; if(emu == NULL) return; menu_bubbles[drv]->do_update_histories(listBubbles[drv]); - menu_bubbles[drv]->do_set_initialize_directory(config.initial_bubble_casette_dir); + menu_bubbles[drv]->do_set_initialize_directory(p_config->initial_bubble_casette_dir); if(emu->is_bubble_casette_protected(drv)) { menu_bubbles[drv]->do_write_protect_media(); } else { @@ -62,20 +62,20 @@ int Ui_MainWindow::set_recent_bubble(int drv, int num) char path_shadow[PATH_MAX]; int i; if((num < 0) || (num >= MAX_HISTORY)) return -1; - s_path = QString::fromLocal8Bit(config.recent_bubble_casette_path[drv][num]); + s_path = QString::fromLocal8Bit(p_config->recent_bubble_casette_path[drv][num]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_bubble_casette_path[drv], listBubbles[drv]); + UPDATE_HISTORY(path_shadow, p_config->recent_bubble_casette_path[drv], listBubbles[drv]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); get_parent_dir(path_shadow); - strcpy(config.initial_bubble_casette_dir, path_shadow); + strcpy(p_config->initial_bubble_casette_dir, path_shadow); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); if(emu) { emit sig_close_bubble(drv); emit sig_open_bubble(drv, s_path, 0); menu_bubbles[drv]->do_update_histories(listBubbles[drv]); - menu_bubbles[drv]->do_set_initialize_directory(config.initial_bubble_casette_dir); + menu_bubbles[drv]->do_set_initialize_directory(p_config->initial_bubble_casette_dir); if(check_file_extension(path_shadow, ".b77")) { UPDATE_B77_LIST(drv, listB77[drv]); menu_bubbles[drv]->do_update_inner_media_bubble(listB77[drv], 0); @@ -94,9 +94,9 @@ void Ui_MainWindow::_open_bubble(int drv, const QString fname) if(fname.length() <= 0) return; drv = drv & 7; strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_bubble_casette_path[drv], listBubbles[drv]); + UPDATE_HISTORY(path_shadow, p_config->recent_bubble_casette_path[drv], listBubbles[drv]); get_parent_dir(path_shadow); - strcpy(config.initial_bubble_casette_dir, path_shadow); + strcpy(p_config->initial_bubble_casette_dir, path_shadow); // Update List strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX); if(emu) { @@ -104,7 +104,7 @@ void Ui_MainWindow::_open_bubble(int drv, const QString fname) //emu->LockVM(); emit sig_open_bubble(drv, fname, 0); menu_bubbles[drv]->do_update_histories(listBubbles[drv]); - menu_bubbles[drv]->do_set_initialize_directory(config.initial_bubble_casette_dir); + menu_bubbles[drv]->do_set_initialize_directory(p_config->initial_bubble_casette_dir); if(check_file_extension(path_shadow, ".b77")) { UPDATE_B77_LIST(drv, listB77[drv]); menu_bubbles[drv]->do_update_inner_media_bubble(listB77[drv], 0); diff --git a/source/src/qt/common/util_fd2.cpp b/source/src/qt/common/util_fd2.cpp index a67f4d149..37d763bb9 100644 --- a/source/src/qt/common/util_fd2.cpp +++ b/source/src/qt/common/util_fd2.cpp @@ -50,7 +50,7 @@ void Ui_MainWindow::do_update_recent_disk(int drv) int i; if(emu == NULL) return; menu_fds[drv]->do_update_histories(listFDs[drv]); - menu_fds[drv]->do_set_initialize_directory(config.initial_floppy_disk_dir); + menu_fds[drv]->do_set_initialize_directory(p_config->initial_floppy_disk_dir); if(emu->is_floppy_disk_protected(drv)) { menu_fds[drv]->do_write_protect_media(); } else { @@ -65,20 +65,20 @@ int Ui_MainWindow::set_recent_disk(int drv, int num) char path_shadow[PATH_MAX]; int i; if((num < 0) || (num >= MAX_HISTORY)) return -1; - s_path = QString::fromLocal8Bit(config.recent_floppy_disk_path[drv][num]); + s_path = QString::fromLocal8Bit(p_config->recent_floppy_disk_path[drv][num]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_floppy_disk_path[drv], listFDs[drv]); + UPDATE_HISTORY(path_shadow, p_config->recent_floppy_disk_path[drv], listFDs[drv]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); get_parent_dir(path_shadow); - strcpy(config.initial_floppy_disk_dir, path_shadow); + strcpy(p_config->initial_floppy_disk_dir, path_shadow); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); if(emu) { emit sig_close_disk(drv); emit sig_open_disk(drv, s_path, 0); menu_fds[drv]->do_update_histories(listFDs[drv]); - menu_fds[drv]->do_set_initialize_directory(config.initial_floppy_disk_dir); + menu_fds[drv]->do_set_initialize_directory(p_config->initial_floppy_disk_dir); if(check_file_extension(path_shadow, ".d88") || check_file_extension(path_shadow, ".d77")) { UPDATE_D88_LIST(drv, listD88[drv]); menu_fds[drv]->do_update_inner_media(listD88[drv], 0); @@ -93,7 +93,7 @@ int Ui_MainWindow::set_recent_disk(int drv, int num) emit sig_close_disk(drv2); emit sig_open_disk(drv2, s_path, 1); menu_fds[drv2]->do_update_histories(listFDs[drv2]); - menu_fds[drv2]->do_set_initialize_directory(config.initial_floppy_disk_dir); + menu_fds[drv2]->do_set_initialize_directory(p_config->initial_floppy_disk_dir); UPDATE_D88_LIST(drv2, listD88[drv2]); menu_fds[drv2]->do_update_inner_media(listD88[drv2], 1); } @@ -111,9 +111,9 @@ void Ui_MainWindow::_open_disk(int drv, const QString fname) if(fname.length() <= 0) return; drv = drv & 7; strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_floppy_disk_path[drv], listFDs[drv]); + UPDATE_HISTORY(path_shadow, p_config->recent_floppy_disk_path[drv], listFDs[drv]); get_parent_dir(path_shadow); - strcpy(config.initial_floppy_disk_dir, path_shadow); + strcpy(p_config->initial_floppy_disk_dir, path_shadow); // Update List strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX); if(emu) { @@ -121,7 +121,7 @@ void Ui_MainWindow::_open_disk(int drv, const QString fname) //emu->LockVM(); emit sig_open_disk(drv, fname, 0); menu_fds[drv]->do_update_histories(listFDs[drv]); - menu_fds[drv]->do_set_initialize_directory(config.initial_floppy_disk_dir); + menu_fds[drv]->do_set_initialize_directory(p_config->initial_floppy_disk_dir); if(check_file_extension(path_shadow, ".d88") || check_file_extension(path_shadow, ".d77")) { UPDATE_D88_LIST(drv, listD88[drv]); menu_fds[drv]->do_update_inner_media(listD88[drv], 0); @@ -138,7 +138,7 @@ void Ui_MainWindow::_open_disk(int drv, const QString fname) strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX); emit sig_open_disk(drv2, fname, 1); menu_fds[drv2]->do_update_histories(listFDs[drv2]); - menu_fds[drv2]->do_set_initialize_directory(config.initial_floppy_disk_dir); + menu_fds[drv2]->do_set_initialize_directory(p_config->initial_floppy_disk_dir); UPDATE_D88_LIST(drv2, listD88[drv2]); menu_fds[drv2]->do_update_inner_media(listD88[drv2], 1); } diff --git a/source/src/qt/common/util_main.cpp b/source/src/qt/common/util_main.cpp index 79a7eb564..ea66fa6bf 100644 --- a/source/src/qt/common/util_main.cpp +++ b/source/src/qt/common/util_main.cpp @@ -56,7 +56,7 @@ void Ui_MainWindow::set_window(int mode) dest_x = (dest_x < 0) ? 0 : dest_x; dest_y = (dest_y < 0) ? 0 : dest_y; - config.window_mode = prev_window_mode = mode; + p_config->window_mode = prev_window_mode = mode; // set screen size to emu class emit sig_emu_set_display_size(width, height, width, height); @@ -76,7 +76,7 @@ void Ui_MainWindow::set_window(int mode) height = (int)(nd * (double)using_flags->get_screen_height()); if(using_flags->is_use_screen_rotate()) { - if(config.rotate_type) { + if(p_config->rotate_type) { int tmp_w = width; width = height; height = tmp_w; @@ -84,7 +84,7 @@ void Ui_MainWindow::set_window(int mode) } } - config.window_mode = mode; + p_config->window_mode = mode; emit sig_emu_set_display_size(using_flags->get_screen_width(), using_flags->get_screen_height(), width, height); //emit sig_resize_screen(width, height); this->resize_statusbar(width, height); diff --git a/source/src/qt/gui/dropdown_joystick.cpp b/source/src/qt/gui/dropdown_joystick.cpp index d64edfaef..a739f1a42 100644 --- a/source/src/qt/gui/dropdown_joystick.cpp +++ b/source/src/qt/gui/dropdown_joystick.cpp @@ -13,10 +13,11 @@ #include "dropdown_jspage.h" #include "dropdown_joystick.h" -CSP_DropDownJoysticks::CSP_DropDownJoysticks(QWidget *parent, QStringList *lst, USING_FLAGS *using_flags) : QWidget(parent) +CSP_DropDownJoysticks::CSP_DropDownJoysticks(QWidget *parent, QStringList *lst, USING_FLAGS *p) : QWidget(parent) { p_wid = parent; - + using_flags = p; + layout = new QHBoxLayout(this); int i; @@ -45,7 +46,7 @@ void CSP_DropDownJoysticks::do_set_js_button(int jsnum, int button_num, int assi if((button_num < 0) || (button_num >= 16)) return; if((jsnum < 0) || (jsnum >= 4)) return; //printf("Select: %d %d %d\n", jsnum, button_num, assigned_value); - config.joy_buttons[jsnum][button_num] = assigned_value; + using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] = assigned_value; } void CSP_DropDownJoysticks::do_set_js_button_idx(int jsnum, int button_num, int assigned_value) @@ -53,6 +54,6 @@ void CSP_DropDownJoysticks::do_set_js_button_idx(int jsnum, int button_num, int if((button_num < 0) || (button_num >= 16)) return; if((jsnum < 0) || (jsnum >= 4)) return; //printf("Select_Idx: %d %d %d\n", jsnum, button_num, assigned_value); - config.joy_buttons[jsnum][button_num] = assigned_value; + using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] = assigned_value; } diff --git a/source/src/qt/gui/dropdown_joystick.h b/source/src/qt/gui/dropdown_joystick.h index 253d19fff..41ab7adb7 100644 --- a/source/src/qt/gui/dropdown_joystick.h +++ b/source/src/qt/gui/dropdown_joystick.h @@ -26,11 +26,12 @@ protected: QWidget *p_wid; QWidget *window; QHBoxLayout *layout; - + USING_FLAGS *using_flags; + QTabWidget *tabBox; CSP_DropDownJSPage *pages[4]; public: - CSP_DropDownJoysticks(QWidget *parent, QStringList *lst, USING_FLAGS *using_flags); + CSP_DropDownJoysticks(QWidget *parent, QStringList *lst, USING_FLAGS *p); ~CSP_DropDownJoysticks(); public slots: diff --git a/source/src/qt/gui/dropdown_jsbutton.cpp b/source/src/qt/gui/dropdown_jsbutton.cpp index 6fbac3c94..4d919afb4 100644 --- a/source/src/qt/gui/dropdown_jsbutton.cpp +++ b/source/src/qt/gui/dropdown_jsbutton.cpp @@ -9,11 +9,12 @@ #include "dropdown_keyset.h" #include "dropdown_jsbutton.h" +#include "menu_flags.h" - -CSP_DropDownJSButton::CSP_DropDownJSButton(QWidget *parent, QStringList *lst, int jsnum, int button_num) : QWidget(parent) +CSP_DropDownJSButton::CSP_DropDownJSButton(USING_FLAGS *p, QWidget *parent, QStringList *lst, int jsnum, int button_num) : QWidget(parent) { p_wid = parent; + using_flags = p; bind_jsnum = jsnum; bind_button = button_num; layout = new QHBoxLayout(this); @@ -30,10 +31,10 @@ CSP_DropDownJSButton::CSP_DropDownJSButton(QWidget *parent, QStringList *lst, in } if((button_num < 16) && (button_num >= 0)) { if((jsnum < 4) && (jsnum >= 0)){ - if((config.joy_buttons[jsnum][button_num] < 0) && (config.joy_buttons[jsnum][button_num] > -256)) { - combo->setCurrentIndex(-config.joy_buttons[jsnum][button_num] + 16); - } else if((config.joy_buttons[jsnum][button_num] >= 0) && (config.joy_buttons[jsnum][button_num] < 16)) { - combo->setCurrentIndex(config.joy_buttons[jsnum][button_num]); + if((using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] < 0) && (using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] > -256)) { + combo->setCurrentIndex(-using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] + 16); + } else if((using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] >= 0) && (using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] < 16)) { + combo->setCurrentIndex(using_flags->get_config_ptr()->joy_buttons[jsnum][button_num]); } } } diff --git a/source/src/qt/gui/dropdown_jsbutton.h b/source/src/qt/gui/dropdown_jsbutton.h index 8a1b456e2..9406d7b10 100644 --- a/source/src/qt/gui/dropdown_jsbutton.h +++ b/source/src/qt/gui/dropdown_jsbutton.h @@ -16,6 +16,8 @@ #include "dropdown_keytables.h" +class USING_FLAGS; + class DLL_PREFIX CSP_DropDownJSButton: public QWidget { Q_OBJECT; protected: @@ -25,8 +27,9 @@ protected: int bind_button; int bind_jsnum; + USING_FLAGS *using_flags; public: - CSP_DropDownJSButton(QWidget *parent = 0, QStringList *lst = 0, int jsnum = 0, int button_num = 0); + CSP_DropDownJSButton(USING_FLAGS *p, QWidget *parent = 0, QStringList *lst = 0, int jsnum = 0, int button_num = 0); ~CSP_DropDownJSButton(); public slots: void do_select(int index); diff --git a/source/src/qt/gui/dropdown_jspage.cpp b/source/src/qt/gui/dropdown_jspage.cpp index 40dd248ee..f3c3358e5 100644 --- a/source/src/qt/gui/dropdown_jspage.cpp +++ b/source/src/qt/gui/dropdown_jspage.cpp @@ -7,7 +7,7 @@ //extern USING_FLAGS *using_flags; -CSP_DropDownJSPage::CSP_DropDownJSPage(USING_FLAGS *using_flags, QWidget *parent, QStringList *lst, int jsnum) +CSP_DropDownJSPage::CSP_DropDownJSPage(USING_FLAGS *pp, QWidget *parent, QStringList *lst, int jsnum) { int i; QString nm; @@ -15,10 +15,10 @@ CSP_DropDownJSPage::CSP_DropDownJSPage(USING_FLAGS *using_flags, QWidget *parent p_wid = parent; layout = new QGridLayout(this); bind_jsnum = jsnum; - + using_flags = pp; for(i = 0; i < 4; i++) { //label[i] = new QLabel(this); - combo_js[i] = new CSP_DropDownJSButton(this, lst, jsnum, i); + combo_js[i] = new CSP_DropDownJSButton(pp, this, lst, jsnum, i); } label_axis = new QLabel(QApplication::translate("MainWindow", "Physical Axis:", 0), this); layout->addWidget(label_axis, 0, 0, Qt::AlignLeft); @@ -40,7 +40,7 @@ CSP_DropDownJSPage::CSP_DropDownJSPage(USING_FLAGS *using_flags, QWidget *parent if(joybuttons > i) { memset(tmps, 0x00, sizeof(char) * 20); label_button[i] = new QLabel(this); - js_button[i] = new CSP_DropDownJSButton(this, lst, jsnum, i + 4); + js_button[i] = new CSP_DropDownJSButton(pp, this, lst, jsnum, i + 4); if(using_flags->is_use_joy_button_captions()) { snprintf(tmps, 32, "%s", using_flags->get_joy_button_captions(i + 4)); } else { diff --git a/source/src/qt/gui/dropdown_jspage.h b/source/src/qt/gui/dropdown_jspage.h index 47008f3a4..9e327d1b1 100644 --- a/source/src/qt/gui/dropdown_jspage.h +++ b/source/src/qt/gui/dropdown_jspage.h @@ -17,7 +17,6 @@ #include "dropdown_jsbutton.h" - QT_BEGIN_NAMESPACE class USING_FLAGS; @@ -35,8 +34,9 @@ protected: CSP_DropDownJSButton *js_button[12]; QLabel *label_button[12]; int bind_jsnum; + USING_FLAGS *using_flags; public: - CSP_DropDownJSPage(USING_FLAGS *p, QWidget *parent = 0, QStringList *lst = 0, int jsnum = 0); + CSP_DropDownJSPage(USING_FLAGS *pp, QWidget *parent = 0, QStringList *lst = 0, int jsnum = 0); ~CSP_DropDownJSPage(); public slots: diff --git a/source/src/qt/gui/emuevents_control.cpp b/source/src/qt/gui/emuevents_control.cpp index 908208e3e..0171144e2 100644 --- a/source/src/qt/gui/emuevents_control.cpp +++ b/source/src/qt/gui/emuevents_control.cpp @@ -31,7 +31,7 @@ void Ui_MainWindowBase::OnSaveState(void) void Ui_MainWindowBase::OnCpuPower(int mode) { - config.cpu_power = mode; + using_flags->get_config_ptr()->cpu_power = mode; emit sig_emu_update_config(); } diff --git a/source/src/qt/gui/joy_thread.cpp b/source/src/qt/gui/joy_thread.cpp index 3bce14eb4..f1162a097 100644 --- a/source/src/qt/gui/joy_thread.cpp +++ b/source/src/qt/gui/joy_thread.cpp @@ -21,14 +21,15 @@ #include "joy_thread.h" -JoyThreadClass::JoyThreadClass(EMU *p, OSD *o, USING_FLAGS *pflags, QObject *parent) : QThread(parent) +JoyThreadClass::JoyThreadClass(EMU *p, OSD *o, USING_FLAGS *pflags, config_t *cfg, QObject *parent) : QThread(parent) { int i, j; int n; p_emu = p; p_osd = o; - + p_config = cfg; using_flags = pflags; + if(using_flags->is_use_joystick()) { # if defined(USE_SDL2) for(i = 0; i < 16; i++) { @@ -96,7 +97,7 @@ void JoyThreadClass::joystick_plugged(int num) if(controller_table[num] != NULL) { names[num] = QString::fromUtf8(SDL_GameControllerNameForIndex(num)); AGAR_DebugLog(AGAR_LOG_DEBUG, "JoyThread : Controller %d : %s : is plugged.", num, names[num].toUtf8().constData()); - strncpy(config.assigned_joystick_name[num], names[num].toUtf8().constData(), 255); + strncpy(p_config->assigned_joystick_name[num], names[num].toUtf8().constData(), 255); joy_num[num] = num; } } else @@ -111,7 +112,7 @@ void JoyThreadClass::joystick_plugged(int num) joy_num[i] = SDL_JoystickInstanceID(joyhandle[i]); names[i] = QString::fromUtf8(SDL_JoystickNameForIndex(num)); AGAR_DebugLog(AGAR_LOG_DEBUG, "JoyThread : Joystick %d : %s : is plugged.", num, names[i].toUtf8().data()); - strncpy(config.assigned_joystick_name[num], names[num].toUtf8().constData(), 255); + strncpy(p_config->assigned_joystick_name[num], names[num].toUtf8().constData(), 255); break; } } @@ -144,7 +145,7 @@ void JoyThreadClass::joystick_unplugged(int num) } } names[num] = QString::fromUtf8(""); - memset(config.assigned_joystick_name[num], 0x00, 255); + memset(p_config->assigned_joystick_name[num], 0x00, 255); } void JoyThreadClass::x_axis_changed(int index, int value) diff --git a/source/src/qt/gui/joy_thread.h b/source/src/qt/gui/joy_thread.h index 2dd6dd9ef..5fcb18f61 100644 --- a/source/src/qt/gui/joy_thread.h +++ b/source/src/qt/gui/joy_thread.h @@ -13,6 +13,7 @@ #include #include #include "common.h" +#include "config.h" class EMU; class OSD; @@ -34,6 +35,7 @@ class DLL_PREFIX JoyThreadClass : public QThread { EMU *p_emu; OSD *p_osd; USING_FLAGS *using_flags; + config_t *p_config; protected: bool bRunThread; void joystick_plugged(int num); @@ -48,7 +50,7 @@ class DLL_PREFIX JoyThreadClass : public QThread { int get_joyid_from_instanceID(SDL_JoystickID id); # endif public: - JoyThreadClass(EMU *p, OSD *o, USING_FLAGS *pflags, QObject *parent = 0); + JoyThreadClass(EMU *p, OSD *o, USING_FLAGS *pflags, config_t *cfg, QObject *parent = 0); ~JoyThreadClass(); void run() { doWork("");} void SetEmu(EMU *p) { diff --git a/source/src/qt/gui/mainwidget_base.h b/source/src/qt/gui/mainwidget_base.h index 965054658..513aa721f 100644 --- a/source/src/qt/gui/mainwidget_base.h +++ b/source/src/qt/gui/mainwidget_base.h @@ -43,6 +43,7 @@ #include "simd_types.h" #include "common.h" #include "config.h" +#include "menu_flags.h" //#include "emu.h" //#include "vm.h" @@ -73,16 +74,15 @@ class Menu_QDClass; class Menu_BinaryClass; class Menu_BubbleClass; class Menu_CompactDiscClass; -class USING_FLAGS; class MOVIE_SAVER; -//extern USING_FLAGS *using_flags; class DLL_PREFIX Ui_MainWindowBase : public QMainWindow { Q_OBJECT protected: USING_FLAGS *using_flags; + config_t *p_config; QMainWindow *MainWindow; QApplication *CoreApplication; @@ -566,14 +566,14 @@ public slots: void set_dipsw(int num, bool flag) { if((num < 0) || (num >= 32)) return; if(flag) { - config.dipswitch = config.dipswitch | (1 << num); + using_flags->get_config_ptr()->dipswitch = using_flags->get_config_ptr()->dipswitch | (1 << num); } else { - config.dipswitch = config.dipswitch & ~(1 << num); + using_flags->get_config_ptr()->dipswitch = using_flags->get_config_ptr()->dipswitch & ~(1 << num); } } bool get_dipsw(int num) { if((num < 0) || (num >= 32)) return false; - if(((1 << num) & config.dipswitch) == 0) return false; + if(((1 << num) & using_flags->get_config_ptr()->dipswitch) == 0) return false; return true; } void set_printer_device(int); diff --git a/source/src/qt/gui/mainwindow_utils.cpp b/source/src/qt/gui/mainwindow_utils.cpp index 6a03e6d2f..fde9e7cb9 100644 --- a/source/src/qt/gui/mainwindow_utils.cpp +++ b/source/src/qt/gui/mainwindow_utils.cpp @@ -21,21 +21,21 @@ extern const double s_late_table[]; void Ui_MainWindowBase::set_latency(int num) { if((num < 0) || (num >= 8)) return; - config.sound_latency = num; + using_flags->get_config_ptr()->sound_latency = num; emit sig_emu_update_config(); } void Ui_MainWindowBase::set_freq(int num) { if((num < 0) || (num >= 16)) return; - config.sound_frequency = num; + using_flags->get_config_ptr()->sound_frequency = num; emit sig_emu_update_config(); } void Ui_MainWindowBase::set_sound_device(int num) { if((num < 0) || (num >= using_flags->get_use_sound_device_type())) return; - config.sound_device_type = num; + using_flags->get_config_ptr()->sound_device_type = num; emit sig_emu_update_config(); } @@ -57,57 +57,57 @@ void Ui_MainWindowBase::start_record_sound(bool start) void Ui_MainWindowBase::set_monitor_type(int num) { if((num < 0) || (num >= using_flags->get_use_monitor_type())) return; - config.monitor_type = num; + using_flags->get_config_ptr()->monitor_type = num; emit sig_emu_update_config(); } void Ui_MainWindowBase::set_scan_line(bool flag) { if(flag) { - config.scan_line = ~0; + using_flags->get_config_ptr()->scan_line = ~0; } else { - config.scan_line = 0; + using_flags->get_config_ptr()->scan_line = 0; } emit sig_emu_update_config(); } void Ui_MainWindowBase::set_screen_rotate(bool flag) { - config.rotate_type = flag; - if(config.window_mode >= using_flags->get_screen_mode_num()) config.window_mode = using_flags->get_screen_mode_num() - 1; - if(config.window_mode < 0) config.window_mode = 0; - if(actionScreenSize[config.window_mode] != NULL) { - actionScreenSize[config.window_mode]->binds->set_screen_size(); + using_flags->get_config_ptr()->rotate_type = flag; + if(using_flags->get_config_ptr()->window_mode >= using_flags->get_screen_mode_num()) using_flags->get_config_ptr()->window_mode = using_flags->get_screen_mode_num() - 1; + if(using_flags->get_config_ptr()->window_mode < 0) using_flags->get_config_ptr()->window_mode = 0; + if(actionScreenSize[using_flags->get_config_ptr()->window_mode] != NULL) { + actionScreenSize[using_flags->get_config_ptr()->window_mode]->binds->set_screen_size(); } } void Ui_MainWindowBase::set_crt_filter(bool flag) { - config.crt_filter = flag; + using_flags->get_config_ptr()->crt_filter = flag; } void Ui_MainWindowBase::set_gl_crt_filter(bool flag) { - config.use_opengl_filters = flag; + using_flags->get_config_ptr()->use_opengl_filters = flag; } void Ui_MainWindowBase::set_cmt_sound(bool flag) { - config.tape_sound = flag; + using_flags->get_config_ptr()->tape_sound = flag; emit sig_emu_update_config(); } void Ui_MainWindowBase::set_device_type(int num) { if((num >= using_flags->get_use_device_type()) && (num < 0)) return; - config.device_type = num; + using_flags->get_config_ptr()->device_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; - config.drive_type = num; + using_flags->get_config_ptr()->drive_type = num; emit sig_emu_update_config(); } @@ -116,7 +116,7 @@ void Ui_MainWindowBase::set_screen_size(int w, int h) { if((w <= 0) || (h <= 0)) return; if(using_flags->is_use_screen_rotate()) { - if(config.rotate_type) { + if(using_flags->get_config_ptr()->rotate_type) { this->graphicsView->setFixedSize(h, w); this->resize_statusbar(h, w); } else { @@ -140,12 +140,12 @@ void Ui_MainWindowBase::set_screen_aspect(int num) // 2 = ASPECT(SCale Y) // 3 = ASPECT(Scale X,Y) - config.window_stretch_type = num; + using_flags->get_config_ptr()->window_stretch_type = num; if(emu) { int w, h, n; double nd, ww, hh; - n = config.window_mode; + n = using_flags->get_config_ptr()->window_mode; if(n < 0) n = 1; nd = actionScreenSize[n]->binds->getDoubleValue(); ww = nd * (double)using_flags->get_screen_width(); @@ -156,11 +156,11 @@ void Ui_MainWindowBase::set_screen_aspect(int num) double par_w = (double)using_flags->get_screen_width_aspect() / (double)using_flags->get_screen_width(); double par_h = (double)using_flags->get_screen_height_aspect() / (double)using_flags->get_screen_height(); double par = par_h / par_w; - if(config.window_stretch_type == 1) { // refer to X, scale Y. + if(using_flags->get_config_ptr()->window_stretch_type == 1) { // refer to X, scale Y. hh = hh * par_h; - } else if(config.window_stretch_type == 2) { // refer to Y, scale X only + } else if(using_flags->get_config_ptr()->window_stretch_type == 2) { // refer to Y, scale X only ww = ww / par_h; - } else if(config.window_stretch_type == 3) { // Scale both X, Y + } else if(using_flags->get_config_ptr()->window_stretch_type == 3) { // Scale both X, Y ww = ww * par_w; hh = hh * par_h; } @@ -188,7 +188,7 @@ void Ui_MainWindowBase::ConfigDeviceType(void) actionDeviceType[ii]->setCheckable(true); actionDeviceType[ii]->setVisible(true); actionDeviceType[ii]->binds->setValue1(ii); - if(config.device_type == ii) actionDeviceType[ii]->setChecked(true); + if(using_flags->get_config_ptr()->device_type == ii) actionDeviceType[ii]->setChecked(true); menuDeviceType->addAction(actionDeviceType[ii]); connect(actionDeviceType[ii], SIGNAL(triggered()), actionDeviceType[ii]->binds, SLOT(do_set_device_type())); @@ -214,7 +214,7 @@ void Ui_MainWindowBase::ConfigDriveType(void) actionDriveType[i]->setCheckable(true); actionDriveType[i]->setVisible(true); actionDriveType[i]->binds->setValue1(i); - if(i == config.drive_type) actionDriveType[i]->setChecked(true); // Need to write configure + if(i == using_flags->get_config_ptr()->drive_type) actionDriveType[i]->setChecked(true); // Need to write configure actionGroup_DriveType->addAction(actionDriveType[i]); menuDriveType->addAction(actionDriveType[i]); connect(actionDriveType[i], SIGNAL(triggered()), @@ -241,7 +241,7 @@ void Ui_MainWindowBase::ConfigSoundDeviceType(void) actionSoundDevice[i] = new Action_Control(this, using_flags); actionSoundDevice[i]->setCheckable(true); actionSoundDevice[i]->binds->setValue1(i); - if(i == config.sound_device_type) actionSoundDevice[i]->setChecked(true); // Need to write configure + if(i == using_flags->get_config_ptr()->sound_device_type) actionSoundDevice[i]->setChecked(true); // Need to write configure tmps = QString::fromUtf8("actionSoundDevice_"); actionSoundDevice[i]->setObjectName(tmps + QString::number(i)); menuSoundDevice->addAction(actionSoundDevice[i]); @@ -272,7 +272,7 @@ void Ui_MainWindowBase::ConfigPrinterType(void) actionPrintDevice[i] = new Action_Control(this, using_flags); actionPrintDevice[i]->setCheckable(true); actionPrintDevice[i]->binds->setValue1(i); - if(i == config.printer_device_type) actionPrintDevice[i]->setChecked(true); // Need to write configure + if(i == using_flags->get_config_ptr()->printer_device_type) actionPrintDevice[i]->setChecked(true); // Need to write configure tmps = QString::fromUtf8("actionPrintDevice_"); actionPrintDevice[i]->setObjectName(tmps + QString::number(i)); menuPrintDevice->addAction(actionPrintDevice[i]); @@ -296,6 +296,6 @@ void Ui_MainWindowBase::set_printer_device(int p_type) } else { if(p_type >= 2) p_type = 1; } - config.printer_device_type = p_type; + using_flags->get_config_ptr()->printer_device_type = p_type; emit sig_emu_update_config(); } diff --git a/source/src/qt/gui/menu_cmt.cpp b/source/src/qt/gui/menu_cmt.cpp index abcddc8e7..c2745f4c9 100644 --- a/source/src/qt/gui/menu_cmt.cpp +++ b/source/src/qt/gui/menu_cmt.cpp @@ -50,13 +50,13 @@ void Menu_CMTClass::create_pulldown_menu_device_sub(void) action_recording->setVisible(true); action_recording->setCheckable(false); - if(config.wave_shaper == 0) { + if(using_flags->get_config_ptr()->wave_shaper == 0) { action_wave_shaper->setChecked(false); } else { action_wave_shaper->setChecked(true); } if(using_flags->is_machine_cmt_mz_series()) { - if(config.direct_load_mzt == 0) { + if(using_flags->get_config_ptr()->direct_load_mzt == 0) { action_direct_load_mzt->setChecked(false); } else { action_direct_load_mzt->setChecked(true); diff --git a/source/src/qt/gui/menu_control.cpp b/source/src/qt/gui/menu_control.cpp index 86975e34b..dd06681f4 100644 --- a/source/src/qt/gui/menu_control.cpp +++ b/source/src/qt/gui/menu_control.cpp @@ -88,7 +88,7 @@ void Ui_MainWindowBase::ConfigCpuSpeed(void) void Ui_MainWindowBase::do_change_boot_mode(int mode) { if((mode < 0) || (mode >= 8)) return; - config.boot_mode = mode; + using_flags->get_config_ptr()->boot_mode = mode; emit sig_emu_update_config(); } @@ -109,7 +109,7 @@ void Ui_MainWindowBase::ConfigCPUBootMode(int num) tmps = QString::fromUtf8("actionBootMode_") + tmps; actionBootMode[i]->setObjectName(tmps); actionBootMode[i]->setCheckable(true); - if(i == config.boot_mode) actionBootMode[i]->setChecked(true); + if(i == using_flags->get_config_ptr()->boot_mode) actionBootMode[i]->setChecked(true); actionBootMode[i]->binds->setValue1(i); menuBootMode->addAction(actionBootMode[i]); actionGroup_BootMode->addAction(actionBootMode[i]); @@ -121,7 +121,7 @@ void Ui_MainWindowBase::ConfigCPUBootMode(int num) void Ui_MainWindowBase::do_change_cpu_type(int mode) { if((mode < 0) || (mode >= 8)) return; - config.cpu_type = mode; + using_flags->get_config_ptr()->cpu_type = mode; emit sig_emu_update_config(); } @@ -140,7 +140,7 @@ void Ui_MainWindowBase::ConfigCPUTypes(int num) tmps = QString::fromUtf8("actionCpuType_") + tmps; actionCpuType[i]->setObjectName(tmps); actionCpuType[i]->setCheckable(true); - if(i == config.cpu_type) actionCpuType[i]->setChecked(true); + if(i == using_flags->get_config_ptr()->cpu_type) actionCpuType[i]->setChecked(true); actionCpuType[i]->binds->setValue1(i); menuCpuType->addAction(actionCpuType[i]); actionGroup_CpuType->addAction(actionCpuType[i]); @@ -325,6 +325,6 @@ void Ui_MainWindowBase::retranslateControlMenu(const char *SpecialResetTitle, b void Ui_MainWindowBase::do_set_sound_device(int num) { if((num < 0) || (num >= using_flags->get_use_sound_device_type())) return; - config.sound_device_type = num; + using_flags->get_config_ptr()->sound_device_type = num; emit sig_emu_update_config(); } diff --git a/source/src/qt/gui/menu_main.cpp b/source/src/qt/gui/menu_main.cpp index bd8ec7902..6f021ae4d 100644 --- a/source/src/qt/gui/menu_main.cpp +++ b/source/src/qt/gui/menu_main.cpp @@ -38,6 +38,7 @@ extern EMU *emu; Ui_MainWindowBase::Ui_MainWindowBase(USING_FLAGS *p, QWidget *parent) : QMainWindow(parent) { using_flags = p; + p_config = p->get_config_ptr(); setupUi(); createContextMenu(); } @@ -409,16 +410,16 @@ void Ui_MainWindowBase::setupUi(void) connect(actionHelp_License_JP, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString))); menuHELP->addAction(actionHelp_License_JP); - if(config.window_mode <= 0) config.window_mode = 0; - if(config.window_mode >= using_flags->get_screen_mode_num()) config.window_mode = using_flags->get_screen_mode_num() - 1; + if(using_flags->get_config_ptr()->window_mode <= 0) using_flags->get_config_ptr()->window_mode = 0; + if(using_flags->get_config_ptr()->window_mode >= using_flags->get_screen_mode_num()) using_flags->get_config_ptr()->window_mode = using_flags->get_screen_mode_num() - 1; w = using_flags->get_screen_width(); h = using_flags->get_screen_height(); - if(actionScreenSize[config.window_mode] != NULL) { - double nd = actionScreenSize[config.window_mode]->binds->getDoubleValue(); + if(actionScreenSize[using_flags->get_config_ptr()->window_mode] != NULL) { + double nd = actionScreenSize[using_flags->get_config_ptr()->window_mode]->binds->getDoubleValue(); w = (int)(nd * (double)w); h = (int)(nd * (double)h); if(using_flags->is_use_screen_rotate()) { - if(config.rotate_type) { + if(using_flags->get_config_ptr()->rotate_type) { int tmp_w = w; w = h; h = tmp_w; @@ -426,7 +427,7 @@ void Ui_MainWindowBase::setupUi(void) } } else { if(using_flags->is_use_screen_rotate()) { - if(config.rotate_type) { + if(using_flags->get_config_ptr()->rotate_type) { w = 600; h = 960; } else { @@ -446,9 +447,9 @@ void Ui_MainWindowBase::setupUi(void) } } this->set_screen_size(w, h); - this->set_screen_aspect(config.window_stretch_type); - if(actionScreenSize[config.window_mode] != NULL) { - double nd = actionScreenSize[config.window_mode]->binds->getDoubleValue(); + this->set_screen_aspect(using_flags->get_config_ptr()->window_stretch_type); + if(actionScreenSize[using_flags->get_config_ptr()->window_mode] != NULL) { + double nd = actionScreenSize[using_flags->get_config_ptr()->window_mode]->binds->getDoubleValue(); graphicsView->do_set_screen_multiply(nd); } if(using_flags->is_use_joystick()) { @@ -793,7 +794,7 @@ void Ui_MainWindowBase::OnWindowMove(void) void Ui_MainWindowBase::OnWindowResize(void) { if(emu) { - set_window(config.window_mode); + set_window(using_flags->get_config_ptr()->window_mode); } } diff --git a/source/src/qt/gui/menu_screen.cpp b/source/src/qt/gui/menu_screen.cpp index bb0c57147..c5115f35c 100644 --- a/source/src/qt/gui/menu_screen.cpp +++ b/source/src/qt/gui/menu_screen.cpp @@ -31,7 +31,7 @@ void Object_Menu_Control::set_screen_aspect(void) { void Object_Menu_Control::set_screen_size(void) { int w, h; double nd, ww, hh; - config.window_mode = getNumber(); + using_flags->get_config_ptr()->window_mode = getNumber(); nd = getDoubleValue(); ww = nd * (double)using_flags->get_screen_width(); hh = nd * (double)using_flags->get_screen_height(); @@ -40,11 +40,11 @@ void Object_Menu_Control::set_screen_size(void) { double par_w = (double)using_flags->get_screen_width_aspect() / (double)using_flags->get_screen_width(); double par_h = (double)using_flags->get_screen_height_aspect() / (double)using_flags->get_screen_height(); double par = par_h / par_w; - if(config.window_stretch_type == 1) { // refer to X, scale Y. + if(using_flags->get_config_ptr()->window_stretch_type == 1) { // refer to X, scale Y. hh = hh * par_h; - } else if(config.window_stretch_type == 2) { // refer to Y, scale X only + } else if(using_flags->get_config_ptr()->window_stretch_type == 2) { // refer to Y, scale X only ww = ww / par_h; - } else if(config.window_stretch_type == 3) { // Scale both X, Y + } else if(using_flags->get_config_ptr()->window_stretch_type == 3) { // Scale both X, Y ww = ww * par_w; hh = hh * par_h; } @@ -72,12 +72,12 @@ void Ui_MainWindowBase::do_start_saving_movie(void) void Ui_MainWindowBase::set_gl_scan_line_vert(bool f) { - config.opengl_scanline_vert = f; + using_flags->get_config_ptr()->opengl_scanline_vert = f; } void Ui_MainWindowBase::set_gl_scan_line_horiz(bool f) { - config.opengl_scanline_horiz = f; + using_flags->get_config_ptr()->opengl_scanline_horiz = f; } void Ui_MainWindowBase::ConfigScreenMenu_List(void) @@ -102,7 +102,7 @@ void Ui_MainWindowBase::ConfigScreenMenu_List(void) actionScreenSize[i]->setCheckable(true); actionScreenSize[i]->binds->setNumber(i); - if(i == config.window_mode) actionScreenSize[i]->setChecked(true); // OK? + if(i == using_flags->get_config_ptr()->window_mode) actionScreenSize[i]->setChecked(true); // OK? actionGroup_ScreenSize->addAction(actionScreenSize[i]); actionScreenSize[i]->binds->setDoubleValue(screen_multiply_table[i]); @@ -128,7 +128,7 @@ void Ui_MainWindowBase::ConfigScreenMenu(void) actionScanLine = new Action_Control(this, using_flags); actionScanLine->setObjectName(QString::fromUtf8("actionScanLine")); actionScanLine->setCheckable(true); - if(config.scan_line != 0) { + if(using_flags->get_config_ptr()->scan_line != 0) { actionScanLine->setChecked(true); } else { actionScanLine->setChecked(false); @@ -140,7 +140,7 @@ void Ui_MainWindowBase::ConfigScreenMenu(void) actionGLScanLineHoriz = new Action_Control(this, using_flags); actionGLScanLineHoriz->setObjectName(QString::fromUtf8("actionGLScanLineHoriz")); actionGLScanLineHoriz->setCheckable(true); - if(config.opengl_scanline_horiz != 0) { + if(using_flags->get_config_ptr()->opengl_scanline_horiz != 0) { actionGLScanLineHoriz->setChecked(true); } else { actionGLScanLineHoriz->setChecked(false); @@ -151,7 +151,7 @@ void Ui_MainWindowBase::ConfigScreenMenu(void) actionGLScanLineVert = new Action_Control(this, using_flags); actionGLScanLineVert->setObjectName(QString::fromUtf8("actionGLScanLineVert")); actionGLScanLineVert->setCheckable(true); - if(config.opengl_scanline_vert != 0) { + if(using_flags->get_config_ptr()->opengl_scanline_vert != 0) { actionGLScanLineVert->setChecked(true); } else { actionGLScanLineVert->setChecked(false); @@ -164,7 +164,7 @@ void Ui_MainWindowBase::ConfigScreenMenu(void) actionRotate = new Action_Control(this, using_flags); actionRotate->setObjectName(QString::fromUtf8("actionScanLine")); actionRotate->setCheckable(true); - if(config.rotate_type) { + if(using_flags->get_config_ptr()->rotate_type) { actionRotate->setChecked(true); } else { actionRotate->setChecked(false); @@ -177,14 +177,14 @@ void Ui_MainWindowBase::ConfigScreenMenu(void) actionCRT_Filter->setObjectName(QString::fromUtf8("actionCRT_Filter")); actionCRT_Filter->setEnabled(true); actionCRT_Filter->setCheckable(true); - if(config.crt_filter == 0) actionCRT_Filter->setChecked(true); + if(using_flags->get_config_ptr()->crt_filter == 0) actionCRT_Filter->setChecked(true); connect(actionCRT_Filter, SIGNAL(toggled(bool)), this, SLOT(set_crt_filter(bool))); } actionOpenGL_Filter = new Action_Control(this, using_flags); actionOpenGL_Filter->setObjectName(QString::fromUtf8("actionOpenGL_Filter")); actionOpenGL_Filter->setEnabled(true); actionOpenGL_Filter->setCheckable(true); - if(config.use_opengl_filters) actionOpenGL_Filter->setChecked(true); + if(using_flags->get_config_ptr()->use_opengl_filters) actionOpenGL_Filter->setChecked(true); connect(actionOpenGL_Filter, SIGNAL(toggled(bool)), this, SLOT(set_gl_crt_filter(bool))); if((using_flags->get_screen_height_aspect() != using_flags->get_screen_height()) || @@ -192,26 +192,26 @@ void Ui_MainWindowBase::ConfigScreenMenu(void) actionDot_by_Dot = new Action_Control(this, using_flags); actionDot_by_Dot->setObjectName(QString::fromUtf8("actionDot_by_Dot")); actionDot_by_Dot->setCheckable(true); - if(config.window_stretch_type == 0) actionDot_by_Dot->setChecked(true); + if(using_flags->get_config_ptr()->window_stretch_type == 0) actionDot_by_Dot->setChecked(true); actionDot_by_Dot->binds->setValue1(0); actionReferToX_Display = new Action_Control(this, using_flags); actionReferToX_Display->setObjectName(QString::fromUtf8("actionReferToX_Display")); actionReferToX_Display->setCheckable(true); actionReferToX_Display->binds->setValue1(1); - if(config.window_stretch_type == 1) actionReferToX_Display->setChecked(true); + if(using_flags->get_config_ptr()->window_stretch_type == 1) actionReferToX_Display->setChecked(true); actionReferToY_Display = new Action_Control(this, using_flags); actionReferToY_Display->setObjectName(QString::fromUtf8("actionReferToY_Display")); actionReferToY_Display->setCheckable(true); actionReferToY_Display->binds->setValue1(2); - if(config.window_stretch_type == 2) actionReferToY_Display->setChecked(true); + if(using_flags->get_config_ptr()->window_stretch_type == 2) actionReferToY_Display->setChecked(true); actionFill_Display = new Action_Control(this, using_flags); actionFill_Display->setObjectName(QString::fromUtf8("actionFill_Display")); actionFill_Display->setCheckable(true); actionFill_Display->binds->setValue1(3); - if(config.window_stretch_type == 3) actionFill_Display->setChecked(true); + if(using_flags->get_config_ptr()->window_stretch_type == 3) actionFill_Display->setChecked(true); actionGroup_Stretch = new QActionGroup(this); actionGroup_Stretch->setExclusive(true); diff --git a/source/src/qt/gui/menu_sound.cpp b/source/src/qt/gui/menu_sound.cpp index 5950e4eb9..cd00bb086 100644 --- a/source/src/qt/gui/menu_sound.cpp +++ b/source/src/qt/gui/menu_sound.cpp @@ -44,7 +44,7 @@ void Ui_MainWindowBase::rise_volume_dialog(void) dlg->setWindowIcon(img); this->retranslateVolumeLabels(dlg); - n = (float)(((config.general_sound_level + 32768) * 1000) / 65535) / 10.0; + n = (float)(((using_flags->get_config_ptr()->general_sound_level + 32768) * 1000) / 65535) / 10.0; s_val.setNum(n, 'f', 1); tmps = QApplication::translate("Ui_SoundDialog", "Set Volume", 0); tmps = tmps + QString::fromUtf8(" (") + s_val + QString::fromUtf8("%)"); @@ -75,7 +75,7 @@ void Ui_MainWindowBase::CreateSoundMenu(void) actionSoundCMT = new Action_Control(this, using_flags); actionSoundCMT->setObjectName(QString::fromUtf8("actionSoundCMT")); actionSoundCMT->setCheckable(true); - if(config.tape_sound != 0) { + if(using_flags->get_config_ptr()->tape_sound != 0) { actionSoundCMT->setChecked(true); } else { actionSoundCMT->setChecked(false); @@ -124,7 +124,7 @@ void Ui_MainWindowBase::ConfigSoundMenu(void) action_Freq[i]->setObjectName(tmps); action_Freq[i]->setCheckable(true); action_Freq[i]->binds->setNumber(i); - if(i == config.sound_frequency) { + if(i == using_flags->get_config_ptr()->sound_frequency) { action_Freq[i]->setChecked(true); freq = s_freq_table[i]; } @@ -142,7 +142,7 @@ void Ui_MainWindowBase::ConfigSoundMenu(void) action_Latency[i]->setObjectName(tmps); action_Latency[i]->setCheckable(true); action_Latency[i]->binds->setNumber(i); - if(i == config.sound_latency) action_Latency[i]->setChecked(true); + if(i == using_flags->get_config_ptr()->sound_latency) action_Latency[i]->setChecked(true); actionGroup_Sound_Latency->addAction(action_Latency[i]); } @@ -200,5 +200,5 @@ void Ui_MainWindowBase::retranslateSoundMenu(void) menuSound_Latency->setTitle(QApplication::translate("MainWindow", "Sound Latency", 0)); action_VolumeDialog->setText(QApplication::translate("MainWindow", "Set Volumes", 0)); - do_update_volume(config.general_sound_level); + do_update_volume(using_flags->get_config_ptr()->general_sound_level); } diff --git a/source/src/qt/gui/qt_glevents.cpp b/source/src/qt/gui/qt_glevents.cpp index d4c0ad37b..d2bda4939 100644 --- a/source/src/qt/gui/qt_glevents.cpp +++ b/source/src/qt/gui/qt_glevents.cpp @@ -89,7 +89,7 @@ void GLDrawClass::mousePressEvent(QMouseEvent *event) double xx; double yy; if(using_flags->is_use_screen_rotate()) { - if(config.rotate_type) { + if(using_flags->get_config_ptr()->rotate_type) { xx = (double)ypos * ((double)using_flags->get_screen_width() / (double)d_hh); yy = (double)xpos * ((double)using_flags->get_screen_height() / (double)d_ww); } else { diff --git a/source/src/qt/gui/qt_glutil_gl2_0.cpp b/source/src/qt/gui/qt_glutil_gl2_0.cpp index 55b6192a2..7b10fe827 100644 --- a/source/src/qt/gui/qt_glutil_gl2_0.cpp +++ b/source/src/qt/gui/qt_glutil_gl2_0.cpp @@ -501,8 +501,8 @@ void GLDraw_2_0::drawGridsVertical(void) void GLDraw_2_0::drawGrids(void) { - gl_grid_horiz = config.opengl_scanline_horiz; - gl_grid_vert = config.opengl_scanline_vert; + gl_grid_horiz = using_flags->get_config_ptr()->opengl_scanline_horiz; + gl_grid_vert = using_flags->get_config_ptr()->opengl_scanline_vert; if(gl_grid_horiz && (vert_lines > 0)) { drawGridsHorizonal(); } // Will fix. @@ -622,7 +622,7 @@ void GLDraw_2_0::drawScreenTexture(void) } QVector4D color; - smoosing = config.use_opengl_filters; + smoosing = using_flags->get_config_ptr()->use_opengl_filters; if(set_brightness) { color = QVector4D(fBrightR, fBrightG, fBrightB, 1.0); } else { @@ -682,7 +682,7 @@ void GLDraw_2_0::drawMain(QOpenGLShaderProgram *prg, prg->setUniformValue("tex_width", (float)screen_texture_width); prg->setUniformValue("tex_height", (float)screen_texture_height); if(using_flags->is_use_screen_rotate()) { - if(config.rotate_type) { + if(using_flags->get_config_ptr()->rotate_type) { prg->setUniformValue("rotate", GL_TRUE); } else { prg->setUniformValue("rotate", GL_FALSE); diff --git a/source/src/qt/gui/qt_glutil_gl3_0.cpp b/source/src/qt/gui/qt_glutil_gl3_0.cpp index 1dada7c6f..0c704d718 100644 --- a/source/src/qt/gui/qt_glutil_gl3_0.cpp +++ b/source/src/qt/gui/qt_glutil_gl3_0.cpp @@ -474,7 +474,7 @@ void GLDraw_3_0::drawScreenTexture(void) } QVector4D color; - smoosing = config.use_opengl_filters; + smoosing = using_flags->get_config_ptr()->use_opengl_filters; if(set_brightness) { color = QVector4D(fBrightR, fBrightG, fBrightB, 1.0); } else { @@ -526,7 +526,7 @@ void GLDraw_3_0::drawMain(QOpenGLShaderProgram *prg, prg->setUniformValue("tex_width", (float)screen_texture_width); prg->setUniformValue("tex_height", (float)screen_texture_height); if(using_flags->is_use_screen_rotate()) { - if(config.rotate_type) { + if(using_flags->get_config_ptr()->rotate_type) { prg->setUniformValue("rotate", GL_TRUE); } else { prg->setUniformValue("rotate", GL_FALSE); diff --git a/source/src/qt/gui/qt_input.cpp b/source/src/qt/gui/qt_input.cpp index b1b2169b3..1237cb2bf 100644 --- a/source/src/qt/gui/qt_input.cpp +++ b/source/src/qt/gui/qt_input.cpp @@ -162,7 +162,7 @@ uint32_t GLDrawClass::get106Scancode2VK(uint32_t data) uint32_t vk; int i = 0; vk = key_table->get_vk_from_scan(data); - if(config.swap_kanji_pause) { + if(using_flags->get_config_ptr()->swap_kanji_pause) { if(vk == VK_KANJI) { vk = VK_PAUSE; } else if(vk == VK_PAUSE) { diff --git a/source/src/qt/gui/qt_main.cpp b/source/src/qt/gui/qt_main.cpp index f8d1a5e0e..8bb7af52d 100644 --- a/source/src/qt/gui/qt_main.cpp +++ b/source/src/qt/gui/qt_main.cpp @@ -95,7 +95,8 @@ void get_short_filename(_TCHAR *dst, _TCHAR *file, int maxlen) return; } -extern int MainLoop(int argc, char *argv[]); +extern int MainLoop(int argc, char *argv[], config_t *cfg); +extern config_t config; /* * This is main for Qt. @@ -110,7 +111,7 @@ int main(int argc, char *argv[]) /* * アプリケーション初期化 */ - nErrorCode = MainLoop(argc, argv); + nErrorCode = MainLoop(argc, argv, &config); return nErrorCode; } #if defined(Q_OS_WIN) diff --git a/source/src/qt/gui/sound_dialog.cpp b/source/src/qt/gui/sound_dialog.cpp index 124ec669b..956a75103 100644 --- a/source/src/qt/gui/sound_dialog.cpp +++ b/source/src/qt/gui/sound_dialog.cpp @@ -33,7 +33,7 @@ void Ui_SndSliderObject::setValue(int level) float n; if(level < -32768) level = -32678; if(level > 32767) level = 32767; - config.general_sound_level = level; + using_flags->get_config_ptr()->general_sound_level = level; tmps = QApplication::translate("Ui_SoundDialog", "Set Volume", 0); n = (float)(((level + 32768) * 1000) / 65535) / 10.0; @@ -115,7 +115,7 @@ Ui_SoundDialog::Ui_SoundDialog(USING_FLAGS *p, EMU *_emu, QWidget *parent) : QWi sliderMasterVolume->setMaximum(32768); sliderMasterVolume->setSingleStep(256); sliderMasterVolume->setPageStep(4096); - sliderMasterVolume->setValue(config.general_sound_level); + sliderMasterVolume->setValue(using_flags->get_config_ptr()->general_sound_level); sliderMasterVolume->connect(sliderMasterVolume, SIGNAL(valueChanged(int)), sliderMasterVolume, SLOT(setValue(int))); VBoxMasterVolume = new QVBoxLayout; @@ -134,8 +134,8 @@ Ui_SoundDialog::Ui_SoundDialog(USING_FLAGS *p, EMU *_emu, QWidget *parent) : QWi int ij = 0; for(ii = 0; ii < using_flags->get_use_sound_volume(); ii++) { QString lbl = QApplication::translate("Ui_SoundDialog", using_flags->get_sound_device_caption(ii), 0); - int l_val = config.sound_volume_l[ii]; - int r_val = config.sound_volume_r[ii]; + int l_val = using_flags->get_config_ptr()->sound_volume_l[ii]; + int r_val = using_flags->get_config_ptr()->sound_volume_r[ii]; int s_lvl; int s_balance; diff --git a/source/src/qt/gui/tab_movie_general.cpp b/source/src/qt/gui/tab_movie_general.cpp index 6a1103de1..64dd7f9e9 100644 --- a/source/src/qt/gui/tab_movie_general.cpp +++ b/source/src/qt/gui/tab_movie_general.cpp @@ -33,19 +33,19 @@ CSP_TabMovieGeneral::CSP_TabMovieGeneral(MOVIE_SAVER *ms, CSP_DialogMovie *paren combo_vcodec->addItem(QString::fromUtf8("H.264 (Drop tail frames)"), VIDEO_CODEC_H264); for(int i = 0; i < combo_vcodec->count(); i++) { int ii = combo_vcodec->itemData(i).toInt(); - if(ii == config.video_codec_type) { + if(ii == using_flags->get_config_ptr()->video_codec_type) { combo_vcodec->setCurrentIndex(ii); } } - video_codec_type = config.video_codec_type; + video_codec_type = using_flags->get_config_ptr()->video_codec_type; connect(combo_vcodec, SIGNAL(activated(int)), this, SLOT(do_set_video_codec_type(int))); label_resolution = new QLabel(QApplication::translate("MainWindow", "Resolution", 0), this); combo_resolution = new QComboBox(this); - geometry.setWidth(config.video_width); - geometry.setHeight(config.video_height); - audio_bitrate = config.audio_bitrate; + geometry.setWidth(using_flags->get_config_ptr()->video_width); + geometry.setHeight(using_flags->get_config_ptr()->video_height); + audio_bitrate = using_flags->get_config_ptr()->audio_bitrate; label_video_threads = new QLabel(QApplication::translate("MainWindow", "Video Threads", 0), this); combo_video_threads = new QComboBox(this); @@ -53,7 +53,7 @@ CSP_TabMovieGeneral::CSP_TabMovieGeneral(MOVIE_SAVER *ms, CSP_DialogMovie *paren label_audio_bitrate = new QLabel(QApplication::translate("MainWindow", "Audio Bitrate", 0), this); label_video_fps = new QLabel(QApplication::translate("MainWindow", "Framerate", 0), this); combo_video_fps = new QComboBox(this); - video_fps = config.video_frame_rate; + video_fps = using_flags->get_config_ptr()->video_frame_rate; // Value for resolution bool skipf = false; @@ -161,7 +161,7 @@ CSP_TabMovieGeneral::CSP_TabMovieGeneral(MOVIE_SAVER *ms, CSP_DialogMovie *paren for(int i = 0; i < combo_resolution->count(); i++) { QSize s = combo_resolution->itemData(i).toSize(); - if((s.width() == config.video_width) && (s.height() == config.video_height)) { + if((s.width() == using_flags->get_config_ptr()->video_width) && (s.height() == using_flags->get_config_ptr()->video_height)) { combo_resolution->setCurrentIndex(i); } } @@ -183,11 +183,11 @@ CSP_TabMovieGeneral::CSP_TabMovieGeneral(MOVIE_SAVER *ms, CSP_DialogMovie *paren combo_video_threads->addItem(QString::fromUtf8("12"), 12); for(int i = 0; i < combo_video_threads->count(); i++) { int br = combo_video_threads->itemData(i).toInt(); - if(br == config.video_threads) { + if(br == using_flags->get_config_ptr()->video_threads) { combo_video_threads->setCurrentIndex(i); } } - video_threads = config.video_threads; + video_threads = using_flags->get_config_ptr()->video_threads; connect(combo_video_threads, SIGNAL(activated(int)), this, SLOT(do_set_video_threads(int))); // Audio bitrate @@ -199,7 +199,7 @@ CSP_TabMovieGeneral::CSP_TabMovieGeneral(MOVIE_SAVER *ms, CSP_DialogMovie *paren combo_audio_bitrate->addItem(QString::fromUtf8("192kbps"), 192); for(int i = 0; i < combo_audio_bitrate->count(); i++) { int br = combo_audio_bitrate->itemData(i).toInt(); - if(br == config.audio_bitrate) { + if(br == using_flags->get_config_ptr()->audio_bitrate) { combo_audio_bitrate->setCurrentIndex(i); } } @@ -211,7 +211,7 @@ CSP_TabMovieGeneral::CSP_TabMovieGeneral(MOVIE_SAVER *ms, CSP_DialogMovie *paren combo_video_fps->addItem(QString::fromUtf8("60fps"), 60); // Temporally disabled for(int i = 0; i < combo_video_fps->count(); i++) { int fps = combo_video_fps->itemData(i).toInt(); - if(fps == config.video_frame_rate) { + if(fps == using_flags->get_config_ptr()->video_frame_rate) { combo_video_fps->setCurrentIndex(i); } } @@ -294,7 +294,7 @@ void CSP_TabMovieGeneral::do_set_codecs(void) // See: // https://libav.org/avconv.html#Video-Options - config.audio_bitrate = audio_bitrate; + using_flags->get_config_ptr()->audio_bitrate = audio_bitrate; emit sig_set_audio_bitrate(audio_bitrate); switch(video_codec_type) { @@ -305,18 +305,18 @@ void CSP_TabMovieGeneral::do_set_codecs(void) emit sig_video_add_option(QString::fromUtf8("c:v"), QString::fromUtf8("h264")); break; } - config.video_codec_type = video_codec_type; + using_flags->get_config_ptr()->video_codec_type = video_codec_type; emit sig_video_add_option(QString::fromUtf8("c:a"), QString::fromUtf8("aac")); - //config.audio_codec_type = audio_codec_type; + //using_flags->get_config_ptr()->audio_codec_type = audio_codec_type; - config.video_threads = video_threads; - config.video_frame_rate = video_fps; + using_flags->get_config_ptr()->video_threads = video_threads; + using_flags->get_config_ptr()->video_frame_rate = video_fps; - config.video_width = geometry.width(); - config.video_height = geometry.height(); + using_flags->get_config_ptr()->video_width = geometry.width(); + using_flags->get_config_ptr()->video_height = geometry.height(); emit sig_set_video_resolution(geometry); - config.video_threads = video_threads; - config.video_frame_rate = video_fps; + using_flags->get_config_ptr()->video_threads = video_threads; + using_flags->get_config_ptr()->video_frame_rate = video_fps; } diff --git a/source/src/qt/gui/tab_movie_h264.cpp b/source/src/qt/gui/tab_movie_h264.cpp index f641aedc9..acb42acfb 100644 --- a/source/src/qt/gui/tab_movie_h264.cpp +++ b/source/src/qt/gui/tab_movie_h264.cpp @@ -12,6 +12,7 @@ #include "dialog_movie.h" #include "../avio/movie_saver.h" #include "../../config.h" +#include "menu_flags.h" CSP_TabMovieH264::CSP_TabMovieH264(MOVIE_SAVER *ms, CSP_DialogMovie *parent_window, USING_FLAGS *p, QWidget *parent) : QWidget(parent) { @@ -21,8 +22,8 @@ CSP_TabMovieH264::CSP_TabMovieH264(MOVIE_SAVER *ms, CSP_DialogMovie *parent_wind p_movie = ms; p_window = parent_window; - video_maxq = config.video_h264_maxq; - video_minq = config.video_h264_minq; + video_maxq = using_flags->get_config_ptr()->video_h264_maxq; + video_minq = using_flags->get_config_ptr()->video_h264_minq; label_video_bframes = new QLabel(QApplication::translate("MainWindow", "Max B Frames", 0), this); combo_video_bframes = new QComboBox(this); @@ -49,12 +50,12 @@ CSP_TabMovieH264::CSP_TabMovieH264(MOVIE_SAVER *ms, CSP_DialogMovie *parent_wind combo_video_bitrate->addItem(QString::fromUtf8("4500Kbps"), 4500); for(int i = 0; i < combo_video_bitrate->count(); i++) { int br = combo_video_bitrate->itemData(i).toInt(); - if(br == config.video_h264_bitrate) { + if(br == using_flags->get_config_ptr()->video_h264_bitrate) { combo_video_bitrate->setCurrentIndex(i); } } connect(combo_video_bitrate, SIGNAL(activated(int)), this, SLOT(do_set_video_bitrate(int))); - video_bitrate = config.video_h264_bitrate; + video_bitrate = using_flags->get_config_ptr()->video_h264_bitrate; // Video bframes combo_video_bframes->addItem(QString::fromUtf8("0"), 0); @@ -68,11 +69,11 @@ CSP_TabMovieH264::CSP_TabMovieH264(MOVIE_SAVER *ms, CSP_DialogMovie *parent_wind combo_video_bframes->addItem(QString::fromUtf8("8"), 8); for(int i = 0; i < combo_video_bframes->count(); i++) { int br = combo_video_bframes->itemData(i).toInt(); - if(br == config.video_h264_bframes) { + if(br == using_flags->get_config_ptr()->video_h264_bframes) { combo_video_bframes->setCurrentIndex(i); } } - video_bframes = config.video_h264_bframes; + video_bframes = using_flags->get_config_ptr()->video_h264_bframes; connect(combo_video_bframes, SIGNAL(activated(int)), this, SLOT(do_set_bframes(int))); // B adapt @@ -81,34 +82,34 @@ CSP_TabMovieH264::CSP_TabMovieH264(MOVIE_SAVER *ms, CSP_DialogMovie *parent_wind combo_video_b_adapt->addItem(QApplication::translate("MainWindow", "Optimal (Slow with high B-Frames)", 0), 2); for(int i = 0; i < combo_video_b_adapt->count(); i++) { int br = combo_video_b_adapt->itemData(i).toInt(); - if(br == config.video_h264_b_adapt) { + if(br == using_flags->get_config_ptr()->video_h264_b_adapt) { combo_video_b_adapt->setCurrentIndex(i); } } - video_b_adapt = config.video_h264_b_adapt; + video_b_adapt = using_flags->get_config_ptr()->video_h264_b_adapt; connect(combo_video_b_adapt, SIGNAL(activated(int)), this, SLOT(do_set_b_adapt(int))); slider_qmin = new QSlider(Qt::Horizontal, this); slider_qmin->setMinimum(0); slider_qmin->setMaximum(63); - slider_qmin->setValue(config.video_h264_minq); + slider_qmin->setValue(using_flags->get_config_ptr()->video_h264_minq); label_qmin_val = new QLabel(this); - tmps.setNum(config.video_h264_minq); + tmps.setNum(using_flags->get_config_ptr()->video_h264_minq); label_qmin_val->setText(tmps); label_qmin_name = new QLabel(QString::fromUtf8("QP Min"), this); - video_minq = config.video_h264_minq; + video_minq = using_flags->get_config_ptr()->video_h264_minq; connect(slider_qmin, SIGNAL(valueChanged(int)), this, SLOT(do_set_qmin(int))); slider_qmax = new QSlider(Qt::Horizontal, this); slider_qmax->setMinimum(0); slider_qmax->setMaximum(63); - slider_qmax->setValue(config.video_h264_maxq); + slider_qmax->setValue(using_flags->get_config_ptr()->video_h264_maxq); label_qmax_val = new QLabel(this); - tmps.setNum(config.video_h264_maxq); + tmps.setNum(using_flags->get_config_ptr()->video_h264_maxq); label_qmax_val->setText(tmps); label_qmax_name = new QLabel(QString::fromUtf8("QP Max"), this); connect(slider_qmax, SIGNAL(valueChanged(int)), this, SLOT(do_set_qmax(int))); - video_maxq = config.video_h264_maxq; + video_maxq = using_flags->get_config_ptr()->video_h264_maxq; // Subme combo_video_subme->addItem(QApplication::translate("MainWindow", "RD mode decision for I/P-frames", 0), 6); @@ -119,11 +120,11 @@ CSP_TabMovieH264::CSP_TabMovieH264(MOVIE_SAVER *ms, CSP_DialogMovie *parent_wind combo_video_subme->addItem(QApplication::translate("MainWindow", "Full RD: disable all early terminations", 0), 11); for(int i = 0; i < combo_video_subme->count(); i++) { int br = combo_video_subme->itemData(i).toInt(); - if(br == config.video_h264_subme) { + if(br == using_flags->get_config_ptr()->video_h264_subme) { combo_video_subme->setCurrentIndex(i); } } - video_subme = config.video_h264_subme; + video_subme = using_flags->get_config_ptr()->video_h264_subme; connect(combo_video_subme, SIGNAL(activated(int)), this, SLOT(do_set_subme(int))); label_title = new QLabel(QApplication::translate("MainWindow", "Set H.264 parameter.", 0), this); @@ -167,13 +168,13 @@ void CSP_TabMovieH264::do_set_codecs(void) QString value; // See: // https://libav.org/avconv.html#Video-Options - config.video_h264_bitrate = video_bitrate; + using_flags->get_config_ptr()->video_h264_bitrate = video_bitrate; - config.video_h264_maxq = video_maxq; - config.video_h264_minq = video_minq; - config.video_h264_bframes = video_bframes; - config.video_h264_b_adapt = video_b_adapt; - config.video_h264_subme = video_subme; + using_flags->get_config_ptr()->video_h264_maxq = video_maxq; + using_flags->get_config_ptr()->video_h264_minq = video_minq; + using_flags->get_config_ptr()->video_h264_bframes = video_bframes; + using_flags->get_config_ptr()->video_h264_b_adapt = video_b_adapt; + using_flags->get_config_ptr()->video_h264_subme = video_subme; } void CSP_TabMovieH264::do_set_qmin(int n) diff --git a/source/src/qt/gui/tab_movie_mpeg4.cpp b/source/src/qt/gui/tab_movie_mpeg4.cpp index 1466a4993..82d578c4a 100644 --- a/source/src/qt/gui/tab_movie_mpeg4.cpp +++ b/source/src/qt/gui/tab_movie_mpeg4.cpp @@ -12,6 +12,7 @@ #include "dialog_movie.h" #include "../avio/movie_saver.h" #include "../../config.h" +#include "menu_flags.h" CSP_TabMovieMPEG4::CSP_TabMovieMPEG4(MOVIE_SAVER *ms, CSP_DialogMovie *parent_window, USING_FLAGS *p, QWidget *parent) : QWidget(parent) { @@ -21,8 +22,8 @@ CSP_TabMovieMPEG4::CSP_TabMovieMPEG4(MOVIE_SAVER *ms, CSP_DialogMovie *parent_wi p_movie = ms; p_window = parent_window; - video_maxq = config.video_mpeg4_maxq; - video_minq = config.video_mpeg4_minq; + video_maxq = using_flags->get_config_ptr()->video_mpeg4_maxq; + video_minq = using_flags->get_config_ptr()->video_mpeg4_minq; if(video_maxq < video_minq) { int n = video_maxq; video_maxq = video_minq; @@ -59,12 +60,12 @@ CSP_TabMovieMPEG4::CSP_TabMovieMPEG4(MOVIE_SAVER *ms, CSP_DialogMovie *parent_wi combo_video_bitrate->addItem(QString::fromUtf8("20000Kbps"), 20000); for(int i = 0; i < combo_video_bitrate->count(); i++) { int br = combo_video_bitrate->itemData(i).toInt(); - if(br == config.video_mpeg4_bitrate) { + if(br == using_flags->get_config_ptr()->video_mpeg4_bitrate) { combo_video_bitrate->setCurrentIndex(i); } } connect(combo_video_bitrate, SIGNAL(activated(int)), this, SLOT(do_set_video_bitrate(int))); - video_bitrate = config.video_mpeg4_bitrate; + video_bitrate = using_flags->get_config_ptr()->video_mpeg4_bitrate; // Video bframes combo_video_bframes->addItem(QString::fromUtf8("1"), 1); @@ -77,35 +78,35 @@ CSP_TabMovieMPEG4::CSP_TabMovieMPEG4(MOVIE_SAVER *ms, CSP_DialogMovie *parent_wi combo_video_bframes->addItem(QString::fromUtf8("8"), 8); for(int i = 0; i < combo_video_bframes->count(); i++) { int br = combo_video_bframes->itemData(i).toInt(); - if(br == config.video_mpeg4_bframes) { + if(br == using_flags->get_config_ptr()->video_mpeg4_bframes) { combo_video_bframes->setCurrentIndex(i); } } - video_bframes = config.video_mpeg4_bframes; + video_bframes = using_flags->get_config_ptr()->video_mpeg4_bframes; connect(combo_video_bframes, SIGNAL(activated(int)), this, SLOT(do_set_bframes(int))); slider_qmin = new QSlider(Qt::Horizontal, this); slider_qmin->setMinimum(1); slider_qmin->setMaximum(31); - slider_qmin->setValue(config.video_mpeg4_minq); + slider_qmin->setValue(using_flags->get_config_ptr()->video_mpeg4_minq); label_qmin_val = new QLabel(this); - tmps.setNum(config.video_mpeg4_minq); + tmps.setNum(using_flags->get_config_ptr()->video_mpeg4_minq); label_qmin_val->setText(tmps); label_qmin_name = new QLabel(QString::fromUtf8("QP Min"), this); - video_minq = config.video_mpeg4_minq; + video_minq = using_flags->get_config_ptr()->video_mpeg4_minq; connect(slider_qmin, SIGNAL(valueChanged(int)), this, SLOT(do_set_qmin(int))); slider_qmax = new QSlider(Qt::Horizontal, this); slider_qmax->setMinimum(1); slider_qmax->setMaximum(31); - slider_qmax->setValue(config.video_mpeg4_maxq); + slider_qmax->setValue(using_flags->get_config_ptr()->video_mpeg4_maxq); label_qmax_val = new QLabel(this); - tmps.setNum(config.video_mpeg4_maxq); + tmps.setNum(using_flags->get_config_ptr()->video_mpeg4_maxq); label_qmax_val->setText(tmps); label_qmax_name = new QLabel(QString::fromUtf8("QP Max"), this); connect(slider_qmax, SIGNAL(valueChanged(int)), this, SLOT(do_set_qmax(int))); - video_maxq = config.video_mpeg4_maxq; + video_maxq = using_flags->get_config_ptr()->video_mpeg4_maxq; label_title = new QLabel(QApplication::translate("MainWindow", "Set MPEG4v1 parameter.", 0), this); grid_layout = new QGridLayout(this); @@ -141,11 +142,11 @@ void CSP_TabMovieMPEG4::do_set_codecs(void) QString value; // See: // https://libav.org/avconv.html#Video-Options - config.video_mpeg4_bitrate = video_bitrate; + using_flags->get_config_ptr()->video_mpeg4_bitrate = video_bitrate; - config.video_mpeg4_maxq = video_maxq; - config.video_mpeg4_minq = video_minq; - config.video_mpeg4_bframes = video_bframes; + using_flags->get_config_ptr()->video_mpeg4_maxq = video_maxq; + using_flags->get_config_ptr()->video_mpeg4_minq = video_minq; + using_flags->get_config_ptr()->video_mpeg4_bframes = video_bframes; } void CSP_TabMovieMPEG4::do_set_qmin(int n) diff --git a/source/src/qt/gui/util_binary.cpp b/source/src/qt/gui/util_binary.cpp index f558be9d4..8ef9f5a3f 100644 --- a/source/src/qt/gui/util_binary.cpp +++ b/source/src/qt/gui/util_binary.cpp @@ -45,18 +45,18 @@ int Ui_MainWindowBase::set_recent_binary_load(int drv, int num) if((num < 0) || (num >= MAX_HISTORY)) return -1; - s_path = QString::fromLocal8Bit(config.recent_binary_path[drv][num]); + s_path = QString::fromLocal8Bit(using_flags->get_config_ptr()->recent_binary_path[drv][num]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_binary_path[drv], listBINs[drv]); + UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_binary_path[drv], listBINs[drv]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); get_parent_dir(path_shadow); - strcpy(config.initial_binary_dir, path_shadow); + strcpy(using_flags->get_config_ptr()->initial_binary_dir, path_shadow); //strncpy(path_shadow, s_path.toUtf8().constData(), PATH_MAX); emit sig_load_binary(drv, s_path); menu_BINs[drv]->do_update_histories(listBINs[drv]); - menu_BINs[drv]->do_set_initialize_directory(config.initial_binary_dir); + menu_BINs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_binary_dir); return 0; } @@ -68,18 +68,18 @@ int Ui_MainWindowBase::set_recent_binary_save(int drv, int num) if((num < 0) || (num >= MAX_HISTORY)) return -1; - s_path = QString::fromLocal8Bit(config.recent_binary_path[drv][num]); + s_path = QString::fromLocal8Bit(using_flags->get_config_ptr()->recent_binary_path[drv][num]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_binary_path[drv], listBINs[drv]); + UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_binary_path[drv], listBINs[drv]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); get_parent_dir(path_shadow); - strcpy(config.initial_binary_dir, path_shadow); + strcpy(using_flags->get_config_ptr()->initial_binary_dir, path_shadow); //strncpy(path_shadow, s_path.toUtf8().constData(), PATH_MAX); emit sig_save_binary(drv, s_path); menu_BINs[drv]->do_update_histories(listBINs[drv]); - menu_BINs[drv]->do_set_initialize_directory(config.initial_binary_dir); + menu_BINs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_binary_dir); return 0; } @@ -91,14 +91,14 @@ void Ui_MainWindowBase::_open_binary_load(int drv, const QString fname) if(fname.length() <= 0) return; drv = drv & 7; strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_binary_path[drv], listBINs[drv]); + UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_binary_path[drv], listBINs[drv]); get_parent_dir(path_shadow); - strcpy(config.initial_binary_dir, path_shadow); + strcpy(using_flags->get_config_ptr()->initial_binary_dir, path_shadow); // Update List emit sig_load_binary(drv, fname); menu_BINs[drv]->do_update_histories(listBINs[drv]); - menu_BINs[drv]->do_set_initialize_directory(config.initial_binary_dir); + menu_BINs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_binary_dir); } void Ui_MainWindowBase::_open_binary_save(int drv, const QString fname) @@ -108,14 +108,14 @@ void Ui_MainWindowBase::_open_binary_save(int drv, const QString fname) if(fname.length() <= 0) return; drv = drv & 7; strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_binary_path[drv], listBINs[drv]); + UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_binary_path[drv], listBINs[drv]); get_parent_dir(path_shadow); - strcpy(config.initial_binary_dir, path_shadow); + strcpy(using_flags->get_config_ptr()->initial_binary_dir, path_shadow); // Update List emit sig_save_binary(drv, fname); menu_BINs[drv]->do_update_histories(listBINs[drv]); - menu_BINs[drv]->do_set_initialize_directory(config.initial_binary_dir); + menu_BINs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_binary_dir); } @@ -138,9 +138,9 @@ void Ui_MainWindowBase::CreateBinaryMenu(int drv, int drv_base) menu_BINs[drv]->do_clear_inner_media(); menu_BINs[drv]->do_add_media_extension(ext, desc1); - SETUP_HISTORY(config.recent_binary_path[drv], listBINs[drv]); + SETUP_HISTORY(using_flags->get_config_ptr()->recent_binary_path[drv], listBINs[drv]); menu_BINs[drv]->do_update_histories(listBINs[drv]); - menu_BINs[drv]->do_set_initialize_directory(config.initial_binary_dir); + menu_BINs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_binary_dir); listBINs[drv].clear(); QString name = QString::fromUtf8("Binary"); diff --git a/source/src/qt/gui/util_bubble.cpp b/source/src/qt/gui/util_bubble.cpp index 983618feb..3d0623941 100644 --- a/source/src/qt/gui/util_bubble.cpp +++ b/source/src/qt/gui/util_bubble.cpp @@ -82,9 +82,9 @@ void Ui_MainWindowBase::CreateBubbleMenu(int drv, int drv_base) menu_bubbles[drv]->do_clear_inner_media(); menu_bubbles[drv]->do_add_media_extension(ext, desc1); - SETUP_HISTORY(config.recent_bubble_casette_path[drv], listBubbles[drv]); + SETUP_HISTORY(using_flags->get_config_ptr()->recent_bubble_casette_path[drv], listBubbles[drv]); menu_bubbles[drv]->do_update_histories(listBubbles[drv]); - menu_bubbles[drv]->do_set_initialize_directory(config.initial_bubble_casette_dir); + menu_bubbles[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_bubble_casette_dir); listB77[drv].clear(); QString name = QString::fromUtf8("BUBBLE"); diff --git a/source/src/qt/gui/util_cart.cpp b/source/src/qt/gui/util_cart.cpp index 10e304f8d..86ba0414a 100644 --- a/source/src/qt/gui/util_cart.cpp +++ b/source/src/qt/gui/util_cart.cpp @@ -31,11 +31,11 @@ void Ui_MainWindowBase::_open_cart(int drv, const QString fname) if(fname.length() <= 0) return; strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_cart_path[drv], listCARTs[drv]); + UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_cart_path[drv], listCARTs[drv]); get_parent_dir(path_shadow); - strcpy(config.initial_cart_dir, path_shadow); + strcpy(using_flags->get_config_ptr()->initial_cart_dir, path_shadow); menu_Cart[drv]->do_update_histories(listCARTs[drv]); - menu_Cart[drv]->do_set_initialize_directory(config.initial_cart_dir); + menu_Cart[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_cart_dir); emit sig_close_cart(drv); emit sig_open_cart(drv, fname); @@ -55,15 +55,15 @@ void Ui_MainWindowBase::set_recent_cart(int drv, int num) if((num < 0) || (num >= MAX_HISTORY)) return; - s_path = QString::fromLocal8Bit(config.recent_cart_path[drv][num]); + s_path = QString::fromLocal8Bit(using_flags->get_config_ptr()->recent_cart_path[drv][num]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_cart_path[drv], listCARTs[drv]); + UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_cart_path[drv], listCARTs[drv]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); get_parent_dir(path_shadow); - strcpy(config.initial_cart_dir, path_shadow); + strcpy(using_flags->get_config_ptr()->initial_cart_dir, path_shadow); menu_Cart[drv]->do_update_histories(listCARTs[drv]); - menu_Cart[drv]->do_set_initialize_directory(config.initial_cart_dir); + menu_Cart[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_cart_dir); //eject_cart(drv); emit sig_open_cart(drv, s_path); @@ -104,9 +104,9 @@ void Ui_MainWindowBase::CreateCartMenu(int drv, int drv_base) menu_Cart[drv]->do_clear_inner_media(); menu_Cart[drv]->do_add_media_extension(ext, desc); - SETUP_HISTORY(config.recent_cart_path[drv], listCARTs[drv]); + SETUP_HISTORY(using_flags->get_config_ptr()->recent_cart_path[drv], listCARTs[drv]); menu_Cart[drv]->do_update_histories(listCARTs[drv]); - menu_Cart[drv]->do_set_initialize_directory(config.initial_cart_dir); + menu_Cart[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_cart_dir); QString name = QString::fromUtf8("Cart"); QString tmpv; diff --git a/source/src/qt/gui/util_cd.cpp b/source/src/qt/gui/util_cd.cpp index 01189580b..10d06778e 100644 --- a/source/src/qt/gui/util_cd.cpp +++ b/source/src/qt/gui/util_cd.cpp @@ -37,9 +37,9 @@ void Ui_MainWindowBase::CreateCDROMMenu(void) menu_CDROM->create_pulldown_menu(); // Translate Menu - SETUP_HISTORY(config.recent_compact_disc_path, listCDROM); + SETUP_HISTORY(using_flags->get_config_ptr()->recent_compact_disc_path, listCDROM); menu_CDROM->do_update_histories(listCDROM); - menu_CDROM->do_set_initialize_directory(config.initial_compact_disc_dir); + menu_CDROM->do_set_initialize_directory(using_flags->get_config_ptr()->initial_compact_disc_dir); ext_play = "*.ccd *.cue"; desc_play = "Compact Disc"; @@ -63,18 +63,18 @@ int Ui_MainWindowBase::set_recent_cdrom(int drv, int num) int i; if((num < 0) || (num >= MAX_HISTORY)) return -1; - s_path = QString::fromLocal8Bit(config.recent_compact_disc_path[num]); + s_path = QString::fromLocal8Bit(using_flags->get_config_ptr()->recent_compact_disc_path[num]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_compact_disc_path, listCDROM); + UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_compact_disc_path, listCDROM); get_parent_dir(path_shadow); - strcpy(config.initial_compact_disc_dir, path_shadow); + strcpy(using_flags->get_config_ptr()->initial_compact_disc_dir, path_shadow); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); emit sig_close_cdrom(); AGAR_DebugLog(AGAR_LOG_DEBUG, "CD-ROM: Open : filename = %s", path_shadow); emit sig_open_cdrom(s_path); menu_CDROM->do_update_histories(listCDROM); - menu_CDROM->do_set_initialize_directory(config.initial_compact_disc_dir); + menu_CDROM->do_set_initialize_directory(using_flags->get_config_ptr()->initial_compact_disc_dir); return 0; } @@ -90,9 +90,9 @@ void Ui_MainWindowBase::do_open_cdrom(int drv, QString path) if(path.length() <= 0) return; strncpy(path_shadow, path.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_compact_disc_path, listCDROM); + UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_compact_disc_path, listCDROM); get_parent_dir(path_shadow); - strcpy(config.initial_compact_disc_dir, path_shadow); + strcpy(using_flags->get_config_ptr()->initial_compact_disc_dir, path_shadow); // Copy filename again. strncpy(path_shadow, path.toLocal8Bit().constData(), PATH_MAX); @@ -100,7 +100,7 @@ void Ui_MainWindowBase::do_open_cdrom(int drv, QString path) AGAR_DebugLog(AGAR_LOG_DEBUG, "CD-ROM: Open : filename = %s", path_shadow); emit sig_open_cdrom(path); menu_CDROM->do_update_histories(listCDROM); - menu_CDROM->do_set_initialize_directory(config.initial_compact_disc_dir); + menu_CDROM->do_set_initialize_directory(using_flags->get_config_ptr()->initial_compact_disc_dir); } void Ui_MainWindowBase::retranslateCDROMMenu(void) diff --git a/source/src/qt/gui/util_cmt.cpp b/source/src/qt/gui/util_cmt.cpp index b619b952e..55d560895 100644 --- a/source/src/qt/gui/util_cmt.cpp +++ b/source/src/qt/gui/util_cmt.cpp @@ -50,10 +50,10 @@ void Ui_MainWindowBase::CreateCMTMenu(void) menu_CMT->create_pulldown_menu(); // Translate Menu - SETUP_HISTORY(config.recent_tape_path, listCMT); + SETUP_HISTORY(using_flags->get_config_ptr()->recent_tape_path, listCMT); menu_CMT->do_set_write_protect(false); menu_CMT->do_update_histories(listCMT); - menu_CMT->do_set_initialize_directory(config.initial_tape_dir); + menu_CMT->do_set_initialize_directory(using_flags->get_config_ptr()->initial_tape_dir); if(using_flags->is_machine_pc6001()) { ext_play = "*.wav *.p6 *.cas"; @@ -99,19 +99,19 @@ int Ui_MainWindowBase::set_recent_cmt(int drv, int num) int i; if((num < 0) || (num >= MAX_HISTORY)) return -1; - s_path = QString::fromLocal8Bit(config.recent_tape_path[num]); + s_path = QString::fromLocal8Bit(using_flags->get_config_ptr()->recent_tape_path[num]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_tape_path, listCMT); + UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_tape_path, listCMT); get_parent_dir(path_shadow); - strcpy(config.initial_tape_dir, path_shadow); + strcpy(using_flags->get_config_ptr()->initial_tape_dir, path_shadow); strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX); AGAR_DebugLog(AGAR_LOG_DEBUG, "Tape: Open READ"); emit sig_close_tape(); emit sig_play_tape(s_path); menu_CMT->do_update_histories(listCMT); - menu_CMT->do_set_initialize_directory(config.initial_tape_dir); + menu_CMT->do_set_initialize_directory(using_flags->get_config_ptr()->initial_tape_dir); return 0; } @@ -167,30 +167,30 @@ void Ui_MainWindowBase::do_push_apss_rewind_tape(void) void Ui_MainWindowBase::set_wave_shaper(bool f) { if(f) { - config.wave_shaper = 1; + using_flags->get_config_ptr()->wave_shaper = 1; } else { - config.wave_shaper = 0; + using_flags->get_config_ptr()->wave_shaper = 0; } } bool Ui_MainWindowBase::get_wave_shaper(void) { - if(config.wave_shaper == 0) return false; + if(using_flags->get_config_ptr()->wave_shaper == 0) return false; return true; } void Ui_MainWindowBase::set_direct_load_from_mzt(bool f) { if(f) { - config.direct_load_mzt = 1; + using_flags->get_config_ptr()->direct_load_mzt = 1; } else { - config.direct_load_mzt = 0; + using_flags->get_config_ptr()->direct_load_mzt = 0; } } bool Ui_MainWindowBase::get_direct_load_mzt(void) { - if(config.direct_load_mzt == 0) return false; + if(using_flags->get_config_ptr()->direct_load_mzt == 0) return false; return true; } @@ -210,9 +210,9 @@ void Ui_MainWindowBase::do_open_read_cmt(int dummy, QString path) if(path.length() <= 0) return; strncpy(path_shadow, path.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_tape_path, listCMT); + UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_tape_path, listCMT); get_parent_dir(path_shadow); - strcpy(config.initial_tape_dir, path_shadow); + strcpy(using_flags->get_config_ptr()->initial_tape_dir, path_shadow); // Copy filename again. strncpy(path_shadow, path.toLocal8Bit().constData(), PATH_MAX); @@ -220,7 +220,7 @@ void Ui_MainWindowBase::do_open_read_cmt(int dummy, QString path) AGAR_DebugLog(AGAR_LOG_DEBUG, "Tape: Open READ : filename = %s", path_shadow); emit sig_play_tape(path); menu_CMT->do_update_histories(listCMT); - menu_CMT->do_set_initialize_directory(config.initial_tape_dir); + menu_CMT->do_set_initialize_directory(using_flags->get_config_ptr()->initial_tape_dir); } void Ui_MainWindowBase::do_open_write_cmt(QString path) @@ -230,9 +230,9 @@ void Ui_MainWindowBase::do_open_write_cmt(QString path) if(path.length() <= 0) return; strncpy(path_shadow, path.toLocal8Bit().constData(), PATH_MAX); - UPDATE_HISTORY(path_shadow, config.recent_tape_path, listCMT); + UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_tape_path, listCMT); get_parent_dir(path_shadow); - strcpy(config.initial_tape_dir, path_shadow); + strcpy(using_flags->get_config_ptr()->initial_tape_dir, path_shadow); // Copy filename again. strncpy(path_shadow, path.toLocal8Bit().constData(), PATH_MAX); @@ -245,7 +245,7 @@ void Ui_MainWindowBase::do_open_write_cmt(QString path) emit sig_rec_tape(path); } menu_CMT->do_update_histories(listCMT); - menu_CMT->do_set_initialize_directory(config.initial_tape_dir); + menu_CMT->do_set_initialize_directory(using_flags->get_config_ptr()->initial_tape_dir); } diff --git a/source/src/qt/gui/util_fd.cpp b/source/src/qt/gui/util_fd.cpp index 1b8548635..b56ae0401 100644 --- a/source/src/qt/gui/util_fd.cpp +++ b/source/src/qt/gui/util_fd.cpp @@ -45,13 +45,13 @@ void Object_Menu_Control::no_write_protect_fd(void) { void Object_Menu_Control::do_set_ignore_crc_error(bool flag) { - config.ignore_disk_crc[drive] = flag; + using_flags->get_config_ptr()->ignore_disk_crc[drive] = flag; emit sig_emu_update_config(); } void Object_Menu_Control::do_set_correct_disk_timing(bool flag) { - config.correct_disk_timing[drive] = flag; + using_flags->get_config_ptr()->correct_disk_timing[drive] = flag; emit sig_emu_update_config(); } @@ -100,9 +100,9 @@ void Ui_MainWindowBase::CreateFloppyMenu(int drv, int drv_base) menu_fds[drv]->do_clear_inner_media(); menu_fds[drv]->do_add_media_extension(ext, desc1); - SETUP_HISTORY(config.recent_floppy_disk_path[drv], listFDs[drv]); + SETUP_HISTORY(using_flags->get_config_ptr()->recent_floppy_disk_path[drv], listFDs[drv]); menu_fds[drv]->do_update_histories(listFDs[drv]); - menu_fds[drv]->do_set_initialize_directory(config.initial_floppy_disk_dir); + menu_fds[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_floppy_disk_dir); listD88[drv].clear(); QString name = QString::fromUtf8("FD"); diff --git a/source/src/qt/gui/util_qd.cpp b/source/src/qt/gui/util_qd.cpp index 4caf85945..5b98f8c9a 100644 --- a/source/src/qt/gui/util_qd.cpp +++ b/source/src/qt/gui/util_qd.cpp @@ -63,8 +63,8 @@ void Ui_MainWindowBase::open_quick_disk_dialog(int drv) desc2 = desc1 + " (" + ext.toLower() + " " + ext.toUpper() + ")"; //desc2 = desc1 + " (" + ext.toLower() + ")"; //desc1 = desc1 + " (" + ext.toUpper() + ")"; - if(config.initial_quick_disk_dir != NULL) { - dirname = config.initial_quick_disk_dir; + if(using_flags->get_config_ptr()->initial_quick_disk_dir != NULL) { + dirname = using_flags->get_config_ptr()->initial_quick_disk_dir; } else { char app[_MAX_PATH]; QDir df; @@ -100,18 +100,18 @@ int Ui_MainWindowBase::set_recent_quick_disk(int drv, int num) char path_shadow[_MAX_PATH]; int i; if((num < 0) || (num >= MAX_HISTORY)) return -1; - s_path = QString::fromLocal8Bit(config.recent_quick_disk_path[drv][num]); + s_path = QString::fromLocal8Bit(using_flags->get_config_ptr()->recent_quick_disk_path[drv][num]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), _MAX_PATH); - UPDATE_HISTORY(path_shadow, config.recent_quick_disk_path[drv], listQDs[drv]); + UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_quick_disk_path[drv], listQDs[drv]); strncpy(path_shadow, s_path.toLocal8Bit().constData(), _MAX_PATH); get_parent_dir(path_shadow); - strncpy(config.initial_quick_disk_dir, path_shadow, _MAX_PATH); + strncpy(using_flags->get_config_ptr()->initial_quick_disk_dir, path_shadow, _MAX_PATH); emit sig_close_quickdisk(drv); emit sig_open_quickdisk(drv, s_path); menu_QDs[drv]->do_update_histories(listQDs[drv]); - menu_QDs[drv]->do_set_initialize_directory(config.initial_quick_disk_dir); + menu_QDs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_quick_disk_dir); //if(emu->get_quickdisk_protected(drv)) { // menu_QDs[drv]->do_write_protect_media(); //} else { @@ -128,16 +128,16 @@ void Ui_MainWindowBase::_open_quick_disk(int drv, const QString fname) if(fname.length() <= 0) return; strncpy(path_shadow, s_name.toLocal8Bit().constData(), _MAX_PATH); - UPDATE_HISTORY(path_shadow, config.recent_quick_disk_path[drv], listQDs[drv]); + UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_quick_disk_path[drv], listQDs[drv]); strncpy(path_shadow, s_name.toLocal8Bit().constData(), _MAX_PATH); get_parent_dir(path_shadow); - strncpy(config.initial_quick_disk_dir, path_shadow, _MAX_PATH); + strncpy(using_flags->get_config_ptr()->initial_quick_disk_dir, path_shadow, _MAX_PATH); emit sig_close_quickdisk(drv); emit sig_open_quickdisk(drv, s_name); menu_QDs[drv]->do_update_histories(listQDs[drv]); - menu_QDs[drv]->do_set_initialize_directory(config.initial_quick_disk_dir); + menu_QDs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_quick_disk_dir); //if(emu->get_quickdisk_protected(drv)) { // menu_QDs[drv]->do_write_protect_media(); //} else { @@ -160,9 +160,9 @@ void Ui_MainWindowBase::CreateQuickDiskMenu(int drv, int drv_base) menu_QDs[drv]->do_clear_inner_media(); menu_QDs[drv]->do_add_media_extension(ext, desc1); - SETUP_HISTORY(config.recent_quick_disk_path[drv], listQDs[drv]); + SETUP_HISTORY(using_flags->get_config_ptr()->recent_quick_disk_path[drv], listQDs[drv]); menu_QDs[drv]->do_update_histories(listQDs[drv]); - menu_QDs[drv]->do_set_initialize_directory(config.initial_quick_disk_dir); + menu_QDs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_quick_disk_dir); QString name = QString::fromUtf8("Quick Disk"); QString tmpv; diff --git a/source/src/qt/machines/ex80/MainWindow.cpp b/source/src/qt/machines/ex80/MainWindow.cpp index bbc21a575..fa9f4188d 100644 --- a/source/src/qt/machines/ex80/MainWindow.cpp +++ b/source/src/qt/machines/ex80/MainWindow.cpp @@ -53,6 +53,7 @@ Action_Control_EX80::~Action_Control_EX80() { } +extern config_t config; void META_MainWindow::setupUI_Emu(void) { diff --git a/source/src/qt/machines/fm7/MainWindow.cpp b/source/src/qt/machines/fm7/MainWindow.cpp index f279422b4..a4f26db74 100644 --- a/source/src/qt/machines/fm7/MainWindow.cpp +++ b/source/src/qt/machines/fm7/MainWindow.cpp @@ -19,6 +19,7 @@ //QT_BEGIN_NAMESPACE +extern config_t config; Object_Menu_Control_7::Object_Menu_Control_7(QObject *parent, USING_FLAGS *p) : Object_Menu_Control(parent, p) { diff --git a/source/src/qt/machines/hc20/MainWindow.cpp b/source/src/qt/machines/hc20/MainWindow.cpp index f8f319ea8..3761ee77c 100644 --- a/source/src/qt/machines/hc20/MainWindow.cpp +++ b/source/src/qt/machines/hc20/MainWindow.cpp @@ -14,6 +14,8 @@ #include "menuclasses.h" #include "qt_main.h" +extern config_t config; + //QT_BEGIN_NAMESPACE Action_Control_HC20::Action_Control_HC20(QObject *parent, USING_FLAGS *p) : Action_Control(parent, p) { diff --git a/source/src/qt/machines/mz3500/MainWindow.cpp b/source/src/qt/machines/mz3500/MainWindow.cpp index e8644aa0d..873cb1853 100644 --- a/source/src/qt/machines/mz3500/MainWindow.cpp +++ b/source/src/qt/machines/mz3500/MainWindow.cpp @@ -16,6 +16,8 @@ //QT_BEGIN_NAMESPACE +extern config_t config; + Action_Control_MZ3500::Action_Control_MZ3500(QObject *parent, USING_FLAGS *p) : Action_Control(parent, p) { mz_binds = new Object_Menu_Control_MZ3500(parent, p); diff --git a/source/src/qt/machines/mz700/MainWindow.cpp b/source/src/qt/machines/mz700/MainWindow.cpp index 36396fe25..0a2eea0ea 100644 --- a/source/src/qt/machines/mz700/MainWindow.cpp +++ b/source/src/qt/machines/mz700/MainWindow.cpp @@ -17,6 +17,7 @@ //QT_BEGIN_NAMESPACE +extern config_t config; Action_Control_MZ700::Action_Control_MZ700(QObject *parent, USING_FLAGS *p) : Action_Control(parent, p) { diff --git a/source/src/qt/machines/mz80k/MainWindow.cpp b/source/src/qt/machines/mz80k/MainWindow.cpp index b97a4cffe..e5e6df92f 100644 --- a/source/src/qt/machines/mz80k/MainWindow.cpp +++ b/source/src/qt/machines/mz80k/MainWindow.cpp @@ -14,6 +14,8 @@ #include "emu.h" #include "qt_main.h" +extern config_t config; + Action_Control_MZ80::Action_Control_MZ80(QObject *parent, USING_FLAGS *p) : Action_Control(parent, p) { mz_binds = new Object_Menu_Control_MZ80(parent, p); diff --git a/source/src/qt/machines/pc6001/MainWindow.cpp b/source/src/qt/machines/pc6001/MainWindow.cpp index 7b1c2cb2c..171cf567f 100644 --- a/source/src/qt/machines/pc6001/MainWindow.cpp +++ b/source/src/qt/machines/pc6001/MainWindow.cpp @@ -16,6 +16,7 @@ //QT_BEGIN_NAMESPACE +extern config_t config; Object_Menu_Control_60::Object_Menu_Control_60(QObject *parent, USING_FLAGS *p) : Object_Menu_Control(parent, p) { diff --git a/source/src/qt/machines/pc8801/MainWindow.cpp b/source/src/qt/machines/pc8801/MainWindow.cpp index 5c0c98008..680e3c833 100644 --- a/source/src/qt/machines/pc8801/MainWindow.cpp +++ b/source/src/qt/machines/pc8801/MainWindow.cpp @@ -17,6 +17,7 @@ //QT_BEGIN_NAMESPACE +extern config_t config; Object_Menu_Control_88::Object_Menu_Control_88(QObject *parent, USING_FLAGS *p) : Object_Menu_Control(parent, p) { diff --git a/source/src/qt/machines/pc9801/MainWindow.cpp b/source/src/qt/machines/pc9801/MainWindow.cpp index ccdad5e7c..a1c0f70e6 100644 --- a/source/src/qt/machines/pc9801/MainWindow.cpp +++ b/source/src/qt/machines/pc9801/MainWindow.cpp @@ -16,6 +16,7 @@ #include "menu_disk.h" //QT_BEGIN_NAMESPACE +extern config_t config; Object_Menu_Control_98::Object_Menu_Control_98(QObject *parent, USING_FLAGS *p) : Object_Menu_Control(parent, p) { diff --git a/source/src/qt/machines/qc10/MainWindow.cpp b/source/src/qt/machines/qc10/MainWindow.cpp index c6ce8e887..4dcc0f7aa 100644 --- a/source/src/qt/machines/qc10/MainWindow.cpp +++ b/source/src/qt/machines/qc10/MainWindow.cpp @@ -14,6 +14,7 @@ #include "emu.h" #include "qt_main.h" +extern config_t config; Action_Control_QC10::Action_Control_QC10(QObject *parent, USING_FLAGS *p) : Action_Control(parent, p) { diff --git a/source/src/qt/machines/x1/MainWindow.cpp b/source/src/qt/machines/x1/MainWindow.cpp index 8e1ad7264..8b3a5d00b 100644 --- a/source/src/qt/machines/x1/MainWindow.cpp +++ b/source/src/qt/machines/x1/MainWindow.cpp @@ -38,7 +38,7 @@ void Object_Menu_Control_X1::do_set_display_mode(void) } #endif - +extern config_t config; void META_MainWindow::setupUI_Emu(void) { @@ -47,7 +47,7 @@ void META_MainWindow::setupUI_Emu(void) menu_Emu_DisplayMode = new QMenu(menuMachine); menu_Emu_DisplayMode->setObjectName(QString::fromUtf8("menu_DisplayMode")); - actionGroup_DisplayMode = new QActionGroup(this, using_flags); + actionGroup_DisplayMode = new QActionGroup(this); actionGroup_DisplayMode->setObjectName(QString::fromUtf8("actionGroup_DisplayMode")); actionGroup_DisplayMode->setExclusive(true); menuMachine->addAction(menu_Emu_DisplayMode->menuAction());