From 1f00b76d2ecf8ba9db507490599ac26e0e6bdc1b Mon Sep 17 00:00:00 2001 From: Mooneer Salem Date: Sat, 11 Nov 2023 20:00:48 -0800 Subject: [PATCH 01/10] Add Help button on the main window. --- src/main.h | 2 ++ src/ongui.cpp | 8 ++++++++ src/topFrame.cpp | 21 +++++++++++++++++---- src/topFrame.h | 3 +++ 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/main.h b/src/main.h index 311302d47..6f803b0bb 100644 --- a/src/main.h +++ b/src/main.h @@ -396,6 +396,8 @@ class MainFrame : public TopFrame void OnTogBtnVoiceKeyerClick (wxCommandEvent& event) override; void OnTogBtnVoiceKeyerRightClick( wxContextMenuEvent& event ) override; + void OnHelp( wxCommandEvent& event ) override; + void OnTogBtnOnOff( wxCommandEvent& event ) override; void OnTogBtnRecord( wxCommandEvent& event ) override; diff --git a/src/ongui.cpp b/src/ongui.cpp index d005211f5..49a6abdf6 100644 --- a/src/ongui.cpp +++ b/src/ongui.cpp @@ -281,6 +281,14 @@ void MainFrame::OnHelpManual( wxCommandEvent& event ) wxLaunchDefaultBrowser("https://github.com/drowe67/freedv-gui/blob/master/USER_MANUAL.pdf"); } +//------------------------------------------------------------------------- +// OnHelp() +//------------------------------------------------------------------------- +void MainFrame::OnHelp( wxCommandEvent& event ) +{ + wxLaunchDefaultBrowser("https://freedv.org/help-resources/"); +} + //------------------------------------------------------------------------- //OnHelpAbout() //------------------------------------------------------------------------- diff --git a/src/topFrame.cpp b/src/topFrame.cpp index 92eb1fd52..825b2a07f 100644 --- a/src/topFrame.cpp +++ b/src/topFrame.cpp @@ -686,7 +686,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_hiddenMode1->SetValue(true); m_hiddenMode2->SetValue(true); - sbSizer_mode->SetMinSize(wxSize(175,250)); + sbSizer_mode->SetMinSize(wxSize(175,225)); otherModeWin->SetSizer(otherModeSizer); otherModeSizer->SetSizeHints(otherModeWin); @@ -738,8 +738,19 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_btnTogPTT->SetToolTip(_("Push to Talk - Switch between Receive and Transmit. Right-click for additional options.")); bSizer11->Add(m_btnTogPTT, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); sbSizer5->Add(bSizer11, 2, wxEXPAND, 1); + + //------------------------------ + // Help button: goes to Help page on website + //------------------------------ + wxBoxSizer* bSizer12; + bSizer12 = new wxBoxSizer(wxVERTICAL); + m_btnHelp = new wxButton(controlBox, wxID_ANY, _("Get Help"), wxDefaultPosition, wxDefaultSize, 0); + m_btnHelp->SetToolTip(_("Get help with FreeDV.")); + bSizer12->Add(m_btnHelp, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); + sbSizer5->Add(bSizer12, 2, wxEXPAND, 1); + rightSizer->Add(sbSizer5, 2, wxALL|wxEXPAND, 1); - + // Frequency text field (PSK Reporter) m_freqBox = new wxStaticBox(m_panel, wxID_ANY, _("Report Frequency")); wxBoxSizer* reportFrequencySizer = new wxStaticBoxSizer(m_freqBox, wxHORIZONTAL); @@ -835,7 +846,8 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_togBtnVoiceKeyer->Connect(wxEVT_CONTEXT_MENU, wxContextMenuEventHandler(TopFrame::OnTogBtnVoiceKeyerRightClick), NULL, this); m_btnTogPTT->Connect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(TopFrame::OnTogBtnPTT), NULL, this); m_btnTogPTT->Connect(wxEVT_CONTEXT_MENU, wxContextMenuEventHandler(TopFrame::OnTogBtnPTTRightClick), NULL, this); - + m_btnHelp->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TopFrame::OnHelp), NULL, this); + m_BtnCallSignReset->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TopFrame::OnCallSignReset), NULL, this); m_BtnBerReset->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TopFrame::OnBerReset), NULL, this); m_BtnReSync->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TopFrame::OnReSync), NULL, this); @@ -917,7 +929,8 @@ TopFrame::~TopFrame() m_togBtnVoiceKeyer->Disconnect(wxEVT_CONTEXT_MENU, wxContextMenuEventHandler(TopFrame::OnTogBtnVoiceKeyerRightClick), NULL, this); m_btnTogPTT->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(TopFrame::OnTogBtnPTT), NULL, this); m_btnTogPTT->Disconnect(wxEVT_CONTEXT_MENU, wxContextMenuEventHandler(TopFrame::OnTogBtnPTTRightClick), NULL, this); - + m_btnHelp->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TopFrame::OnHelp), NULL, this); + m_audioRecord->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(TopFrame::OnTogBtnRecord), NULL, this); m_rb700c->Disconnect(wxEVT_RADIOBUTTON, wxCommandEventHandler(TopFrame::OnChangeTxMode), NULL, this); diff --git a/src/topFrame.h b/src/topFrame.h index e63919476..96f356772 100644 --- a/src/topFrame.h +++ b/src/topFrame.h @@ -194,6 +194,8 @@ class TopFrame : public wxFrame virtual void OnTogBtnPTT( wxCommandEvent& event ) { event.Skip(); } virtual void OnTogBtnPTTRightClick( wxContextMenuEvent& event ) { event.Skip(); } + + virtual void OnHelp( wxCommandEvent& event ) { event.Skip(); } virtual void OnTogBtnRecord( wxCommandEvent& event ) { event.Skip(); } @@ -226,6 +228,7 @@ class TopFrame : public wxFrame wxToggleButton* m_togBtnAnalog; wxToggleButton* m_togBtnVoiceKeyer; wxToggleButton* m_btnTogPTT; + wxButton* m_btnHelp; wxAuiNotebook* m_auiNbookCtrl; wxComboBox* m_cboReportFrequency; wxStaticBox* m_freqBox; From bf47054048dcb4bd7f07a862a80cca7cc7b58e7a Mon Sep 17 00:00:00 2001 From: Mooneer Salem Date: Sat, 11 Nov 2023 20:03:24 -0800 Subject: [PATCH 02/10] Add PR #607 to changelog. --- USER_MANUAL.md | 1 + 1 file changed, 1 insertion(+) diff --git a/USER_MANUAL.md b/USER_MANUAL.md index 0d3d0b6b3..91140cea6 100644 --- a/USER_MANUAL.md +++ b/USER_MANUAL.md @@ -926,6 +926,7 @@ LDPC | Low Density Parity Check Codes - a family of powerful FEC codes * Add ability to double-click FreeDV Reporter entries to change the radio's frequency. (PR #592) * FreeDV Reporter: Add ability to force RX Only reporting in Tools->Options. (PR #599) * Add new 160m/80m/40m calling frequencies for IARU R2. (PR #601) + * Add Help button to allow users to get help more easily. (PR #607) 3. Other: * Report OS usage to FreeDV Reporter. (PR #606) From ec599da72df9a3cc961715ee34f2df04d2aea11b Mon Sep 17 00:00:00 2001 From: Mooneer Salem Date: Sat, 11 Nov 2023 20:10:47 -0800 Subject: [PATCH 03/10] Adjust spacing on Linux. --- src/topFrame.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/topFrame.cpp b/src/topFrame.cpp index 825b2a07f..8244154d0 100644 --- a/src/topFrame.cpp +++ b/src/topFrame.cpp @@ -707,7 +707,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_togBtnOnOff = new wxToggleButton(controlBox, wxID_ANY, _("&Start"), wxDefaultPosition, wxDefaultSize, 0); m_togBtnOnOff->SetToolTip(_("Begin/End receiving data.")); bSizer1511->Add(m_togBtnOnOff, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); - sbSizer5->Add(bSizer1511, 0, wxEXPAND, 1); + sbSizer5->Add(bSizer1511, 0, wxALL | wxEXPAND, 1); wxBoxSizer* bSizer13; bSizer13 = new wxBoxSizer(wxVERTICAL); @@ -737,7 +737,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_btnTogPTT = new wxToggleButton(controlBox, wxID_ANY, _("&PTT"), wxDefaultPosition, wxDefaultSize, 0); m_btnTogPTT->SetToolTip(_("Push to Talk - Switch between Receive and Transmit. Right-click for additional options.")); bSizer11->Add(m_btnTogPTT, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); - sbSizer5->Add(bSizer11, 2, wxEXPAND, 1); + sbSizer5->Add(bSizer11, 0, wxALL | wxEXPAND, 1); //------------------------------ // Help button: goes to Help page on website @@ -747,7 +747,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_btnHelp = new wxButton(controlBox, wxID_ANY, _("Get Help"), wxDefaultPosition, wxDefaultSize, 0); m_btnHelp->SetToolTip(_("Get help with FreeDV.")); bSizer12->Add(m_btnHelp, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); - sbSizer5->Add(bSizer12, 2, wxEXPAND, 1); + sbSizer5->Add(bSizer12, 0, wxALL | wxEXPAND, 1); rightSizer->Add(sbSizer5, 2, wxALL|wxEXPAND, 1); From dd55d312b13811c94a011ec400b8bd55650be18b Mon Sep 17 00:00:00 2001 From: Mooneer Salem Date: Tue, 14 Nov 2023 08:49:20 -0800 Subject: [PATCH 04/10] Move Help button to left hand side of window. --- src/topFrame.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/topFrame.cpp b/src/topFrame.cpp index 8244154d0..2252bdab0 100644 --- a/src/topFrame.cpp +++ b/src/topFrame.cpp @@ -520,6 +520,17 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const levelSizer->Add(m_gaugeLevel, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 10); leftSizer->Add(levelSizer, 2, wxALL|wxEXPAND, 1); + + //------------------------------ + // Help button: goes to Help page on website + //------------------------------ + wxStaticBox* helpBox = new wxStaticBox(m_panel, wxID_ANY, _("Assistance")); + wxStaticBoxSizer* helpSizer = new wxStaticBoxSizer(helpBox, wxVERTICAL); + + m_btnHelp = new wxButton(helpBox, wxID_ANY, _("Get Help"), wxDefaultPosition, wxDefaultSize, 0); + m_btnHelp->SetToolTip(_("Get help with FreeDV.")); + helpSizer->Add(m_btnHelp, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); + leftSizer->Add(helpSizer, 0, wxALL | wxEXPAND, 1); bSizer1->Add(leftSizer, 0, wxALL|wxEXPAND, 5); @@ -739,16 +750,6 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const bSizer11->Add(m_btnTogPTT, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); sbSizer5->Add(bSizer11, 0, wxALL | wxEXPAND, 1); - //------------------------------ - // Help button: goes to Help page on website - //------------------------------ - wxBoxSizer* bSizer12; - bSizer12 = new wxBoxSizer(wxVERTICAL); - m_btnHelp = new wxButton(controlBox, wxID_ANY, _("Get Help"), wxDefaultPosition, wxDefaultSize, 0); - m_btnHelp->SetToolTip(_("Get help with FreeDV.")); - bSizer12->Add(m_btnHelp, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); - sbSizer5->Add(bSizer12, 0, wxALL | wxEXPAND, 1); - rightSizer->Add(sbSizer5, 2, wxALL|wxEXPAND, 1); // Frequency text field (PSK Reporter) From d67efdd09ea4c2aa98095d92801007fc7733b55f Mon Sep 17 00:00:00 2001 From: Mooneer Salem Date: Thu, 16 Nov 2023 00:09:22 -0800 Subject: [PATCH 05/10] Attempt to keep Help button fixed at the bottom left. --- src/topFrame.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/topFrame.cpp b/src/topFrame.cpp index 2252bdab0..91254d870 100644 --- a/src/topFrame.cpp +++ b/src/topFrame.cpp @@ -412,6 +412,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const //===================================================== // Left side //===================================================== + wxSizer* leftOuterSizer = new wxBoxSizer(wxVERTICAL); wxSizer* leftSizer = new wxWrapSizer(wxVERTICAL); wxStaticBoxSizer* snrSizer; @@ -421,7 +422,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const //------------------------------ // S/N ratio Gauge (vert. bargraph) //------------------------------ - m_gaugeSNR = new wxGauge(snrBox, wxID_ANY, 25, wxDefaultPosition, wxSize(15,150), wxGA_SMOOTH|wxGA_VERTICAL); + m_gaugeSNR = new wxGauge(snrBox, wxID_ANY, 25, wxDefaultPosition, wxSize(15,135), wxGA_SMOOTH|wxGA_VERTICAL); m_gaugeSNR->SetToolTip(_("Displays signal to noise ratio in dB.")); snrSizer->Add(m_gaugeSNR, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 10); @@ -529,10 +530,11 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_btnHelp = new wxButton(helpBox, wxID_ANY, _("Get Help"), wxDefaultPosition, wxDefaultSize, 0); m_btnHelp->SetToolTip(_("Get help with FreeDV.")); - helpSizer->Add(m_btnHelp, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); - leftSizer->Add(helpSizer, 0, wxALL | wxEXPAND, 1); + helpSizer->Add(m_btnHelp, 0, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); + leftOuterSizer->Add(leftSizer, 2, wxALL | wxEXPAND, 1); + leftOuterSizer->Add(helpSizer, 0, wxFIXED_MINSIZE | wxALL | wxEXPAND, 1); - bSizer1->Add(leftSizer, 0, wxALL|wxEXPAND, 5); + bSizer1->Add(leftOuterSizer, 0, wxALL|wxEXPAND, 5); //===================================================== // Center Section @@ -774,7 +776,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const this->Layout(); m_statusBar1 = this->CreateStatusBar(1, wxSTB_DEFAULT_STYLE, wxID_ANY); - + //===================================================== // End of layout //===================================================== From 636b690f6b3b8843415ce691f30b428ee3eb4d19 Mon Sep 17 00:00:00 2001 From: Mooneer Salem Date: Thu, 16 Nov 2023 00:18:54 -0800 Subject: [PATCH 06/10] Have button go to the help section on the homepage instead. --- src/ongui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ongui.cpp b/src/ongui.cpp index 588e9c53c..9bb168163 100644 --- a/src/ongui.cpp +++ b/src/ongui.cpp @@ -286,7 +286,7 @@ void MainFrame::OnHelpManual( wxCommandEvent& event ) //------------------------------------------------------------------------- void MainFrame::OnHelp( wxCommandEvent& event ) { - wxLaunchDefaultBrowser("https://freedv.org/help-resources/"); + wxLaunchDefaultBrowser("https://freedv.org/#gethelp"); } //------------------------------------------------------------------------- From 144c49b6e01bc674d6934c8b91a01b23ef1318a7 Mon Sep 17 00:00:00 2001 From: Mooneer Salem Date: Thu, 16 Nov 2023 19:44:40 -0800 Subject: [PATCH 07/10] Adjust spacing of buttons and other elements on the main window. --- src/topFrame.cpp | 56 ++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/topFrame.cpp b/src/topFrame.cpp index 91254d870..d3e4c4d88 100644 --- a/src/topFrame.cpp +++ b/src/topFrame.cpp @@ -440,7 +440,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_ckboxSNR->SetToolTip(_("Smooth but slow SNR estimation")); snrSizer->Add(m_ckboxSNR, 0, wxALIGN_CENTER_HORIZONTAL, 5); - leftSizer->Add(snrSizer, 2, wxEXPAND|wxALL, 1); + leftSizer->Add(snrSizer, 2, wxEXPAND|wxALL, 2); //------------------------------ // Sync Indicator box @@ -458,9 +458,9 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_textCurrentDecodeMode->Disable(); m_BtnReSync = new wxButton(syncBox, wxID_ANY, _("ReS&ync"), wxDefaultPosition, wxDefaultSize, 0); - sbSizer3_33->Add(m_BtnReSync, 0, wxALIGN_CENTRE , 1); + sbSizer3_33->Add(m_BtnReSync, 0, wxALL | wxALIGN_CENTRE, 5); - leftSizer->Add(sbSizer3_33,0, wxALL|wxEXPAND, 3); + leftSizer->Add(sbSizer3_33,0, wxALL|wxEXPAND, 2); //------------------------------ // Audio Recording/Playback @@ -470,9 +470,9 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_audioRecord = new wxToggleButton(audioBox, wxID_ANY, _("Record"), wxDefaultPosition, wxDefaultSize, 0); m_audioRecord->SetToolTip(_("Records incoming over the air signals as well as anything transmitted.")); - sbSizerAudioRecordPlay->Add(m_audioRecord, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, 1); + sbSizerAudioRecordPlay->Add(m_audioRecord, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, 5); - leftSizer->Add(sbSizerAudioRecordPlay, 0, wxALL|wxEXPAND, 3); + leftSizer->Add(sbSizerAudioRecordPlay, 0, wxALL|wxEXPAND, 2); //------------------------------ // BER Frames box @@ -483,27 +483,27 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const sbSizer_ber = new wxStaticBoxSizer(statsBox, wxVERTICAL); m_BtnBerReset = new wxButton(statsBox, wxID_ANY, _("&Reset"), wxDefaultPosition, wxDefaultSize, 0); - sbSizer_ber->Add(m_BtnBerReset, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); + sbSizer_ber->Add(m_BtnBerReset, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); m_textBits = new wxStaticText(statsBox, wxID_ANY, wxT("Bits: 0"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); - sbSizer_ber->Add(m_textBits, 0, wxALIGN_LEFT, 1); + sbSizer_ber->Add(m_textBits, 0, wxALL | wxALIGN_LEFT, 1); m_textErrors = new wxStaticText(statsBox, wxID_ANY, wxT("Errs: 0"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); - sbSizer_ber->Add(m_textErrors, 0, wxALIGN_LEFT, 1); + sbSizer_ber->Add(m_textErrors, 0, wxALL | wxALIGN_LEFT, 1); m_textBER = new wxStaticText(statsBox, wxID_ANY, wxT("BER: 0.0"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); - sbSizer_ber->Add(m_textBER, 0, wxALIGN_LEFT, 1); + sbSizer_ber->Add(m_textBER, 0, wxALL | wxALIGN_LEFT, 1); m_textResyncs = new wxStaticText(statsBox, wxID_ANY, wxT("Resyncs: 0"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); - sbSizer_ber->Add(m_textResyncs, 0, wxALIGN_LEFT, 1); + sbSizer_ber->Add(m_textResyncs, 0, wxALL | wxALIGN_LEFT, 1); m_textClockOffset = new wxStaticText(statsBox, wxID_ANY, wxT("ClkOff: 0"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); m_textClockOffset->SetMinSize(wxSize(125,-1)); - sbSizer_ber->Add(m_textClockOffset, 0, wxALIGN_LEFT, 1); + sbSizer_ber->Add(m_textClockOffset, 0, wxALL | wxALIGN_LEFT, 1); m_textFreqOffset = new wxStaticText(statsBox, wxID_ANY, wxT("FreqOff: 0"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); - sbSizer_ber->Add(m_textFreqOffset, 0, wxALIGN_LEFT, 1); + sbSizer_ber->Add(m_textFreqOffset, 0, wxALL | wxALIGN_LEFT, 1); m_textSyncMetric = new wxStaticText(statsBox, wxID_ANY, wxT("Sync: 0"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); - sbSizer_ber->Add(m_textSyncMetric, 0, wxALIGN_LEFT, 1); + sbSizer_ber->Add(m_textSyncMetric, 0, wxALL | wxALIGN_LEFT, 1); m_textCodec2Var = new wxStaticText(statsBox, wxID_ANY, wxT("Var: 0"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); - sbSizer_ber->Add(m_textCodec2Var, 0, wxALIGN_LEFT, 1); + sbSizer_ber->Add(m_textCodec2Var, 0, wxALL | wxALIGN_LEFT, 1); - leftSizer->Add(sbSizer_ber,0, wxALL|wxEXPAND, 3); + leftSizer->Add(sbSizer_ber,0, wxALL|wxEXPAND, 2); //------------------------------ // Signal Level(vert. bargraph) @@ -520,7 +520,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_gaugeLevel->SetToolTip(_("Peak of From Radio in Rx, or peak of From Mic in Tx mode. If Red you should reduce your levels")); levelSizer->Add(m_gaugeLevel, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 10); - leftSizer->Add(levelSizer, 2, wxALL|wxEXPAND, 1); + leftSizer->Add(levelSizer, 2, wxALL|wxEXPAND, 2); //------------------------------ // Help button: goes to Help page on website @@ -530,7 +530,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_btnHelp = new wxButton(helpBox, wxID_ANY, _("Get Help"), wxDefaultPosition, wxDefaultSize, 0); m_btnHelp->SetToolTip(_("Get help with FreeDV.")); - helpSizer->Add(m_btnHelp, 0, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); + helpSizer->Add(m_btnHelp, 0, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); leftOuterSizer->Add(leftSizer, 2, wxALL | wxEXPAND, 1); leftOuterSizer->Add(helpSizer, 0, wxFIXED_MINSIZE | wxALL | wxEXPAND, 1); @@ -633,7 +633,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_ckboxSQ = new wxCheckBox(squelchBox, wxID_ANY, _("Enable"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE); sbSizer3->Add(m_ckboxSQ, 0, wxALIGN_CENTER_HORIZONTAL, 0); - rightSizer->Add(sbSizer3, 2, wxEXPAND, 0); + rightSizer->Add(sbSizer3, 2, wxALL | wxEXPAND, 2); // Transmit Level slider wxBoxSizer* txLevelSizer = new wxStaticBoxSizer(new wxStaticBox(m_panel, wxID_ANY, _("TX &Attenuation"), wxDefaultPosition, wxSize(150,-1)), wxVERTICAL); @@ -656,7 +656,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_txtTxLevelNum->SetMinSize(wxSize(100,-1)); txLevelSizer->Add(m_txtTxLevelNum, 0, wxALIGN_CENTER_HORIZONTAL, 0); - rightSizer->Add(txLevelSizer, 2, wxEXPAND, 0); + rightSizer->Add(txLevelSizer, 2, wxALL | wxEXPAND, 2); /* new --- */ @@ -703,7 +703,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const otherModeWin->SetSizer(otherModeSizer); otherModeSizer->SetSizeHints(otherModeWin); - rightSizer->Add(sbSizer_mode,0, wxEXPAND, 3); + rightSizer->Add(sbSizer_mode,0, wxALL | wxEXPAND, 2); //===================================================== // Control Toggles box @@ -719,8 +719,8 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const //------------------------------- m_togBtnOnOff = new wxToggleButton(controlBox, wxID_ANY, _("&Start"), wxDefaultPosition, wxDefaultSize, 0); m_togBtnOnOff->SetToolTip(_("Begin/End receiving data.")); - bSizer1511->Add(m_togBtnOnOff, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); - sbSizer5->Add(bSizer1511, 0, wxALL | wxEXPAND, 1); + bSizer1511->Add(m_togBtnOnOff, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 2); + sbSizer5->Add(bSizer1511, 0, wxTOP | wxLEFT | wxRIGHT | wxEXPAND, 1); wxBoxSizer* bSizer13; bSizer13 = new wxBoxSizer(wxVERTICAL); @@ -730,7 +730,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const //------------------------------ m_togBtnAnalog = new wxToggleButton(controlBox, wxID_ANY, _("A&nalog"), wxDefaultPosition, wxDefaultSize, 0); m_togBtnAnalog->SetToolTip(_("Toggle analog/digital operation.")); - bSizer13->Add(m_togBtnAnalog, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); + bSizer13->Add(m_togBtnAnalog, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 2); sbSizer5->Add(bSizer13, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); //------------------------------ @@ -739,7 +739,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_togBtnVoiceKeyer = new wxToggleButton(controlBox, wxID_ANY, _("Voice &Keyer"), wxDefaultPosition, wxDefaultSize, 0); m_togBtnVoiceKeyer->SetToolTip(_("Toggle Voice Keyer. Right-click for additional options.")); wxBoxSizer* bSizer13a = new wxBoxSizer(wxVERTICAL); - bSizer13a->Add(m_togBtnVoiceKeyer, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); + bSizer13a->Add(m_togBtnVoiceKeyer, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 2); sbSizer5->Add(bSizer13a, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); //------------------------------ @@ -749,10 +749,10 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const bSizer11 = new wxBoxSizer(wxVERTICAL); m_btnTogPTT = new wxToggleButton(controlBox, wxID_ANY, _("&PTT"), wxDefaultPosition, wxDefaultSize, 0); m_btnTogPTT->SetToolTip(_("Push to Talk - Switch between Receive and Transmit. Right-click for additional options.")); - bSizer11->Add(m_btnTogPTT, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 1); - sbSizer5->Add(bSizer11, 0, wxALL | wxEXPAND, 1); + bSizer11->Add(m_btnTogPTT, 1, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 2); + sbSizer5->Add(bSizer11, 0, wxBOTTOM | wxLEFT | wxRIGHT | wxEXPAND, 1); - rightSizer->Add(sbSizer5, 2, wxALL|wxEXPAND, 1); + rightSizer->Add(sbSizer5, 2, wxALL|wxEXPAND, 2); // Frequency text field (PSK Reporter) m_freqBox = new wxStaticBox(m_panel, wxID_ANY, _("Report Frequency")); @@ -768,7 +768,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const reportFrequencySizer->Add(txtReportFreqSizer, 1, wxEXPAND, 1); reportFrequencySizer->Add(reportFrequencyUnits, 0, wxALIGN_CENTER_VERTICAL, 1); - rightSizer->Add(reportFrequencySizer, 0, wxALL, 1); + rightSizer->Add(reportFrequencySizer, 0, wxALL, 2); bSizer1->Add(rightSizer, 0, wxALL|wxEXPAND, 3); From 8a7dd734f25002373f67c101b504814a15257063 Mon Sep 17 00:00:00 2001 From: Mooneer Salem Date: Thu, 16 Nov 2023 19:46:53 -0800 Subject: [PATCH 08/10] Set up for 1.9.5 release. --- CMakeLists.txt | 2 +- USER_MANUAL.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e38673e8b..777e4e68f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,7 @@ endif(APPLE) # Adds a tag to the end of the version string. Leave empty # for official release builds. -set(FREEDV_VERSION_TAG "devel") +set(FREEDV_VERSION_TAG "") # Prevent in-source builds to protect automake/autoconf config. # If an in-source build is attempted, you will still need to clean up a few diff --git a/USER_MANUAL.md b/USER_MANUAL.md index 72ae95cff..de082e935 100644 --- a/USER_MANUAL.md +++ b/USER_MANUAL.md @@ -912,7 +912,7 @@ LDPC | Low Density Parity Check Codes - a family of powerful FEC codes # Release Notes -## V1.9.5 TBD 2023 +## V1.9.5 November 2023 1. Bugfixes: * Fix bug preventing frequency updates from being properly suppressed when frequency control is in focus. (PR #585) From 7c9febe515242bced78da102e8b3dad2d6ab9e9e Mon Sep 17 00:00:00 2001 From: Mooneer Salem Date: Thu, 16 Nov 2023 19:53:39 -0800 Subject: [PATCH 09/10] Add spacing around Report Frequency textbox. --- src/topFrame.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/topFrame.cpp b/src/topFrame.cpp index d3e4c4d88..5a6a72dc7 100644 --- a/src/topFrame.cpp +++ b/src/topFrame.cpp @@ -763,7 +763,7 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const m_cboReportFrequency = new wxComboBox(m_freqBox, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN | wxTE_PROCESS_ENTER); m_cboReportFrequency->SetMinSize(wxSize(150,-1)); - txtReportFreqSizer->Add(m_cboReportFrequency, 1, 0, 1); + txtReportFreqSizer->Add(m_cboReportFrequency, 1, wxALL, 5); reportFrequencySizer->Add(txtReportFreqSizer, 1, wxEXPAND, 1); reportFrequencySizer->Add(reportFrequencyUnits, 0, wxALIGN_CENTER_VERTICAL, 1); From 3c2c6a794ca1f239e1d9c4616016cb43d0b8cd41 Mon Sep 17 00:00:00 2001 From: Mooneer Salem Date: Thu, 16 Nov 2023 20:07:18 -0800 Subject: [PATCH 10/10] Upgrade wxWidgets to 3.2.4. --- USER_MANUAL.md | 4 +++- cmake/BuildWxWidgets.cmake | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/USER_MANUAL.md b/USER_MANUAL.md index de082e935..731f58a6e 100644 --- a/USER_MANUAL.md +++ b/USER_MANUAL.md @@ -928,7 +928,9 @@ LDPC | Low Density Parity Check Codes - a family of powerful FEC codes * FreeDV Reporter: Add ability to force RX Only reporting in Tools->Options. (PR #599) * Add new 160m/80m/40m calling frequencies for IARU R2. (PR #601) * Add Help button to allow users to get help more easily. (PR #607) -3. Other: +3. Build system: + * Upgrade wxWidgets to 3.2.4. (PR #607) +4. Other: * Report OS usage to FreeDV Reporter. (PR #606) ## V1.9.4 October 2023 diff --git a/cmake/BuildWxWidgets.cmake b/cmake/BuildWxWidgets.cmake index 02f478b82..34c033984 100644 --- a/cmake/BuildWxWidgets.cmake +++ b/cmake/BuildWxWidgets.cmake @@ -1,4 +1,4 @@ -set(WXWIDGETS_VERSION "3.2.3") +set(WXWIDGETS_VERSION "3.2.4") # Ensure that the wxWidgets library is staticly built. set(wxBUILD_SHARED OFF CACHE BOOL "Build wx libraries as shared libs")