Skip to content

Commit 78daed7

Browse files
Implemented AlexandreRouma#1205
1 parent 5f297b1 commit 78daed7

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

core/src/gui/main_window.cpp

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -574,10 +574,22 @@ void MainWindow::draw() {
574574
// Handle scrollwheel
575575
int wheel = ImGui::GetIO().MouseWheel;
576576
if (wheel != 0 && (gui::waterfall.mouseInFFT || gui::waterfall.mouseInWaterfall)) {
577+
// Select factor depending on modifier keys
578+
double interval;
579+
if (ImGui::IsKeyDown(ImGuiKey_LeftShift)) {
580+
interval = vfo->snapInterval * 10.0;
581+
}
582+
else if (ImGui::IsKeyDown(ImGuiKey_LeftAlt)) {
583+
interval = vfo->snapInterval * 0.1;
584+
}
585+
else {
586+
interval = vfo->snapInterval;
587+
}
588+
577589
double nfreq;
578590
if (vfo != NULL) {
579-
nfreq = gui::waterfall.getCenterFrequency() + vfo->generalOffset + (vfo->snapInterval * wheel);
580-
nfreq = roundl(nfreq / vfo->snapInterval) * vfo->snapInterval;
591+
nfreq = gui::waterfall.getCenterFrequency() + vfo->generalOffset + (interval * wheel);
592+
nfreq = roundl(nfreq / interval) * interval;
581593
}
582594
else {
583595
nfreq = gui::waterfall.getCenterFrequency() - (gui::waterfall.getViewBandwidth() * wheel / 20.0);

0 commit comments

Comments
 (0)