From 5697330c04b6ee59bcc013fa88fd301fac4b9827 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 21 Dec 2023 20:08:15 -0500 Subject: [PATCH] i won't call it classic --- src/gui/gui.cpp | 2 +- src/gui/gui.h | 4 ++-- src/gui/settings.cpp | 26 +++++++++++++++++--------- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 98e824f35..8ab1abd9b 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -4101,7 +4101,7 @@ bool FurnaceGUI::loop() { openFileDialog(GUI_FILE_SAVE_DMF_LEGACY); } ImGui::Separator(); - if (settings.classicExportOptions) { + if (settings.exportOptionsLayout) { if (ImGui::BeginMenu("export audio...")) { drawExportAudio(); ImGui::EndMenu(); diff --git a/src/gui/gui.h b/src/gui/gui.h index d709cb048..9b35b4f23 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -1689,7 +1689,7 @@ class FurnaceGUI { int centerPopup; int insIconsStyle; int classicChipOptions; - int classicExportOptions; + int exportOptionsLayout; int wasapiEx; int chanOscThreads; int renderPoolThreads; @@ -1886,7 +1886,7 @@ class FurnaceGUI { centerPopup(1), insIconsStyle(1), classicChipOptions(0), - classicExportOptions(0), // poll? + exportOptionsLayout(1), wasapiEx(0), chanOscThreads(0), renderPoolThreads(0), diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 86b1ed964..8cc0d6b73 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -2660,6 +2660,20 @@ void FurnaceGUI::drawSettings() { } ImGui::Unindent(); + ImGui::Text("Export options layout:"); + if (ImGui::RadioButton("Sub-menus in File menu##eol0",settings.exportOptionsLayout==0)) { + settings.exportOptionsLayout=0; + settingsChanged=true; + } + if (ImGui::RadioButton("Modal window with tabs##eol1",settings.exportOptionsLayout==1)) { + settings.exportOptionsLayout=1; + settingsChanged=true; + } + if (ImGui::RadioButton("Modal windows with options in File menu##eol2",settings.exportOptionsLayout==2)) { + settings.exportOptionsLayout=2; + settingsChanged=true; + } + bool capitalMenuBarB=settings.capitalMenuBar; if (ImGui::Checkbox("Capitalize menu bar",&capitalMenuBarB)) { settings.capitalMenuBar=capitalMenuBarB; @@ -2672,12 +2686,6 @@ void FurnaceGUI::drawSettings() { settingsChanged=true; } - bool classicExportOptionsB=settings.classicExportOptions; - if (ImGui::Checkbox("Display separate export options in File menu",&classicExportOptionsB)) { - settings.classicExportOptions=classicExportOptionsB; - settingsChanged=true; - } - // SUBSECTION ORDERS CONFIG_SUBSECTION("Orders"); // sorry. temporarily disabled until ImGui has a way to add separators in tables arbitrarily. @@ -3873,7 +3881,7 @@ void FurnaceGUI::readConfig(DivConfig& conf, FurnaceGUISettingGroups groups) { settings.centerPopup=conf.getInt("centerPopup",1); settings.insIconsStyle=conf.getInt("insIconsStyle",1); settings.classicChipOptions=conf.getInt("classicChipOptions",0); - settings.classicExportOptions=conf.getInt("classicExportOptions",0); + settings.exportOptionsLayout=conf.getInt("exportOptionsLayout",1); settings.wasapiEx=conf.getInt("wasapiEx",0); settings.chanOscThreads=conf.getInt("chanOscThreads",0); settings.renderPoolThreads=conf.getInt("renderPoolThreads",0); @@ -4042,7 +4050,7 @@ void FurnaceGUI::readConfig(DivConfig& conf, FurnaceGUISettingGroups groups) { clampSetting(settings.centerPopup,0,1); clampSetting(settings.insIconsStyle,0,2); clampSetting(settings.classicChipOptions,0,1); - clampSetting(settings.classicExportOptions,0,1); + clampSetting(settings.exportOptionsLayout,0,2); clampSetting(settings.wasapiEx,0,1); clampSetting(settings.chanOscThreads,0,256); clampSetting(settings.renderPoolThreads,0,DIV_MAX_CHIPS); @@ -4292,7 +4300,7 @@ void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) { conf.set("centerPopup",settings.centerPopup); conf.set("insIconsStyle",settings.insIconsStyle); conf.set("classicChipOptions",settings.classicChipOptions); - conf.set("classicExportOptions",settings.classicExportOptions); + conf.set("exportOptionsLayout",settings.exportOptionsLayout); conf.set("wasapiEx",settings.wasapiEx); conf.set("chanOscThreads",settings.chanOscThreads); conf.set("renderPoolThreads",settings.renderPoolThreads);