mirror of
https://github.com/AlexandreRouma/SDRPlusPlus.git
synced 2024-12-25 02:18:30 +01:00
Added more keyboard controls
This commit is contained in:
parent
b8e4a79188
commit
d43f501819
@ -379,6 +379,7 @@ void drawWindow() {
|
|||||||
vfo = gui::waterfall.vfos[gui::waterfall.selectedVFO];
|
vfo = gui::waterfall.vfos[gui::waterfall.selectedVFO];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handke VFO movement
|
||||||
if (vfo != NULL) {
|
if (vfo != NULL) {
|
||||||
if (vfo->centerOffsetChanged) {
|
if (vfo->centerOffsetChanged) {
|
||||||
if (centerTuning) {
|
if (centerTuning) {
|
||||||
@ -394,12 +395,14 @@ void drawWindow() {
|
|||||||
|
|
||||||
sigpath::vfoManager.updateFromWaterfall(&gui::waterfall);
|
sigpath::vfoManager.updateFromWaterfall(&gui::waterfall);
|
||||||
|
|
||||||
|
// Handle selection of another VFO
|
||||||
if (gui::waterfall.selectedVFOChanged && vfo != NULL) {
|
if (gui::waterfall.selectedVFOChanged && vfo != NULL) {
|
||||||
gui::waterfall.selectedVFOChanged = false;
|
gui::waterfall.selectedVFOChanged = false;
|
||||||
gui::freqSelect.setFrequency(vfo->generalOffset + gui::waterfall.getCenterFrequency());
|
gui::freqSelect.setFrequency(vfo->generalOffset + gui::waterfall.getCenterFrequency());
|
||||||
gui::freqSelect.frequencyChanged = false;
|
gui::freqSelect.frequencyChanged = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle change in selected frequency
|
||||||
if (gui::freqSelect.frequencyChanged) {
|
if (gui::freqSelect.frequencyChanged) {
|
||||||
gui::freqSelect.frequencyChanged = false;
|
gui::freqSelect.frequencyChanged = false;
|
||||||
setVFO(gui::freqSelect.frequency);
|
setVFO(gui::freqSelect.frequency);
|
||||||
@ -416,6 +419,7 @@ void drawWindow() {
|
|||||||
core::configManager.release(true);
|
core::configManager.release(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle dragging the frequency scale
|
||||||
if (gui::waterfall.centerFreqMoved) {
|
if (gui::waterfall.centerFreqMoved) {
|
||||||
gui::waterfall.centerFreqMoved = false;
|
gui::waterfall.centerFreqMoved = false;
|
||||||
sigpath::sourceManager.tune(gui::waterfall.getCenterFrequency());
|
sigpath::sourceManager.tune(gui::waterfall.getCenterFrequency());
|
||||||
@ -430,6 +434,22 @@ void drawWindow() {
|
|||||||
core::configManager.release(true);
|
core::configManager.release(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle arrow keys
|
||||||
|
if (vfo != NULL) {
|
||||||
|
if (ImGui::IsKeyPressed(GLFW_KEY_LEFT)) {
|
||||||
|
setVFO(gui::waterfall.getCenterFrequency() + vfo->generalOffset - vfo->snapInterval);
|
||||||
|
}
|
||||||
|
if (ImGui::IsKeyPressed(GLFW_KEY_RIGHT)) {
|
||||||
|
setVFO(gui::waterfall.getCenterFrequency() + vfo->generalOffset + vfo->snapInterval);
|
||||||
|
}
|
||||||
|
core::configManager.aquire();
|
||||||
|
core::configManager.conf["frequency"] = gui::waterfall.getCenterFrequency();
|
||||||
|
if (vfo != NULL) {
|
||||||
|
core::configManager.conf["vfoOffsets"][gui::waterfall.selectedVFO] = vfo->generalOffset;
|
||||||
|
}
|
||||||
|
core::configManager.release(true);
|
||||||
|
}
|
||||||
|
|
||||||
int _fftHeight = gui::waterfall.getFFTHeight();
|
int _fftHeight = gui::waterfall.getFFTHeight();
|
||||||
if (fftHeight != _fftHeight) {
|
if (fftHeight != _fftHeight) {
|
||||||
fftHeight = _fftHeight;
|
fftHeight = _fftHeight;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include <gui/widgets/frequency_select.h>
|
#include <gui/widgets/frequency_select.h>
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <gui/style.h>
|
#include <gui/style.h>
|
||||||
|
#include <GLFW/glfw3.h>
|
||||||
|
|
||||||
#ifndef IMGUI_DEFINE_MATH_OPERATORS
|
#ifndef IMGUI_DEFINE_MATH_OPERATORS
|
||||||
#define IMGUI_DEFINE_MATH_OPERATORS
|
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||||
@ -150,6 +151,12 @@ void FrequencySelect::draw() {
|
|||||||
}
|
}
|
||||||
frequencyChanged = true;
|
frequencyChanged = true;
|
||||||
}
|
}
|
||||||
|
if (ImGui::IsKeyPressed(GLFW_KEY_UP)) {
|
||||||
|
incrementDigit(i);
|
||||||
|
}
|
||||||
|
if (ImGui::IsKeyPressed(GLFW_KEY_DOWN)) {
|
||||||
|
decrementDigit(i);
|
||||||
|
}
|
||||||
if (mw != 0) {
|
if (mw != 0) {
|
||||||
int count = abs(mw);
|
int count = abs(mw);
|
||||||
for (int j = 0; j < count; j++) {
|
for (int j = 0; j < count; j++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user