GUI: add setting to not raise pattern editor

issue #250
This commit is contained in:
tildearrow 2022-03-04 02:40:42 -05:00
parent 1407f14ee8
commit bc5ca47894
3 changed files with 10 additions and 1 deletions

View File

@ -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(""),

View File

@ -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();

View File

@ -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);