From 71cef797c6cd77b6fe717381f4db5fd01ece89a9 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 4 May 2022 20:56:26 -0500 Subject: [PATCH] GUI: only use edit color when pat view is focused --- src/gui/gui.cpp | 2 ++ src/gui/gui.h | 2 +- src/gui/pattern.cpp | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index f89e120f1..b922feab9 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -2569,6 +2569,7 @@ bool FurnaceGUI::loop() { ImGui_ImplSDL2_NewFrame(sdlWin); ImGui::NewFrame(); + curWindowLast=curWindow; curWindow=GUI_WINDOW_NOTHING; editOptsVisible=false; @@ -3913,6 +3914,7 @@ FurnaceGUI::FurnaceGUI(): nonLatchNibble(false), curWindow(GUI_WINDOW_NOTHING), nextWindow(GUI_WINDOW_NOTHING), + curWindowLast(GUI_WINDOW_NOTHING), nextDesc(NULL), latchNote(-1), latchIns(-2), diff --git a/src/gui/gui.h b/src/gui/gui.h index 90d909f2d..deabc8897 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -966,7 +966,7 @@ class FurnaceGUI { SelectionPoint selStart, selEnd, cursor; bool selecting, curNibble, orderNibble, followOrders, followPattern, changeAllOrders; bool collapseWindow, demandScrollX, fancyPattern, wantPatName, firstFrame, tempoView, waveHex, lockLayout, editOptsVisible, latchNibble, nonLatchNibble; - FurnaceGUIWindows curWindow, nextWindow; + FurnaceGUIWindows curWindow, nextWindow, curWindowLast; float peak[2]; float patChanX[DIV_MAX_CHANS+1]; float patChanSlideY[DIV_MAX_CHANS+1]; diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index 61fccb5ae..8fff1c9ac 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -64,7 +64,7 @@ inline void FurnaceGUI::patternRow(int i, bool isPlaying, float lineHeight, int } // check overflow highlight if (settings.overflowHighlight) { - if (edit && cursor.y==i) { + if (edit && cursor.y==i && curWindowLast==GUI_WINDOW_PATTERN) { ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0,ImGui::GetColorU32(uiColors[GUI_COLOR_EDITING])); } else if (isPlaying && oldRow==i && ord==e->getOrder()) { ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0,ImGui::GetColorU32(uiColors[GUI_COLOR_PATTERN_PLAY_HEAD])); @@ -75,7 +75,7 @@ inline void FurnaceGUI::patternRow(int i, bool isPlaying, float lineHeight, int } } else { isPushing=true; - if (edit && cursor.y==i) { + if (edit && cursor.y==i && curWindowLast==GUI_WINDOW_PATTERN) { ImGui::PushStyleColor(ImGuiCol_Header,ImGui::GetColorU32(uiColors[GUI_COLOR_EDITING])); } else if (isPlaying && oldRow==i && ord==e->getOrder()) { ImGui::PushStyleColor(ImGuiCol_Header,ImGui::GetColorU32(uiColors[GUI_COLOR_PATTERN_PLAY_HEAD]));