GUI: effectCursorDir improvements

This commit is contained in:
tildearrow 2022-04-08 02:16:57 -05:00
parent 5bd076d13e
commit 62ff7317e3
2 changed files with 22 additions and 10 deletions

View File

@ -1016,11 +1016,17 @@ void FurnaceGUI::valueInput(int num, bool direct, int target) {
if (!settings.effectCursorDir) {
editAdvance();
} else {
if (cursor.xFine&1) {
cursor.xFine++;
if (settings.effectCursorDir==2) {
if (++cursor.xFine>=(3+(e->song.pat[cursor.xCoarse].effectRows*2))) {
cursor.xFine=3;
}
} else {
editAdvance();
cursor.xFine--;
if (cursor.xFine&1) {
cursor.xFine++;
} else {
editAdvance();
cursor.xFine--;
}
}
}
}

View File

@ -250,11 +250,6 @@ void FurnaceGUI::drawSettings() {
settings.stepOnInsert=stepOnInsertB;
}
bool effectCursorDirB=settings.effectCursorDir;
if (ImGui::Checkbox("Move cursor to effect value on effect input",&effectCursorDirB)) {
settings.effectCursorDir=effectCursorDirB;
}
bool cursorPastePosB=settings.cursorPastePos;
if (ImGui::Checkbox("Move cursor to end of clipboard content when pasting",&cursorPastePosB)) {
settings.cursorPastePos=cursorPastePosB;
@ -315,6 +310,17 @@ void FurnaceGUI::drawSettings() {
settings.scrollStep=1;
}
ImGui::Text("Effect input cursor behavior:");
if (ImGui::RadioButton("Move down##eicb0",settings.effectCursorDir==0)) {
settings.effectCursorDir=0;
}
if (ImGui::RadioButton("Move to effect value (otherwise move down)##eicb1",settings.effectCursorDir==1)) {
settings.effectCursorDir=1;
}
if (ImGui::RadioButton("Move to effect value/next effect and wrap around##eicb2",settings.effectCursorDir==2)) {
settings.effectCursorDir=2;
}
ImGui::EndTabItem();
}
if (ImGui::BeginTabItem("Audio/MIDI")) {
@ -1503,7 +1509,7 @@ void FurnaceGUI::syncSettings() {
clampSetting(settings.loadJapanese,0,1);
clampSetting(settings.fmLayout,0,3);
clampSetting(settings.susPosition,0,1);
clampSetting(settings.effectCursorDir,0,1);
clampSetting(settings.effectCursorDir,0,2);
clampSetting(settings.cursorPastePos,0,1);
clampSetting(settings.titleBarInfo,0,3);
clampSetting(settings.titleBarSys,0,1);