From f09ef69da1a1e0cd7a0022d99c4c9f0168265866 Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Tue, 15 Aug 2023 11:58:05 -0700 Subject: [PATCH 1/4] Break "no instrument selected" lines. In the instrument editor, when instruments are loaded but no instrument is selected, there's a dropdown to select a type and then "or Open or Create New"... but on one line, they're too long for the window's width. With this, they're on two lines. --- src/gui/insEdit.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index e68a17dc8..bc0a91f85 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -2201,6 +2201,7 @@ void FurnaceGUI::drawInsEdit() { ImGui::TableNextColumn(); if (e->song.ins.size()>0) { + ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); if (ImGui::BeginCombo("##InsSelect","select one...")) { String name; for (size_t i=0; isong.ins.size(); i++) { @@ -2213,7 +2214,7 @@ void FurnaceGUI::drawInsEdit() { } ImGui::EndCombo(); } - ImGui::SameLine(); + ImGui::AlignTextToFramePadding(); ImGui::TextUnformatted("or"); ImGui::SameLine(); } From 02ef1549ddaa5d9721c093266532ef8800f177ad Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Tue, 15 Aug 2023 14:58:50 -0700 Subject: [PATCH 2/4] Fixed vertical centering. --- src/gui/insEdit.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index bc0a91f85..d56004f1f 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -2188,7 +2188,7 @@ void FurnaceGUI::drawInsEdit() { } if (ImGui::Begin("Instrument Editor",&insEditOpen,globalWinFlags|(settings.allowEditDocking?0:ImGuiWindowFlags_NoDocking))) { if (curIns<0 || curIns>=(int)e->song.ins.size()) { - ImGui::SetCursorPosY(ImGui::GetCursorPosY()+(ImGui::GetContentRegionAvail().y-ImGui::GetFrameHeightWithSpacing()*2.0f)*0.5f); + ImGui::SetCursorPosY(ImGui::GetCursorPosY()+(ImGui::GetContentRegionAvail().y-ImGui::GetFrameHeightWithSpacing()*3.0f)*0.5f); CENTER_TEXT("no instrument selected"); ImGui::Text("no instrument selected"); if (ImGui::BeginTable("noAssetCenter",3)) { From cb5f59d02bceb9d74a0d24ff1e9b1bf4999b6994 Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Tue, 15 Aug 2023 16:55:53 -0700 Subject: [PATCH 3/4] Select the correct amount of vertical space. Tested in both occurring situations. --- src/gui/insEdit.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index d56004f1f..9c8b68440 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -2188,7 +2188,7 @@ void FurnaceGUI::drawInsEdit() { } if (ImGui::Begin("Instrument Editor",&insEditOpen,globalWinFlags|(settings.allowEditDocking?0:ImGuiWindowFlags_NoDocking))) { if (curIns<0 || curIns>=(int)e->song.ins.size()) { - ImGui::SetCursorPosY(ImGui::GetCursorPosY()+(ImGui::GetContentRegionAvail().y-ImGui::GetFrameHeightWithSpacing()*3.0f)*0.5f); + ImGui::SetCursorPosY(ImGui::GetCursorPosY()+(ImGui::GetContentRegionAvail().y-ImGui::GetFrameHeightWithSpacing()*(e->song.ins.size()>0 ? 3.0f : 2.0f))*0.5f); CENTER_TEXT("no instrument selected"); ImGui::Text("no instrument selected"); if (ImGui::BeginTable("noAssetCenter",3)) { From 4707ef6979eb8fce1477d9d33af7bb36f2b6f511 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 15 Aug 2023 22:25:01 -0500 Subject: [PATCH 4/4] GUI: center it --- src/gui/insEdit.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 9c8b68440..07ecc72f9 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -2188,7 +2188,7 @@ void FurnaceGUI::drawInsEdit() { } if (ImGui::Begin("Instrument Editor",&insEditOpen,globalWinFlags|(settings.allowEditDocking?0:ImGuiWindowFlags_NoDocking))) { if (curIns<0 || curIns>=(int)e->song.ins.size()) { - ImGui::SetCursorPosY(ImGui::GetCursorPosY()+(ImGui::GetContentRegionAvail().y-ImGui::GetFrameHeightWithSpacing()*(e->song.ins.size()>0 ? 3.0f : 2.0f))*0.5f); + ImGui::SetCursorPosY(ImGui::GetCursorPosY()+(ImGui::GetContentRegionAvail().y-ImGui::GetFrameHeightWithSpacing()*(e->song.ins.empty()?2.0f:3.0f)+ImGui::GetStyle().ItemSpacing.y)*0.5f); CENTER_TEXT("no instrument selected"); ImGui::Text("no instrument selected"); if (ImGui::BeginTable("noAssetCenter",3)) {