From 81e53f39f0fd7e0c36a7ac9736eb4516e4a152c7 Mon Sep 17 00:00:00 2001 From: YohananDiamond Date: Fri, 2 Jun 2023 19:21:50 -0300 Subject: [PATCH 1/3] Fix pattern editor focus when selecting instrument --- src/gui/dataList.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gui/dataList.cpp b/src/gui/dataList.cpp index 72269988a..4d108c96f 100644 --- a/src/gui/dataList.cpp +++ b/src/gui/dataList.cpp @@ -292,11 +292,10 @@ void FurnaceGUI::insListItem(int i, int dir, int asset) { wavePreviewInit=true; updateFMPreview=true; lastAssetType=0; - if (insListDir) nextWindow=GUI_WINDOW_PATTERN; } if (wantScrollList && curIns==i) ImGui::SetScrollHereY(); if (settings.insFocusesPattern && patternOpen && ImGui::IsItemActivated()) { - if (!insListDir) nextWindow=GUI_WINDOW_PATTERN; + nextWindow=GUI_WINDOW_PATTERN; curIns=i; wavePreviewInit=true; updateFMPreview=true; From 02c316f9d163f928780609dae739919aa0c21beb Mon Sep 17 00:00:00 2001 From: YohananDiamond Date: Sat, 3 Jun 2023 02:27:35 -0300 Subject: [PATCH 2/3] Part 2 --- src/gui/dataList.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/gui/dataList.cpp b/src/gui/dataList.cpp index 4d108c96f..57dafb255 100644 --- a/src/gui/dataList.cpp +++ b/src/gui/dataList.cpp @@ -292,15 +292,10 @@ void FurnaceGUI::insListItem(int i, int dir, int asset) { wavePreviewInit=true; updateFMPreview=true; lastAssetType=0; + if (settings.insFocusesPattern && patternOpen) + nextWindow=GUI_WINDOW_PATTERN; } if (wantScrollList && curIns==i) ImGui::SetScrollHereY(); - if (settings.insFocusesPattern && patternOpen && ImGui::IsItemActivated()) { - nextWindow=GUI_WINDOW_PATTERN; - curIns=i; - wavePreviewInit=true; - updateFMPreview=true; - lastAssetType=0; - } if (ImGui::IsItemHovered() && i>=0 && !mobileUI) { ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_TEXT]); ImGui::SetTooltip("%s",insType); From 169b664837eefc8701dbc3a5ef6165e3c2774e60 Mon Sep 17 00:00:00 2001 From: YohananDiamond Date: Sat, 3 Jun 2023 16:54:52 -0300 Subject: [PATCH 3/3] please work --- src/gui/dataList.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/dataList.cpp b/src/gui/dataList.cpp index 57dafb255..2ccbca943 100644 --- a/src/gui/dataList.cpp +++ b/src/gui/dataList.cpp @@ -287,7 +287,9 @@ void FurnaceGUI::insListItem(int i, int dir, int asset) { } else { ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_TEXT]); } - if (ImGui::Selectable(name.c_str(),(i==-1)?(curIns<0 || curIns>=e->song.insLen):(curIns==i))) { + bool insReleased=ImGui::Selectable(name.c_str(),(i==-1)?(curIns<0 || curIns>=e->song.insLen):(curIns==i)); + bool insPressed=ImGui::IsItemActivated(); + if (insReleased || (!insListDir && insPressed)) { curIns=i; wavePreviewInit=true; updateFMPreview=true;