diff --git a/src/gui/gui.h b/src/gui/gui.h index dee44f59c..e58bd17b6 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -494,6 +494,7 @@ class FurnaceGUI { float dpiScale; int viewPrevPattern; int guiColorsBase; + int avoidRaisingPattern; unsigned int maxUndoSteps; String mainFontPath; String patFontPath; @@ -535,6 +536,7 @@ class FurnaceGUI { dpiScale(0.0f), viewPrevPattern(1), guiColorsBase(0), + avoidRaisingPattern(0), maxUndoSteps(100), mainFontPath(""), patFontPath(""), diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index 3d2f15cb8..2eabcd04b 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -357,7 +357,7 @@ void FurnaceGUI::drawPattern() { sel2.xFine^=sel1.xFine; } ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding,ImVec2(0.0f,0.0f)); - if (ImGui::Begin("Pattern",&patternOpen)) { + if (ImGui::Begin("Pattern",&patternOpen,settings.avoidRaisingPattern?ImGuiWindowFlags_NoBringToFrontOnFocus:0)) { //ImGui::SetWindowSize(ImVec2(scrW*dpiScale,scrH*dpiScale)); patWindowPos=ImGui::GetWindowPos(); patWindowSize=ImGui::GetWindowSize(); diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index e40d47a13..304db0468 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -162,6 +162,11 @@ void FurnaceGUI::drawSettings() { settings.allowEditDocking=allowEditDockingB; } + bool avoidRaisingPatternB=settings.avoidRaisingPattern; + if (ImGui::Checkbox("Don't raise pattern editor on click",&avoidRaisingPatternB)) { + settings.avoidRaisingPattern=avoidRaisingPatternB; + } + bool restartOnFlagChangeB=settings.restartOnFlagChange; if (ImGui::Checkbox("Restart song when changing system properties",&restartOnFlagChangeB)) { settings.restartOnFlagChange=restartOnFlagChangeB; @@ -864,6 +869,7 @@ void FurnaceGUI::syncSettings() { settings.dpiScale=e->getConfFloat("dpiScale",0.0f); settings.viewPrevPattern=e->getConfInt("viewPrevPattern",1); settings.guiColorsBase=e->getConfInt("guiColorsBase",0); + settings.avoidRaisingPattern=e->getConfInt("avoidRaisingPattern",0); // keybinds LOAD_KEYBIND(GUI_ACTION_OPEN,FURKMOD_CMD|SDLK_o); @@ -1060,6 +1066,7 @@ void FurnaceGUI::commitSettings() { e->setConf("dpiScale",settings.dpiScale); e->setConf("viewPrevPattern",settings.viewPrevPattern); e->setConf("guiColorsBase",settings.guiColorsBase); + e->setConf("avoidRaisingPattern",settings.avoidRaisingPattern); PUT_UI_COLOR(GUI_COLOR_BACKGROUND); PUT_UI_COLOR(GUI_COLOR_FRAME_BACKGROUND);