GUI: add a "none" option to instrument list
This commit is contained in:
parent
98d52b6644
commit
dba9482cee
|
@ -72,9 +72,12 @@ void FurnaceGUI::drawInsList() {
|
||||||
ImGui::Indent();
|
ImGui::Indent();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i=0; i<(int)e->song.ins.size(); i++) {
|
for (int i=-1; i<(int)e->song.ins.size(); i++) {
|
||||||
|
String name=ICON_FA_CIRCLE_O " - None -";
|
||||||
|
const char* insType="Bug!";
|
||||||
|
if (i>=0) {
|
||||||
DivInstrument* ins=e->song.ins[i];
|
DivInstrument* ins=e->song.ins[i];
|
||||||
String name;
|
insType=(ins->type>DIV_INS_MAX)?"Unknown":insTypes[ins->type];
|
||||||
switch (ins->type) {
|
switch (ins->type) {
|
||||||
case DIV_INS_FM:
|
case DIV_INS_FM:
|
||||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_FM]);
|
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_FM]);
|
||||||
|
@ -189,9 +192,12 @@ void FurnaceGUI::drawInsList() {
|
||||||
name=fmt::sprintf(ICON_FA_QUESTION " %.2X: %s##_INS%d",i,ins->name,i);
|
name=fmt::sprintf(ICON_FA_QUESTION " %.2X: %s##_INS%d",i,ins->name,i);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_TEXT]);
|
||||||
|
}
|
||||||
ImGui::TableNextRow();
|
ImGui::TableNextRow();
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
if (ImGui::Selectable(name.c_str(),curIns==i)) {
|
if (ImGui::Selectable(name.c_str(),(i==-1)?(curIns<0 || curIns>=e->song.insLen):(curIns==i))) {
|
||||||
curIns=i;
|
curIns=i;
|
||||||
}
|
}
|
||||||
if (settings.insFocusesPattern && patternOpen && ImGui::IsItemActivated()) {
|
if (settings.insFocusesPattern && patternOpen && ImGui::IsItemActivated()) {
|
||||||
|
@ -199,8 +205,8 @@ void FurnaceGUI::drawInsList() {
|
||||||
curIns=i;
|
curIns=i;
|
||||||
}
|
}
|
||||||
ImGui::PopStyleColor();
|
ImGui::PopStyleColor();
|
||||||
if (ImGui::IsItemHovered()) {
|
if (ImGui::IsItemHovered() && i>=0) {
|
||||||
ImGui::SetTooltip("%s",(ins->type>DIV_INS_MAX)?"Unknown":insTypes[ins->type]);
|
ImGui::SetTooltip("%s",insType);
|
||||||
if (ImGui::IsMouseDoubleClicked(ImGuiMouseButton_Left)) {
|
if (ImGui::IsMouseDoubleClicked(ImGuiMouseButton_Left)) {
|
||||||
insEditOpen=true;
|
insEditOpen=true;
|
||||||
nextWindow=GUI_WINDOW_INS_EDIT;
|
nextWindow=GUI_WINDOW_INS_EDIT;
|
||||||
|
|
Loading…
Reference in New Issue