diff --git a/src/CubicSDR.cpp b/src/CubicSDR.cpp index f7bab6d..7d5fb54 100644 --- a/src/CubicSDR.cpp +++ b/src/CubicSDR.cpp @@ -273,7 +273,7 @@ int CubicSDR::getPPM() { void CubicSDR::showFrequencyInput() { - FrequencyDialog fdialog(appframe, -1, demodMgr.getActiveDemodulator()?_("Set Demodulator Frequency"):_("Set Frequency"), demodMgr.getActiveDemodulator(), wxPoint(-100,-100), wxSize(320, 75 )); + FrequencyDialog fdialog(appframe, -1, demodMgr.getActiveDemodulator()?_("Set Demodulator Frequency"):_("Set Center Frequency"), demodMgr.getActiveDemodulator(), wxPoint(-100,-100), wxSize(320, 75 )); fdialog.ShowModal(); } diff --git a/src/FrequencyDialog.cpp b/src/FrequencyDialog.cpp index 6561058..30b9309 100644 --- a/src/FrequencyDialog.cpp +++ b/src/FrequencyDialog.cpp @@ -5,12 +5,12 @@ #include #include "CubicSDR.h" -wxBEGIN_EVENT_TABLE(FrequencyDialog, wxDialog) -EVT_CHAR_HOOK(FrequencyDialog::OnChar) +wxBEGIN_EVENT_TABLE(FrequencyDialog, wxDialog) EVT_CHAR_HOOK(FrequencyDialog::OnChar) wxEND_EVENT_TABLE() -FrequencyDialog::FrequencyDialog(wxWindow * parent, wxWindowID id, const wxString & title, DemodulatorInstance *demod, const wxPoint & position, const wxSize & size, long style) : -wxDialog(parent, id, title, position, size, style) { +FrequencyDialog::FrequencyDialog(wxWindow * parent, wxWindowID id, const wxString & title, DemodulatorInstance *demod, const wxPoint & position, + const wxSize & size, long style) : + wxDialog(parent, id, title, position, size, style) { wxString freqStr; activeDemod = demod; @@ -20,7 +20,8 @@ wxDialog(parent, id, title, position, size, style) { freqStr = frequencyToStr(wxGetApp().getFrequency()); } - dialogText = new wxTextCtrl(this, wxID_FREQ_INPUT, freqStr, wxPoint(6, 1), wxSize(size.GetWidth() - 20, size.GetHeight() - 70), wxTE_PROCESS_ENTER); + dialogText = new wxTextCtrl(this, wxID_FREQ_INPUT, freqStr, wxPoint(6, 1), wxSize(size.GetWidth() - 20, size.GetHeight() - 70), + wxTE_PROCESS_ENTER); dialogText->SetFont(wxFont(20, wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD)); Centre(); @@ -122,7 +123,8 @@ void FrequencyDialog::OnChar(wxKeyEvent& event) { std::string allowed("0123456789.MKGHZmkghz"); - if (allowed.find_first_of(c) != std::string::npos || c == WXK_BACK) { + if (allowed.find_first_of(c) != std::string::npos || c == WXK_DELETE || c == WXK_BACK || c == WXK_NUMPAD_DECIMAL + || (c >= WXK_NUMPAD0 && c <= WXK_NUMPAD9)) { event.DoAllowNextEvent(); } else if (event.ControlDown() && c == 'V') { // Alter clipboard contents to remove unwanted chars diff --git a/src/visual/TuningCanvas.cpp b/src/visual/TuningCanvas.cpp index 216f5e0..e6322d7 100644 --- a/src/visual/TuningCanvas.cpp +++ b/src/visual/TuningCanvas.cpp @@ -346,7 +346,7 @@ void TuningCanvas::OnMouseLeftWindow(wxMouseEvent& event) { SetCursor(wxCURSOR_CROSS); hoverIndex = 0; hoverState = TUNING_HOVER_NONE; - wxGetApp().getDemodMgr().setActiveDemodulator(wxGetApp().getDemodMgr().getLastActiveDemodulator()); + wxGetApp().getDemodMgr().setActiveDemodulator(NULL); if (currentPPM != lastPPM) { wxGetApp().saveConfig(); @@ -368,7 +368,7 @@ void TuningCanvas::setHelpTip(std::string tip) { void TuningCanvas::OnKeyDown(wxKeyEvent& event) { InteractiveCanvas::OnKeyDown(event); - if (event.GetKeyCode() == WXK_SPACE && hoverState == TUNING_HOVER_CENTER || hoverState == TUNING_HOVER_FREQ) { + if (event.GetKeyCode() == WXK_SPACE && (hoverState == TUNING_HOVER_CENTER || hoverState == TUNING_HOVER_FREQ)) { wxGetApp().showFrequencyInput(); } } diff --git a/src/visual/WaterfallCanvas.cpp b/src/visual/WaterfallCanvas.cpp index abbc52e..b00fb84 100644 --- a/src/visual/WaterfallCanvas.cpp +++ b/src/visual/WaterfallCanvas.cpp @@ -193,6 +193,8 @@ void WaterfallCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { } } + glContext->setHoverAlpha(0); + for (int i = 0, iMax = demods.size(); i < iMax; i++) { if (activeDemodulator == demods[i] || lastActiveDemodulator == demods[i]) { continue;