From b203c3956a7e44832c21dd14dc63c61381a33279 Mon Sep 17 00:00:00 2001 From: YohananDiamond Date: Mon, 31 Jul 2023 16:12:29 -0300 Subject: [PATCH] command palette: improved consistency --- src/gui/commandPalette.cpp | 38 +++++++++++++++++--------------------- src/gui/doAction.cpp | 4 ++++ src/gui/gui.cpp | 2 +- src/gui/settings.cpp | 6 +++++- 4 files changed, 27 insertions(+), 23 deletions(-) diff --git a/src/gui/commandPalette.cpp b/src/gui/commandPalette.cpp index af38fa1ac..c313a963c 100644 --- a/src/gui/commandPalette.cpp +++ b/src/gui/commandPalette.cpp @@ -40,13 +40,6 @@ static inline bool matchFuzzy(const char* haystack,const char* needle) { } void FurnaceGUI::drawPalette() { - auto resetPalette = [](FurnaceGUI* g){ - g->paletteFirstFrame=true; - g->paletteQuery=""; - g->curPaletteChoice=0; - g->paletteSearchResults.clear(); - }; - bool accepted=false; if (paletteFirstFrame) @@ -55,7 +48,20 @@ void FurnaceGUI::drawPalette() { int width=ImGui::GetContentRegionAvail().x; ImGui::SetNextItemWidth(width); - if (ImGui::InputTextWithHint("##CommandPaletteSearch","Search...",&paletteQuery) || paletteFirstFrame) { + const char* hint="Search..."; + switch (curPaletteType) { + case CMDPAL_TYPE_RECENT: + hint="Search recent files..."; + break; + case CMDPAL_TYPE_INSTRUMENTS: + hint="Search instruments..."; + break; + case CMDPAL_TYPE_SAMPLES: + hint="Search samples..."; + break; + } + + if (ImGui::InputTextWithHint("##CommandPaletteSearch",hint,&paletteQuery) || paletteFirstFrame) { paletteSearchResults.clear(); switch (curPaletteType) { @@ -121,7 +127,7 @@ void FurnaceGUI::drawPalette() { bool current=(i==curPaletteChoice); int id=paletteSearchResults[i]; - const char *s="???"; + const char* s="???"; switch (curPaletteType) { case CMDPAL_TYPE_MAIN: s=guiActions[id].friendlyName; @@ -169,40 +175,30 @@ void FurnaceGUI::drawPalette() { paletteFirstFrame=false; if (accepted) { - if (paletteSearchResults.size()==0) { - ImGui::CloseCurrentPopup(); - } else { + if (paletteSearchResults.size()>0) { int i=paletteSearchResults[curPaletteChoice]; switch (curPaletteType) { case CMDPAL_TYPE_MAIN: doAction(i); - if (i