From 6ce061280a9121c6c580748b5d5c9a8c564d21ac Mon Sep 17 00:00:00 2001 From: "Charles J. Cliffe" Date: Tue, 7 Feb 2017 21:48:22 -0500 Subject: [PATCH] New 'About' dialog and minor cleanup --- CMakeLists.txt | 2 +- src/AppFrame.cpp | 39 +- src/AppFrame.h | 7 +- src/forms/Dialog/AboutDialog.cpp | 9 + src/forms/Dialog/AboutDialog.fbp | 7704 ++++++++++++++++++++++++++ src/forms/Dialog/AboutDialog.h | 15 + src/forms/Dialog/AboutDialogBase.cpp | 451 ++ src/forms/Dialog/AboutDialogBase.h | 139 + src/forms/Dialog/ActionDialog.cpp | 3 + src/forms/Dialog/ActionDialog.h | 3 + 10 files changed, 8355 insertions(+), 17 deletions(-) create mode 100644 src/forms/Dialog/AboutDialog.cpp create mode 100644 src/forms/Dialog/AboutDialog.fbp create mode 100644 src/forms/Dialog/AboutDialog.h create mode 100644 src/forms/Dialog/AboutDialogBase.cpp create mode 100644 src/forms/Dialog/AboutDialogBase.h diff --git a/CMakeLists.txt b/CMakeLists.txt index d1526c5..54a804e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,7 +45,7 @@ IF(CUSTOM_BUILD) ) ENDIF() ELSE() - SET (CUBICSDR_BUILD_TITLE "CubicSDR v${CUBICSDR_VERSION} :: www.cubicsdr.com") + SET (CUBICSDR_BUILD_TITLE "CubicSDR v${CUBICSDR_VERSION} :: www.cubicsdr.com") # bundle flags SET (CUBICSDR_INSTALL_NAME "CubicSDR") SET (CUBICSDR_INSTALL_TITLE "CubicSDR ${CUBICSDR_VERSION} Installer") diff --git a/src/AppFrame.cpp b/src/AppFrame.cpp index 599384a..3de2494 100644 --- a/src/AppFrame.cpp +++ b/src/AppFrame.cpp @@ -37,7 +37,6 @@ wxBEGIN_EVENT_TABLE(AppFrame, wxFrame) //EVT_MENU(wxID_NEW, AppFrame::OnNewWindow) EVT_CLOSE(AppFrame::OnClose) EVT_MENU(wxID_ANY, AppFrame::OnMenu) -EVT_COMMAND(wxID_ANY, wxEVT_THREAD, AppFrame::OnThread) EVT_IDLE(AppFrame::OnIdle) EVT_SPLITTER_DCLICK(wxID_ANY, AppFrame::OnDoubleClickSash) EVT_SPLITTER_UNSPLIT(wxID_ANY, AppFrame::OnUnSplit) @@ -393,7 +392,9 @@ AppFrame::AppFrame() : // Make a menubar menuBar = new wxMenuBar; wxMenu *menu = new wxMenu; - +#ifndef __APPLE__ + menu->Append(wxID_ABOUT_CUBICSDR, "About " CUBICSDR_INSTALL_NAME); +#endif menu->Append(wxID_SDR_DEVICES, "SDR Devices"); menu->AppendSeparator(); menu->Append(wxID_SDR_START_STOP, "Stop / Start Device"); @@ -410,7 +411,7 @@ AppFrame::AppFrame() : #else if ( wxApp::s_macAboutMenuItemId != wxID_NONE ) { wxString aboutLabel; - aboutLabel.Printf(_("About %s"), wxTheApp->GetAppDisplayName()); + aboutLabel.Printf(_("About %s"), CUBICSDR_INSTALL_NAME); menu->Append( wxApp::s_macAboutMenuItemId, aboutLabel); } #endif @@ -691,6 +692,7 @@ AppFrame::AppFrame() : devInfo = NULL; wxGetApp().deviceSelector(); saveDisabled = false; + aboutDlg = nullptr; // static const int attribs[] = { WX_GL_RGBA, WX_GL_DOUBLEBUFFER, 0 }; // wxLogStatus("Double-buffered display %s supported", wxGLCanvas::IsDisplaySupported(attribs) ? "is" : "not"); @@ -1005,14 +1007,22 @@ void AppFrame::OnMenu(wxCommandEvent& event) { // } // return; // } - + #ifdef __APPLE__ if (event.GetId() == wxApp::s_macAboutMenuItemId) { - wxMessageDialog *aboutDlg = new wxMessageDialog(NULL, wxT("CubicSDR v" CUBICSDR_VERSION "\nby Charles J. Cliffe (@ccliffe)\nwww.cubicsdr.com"), wxT("CubicSDR v" CUBICSDR_VERSION), wxOK); - aboutDlg->ShowModal(); - return; - } +#else + if (event.GetId() == wxID_ABOUT_CUBICSDR) { #endif + if (aboutDlg != nullptr) { + aboutDlg->Raise(); + aboutDlg->SetFocus(); + } else { + aboutDlg = new AboutDialog(NULL); + aboutDlg->Connect( wxEVT_CLOSE_WINDOW, wxCommandEventHandler( AppFrame::OnAboutDialogClose ), NULL, this ); + + aboutDlg->Show(); + } + } if (event.GetId() == wxID_SDR_START_STOP) { if (!wxGetApp().getSDRThread()->isTerminated()) { @@ -1372,6 +1382,9 @@ void AppFrame::OnMenu(wxCommandEvent& event) { void AppFrame::OnClose(wxCloseEvent& event) { wxGetApp().closeDeviceSelector(); + if (aboutDlg) { + aboutDlg->Destroy(); + } if (wxGetApp().getDemodSpectrumProcessor()) { wxGetApp().getDemodSpectrumProcessor()->removeOutput(demodSpectrumCanvas->getVisualDataQueue()); @@ -1424,11 +1437,6 @@ void AppFrame::OnNewWindow(wxCommandEvent& WXUNUSED(event)) { new AppFrame(); } - -void AppFrame::OnThread(wxCommandEvent& event) { - event.Skip(); -} - void AppFrame::OnIdle(wxIdleEvent& event) { if (deviceChanged.load()) { @@ -1827,7 +1835,10 @@ void AppFrame::OnUnSplit(wxSplitterEvent& event) event.Veto(); } - +void AppFrame::OnAboutDialogClose(wxCommandEvent& event) { + aboutDlg->Destroy(); + aboutDlg = nullptr; +} void AppFrame::saveSession(std::string fileName) { DataTree s("cubicsdr_session"); diff --git a/src/AppFrame.h b/src/AppFrame.h index a790810..d2ed10c 100644 --- a/src/AppFrame.h +++ b/src/AppFrame.h @@ -25,6 +25,7 @@ //#include "UITestCanvas.h" #include "FrequencyDialog.h" #include "BookmarkView.h" +#include "AboutDialog.h" #include @@ -39,6 +40,7 @@ #define wxID_SDR_START_STOP 2010 #define wxID_LOW_PERF 2011 #define wxID_SET_DB_OFFSET 2012 +#define wxID_ABOUT_CUBICSDR 2013 #define wxID_MAIN_SPLITTER 2050 #define wxID_VIS_SPLITTER 2051 @@ -85,8 +87,6 @@ public: AppFrame(); ~AppFrame(); - void OnThread(wxCommandEvent& event); - void OnEventInput(wxThreadEvent& event); void initDeviceParams(SDRDeviceInfo *devInfo); void updateDeviceParams(); @@ -137,6 +137,7 @@ private: void OnIdle(wxIdleEvent& event); void OnDoubleClickSash(wxSplitterEvent& event); void OnUnSplit(wxSplitterEvent& event); + void OnAboutDialogClose(wxCommandEvent& event); //manage Display menu actions, return true if the event has been //treated. @@ -203,6 +204,8 @@ private: wxMenuItem *hideBookmarksItem; bool saveDisabled; + + AboutDialog *aboutDlg; #ifdef USE_HAMLIB void enableRig(); diff --git a/src/forms/Dialog/AboutDialog.cpp b/src/forms/Dialog/AboutDialog.cpp new file mode 100644 index 0000000..dac5a89 --- /dev/null +++ b/src/forms/Dialog/AboutDialog.cpp @@ -0,0 +1,9 @@ +// Copyright (c) Charles J. Cliffe +// SPDX-License-Identifier: GPL-2.0+ + +#include "AboutDialog.h" + +AboutDialog::AboutDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) +: AboutDialogBase(parent, id, title, pos, size, style) { + m_appName->SetLabelText(CUBICSDR_INSTALL_NAME " v" CUBICSDR_VERSION); +} diff --git a/src/forms/Dialog/AboutDialog.fbp b/src/forms/Dialog/AboutDialog.fbp new file mode 100644 index 0000000..31d19bd --- /dev/null +++ b/src/forms/Dialog/AboutDialog.fbp @@ -0,0 +1,7704 @@ + + + + + + C++ + 1 + source_name + 0 + 0 + res + UTF-8 + connect + AboutDialogBase + 1000 + none + 0 + AboutDialogBase + + . + + 1 + 1 + 1 + 1 + UI + 0 + 0 + + 0 + wxAUI_MGR_DEFAULT + + wxBOTH + + 1 + 1 + impl_virtual + + + + 0 + wxID_ANY + + + AboutDialogBase + + 436,378 + wxDEFAULT_DIALOG_STYLE + + About + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dlgSizer + wxVERTICAL + none + + 5 + wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_hPanel + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + + + + m_hSizer + wxHORIZONTAL + none + + 6 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,90,90,20,70,0 + 0 + 0 + wxID_ANY + CubicSDR + + 0 + + + 0 + + 1 + m_appName + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND | wxALL + 1 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_aboutNotebook + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Developers + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_dbScroll + 1 + + + protected + 1 + + Resizable + 5 + 5 + 1 + + + 0 + + + + wxHSCROLL|wxVSCROLL + + + + + + + + + + + + + + + + + + + + + + + + + + m_dbPane + wxVERTICAL + none + + 5 + wxEXPAND + 0 + + 3 + wxBOTH + + + 20 + + m_dbSizer + wxFLEX_GROWMODE_ALL + none + 0 + 2 + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,90,90,15,70,0 + 0 + 0 + wxID_ANY + Developed By + + 0 + + + 0 + + 1 + m_dbHeader + 1 + + + protected + 1 + + Resizable + 1 + + wxST_NO_AUTORESIZE + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,90,90,-1,70,0 + 0 + 0 + wxID_ANY + GitHub + + 0 + + + 0 + + 1 + m_dbGHHeader + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,90,90,-1,70,0 + 0 + 0 + wxID_ANY + Twitter + + 0 + + + 0 + + 1 + m_dbTwitter + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Charles J. Cliffe + + 0 + + + 0 + + 1 + m_dbCharlesCliffe + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + @cjcliffe + + 0 + + + 0 + + 1 + m_dbghCC + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + @ccliffe + + 0 + + + 0 + + 1 + m_dbtCC + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Vincent Sonnier + + 0 + + + 0 + + 1 + m_dbVincentSonnier + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + @vsonnier + + 0 + + + 0 + + 1 + m_dbghVS + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + @VincentSonnier + + 0 + + + 0 + + 1 + m_dbtVS + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10 + wxBOTTOM|wxEXPAND|wxTOP + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_dbDivider1 + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 0 + + 2 + wxBOTH + + + 20 + + m_cSizer + wxFLEX_GROWMODE_ALL + none + 0 + 2 + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,90,90,15,70,0 + 0 + 0 + wxID_ANY + Contributors + + 0 + + + 0 + + 1 + m_cContributorsHeader + 1 + + + protected + 1 + + Resizable + 1 + + wxST_NO_AUTORESIZE + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,90,90,-1,70,0 + 0 + 0 + wxID_ANY + GitHub + + 0 + + + 0 + + 1 + m_cGitHub + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Corne Lukken + + 0 + + + 0 + + 1 + m_cCorneLukken + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + @Dantali0n + + 0 + + + 0 + + 1 + m_cghCL + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Stanisław Pitucha + + 0 + + + 0 + + 1 + m_cStainislawPitucha + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + @viraptor + + 0 + + + 0 + + 1 + m_cghSP + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Ștefan Talpalaru + + 0 + + + 0 + + 1 + m_cghStefanTalpalaru + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + @stefantalpalaru + + 0 + + + 0 + + 1 + m_cghST + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Chris Motch + + 0 + + + 0 + + 1 + m_cCrisMotch + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + @bodrick + + 0 + + + 0 + + 1 + m_cghCM + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Mariusz Ryndzionek + + 0 + + + 0 + + 1 + m_cMariuszRyndzionek + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + @mryndzionek + + 0 + + + 0 + + 1 + m_cghMR + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Jiang Wei + + 0 + + + 0 + + 1 + m_cJiangWei + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + @jocover + + 0 + + + 0 + + 1 + m_cghJW + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Tom Swartz + + 0 + + + 0 + + 1 + m_cTomSwartz + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + @tomswartz07 + + 0 + + + 0 + + 1 + m_cghTS + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Infinity Cyberworks + + 0 + + + 0 + + 1 + m_cInfinityCyberworks + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + @infinitycyberworks + + 0 + + + 0 + + 1 + m_cghIC + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Donations + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_dScroll + 1 + + + protected + 1 + + Resizable + 5 + 5 + 1 + + + 0 + + + + wxHSCROLL|wxVSCROLL + + + + + + + + + + + + + + + + + + + + + + + + + 1 + wxBOTH + + + 20 + + m_dSizer + wxFLEX_GROWMODE_ALL + none + 0 + 2 + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,90,90,15,70,0 + 0 + 0 + wxID_ANY + Thanks to everyone who donated at cubicsdr.com! + + 0 + + + 0 + + 1 + m_dHeader + 1 + + + protected + 1 + + Resizable + 1 + + wxST_NO_AUTORESIZE + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND | wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_dDivider1 + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + SDRplay / sdrplay.com + + 0 + + + 0 + + 1 + m_dSDRplay + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Michael Ladd + + 0 + + + 0 + + 1 + m_dMichaelLadd + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Automotive Templates + + 0 + + + 0 + + 1 + m_dAutoMotiveTemplates + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Jorge Morales + + 0 + + + 0 + + 1 + m_dJorgeMorales + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Michael Rooke + + 0 + + + 0 + + 1 + m_dMichaelRooke + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + TNCOM + + 0 + + + 0 + + 1 + m_dTNCOM + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Erik Mikkel Wied + + 0 + + + 0 + + 1 + m_dErikWied + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Robert Duering + + 0 + + + 0 + + 1 + m_dRobertDuering + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Jim Deitch + + 0 + + + 0 + + 1 + m_dJimDeitch + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + NooElec Inc. / nooelec.com + + 0 + + + 0 + + 1 + m_dNooElec + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + David Ahlgren + + 0 + + + 0 + + 1 + m_dDavidAhlgren + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Ronald Cook + + 0 + + + 0 + + 1 + m_dRonaldCook + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Eric Peterson + + 0 + + + 0 + + 1 + m_dEricPeterson + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Geo Distributing + + 0 + + + 0 + + 1 + m_dGeoDistributing + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + James Carson + + 0 + + + 0 + + 1 + m_dJamesCarson + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Craig Williams + + 0 + + + 0 + + 1 + m_dCraigWilliams + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Rudolf Schaffer + + 0 + + + 0 + + 1 + m_dRudolfShaffer + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + John Katon + + 0 + + + 0 + + 1 + m_dJohnKaton + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Vincent Sonnier + + 0 + + + 0 + + 1 + m_dVincentSonnier + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + corq's auctions/L. Easterly LTD (x 4) + + 0 + + + 0 + + 1 + m_dCorq + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Ivan Alekseev + + 0 + + + 0 + + 1 + m_dIvanAlekseev + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Ole-Jørgen Næss Kolsrud + + 0 + + + 0 + + 1 + m_dOleJorgenKolsrud + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Henrik Jagemyr + + 0 + + + 0 + + 1 + m_dHenrikJagemyr + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Peter Haines + + 0 + + + 0 + + 1 + m_dPeterHaines + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Leon Abrassart + + 0 + + + 0 + + 1 + m_dLeonAbrassart + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + George Alan Talbot + + 0 + + + 0 + + 1 + m_dGeorgeTalbot + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Francisco Borja Marcos de la Puerta + + 0 + + + 0 + + 1 + m_dFranciscoPuerta + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Ronald A. Lundeen + + 0 + + + 0 + + 1 + m_dRonaldLundeen + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Walter Horbert + + 0 + + + 0 + + 1 + m_dWalterHorbert + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + William Lloyd-Davies + + 0 + + + 0 + + 1 + m_dWilliamLD + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Bratislav Arandjelovic + + 0 + + + 0 + + 1 + m_dBratislavArandjelovic + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Gary Martin + + 0 + + + 0 + + 1 + m_dGaryMartin + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Einars Repse + + 0 + + + 0 + + 1 + m_dEinarsRepse + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Timothy Gatton + + 0 + + + 0 + + 1 + m_dTimothyGatton + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Stephen Cuccio + + 0 + + + 0 + + 1 + m_dStephenCuccio + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Keshavlal Patel + + 0 + + + 0 + + 1 + m_dKeshavlalPatel + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Special Thanks + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_stScroll + 1 + + + protected + 1 + + Resizable + 5 + 5 + 1 + + + 0 + + + + wxHSCROLL|wxVSCROLL + + + + + + + + + + + + + + + + + + + + + + + + + + m_stSizer + wxVERTICAL + none + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,90,90,15,70,0 + 0 + 0 + wxID_ANY + Special Thanks To + + 0 + + + 0 + + 1 + m_stHeader + 1 + + + protected + 1 + + Resizable + 1 + + wxST_NO_AUTORESIZE + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND | wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_stDivider1 + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,90,92,10,70,0 + 0 + 0 + wxID_ANY + SoapySDR Development and Assistance: + + 0 + + + 0 + + 1 + m_stSoapyDevAssistHeader + 1 + + + protected + 1 + + Resizable + 1 + + wxST_NO_AUTORESIZE + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Josh Blum / @guruofquality / pothosware.com + + 0 + + + 0 + + 1 + m_stJoshBlum + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND | wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_stDivider2 + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,90,92,10,70,0 + 0 + 0 + wxID_ANY + Liquid-DSP Development and Assistance: + + 0 + + + 0 + + 1 + m_stLiquidDSPHeader + 1 + + + protected + 1 + + Resizable + 1 + + wxST_NO_AUTORESIZE + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Joseph D. Gaeddert / @jgaeddert / liquidsdr.com + + 0 + + + 0 + + 1 + m_stJosephGaeddert + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND | wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_stDivider3 + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,90,92,10,70,0 + 0 + 0 + wxID_ANY + Ideas, Direction && Encouragement: + + 0 + + + 0 + + 1 + m_stIdeasDirectionsHeader + 1 + + + protected + 1 + + Resizable + 1 + + wxST_NO_AUTORESIZE + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Ton Machielsen / @Toontje / @EA3HOE + + 0 + + + 0 + + 1 + m_stTonMachielsen + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Mike Ladd / KD2KOG.com + + 0 + + + 0 + + 1 + m_stMikeLadd + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + SDRplay team / @SDRplay / SDRplay.com + + 0 + + + 0 + + 1 + m_stSDRplay + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + SDRplay Facebook group + + 0 + + + 0 + + 1 + m_stSDRplayFB + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Paul Warren / @pwarren + + 0 + + + 0 + + 1 + m_stPaulWarren + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Segesdi Károly / @jazzkutya + + 0 + + + 0 + + 1 + m_stSegesdiKaroly + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Reddit RTL-SDR group /r/rtlsdr + + 0 + + + 0 + + 1 + m_stRedditRTLSDR + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + NooElec team / NooElec.com + + 0 + + + 0 + + 1 + m_stNooElec + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Everyone who's contributed to the GitHub issues; thanks! + + 0 + + + 0 + + 1 + m_stGHIssues + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Please feel free to nominate anyone we might have missed. + + 0 + + + 0 + + 1 + m_stNominate + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/forms/Dialog/AboutDialog.h b/src/forms/Dialog/AboutDialog.h new file mode 100644 index 0000000..ffd3d18 --- /dev/null +++ b/src/forms/Dialog/AboutDialog.h @@ -0,0 +1,15 @@ +// Copyright (c) Charles J. Cliffe +// SPDX-License-Identifier: GPL-2.0+ + +#pragma once + +#include "AboutDialogBase.h" +#include "CubicSDRDefs.h" + +class AboutDialog : public AboutDialogBase { +public: + AboutDialog( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("About"), + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 436,378 ), + long style = wxDEFAULT_DIALOG_STYLE ); + +}; diff --git a/src/forms/Dialog/AboutDialogBase.cpp b/src/forms/Dialog/AboutDialogBase.cpp new file mode 100644 index 0000000..4fb3a67 --- /dev/null +++ b/src/forms/Dialog/AboutDialogBase.cpp @@ -0,0 +1,451 @@ +/////////////////////////////////////////////////////////////////////////// +// C++ code generated with wxFormBuilder (version Aug 23 2015) +// http://www.wxformbuilder.org/ +// +// PLEASE DO "NOT" EDIT THIS FILE! +/////////////////////////////////////////////////////////////////////////// + +#include "AboutDialogBase.h" + +/////////////////////////////////////////////////////////////////////////// + +AboutDialogBase::AboutDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) +{ + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + + wxBoxSizer* dlgSizer; + dlgSizer = new wxBoxSizer( wxVERTICAL ); + + m_hPanel = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); + wxBoxSizer* m_hSizer; + m_hSizer = new wxBoxSizer( wxHORIZONTAL ); + + m_appName = new wxStaticText( m_hPanel, wxID_ANY, wxT("CubicSDR"), wxDefaultPosition, wxDefaultSize, 0 ); + m_appName->Wrap( -1 ); + m_appName->SetFont( wxFont( 20, 70, 90, 90, false, wxEmptyString ) ); + + m_hSizer->Add( m_appName, 0, wxALL, 6 ); + + + m_hPanel->SetSizer( m_hSizer ); + m_hPanel->Layout(); + m_hSizer->Fit( m_hPanel ); + dlgSizer->Add( m_hPanel, 0, wxALL|wxEXPAND, 5 ); + + m_aboutNotebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); + m_dbScroll = new wxScrolledWindow( m_aboutNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL ); + m_dbScroll->SetScrollRate( 5, 5 ); + wxBoxSizer* m_dbPane; + m_dbPane = new wxBoxSizer( wxVERTICAL ); + + wxFlexGridSizer* m_dbSizer; + m_dbSizer = new wxFlexGridSizer( 0, 3, 2, 20 ); + m_dbSizer->SetFlexibleDirection( wxBOTH ); + m_dbSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_ALL ); + + m_dbHeader = new wxStaticText( m_dbScroll, wxID_ANY, wxT("Developed By"), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE ); + m_dbHeader->Wrap( -1 ); + m_dbHeader->SetFont( wxFont( 15, 70, 90, 90, false, wxEmptyString ) ); + + m_dbSizer->Add( m_dbHeader, 0, wxALL, 5 ); + + m_dbGHHeader = new wxStaticText( m_dbScroll, wxID_ANY, wxT("GitHub"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dbGHHeader->Wrap( -1 ); + m_dbGHHeader->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) ); + + m_dbSizer->Add( m_dbGHHeader, 0, wxALL, 5 ); + + m_dbTwitter = new wxStaticText( m_dbScroll, wxID_ANY, wxT("Twitter"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dbTwitter->Wrap( -1 ); + m_dbTwitter->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) ); + + m_dbSizer->Add( m_dbTwitter, 0, wxALL, 5 ); + + m_dbCharlesCliffe = new wxStaticText( m_dbScroll, wxID_ANY, wxT("Charles J. Cliffe"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dbCharlesCliffe->Wrap( -1 ); + m_dbSizer->Add( m_dbCharlesCliffe, 0, wxALL, 5 ); + + m_dbghCC = new wxStaticText( m_dbScroll, wxID_ANY, wxT("@cjcliffe"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dbghCC->Wrap( -1 ); + m_dbSizer->Add( m_dbghCC, 0, wxALL, 5 ); + + m_dbtCC = new wxStaticText( m_dbScroll, wxID_ANY, wxT("@ccliffe"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dbtCC->Wrap( -1 ); + m_dbSizer->Add( m_dbtCC, 0, wxALL, 5 ); + + m_dbVincentSonnier = new wxStaticText( m_dbScroll, wxID_ANY, wxT("Vincent Sonnier"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dbVincentSonnier->Wrap( -1 ); + m_dbSizer->Add( m_dbVincentSonnier, 0, wxALL, 5 ); + + m_dbghVS = new wxStaticText( m_dbScroll, wxID_ANY, wxT("@vsonnier"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dbghVS->Wrap( -1 ); + m_dbSizer->Add( m_dbghVS, 0, wxALL, 5 ); + + m_dbtVS = new wxStaticText( m_dbScroll, wxID_ANY, wxT("@VincentSonnier"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dbtVS->Wrap( -1 ); + m_dbSizer->Add( m_dbtVS, 0, wxALL, 5 ); + + + m_dbPane->Add( m_dbSizer, 0, wxEXPAND, 5 ); + + m_dbDivider1 = new wxStaticLine( m_dbScroll, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + m_dbPane->Add( m_dbDivider1, 0, wxBOTTOM|wxEXPAND|wxTOP, 10 ); + + wxFlexGridSizer* m_cSizer; + m_cSizer = new wxFlexGridSizer( 0, 2, 2, 20 ); + m_cSizer->SetFlexibleDirection( wxBOTH ); + m_cSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_ALL ); + + m_cContributorsHeader = new wxStaticText( m_dbScroll, wxID_ANY, wxT("Contributors"), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE ); + m_cContributorsHeader->Wrap( -1 ); + m_cContributorsHeader->SetFont( wxFont( 15, 70, 90, 90, false, wxEmptyString ) ); + + m_cSizer->Add( m_cContributorsHeader, 0, wxALL, 5 ); + + m_cGitHub = new wxStaticText( m_dbScroll, wxID_ANY, wxT("GitHub"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cGitHub->Wrap( -1 ); + m_cGitHub->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) ); + + m_cSizer->Add( m_cGitHub, 0, wxALL, 5 ); + + m_cCorneLukken = new wxStaticText( m_dbScroll, wxID_ANY, wxT("Corne Lukken"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cCorneLukken->Wrap( -1 ); + m_cSizer->Add( m_cCorneLukken, 0, wxALL, 5 ); + + m_cghCL = new wxStaticText( m_dbScroll, wxID_ANY, wxT("@Dantali0n"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cghCL->Wrap( -1 ); + m_cSizer->Add( m_cghCL, 0, wxALL, 5 ); + + m_cStainislawPitucha = new wxStaticText( m_dbScroll, wxID_ANY, wxT("Stanisław Pitucha"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cStainislawPitucha->Wrap( -1 ); + m_cSizer->Add( m_cStainislawPitucha, 0, wxALL, 5 ); + + m_cghSP = new wxStaticText( m_dbScroll, wxID_ANY, wxT("@viraptor"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cghSP->Wrap( -1 ); + m_cSizer->Add( m_cghSP, 0, wxALL, 5 ); + + m_cghStefanTalpalaru = new wxStaticText( m_dbScroll, wxID_ANY, wxT("Ștefan Talpalaru"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cghStefanTalpalaru->Wrap( -1 ); + m_cSizer->Add( m_cghStefanTalpalaru, 0, wxALL, 5 ); + + m_cghST = new wxStaticText( m_dbScroll, wxID_ANY, wxT("@stefantalpalaru"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cghST->Wrap( -1 ); + m_cSizer->Add( m_cghST, 0, wxALL, 5 ); + + m_cCrisMotch = new wxStaticText( m_dbScroll, wxID_ANY, wxT("Chris Motch"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cCrisMotch->Wrap( -1 ); + m_cSizer->Add( m_cCrisMotch, 0, wxALL, 5 ); + + m_cghCM = new wxStaticText( m_dbScroll, wxID_ANY, wxT("@bodrick"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cghCM->Wrap( -1 ); + m_cSizer->Add( m_cghCM, 0, wxALL, 5 ); + + m_cMariuszRyndzionek = new wxStaticText( m_dbScroll, wxID_ANY, wxT("Mariusz Ryndzionek"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cMariuszRyndzionek->Wrap( -1 ); + m_cSizer->Add( m_cMariuszRyndzionek, 0, wxALL, 5 ); + + m_cghMR = new wxStaticText( m_dbScroll, wxID_ANY, wxT("@mryndzionek"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cghMR->Wrap( -1 ); + m_cSizer->Add( m_cghMR, 0, wxALL, 5 ); + + m_cJiangWei = new wxStaticText( m_dbScroll, wxID_ANY, wxT("Jiang Wei"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cJiangWei->Wrap( -1 ); + m_cSizer->Add( m_cJiangWei, 0, wxALL, 5 ); + + m_cghJW = new wxStaticText( m_dbScroll, wxID_ANY, wxT("@jocover"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cghJW->Wrap( -1 ); + m_cSizer->Add( m_cghJW, 0, wxALL, 5 ); + + m_cTomSwartz = new wxStaticText( m_dbScroll, wxID_ANY, wxT("Tom Swartz"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cTomSwartz->Wrap( -1 ); + m_cSizer->Add( m_cTomSwartz, 0, wxALL, 5 ); + + m_cghTS = new wxStaticText( m_dbScroll, wxID_ANY, wxT("@tomswartz07"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cghTS->Wrap( -1 ); + m_cSizer->Add( m_cghTS, 0, wxALL, 5 ); + + m_cInfinityCyberworks = new wxStaticText( m_dbScroll, wxID_ANY, wxT("Infinity Cyberworks"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cInfinityCyberworks->Wrap( -1 ); + m_cSizer->Add( m_cInfinityCyberworks, 0, wxALL, 5 ); + + m_cghIC = new wxStaticText( m_dbScroll, wxID_ANY, wxT("@infinitycyberworks"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cghIC->Wrap( -1 ); + m_cSizer->Add( m_cghIC, 0, wxALL, 5 ); + + + m_dbPane->Add( m_cSizer, 0, wxEXPAND, 5 ); + + + m_dbScroll->SetSizer( m_dbPane ); + m_dbScroll->Layout(); + m_dbPane->Fit( m_dbScroll ); + m_aboutNotebook->AddPage( m_dbScroll, wxT("Developers"), false ); + m_dScroll = new wxScrolledWindow( m_aboutNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL ); + m_dScroll->SetScrollRate( 5, 5 ); + wxFlexGridSizer* m_dSizer; + m_dSizer = new wxFlexGridSizer( 0, 1, 2, 20 ); + m_dSizer->SetFlexibleDirection( wxBOTH ); + m_dSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_ALL ); + + m_dHeader = new wxStaticText( m_dScroll, wxID_ANY, wxT("Thanks to everyone who donated at cubicsdr.com!"), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE ); + m_dHeader->Wrap( -1 ); + m_dHeader->SetFont( wxFont( 15, 70, 90, 90, false, wxEmptyString ) ); + + m_dSizer->Add( m_dHeader, 0, wxALL, 5 ); + + m_dDivider1 = new wxStaticLine( m_dScroll, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + m_dSizer->Add( m_dDivider1, 0, wxEXPAND | wxALL, 5 ); + + m_dSDRplay = new wxStaticText( m_dScroll, wxID_ANY, wxT("SDRplay / sdrplay.com"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dSDRplay->Wrap( -1 ); + m_dSizer->Add( m_dSDRplay, 0, wxALL, 5 ); + + m_dMichaelLadd = new wxStaticText( m_dScroll, wxID_ANY, wxT("Michael Ladd"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dMichaelLadd->Wrap( -1 ); + m_dSizer->Add( m_dMichaelLadd, 0, wxALL, 5 ); + + m_dAutoMotiveTemplates = new wxStaticText( m_dScroll, wxID_ANY, wxT("Automotive Templates"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dAutoMotiveTemplates->Wrap( -1 ); + m_dSizer->Add( m_dAutoMotiveTemplates, 0, wxALL, 5 ); + + m_dJorgeMorales = new wxStaticText( m_dScroll, wxID_ANY, wxT("Jorge Morales"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dJorgeMorales->Wrap( -1 ); + m_dSizer->Add( m_dJorgeMorales, 0, wxALL, 5 ); + + m_dMichaelRooke = new wxStaticText( m_dScroll, wxID_ANY, wxT("Michael Rooke"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dMichaelRooke->Wrap( -1 ); + m_dSizer->Add( m_dMichaelRooke, 0, wxALL, 5 ); + + m_dTNCOM = new wxStaticText( m_dScroll, wxID_ANY, wxT("TNCOM"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dTNCOM->Wrap( -1 ); + m_dSizer->Add( m_dTNCOM, 0, wxALL, 5 ); + + m_dErikWied = new wxStaticText( m_dScroll, wxID_ANY, wxT("Erik Mikkel Wied"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dErikWied->Wrap( -1 ); + m_dSizer->Add( m_dErikWied, 0, wxALL, 5 ); + + m_dRobertDuering = new wxStaticText( m_dScroll, wxID_ANY, wxT("Robert Duering"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dRobertDuering->Wrap( -1 ); + m_dSizer->Add( m_dRobertDuering, 0, wxALL, 5 ); + + m_dJimDeitch = new wxStaticText( m_dScroll, wxID_ANY, wxT("Jim Deitch"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dJimDeitch->Wrap( -1 ); + m_dSizer->Add( m_dJimDeitch, 0, wxALL, 5 ); + + m_dNooElec = new wxStaticText( m_dScroll, wxID_ANY, wxT("NooElec Inc. / nooelec.com"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dNooElec->Wrap( -1 ); + m_dSizer->Add( m_dNooElec, 0, wxALL, 5 ); + + m_dDavidAhlgren = new wxStaticText( m_dScroll, wxID_ANY, wxT("David Ahlgren"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dDavidAhlgren->Wrap( -1 ); + m_dSizer->Add( m_dDavidAhlgren, 0, wxALL, 5 ); + + m_dRonaldCook = new wxStaticText( m_dScroll, wxID_ANY, wxT("Ronald Cook"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dRonaldCook->Wrap( -1 ); + m_dSizer->Add( m_dRonaldCook, 0, wxALL, 5 ); + + m_dEricPeterson = new wxStaticText( m_dScroll, wxID_ANY, wxT("Eric Peterson"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dEricPeterson->Wrap( -1 ); + m_dSizer->Add( m_dEricPeterson, 0, wxALL, 5 ); + + m_dGeoDistributing = new wxStaticText( m_dScroll, wxID_ANY, wxT("Geo Distributing"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dGeoDistributing->Wrap( -1 ); + m_dSizer->Add( m_dGeoDistributing, 0, wxALL, 5 ); + + m_dJamesCarson = new wxStaticText( m_dScroll, wxID_ANY, wxT("James Carson"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dJamesCarson->Wrap( -1 ); + m_dSizer->Add( m_dJamesCarson, 0, wxALL, 5 ); + + m_dCraigWilliams = new wxStaticText( m_dScroll, wxID_ANY, wxT("Craig Williams"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dCraigWilliams->Wrap( -1 ); + m_dSizer->Add( m_dCraigWilliams, 0, wxALL, 5 ); + + m_dRudolfShaffer = new wxStaticText( m_dScroll, wxID_ANY, wxT("Rudolf Schaffer"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dRudolfShaffer->Wrap( -1 ); + m_dSizer->Add( m_dRudolfShaffer, 0, wxALL, 5 ); + + m_dJohnKaton = new wxStaticText( m_dScroll, wxID_ANY, wxT("John Katon"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dJohnKaton->Wrap( -1 ); + m_dSizer->Add( m_dJohnKaton, 0, wxALL, 5 ); + + m_dVincentSonnier = new wxStaticText( m_dScroll, wxID_ANY, wxT("Vincent Sonnier"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dVincentSonnier->Wrap( -1 ); + m_dSizer->Add( m_dVincentSonnier, 0, wxALL, 5 ); + + m_dCorq = new wxStaticText( m_dScroll, wxID_ANY, wxT("corq's auctions/L. Easterly LTD (x 4)"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dCorq->Wrap( -1 ); + m_dSizer->Add( m_dCorq, 0, wxALL, 5 ); + + m_dIvanAlekseev = new wxStaticText( m_dScroll, wxID_ANY, wxT("Ivan Alekseev"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dIvanAlekseev->Wrap( -1 ); + m_dSizer->Add( m_dIvanAlekseev, 0, wxALL, 5 ); + + m_dOleJorgenKolsrud = new wxStaticText( m_dScroll, wxID_ANY, wxT("Ole-Jørgen Næss Kolsrud"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dOleJorgenKolsrud->Wrap( -1 ); + m_dSizer->Add( m_dOleJorgenKolsrud, 0, wxALL, 5 ); + + m_dHenrikJagemyr = new wxStaticText( m_dScroll, wxID_ANY, wxT("Henrik Jagemyr"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dHenrikJagemyr->Wrap( -1 ); + m_dSizer->Add( m_dHenrikJagemyr, 0, wxALL, 5 ); + + m_dPeterHaines = new wxStaticText( m_dScroll, wxID_ANY, wxT("Peter Haines"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dPeterHaines->Wrap( -1 ); + m_dSizer->Add( m_dPeterHaines, 0, wxALL, 5 ); + + m_dLeonAbrassart = new wxStaticText( m_dScroll, wxID_ANY, wxT("Leon Abrassart"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dLeonAbrassart->Wrap( -1 ); + m_dSizer->Add( m_dLeonAbrassart, 0, wxALL, 5 ); + + m_dGeorgeTalbot = new wxStaticText( m_dScroll, wxID_ANY, wxT("George Alan Talbot"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dGeorgeTalbot->Wrap( -1 ); + m_dSizer->Add( m_dGeorgeTalbot, 0, wxALL, 5 ); + + m_dFranciscoPuerta = new wxStaticText( m_dScroll, wxID_ANY, wxT("Francisco Borja Marcos de la Puerta"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dFranciscoPuerta->Wrap( -1 ); + m_dSizer->Add( m_dFranciscoPuerta, 0, wxALL, 5 ); + + m_dRonaldLundeen = new wxStaticText( m_dScroll, wxID_ANY, wxT("Ronald A. Lundeen"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dRonaldLundeen->Wrap( -1 ); + m_dSizer->Add( m_dRonaldLundeen, 0, wxALL, 5 ); + + m_dWalterHorbert = new wxStaticText( m_dScroll, wxID_ANY, wxT("Walter Horbert"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dWalterHorbert->Wrap( -1 ); + m_dSizer->Add( m_dWalterHorbert, 0, wxALL, 5 ); + + m_dWilliamLD = new wxStaticText( m_dScroll, wxID_ANY, wxT("William Lloyd-Davies"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dWilliamLD->Wrap( -1 ); + m_dSizer->Add( m_dWilliamLD, 0, wxALL, 5 ); + + m_dBratislavArandjelovic = new wxStaticText( m_dScroll, wxID_ANY, wxT("Bratislav Arandjelovic"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dBratislavArandjelovic->Wrap( -1 ); + m_dSizer->Add( m_dBratislavArandjelovic, 0, wxALL, 5 ); + + m_dGaryMartin = new wxStaticText( m_dScroll, wxID_ANY, wxT("Gary Martin"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dGaryMartin->Wrap( -1 ); + m_dSizer->Add( m_dGaryMartin, 0, wxALL, 5 ); + + m_dEinarsRepse = new wxStaticText( m_dScroll, wxID_ANY, wxT("Einars Repse"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dEinarsRepse->Wrap( -1 ); + m_dSizer->Add( m_dEinarsRepse, 0, wxALL, 5 ); + + m_dTimothyGatton = new wxStaticText( m_dScroll, wxID_ANY, wxT("Timothy Gatton"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dTimothyGatton->Wrap( -1 ); + m_dSizer->Add( m_dTimothyGatton, 0, wxALL, 5 ); + + m_dStephenCuccio = new wxStaticText( m_dScroll, wxID_ANY, wxT("Stephen Cuccio"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dStephenCuccio->Wrap( -1 ); + m_dSizer->Add( m_dStephenCuccio, 0, wxALL, 5 ); + + m_dKeshavlalPatel = new wxStaticText( m_dScroll, wxID_ANY, wxT("Keshavlal Patel"), wxDefaultPosition, wxDefaultSize, 0 ); + m_dKeshavlalPatel->Wrap( -1 ); + m_dSizer->Add( m_dKeshavlalPatel, 0, wxALL, 5 ); + + + m_dScroll->SetSizer( m_dSizer ); + m_dScroll->Layout(); + m_dSizer->Fit( m_dScroll ); + m_aboutNotebook->AddPage( m_dScroll, wxT("Donations"), false ); + m_stScroll = new wxScrolledWindow( m_aboutNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL ); + m_stScroll->SetScrollRate( 5, 5 ); + wxBoxSizer* m_stSizer; + m_stSizer = new wxBoxSizer( wxVERTICAL ); + + m_stHeader = new wxStaticText( m_stScroll, wxID_ANY, wxT("Special Thanks To"), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE ); + m_stHeader->Wrap( -1 ); + m_stHeader->SetFont( wxFont( 15, 70, 90, 90, false, wxEmptyString ) ); + + m_stSizer->Add( m_stHeader, 0, wxALL, 5 ); + + m_stDivider1 = new wxStaticLine( m_stScroll, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + m_stSizer->Add( m_stDivider1, 0, wxEXPAND | wxALL, 5 ); + + m_stSoapyDevAssistHeader = new wxStaticText( m_stScroll, wxID_ANY, wxT("SoapySDR Development and Assistance:"), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE ); + m_stSoapyDevAssistHeader->Wrap( -1 ); + m_stSoapyDevAssistHeader->SetFont( wxFont( 10, 70, 90, 92, false, wxEmptyString ) ); + + m_stSizer->Add( m_stSoapyDevAssistHeader, 0, wxALL, 5 ); + + m_stJoshBlum = new wxStaticText( m_stScroll, wxID_ANY, wxT("Josh Blum / @guruofquality / pothosware.com"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stJoshBlum->Wrap( -1 ); + m_stSizer->Add( m_stJoshBlum, 0, wxALL, 5 ); + + m_stDivider2 = new wxStaticLine( m_stScroll, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + m_stSizer->Add( m_stDivider2, 0, wxEXPAND | wxALL, 5 ); + + m_stLiquidDSPHeader = new wxStaticText( m_stScroll, wxID_ANY, wxT("Liquid-DSP Development and Assistance:"), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE ); + m_stLiquidDSPHeader->Wrap( -1 ); + m_stLiquidDSPHeader->SetFont( wxFont( 10, 70, 90, 92, false, wxEmptyString ) ); + + m_stSizer->Add( m_stLiquidDSPHeader, 0, wxALL, 5 ); + + m_stJosephGaeddert = new wxStaticText( m_stScroll, wxID_ANY, wxT("Joseph D. Gaeddert / @jgaeddert / liquidsdr.com"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stJosephGaeddert->Wrap( -1 ); + m_stSizer->Add( m_stJosephGaeddert, 0, wxALL, 5 ); + + m_stDivider3 = new wxStaticLine( m_stScroll, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + m_stSizer->Add( m_stDivider3, 0, wxEXPAND | wxALL, 5 ); + + m_stIdeasDirectionsHeader = new wxStaticText( m_stScroll, wxID_ANY, wxT("Ideas, Direction && Encouragement:"), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE ); + m_stIdeasDirectionsHeader->Wrap( -1 ); + m_stIdeasDirectionsHeader->SetFont( wxFont( 10, 70, 90, 92, false, wxEmptyString ) ); + + m_stSizer->Add( m_stIdeasDirectionsHeader, 0, wxALL, 5 ); + + m_stTonMachielsen = new wxStaticText( m_stScroll, wxID_ANY, wxT("Ton Machielsen / @Toontje / @EA3HOE "), wxDefaultPosition, wxDefaultSize, 0 ); + m_stTonMachielsen->Wrap( -1 ); + m_stSizer->Add( m_stTonMachielsen, 0, wxALL, 5 ); + + m_stMikeLadd = new wxStaticText( m_stScroll, wxID_ANY, wxT("Mike Ladd / KD2KOG.com"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stMikeLadd->Wrap( -1 ); + m_stSizer->Add( m_stMikeLadd, 0, wxALL, 5 ); + + m_stSDRplay = new wxStaticText( m_stScroll, wxID_ANY, wxT("SDRplay team / @SDRplay / SDRplay.com"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stSDRplay->Wrap( -1 ); + m_stSizer->Add( m_stSDRplay, 0, wxALL, 5 ); + + m_stSDRplayFB = new wxStaticText( m_stScroll, wxID_ANY, wxT("SDRplay Facebook group"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stSDRplayFB->Wrap( -1 ); + m_stSizer->Add( m_stSDRplayFB, 0, wxALL, 5 ); + + m_stPaulWarren = new wxStaticText( m_stScroll, wxID_ANY, wxT("Paul Warren / @pwarren"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stPaulWarren->Wrap( -1 ); + m_stSizer->Add( m_stPaulWarren, 0, wxALL, 5 ); + + m_stSegesdiKaroly = new wxStaticText( m_stScroll, wxID_ANY, wxT("Segesdi Károly / @jazzkutya"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stSegesdiKaroly->Wrap( -1 ); + m_stSizer->Add( m_stSegesdiKaroly, 0, wxALL, 5 ); + + m_stRedditRTLSDR = new wxStaticText( m_stScroll, wxID_ANY, wxT("Reddit RTL-SDR group /r/rtlsdr"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stRedditRTLSDR->Wrap( -1 ); + m_stSizer->Add( m_stRedditRTLSDR, 0, wxALL, 5 ); + + m_stNooElec = new wxStaticText( m_stScroll, wxID_ANY, wxT("NooElec team / NooElec.com"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stNooElec->Wrap( -1 ); + m_stSizer->Add( m_stNooElec, 0, wxALL, 5 ); + + m_stGHIssues = new wxStaticText( m_stScroll, wxID_ANY, wxT("Everyone who's contributed to the GitHub issues; thanks!"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stGHIssues->Wrap( -1 ); + m_stSizer->Add( m_stGHIssues, 0, wxALL, 5 ); + + m_stNominate = new wxStaticText( m_stScroll, wxID_ANY, wxT("Please feel free to nominate anyone we might have missed."), wxDefaultPosition, wxDefaultSize, 0 ); + m_stNominate->Wrap( -1 ); + m_stSizer->Add( m_stNominate, 0, wxALL, 5 ); + + + m_stScroll->SetSizer( m_stSizer ); + m_stScroll->Layout(); + m_stSizer->Fit( m_stScroll ); + m_aboutNotebook->AddPage( m_stScroll, wxT("Special Thanks"), false ); + + dlgSizer->Add( m_aboutNotebook, 1, wxEXPAND | wxALL, 5 ); + + + this->SetSizer( dlgSizer ); + this->Layout(); + + this->Centre( wxBOTH ); +} + +AboutDialogBase::~AboutDialogBase() +{ +} diff --git a/src/forms/Dialog/AboutDialogBase.h b/src/forms/Dialog/AboutDialogBase.h new file mode 100644 index 0000000..1d47b54 --- /dev/null +++ b/src/forms/Dialog/AboutDialogBase.h @@ -0,0 +1,139 @@ +/////////////////////////////////////////////////////////////////////////// +// C++ code generated with wxFormBuilder (version Aug 23 2015) +// http://www.wxformbuilder.org/ +// +// PLEASE DO "NOT" EDIT THIS FILE! +/////////////////////////////////////////////////////////////////////////// + +#ifndef __ABOUTDIALOGBASE_H__ +#define __ABOUTDIALOGBASE_H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////// + + +/////////////////////////////////////////////////////////////////////////////// +/// Class AboutDialogBase +/////////////////////////////////////////////////////////////////////////////// +class AboutDialogBase : public wxDialog +{ + private: + + protected: + wxPanel* m_hPanel; + wxStaticText* m_appName; + wxNotebook* m_aboutNotebook; + wxScrolledWindow* m_dbScroll; + wxStaticText* m_dbHeader; + wxStaticText* m_dbGHHeader; + wxStaticText* m_dbTwitter; + wxStaticText* m_dbCharlesCliffe; + wxStaticText* m_dbghCC; + wxStaticText* m_dbtCC; + wxStaticText* m_dbVincentSonnier; + wxStaticText* m_dbghVS; + wxStaticText* m_dbtVS; + wxStaticLine* m_dbDivider1; + wxStaticText* m_cContributorsHeader; + wxStaticText* m_cGitHub; + wxStaticText* m_cCorneLukken; + wxStaticText* m_cghCL; + wxStaticText* m_cStainislawPitucha; + wxStaticText* m_cghSP; + wxStaticText* m_cghStefanTalpalaru; + wxStaticText* m_cghST; + wxStaticText* m_cCrisMotch; + wxStaticText* m_cghCM; + wxStaticText* m_cMariuszRyndzionek; + wxStaticText* m_cghMR; + wxStaticText* m_cJiangWei; + wxStaticText* m_cghJW; + wxStaticText* m_cTomSwartz; + wxStaticText* m_cghTS; + wxStaticText* m_cInfinityCyberworks; + wxStaticText* m_cghIC; + wxScrolledWindow* m_dScroll; + wxStaticText* m_dHeader; + wxStaticLine* m_dDivider1; + wxStaticText* m_dSDRplay; + wxStaticText* m_dMichaelLadd; + wxStaticText* m_dAutoMotiveTemplates; + wxStaticText* m_dJorgeMorales; + wxStaticText* m_dMichaelRooke; + wxStaticText* m_dTNCOM; + wxStaticText* m_dErikWied; + wxStaticText* m_dRobertDuering; + wxStaticText* m_dJimDeitch; + wxStaticText* m_dNooElec; + wxStaticText* m_dDavidAhlgren; + wxStaticText* m_dRonaldCook; + wxStaticText* m_dEricPeterson; + wxStaticText* m_dGeoDistributing; + wxStaticText* m_dJamesCarson; + wxStaticText* m_dCraigWilliams; + wxStaticText* m_dRudolfShaffer; + wxStaticText* m_dJohnKaton; + wxStaticText* m_dVincentSonnier; + wxStaticText* m_dCorq; + wxStaticText* m_dIvanAlekseev; + wxStaticText* m_dOleJorgenKolsrud; + wxStaticText* m_dHenrikJagemyr; + wxStaticText* m_dPeterHaines; + wxStaticText* m_dLeonAbrassart; + wxStaticText* m_dGeorgeTalbot; + wxStaticText* m_dFranciscoPuerta; + wxStaticText* m_dRonaldLundeen; + wxStaticText* m_dWalterHorbert; + wxStaticText* m_dWilliamLD; + wxStaticText* m_dBratislavArandjelovic; + wxStaticText* m_dGaryMartin; + wxStaticText* m_dEinarsRepse; + wxStaticText* m_dTimothyGatton; + wxStaticText* m_dStephenCuccio; + wxStaticText* m_dKeshavlalPatel; + wxScrolledWindow* m_stScroll; + wxStaticText* m_stHeader; + wxStaticLine* m_stDivider1; + wxStaticText* m_stSoapyDevAssistHeader; + wxStaticText* m_stJoshBlum; + wxStaticLine* m_stDivider2; + wxStaticText* m_stLiquidDSPHeader; + wxStaticText* m_stJosephGaeddert; + wxStaticLine* m_stDivider3; + wxStaticText* m_stIdeasDirectionsHeader; + wxStaticText* m_stTonMachielsen; + wxStaticText* m_stMikeLadd; + wxStaticText* m_stSDRplay; + wxStaticText* m_stSDRplayFB; + wxStaticText* m_stPaulWarren; + wxStaticText* m_stSegesdiKaroly; + wxStaticText* m_stRedditRTLSDR; + wxStaticText* m_stNooElec; + wxStaticText* m_stGHIssues; + wxStaticText* m_stNominate; + + public: + + AboutDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("About"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 436,378 ), long style = wxDEFAULT_DIALOG_STYLE ); + ~AboutDialogBase(); + +}; + +#endif //__ABOUTDIALOGBASE_H__ diff --git a/src/forms/Dialog/ActionDialog.cpp b/src/forms/Dialog/ActionDialog.cpp index acb4b43..b4745e5 100644 --- a/src/forms/Dialog/ActionDialog.cpp +++ b/src/forms/Dialog/ActionDialog.cpp @@ -1,3 +1,6 @@ +// Copyright (c) Charles J. Cliffe +// SPDX-License-Identifier: GPL-2.0+ + #include "ActionDialog.h" diff --git a/src/forms/Dialog/ActionDialog.h b/src/forms/Dialog/ActionDialog.h index 698479f..612f28b 100644 --- a/src/forms/Dialog/ActionDialog.h +++ b/src/forms/Dialog/ActionDialog.h @@ -1,3 +1,6 @@ +// Copyright (c) Charles J. Cliffe +// SPDX-License-Identifier: GPL-2.0+ + #include "ActionDialogBase.h" #include