GUI: invert cursor follows wheel

issue #1374
This commit is contained in:
tildearrow 2023-08-19 16:25:08 -05:00
parent 487065478d
commit 14d3baae56
2 changed files with 13 additions and 5 deletions

View file

@ -950,7 +950,7 @@ void FurnaceGUI::drawPattern() {
// cursor follows wheel
if (settings.cursorFollowsWheel && (!e->isPlaying() || !followPattern) && ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows)) {
if (wheelX!=0 || wheelY!=0) {
moveCursor(wheelX,wheelY,false);
moveCursor(wheelX,(settings.cursorFollowsWheel==2)?wheelY:-wheelY,false);
}
}

View file

@ -1972,10 +1972,18 @@ void FurnaceGUI::drawSettings() {
settings.cursorMoveNoScroll=cursorMoveNoScrollB;
}
bool cursorFollowsWheelB=settings.cursorFollowsWheel;
if (ImGui::Checkbox("Move cursor with scroll wheel",&cursorFollowsWheelB)) {
settings.cursorFollowsWheel=cursorFollowsWheelB;
ImGui::Text("Move cursor with scroll wheel:");
ImGui::Indent();
if (ImGui::RadioButton("No##csw0",settings.cursorFollowsWheel==0)) {
settings.cursorFollowsWheel=0;
}
if (ImGui::RadioButton("Yes##csw1",settings.cursorFollowsWheel==1)) {
settings.cursorFollowsWheel=1;
}
if (ImGui::RadioButton("Inverted##csw2",settings.cursorFollowsWheel==2)) {
settings.cursorFollowsWheel=2;
}
ImGui::Unindent();
END_SECTION;
}
@ -3292,7 +3300,7 @@ void FurnaceGUI::syncSettings() {
clampSetting(settings.pullDeleteRow,0,1);
clampSetting(settings.newSongBehavior,0,1);
clampSetting(settings.memUsageUnit,0,1);
clampSetting(settings.cursorFollowsWheel,0,1);
clampSetting(settings.cursorFollowsWheel,0,2);
clampSetting(settings.noDMFCompat,0,1);
clampSetting(settings.removeInsOff,0,1);
clampSetting(settings.removeVolOff,0,1);