From e0c37eda14f9bedae8243f054f9fef98968c34b4 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Wed, 4 Mar 2015 13:21:41 +0000 Subject: [PATCH] Prep for v1.4.0-rc4 Merged from wsjtx-1.4 branch. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5002 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- CMakeLists.txt | 23 -- ConfigTest.cpp | 64 ---- TestConfiguration.cpp | 471 ----------------------- TestConfiguration.hpp | 21 -- TestConfiguration.ui | 627 ------------------------------- Versions.cmake | 4 - manpages/CMakeLists.txt | 1 + manpages/man1/rigctl-wsjtx.1.txt | 29 ++ 8 files changed, 30 insertions(+), 1210 deletions(-) delete mode 100644 ConfigTest.cpp delete mode 100644 TestConfiguration.cpp delete mode 100644 TestConfiguration.hpp delete mode 100644 TestConfiguration.ui create mode 100644 manpages/man1/rigctl-wsjtx.1.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index d1026c908..9d7f26dce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -198,12 +198,6 @@ set (wsjt_qt_CXXSRCS DXLabSuiteCommanderTransceiver.cpp ) -set (ConfigTest_CXXSRCS - Configuration.cpp - TestConfiguration.cpp - ConfigTest.cpp - ) - set (jt9_CXXSRCS lib/ipcomm.cpp ) @@ -234,11 +228,6 @@ set (wsjtx_CXXSRCS ) if (WIN32) - set (ConfigTest_CXXSRCS - ${ConfigTest_CXXSRCS} - OmniRigTransceiver.cpp - ) - set (wsjt_CXXSRCS ${wsjt_CXXSRCS} killbyname.cpp @@ -367,11 +356,6 @@ set (wsjt_CSRCS lib/wrapkarn.c ) -set (ConfigTest_UISRCS - TestConfiguration.ui - Configuration.ui - ) - set (wsjt_qt_UISRCS wf_palette_design_dialog.ui ) @@ -389,7 +373,6 @@ set (all_CXXSRCS ${wsjt_CXXSRCS} ${wsjt_qt_CXXSRCS} ${jt9_CXXSRCS} - ${ConfigTest_CXXSRCS} ${wsjtx_CXXSRCS} ) @@ -692,7 +675,6 @@ endif () # UI generation qt5_wrap_ui (wsjt_qt_GENUISRCS ${wsjt_qt_UISRCS}) -qt5_wrap_ui (ConfigTest_GENUISRCS ${ConfigTest_UISRCS}) qt5_wrap_ui (wsjtx_GENUISRCS ${wsjtx_UISRCS}) # Resource generation @@ -775,11 +757,6 @@ else (${OPENMP_FOUND} OR APPLE) endif (${OPENMP_FOUND} OR APPLE) qt5_use_modules (jt9 Core) -# build configuration dialog and transceiver interface test application -#add_executable (ConfigTest ${ConfigTest_CXXSRCS} ${ConfigTest_GENUISRCS} wsjtx.rc) -#target_link_libraries (ConfigTest wsjt wsjt_qt ${hamlib_LIBRARIES}) -#qt5_use_modules (ConfigTest Widgets OpenGL Network Multimedia) - # build the main application add_executable (wsjtx MACOSX_BUNDLE ${wsjtx_CXXSRCS} diff --git a/ConfigTest.cpp b/ConfigTest.cpp deleted file mode 100644 index ca24f6ce6..000000000 --- a/ConfigTest.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include -#include - -#include - -#include -#include -#include -#include - -#include "revision_utils.hpp" -#include "GetUserId.hpp" -#include "TraceFile.hpp" -#include "TestConfiguration.hpp" -#include "AudioDevice.hpp" -#include "TransceiverFactory.hpp" -#include "Configuration.hpp" - -int main (int argc, char *argv[]) -{ - try - { - QApplication application {argc, argv}; - setlocale (LC_NUMERIC, "C"); // ensure number forms are in - // consistent format, do this after - // instantiating QApplication so - // that GUI has correct l18n - - // get a unique id from the user - auto id = get_user_id (); - - // open a user specific trace file - TraceFile trace_file {QDir {QApplication::applicationDirPath () + "/logs"}.absoluteFilePath (id + "_config_test.log")}; - - // announce to log file - qDebug () << program_title (revision ()) + " - Program startup"; - - // open user specific settings - QSettings settings {QDir {QApplication::applicationDirPath () + "/settings"}.absoluteFilePath (id + "_config_test.ini"), QSettings::IniFormat}; - - // the test GUI - TestConfiguration main_window ("ConfigTest", &settings); - - // hook up close down mechanism - QObject::connect (&application, SIGNAL (lastWindowClosed ()), &application, SLOT (quit ())); - - // start event loop - auto status = application.exec(); - qDebug () << "Normal exit with status: " << status; - return status; - } - catch (std::exception const& e) - { - qDebug () << "Error exit: " << e.what () << '\n'; - std::cerr << "Error: " << e.what () << '\n'; - } - catch (...) - { - qDebug () << "Unknown error exit\n"; - std::cerr << "Unexpected error\n"; - throw; // hoping the runtime might tell us more about the exception - } - return -1; -} diff --git a/TestConfiguration.cpp b/TestConfiguration.cpp deleted file mode 100644 index 78b6d3533..000000000 --- a/TestConfiguration.cpp +++ /dev/null @@ -1,471 +0,0 @@ -#include "TestConfiguration.hpp" - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "revision_utils.hpp" -#include "Bands.hpp" -#include "FrequencyList.hpp" -#include "Configuration.hpp" -#include "LiveFrequencyValidator.hpp" - -#include "pimpl_impl.hpp" - -#include "ui_TestConfiguration.h" - -namespace -{ - char const * const title = "Configuration Test v" WSJTX_STRINGIZE (CONFIG_TEST_VERSION_MAJOR) "." WSJTX_STRINGIZE (CONFIG_TEST_VERSION_MINOR) "." WSJTX_STRINGIZE (CONFIG_TEST_VERSION_PATCH) ", " WSJTX_STRINGIZE (SVNVERSION); - - // these undocumented flag values when stored in (Qt::UserRole - 1) - // of a ComboBox item model index allow the item to be enabled or - // disabled - int const combo_box_item_enabled (32 | 1); - int const combo_box_item_disabled (0); - - auto LCD_error = "-- Error --"; -} - -class status_bar_frequency final - : public QLabel -{ -public: - status_bar_frequency (QString const& prefix, QWidget * parent = 0) - : QLabel {parent} - , prefix_ {prefix} - { - } - - void setText (QString const& text) - { - QLabel::setText (prefix_ + " Frequency: " + text); - } - -private: - QString prefix_; -}; - -class TestConfiguration::impl final - : public QMainWindow -{ - Q_OBJECT; - -public: - using Frequency = Radio::Frequency; - - explicit impl (QString const& instance_key, QSettings *, QWidget * parent = nullptr); - - void closeEvent (QCloseEvent *) override; - - Q_SIGNAL void new_frequency (Frequency) const; - Q_SIGNAL void new_tx_frequency (Frequency = 0, bool rationalise_mode = true) const; - -private: - Q_SLOT void on_configuration_action_triggered (); - Q_SLOT void on_band_combo_box_activated (int); - Q_SLOT void on_mode_combo_box_activated (int); - Q_SLOT void on_PTT_push_button_clicked (bool); - Q_SLOT void on_split_push_button_clicked (bool); - Q_SLOT void on_TX_offset_spin_box_valueChanged (int); - Q_SLOT void on_sync_push_button_clicked (bool); - - Q_SLOT void handle_transceiver_update (Transceiver::TransceiverState); - Q_SLOT void handle_transceiver_failure (QString); - - void information_message_box (QString const& reason, QString const& detail); - void read_settings (); - void write_settings (); - void load_models (); - void sync_rig (); - void band_changed (Frequency); - void frequency_changed (Frequency); - - Ui::test_configuration_main_window * ui_; - QSettings * settings_; - QString callsign_; - Configuration configuration_dialog_; - bool updating_models_; // hold off UI reaction while adjusting models - bool band_edited_; - - Transceiver::TransceiverState rig_state_; - - Frequency desired_frequency_; - - status_bar_frequency RX_frequency_; - status_bar_frequency TX_frequency_; -}; - -#include "TestConfiguration.moc" - -TestConfiguration::TestConfiguration (QString const& instance_key, QSettings * settings, QWidget * parent) - : m_ {instance_key, settings, parent} -{ -} - -TestConfiguration::~TestConfiguration () -{ -} - -TestConfiguration::impl::impl (QString const& instance_key, QSettings * settings, QWidget * parent) - : QMainWindow {parent} - , ui_ {new Ui::test_configuration_main_window} - , settings_ {settings} - , configuration_dialog_ {instance_key, settings, this} - , updating_models_ {false} - , band_edited_ {false} - , desired_frequency_ {0u} - , RX_frequency_ {"RX"} - , TX_frequency_ {"TX"} -{ - ui_->setupUi (this); - - setWindowTitle (program_title (revision ())); - - // mode "Unknown" is display only - ui_->mode_combo_box->setItemData (ui_->mode_combo_box->findText ("Unknown"), combo_box_item_disabled, Qt::UserRole - 1); - - // setup status bar widgets - statusBar ()->insertPermanentWidget (0, &TX_frequency_); - statusBar ()->insertPermanentWidget (0, &RX_frequency_); - - // assign push button ids - ui_->TX_button_group->setId (ui_->vfo_0_TX_push_button, 0); - ui_->TX_button_group->setId (ui_->vfo_1_TX_push_button, 1); - - // enable live band combo box entry validation and action - auto band_validator = new LiveFrequencyValidator {ui_->band_combo_box - , configuration_dialog_.bands () - , configuration_dialog_.frequencies () - , this}; - ui_->band_combo_box->setValidator (band_validator); - connect (band_validator, &LiveFrequencyValidator::valid, this, &TestConfiguration::impl::band_changed); - connect (ui_->band_combo_box->lineEdit (), &QLineEdit::textEdited, [this] (QString const&) {band_edited_ = true;}); - - // hook up band data model - ui_->band_combo_box->setModel (configuration_dialog_.frequencies ()); - - // combo box drop downs are limited to the drop down selector width, - // this almost random increase improves the situation - ui_->band_combo_box->view ()->setMinimumWidth (ui_->band_combo_box->view ()->sizeHintForColumn (0) + 10); - - // hook up configuration signals - connect (&configuration_dialog_, &Configuration::transceiver_update, this, &TestConfiguration::impl::handle_transceiver_update); - connect (&configuration_dialog_, &Configuration::transceiver_failure, this, &TestConfiguration::impl::handle_transceiver_failure); - - // hook up configuration slots - connect (this, &TestConfiguration::impl::new_frequency, &configuration_dialog_, &Configuration::transceiver_frequency); - connect (this, &TestConfiguration::impl::new_tx_frequency, &configuration_dialog_, &Configuration::transceiver_tx_frequency); - - load_models (); - - read_settings (); - - show (); -} - -void TestConfiguration::impl::closeEvent (QCloseEvent * e) -{ - write_settings (); - - QMainWindow::closeEvent (e); -} - -void TestConfiguration::impl::on_configuration_action_triggered () -{ - qDebug () << "TestConfiguration::on_configuration_action_triggered"; - if (QDialog::Accepted == configuration_dialog_.exec ()) - { - qDebug () << "TestConfiguration::on_configuration_action_triggered: Configuration changed"; - qDebug () << "TestConfiguration::on_configuration_action_triggered: rig is" << configuration_dialog_.rig_name (); - - if (configuration_dialog_.restart_audio_input ()) - { - qDebug () << "Audio Device Changes - Configuration changes require an audio input device to be restarted"; - } - if (configuration_dialog_.restart_audio_output ()) - { - qDebug () << "Audio Device Changes - Configuration changes require an audio output device to be restarted"; - } - - load_models (); - } - else - { - qDebug () << "TestConfiguration::on_configuration_action_triggered: Confiugration changes cancelled"; - } -} - -void TestConfiguration::impl::on_band_combo_box_activated (int index) -{ - qDebug () << "TestConfiguration::on_band_combo_box_activated: " << ui_->band_combo_box->currentText (); - - auto model = configuration_dialog_.frequencies (); - auto value = model->data (model->index (index, 2), Qt::DisplayRole).toString (); - - if (configuration_dialog_.bands ()->data (QModelIndex {}).toString () == value) - { - ui_->band_combo_box->lineEdit ()->setStyleSheet ("QLineEdit {color: yellow; background-color : red;}"); - } - else - { - ui_->band_combo_box->lineEdit ()->setStyleSheet ({}); - } - - ui_->band_combo_box->setCurrentText (value); - - auto f = model->data (model->index (index, 0), Qt::UserRole + 1).value (); - - band_edited_ = true; - band_changed (f); -} - -void TestConfiguration::impl::band_changed (Frequency f) -{ - if (band_edited_) - { - band_edited_ = false; - frequency_changed (f); - sync_rig (); - } -} - -void TestConfiguration::impl::frequency_changed (Frequency f) -{ - desired_frequency_ = f; - - // lookup band - auto bands_model = configuration_dialog_.bands (); - ui_->band_combo_box->setCurrentText (bands_model->data (bands_model->find (f)).toString ()); -} - -void TestConfiguration::impl::on_sync_push_button_clicked (bool /* checked */) -{ - qDebug () << "TestConfiguration::on_sync_push_button_clicked"; - - auto model = configuration_dialog_.frequencies (); - auto model_index = model->index (ui_->band_combo_box->currentIndex (), 0); - desired_frequency_ = model->data (model_index, Qt::UserRole + 1).value (); - - sync_rig (); -} - -void TestConfiguration::impl::on_mode_combo_box_activated (int index) -{ - qDebug () << "TestConfiguration::on_vfo_A_mode_combo_box_activated: " << static_cast (index); - - // reset combo box back to current mode and let status update do the actual change - ui_->mode_combo_box->setCurrentIndex (rig_state_.mode ()); - - Q_EMIT configuration_dialog_.transceiver_mode (static_cast (index)); -} - -void TestConfiguration::impl::on_TX_offset_spin_box_valueChanged (int value) -{ - qDebug () << "TestConfiguration::on_TX_offset_spin_box_editingFinished: " << value; - - Q_EMIT new_tx_frequency (rig_state_.frequency () + value); -} - -void TestConfiguration::impl::on_PTT_push_button_clicked (bool checked) -{ - qDebug () << "TestConfiguration::on_PTT_push_button_clicked: " << (checked ? "true" : "false"); - - // reset button and let status update do the actual checking - ui_->PTT_push_button->setChecked (rig_state_.ptt ()); - - Q_EMIT configuration_dialog_.transceiver_ptt (checked); -} - -void TestConfiguration::impl::on_split_push_button_clicked (bool checked) -{ - qDebug () << "TestConfiguration::on_split_push_button_clicked: " << (checked ? "true" : "false"); - - // reset button and let status update do the actual checking - ui_->split_push_button->setChecked (rig_state_.split ()); - - if (checked) - { - Q_EMIT new_tx_frequency (rig_state_.frequency () + ui_->TX_offset_spin_box->value ()); - } - else - { - Q_EMIT new_tx_frequency (); - } -} - -void TestConfiguration::impl::sync_rig () -{ - if (!updating_models_) - { - if (configuration_dialog_.transceiver_online (true)) - { - if (configuration_dialog_.split_mode ()) - { - Q_EMIT new_frequency (desired_frequency_); - Q_EMIT new_tx_frequency (desired_frequency_ + ui_->TX_offset_spin_box->value ()); - } - else - { - Q_EMIT new_frequency (desired_frequency_); - Q_EMIT new_tx_frequency (); - } - } - } -} - -void TestConfiguration::impl::handle_transceiver_update (Transceiver::TransceiverState s) -{ - rig_state_ = s; - - auto model = configuration_dialog_.frequencies (); - bool valid {false}; - for (int row = 0; row < model->rowCount (); ++row) - { - auto working_frequency = model->data (model->index (row, 0), Qt::UserRole + 1).value (); - if (std::abs (static_cast (working_frequency - s.frequency ())) < 10000) - { - valid = true; - } - } - if (!valid) - { - ui_->vfo_0_lcd_number->setStyleSheet ("QLCDNumber {background-color: red;}"); - } - else - { - ui_->vfo_0_lcd_number->setStyleSheet (QString {}); - } - - ui_->vfo_0_lcd_number->display (Radio::pretty_frequency_MHz_string (s.frequency ())); - - if (s.split ()) - { - ui_->vfo_1_lcd_number->display (Radio::pretty_frequency_MHz_string (s.tx_frequency ())); - - valid = false; - for (int row = 0; row < model->rowCount (); ++row) - { - auto working_frequency = model->data (model->index (row, 0), Qt::UserRole + 1).value (); - if (std::abs (static_cast (working_frequency - s.tx_frequency ())) < 10000) - { - valid = true; - } - } - if (!valid) - { - ui_->vfo_1_lcd_number->setStyleSheet ("QLCDNumber {background-color: red;}"); - } - else - { - ui_->vfo_1_lcd_number->setStyleSheet (QString {}); - } - ui_->vfo_1_lcd_number->show (); - ui_->vfo_1_TX_push_button->show (); - } - else - { - ui_->vfo_1_lcd_number->hide (); - ui_->vfo_1_TX_push_button->hide (); - } - - frequency_changed (s.frequency ()); - - ui_->radio_widget->setEnabled (s.online ()); - - ui_->mode_combo_box->setCurrentIndex (s.mode ()); - - RX_frequency_.setText (Radio::pretty_frequency_MHz_string (s.frequency ())); - TX_frequency_.setText (Radio::pretty_frequency_MHz_string (s.split () ? s.tx_frequency () : s.frequency ())); - - ui_->TX_button_group->button (s.split ())->setChecked (true); - - ui_->PTT_push_button->setChecked (s.ptt ()); - - ui_->split_push_button->setChecked (s.split ()); - - ui_->radio_widget->setEnabled (s.online ()); -} - -void TestConfiguration::impl::handle_transceiver_failure (QString reason) -{ - ui_->radio_widget->setEnabled (false); - - ui_->vfo_0_lcd_number->display (LCD_error); - ui_->vfo_1_lcd_number->display (LCD_error); - information_message_box ("Rig failure", reason); -} - -void TestConfiguration::impl::read_settings () -{ - settings_->beginGroup ("TestConfiguration"); - resize (settings_->value ("window/size", size ()).toSize ()); - move (settings_->value ("window/pos", pos ()).toPoint ()); - restoreState (settings_->value ("window/state", saveState ()).toByteArray ()); - ui_->band_combo_box->setCurrentText (settings_->value ("Band").toString ()); - settings_->endGroup (); - - settings_->beginGroup ("Configuration"); - callsign_ = settings_->value ("MyCall").toString (); - settings_->endGroup (); -} - -void TestConfiguration::impl::write_settings () -{ - settings_->beginGroup ("TestConfiguration"); - settings_->setValue ("window/size", size ()); - settings_->setValue ("window/pos", pos ()); - settings_->setValue ("window/state", saveState ()); - settings_->setValue ("Band", ui_->band_combo_box->currentText ()); - settings_->endGroup (); -} - -void TestConfiguration::impl::load_models () -{ - updating_models_ = true; - - ui_->frequency_group_box->setTitle (configuration_dialog_.rig_name ()); - // if (auto rig = configuration_dialog_.rig (false)) // don't open radio - if (configuration_dialog_.transceiver_online (false)) // don't open radio - { - Q_EMIT configuration_dialog_.sync_transceiver (true); - } - else - { - ui_->radio_widget->setEnabled (false); - ui_->vfo_0_lcd_number->display (Radio::pretty_frequency_MHz_string (static_cast (0))); - ui_->vfo_1_lcd_number->display (Radio::pretty_frequency_MHz_string (static_cast (0))); - } - - if (!configuration_dialog_.split_mode ()) - { - ui_->vfo_1_lcd_number->hide (); - ui_->vfo_1_TX_push_button->hide (); - } - - updating_models_ = false; -} - -void TestConfiguration::impl::information_message_box (QString const& reason, QString const& detail) -{ - qDebug () << "TestConfiguration::information_message_box: reason =" << reason << "detail =" << detail; - QMessageBox mb; - mb.setWindowFlags (mb.windowFlags () | Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint); - mb.setText (reason); - if (!detail.isEmpty ()) - { - mb.setDetailedText (detail); - } - mb.setStandardButtons (QMessageBox::Ok); - mb.setDefaultButton (QMessageBox::Ok); - mb.setIcon (QMessageBox::Information); - mb.exec (); -} diff --git a/TestConfiguration.hpp b/TestConfiguration.hpp deleted file mode 100644 index 428afef6f..000000000 --- a/TestConfiguration.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef TEST_CONFIGURATION_HPP_ -#define TEST_CONFIGURATION_HPP_ - -#include "pimpl_h.hpp" - -class QString; -class QSettings; -class QWidget; - -class TestConfiguration final -{ - public: - explicit TestConfiguration (QString const& instance_key, QSettings *, QWidget * parent = nullptr); - ~TestConfiguration (); - - private: - class impl; - pimpl m_; -}; - -#endif diff --git a/TestConfiguration.ui b/TestConfiguration.ui deleted file mode 100644 index 89c206f47..000000000 --- a/TestConfiguration.ui +++ /dev/null @@ -1,627 +0,0 @@ - - - test_configuration_main_window - - - - 0 - 0 - 550 - 227 - - - - - 0 - 0 - - - - - 550 - 227 - - - - Configuration Test - - - - - - - true - - - - 1 - 0 - - - - - - - true - - - - 1 - 0 - - - - Frequency - - - - - - - 1 - 0 - - - - - 11 - - - - 12 - - - - - - - - 1 - 0 - - - - - 11 - - - - 12 - - - - - - - false - - - - 0 - 0 - - - - - 20 - 20 - - - - - 20 - 20 - - - - QPushButton { - border: 2px solid #8f8f91; - border-radius: 6px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #f6f7fa, stop: 1 #dadbde); - min-width: 16px; -} - -QPushButton:checked { - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #ff2a2e, stop: 1 #ffc6ca); -} - -QPushButton:flat { - border: none; /* no border for a flat push button */ -} - -QPushButton:default { - border-color: navy; /* make the default button prominent */ -} - - - - - - true - - - true - - - true - - - TX_button_group - - - - - - - false - - - - 0 - 0 - - - - - 20 - 20 - - - - - 20 - 20 - - - - QPushButton { - border: 2px solid #8f8f91; - border-radius: 6px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #f6f7fa, stop: 1 #dadbde); - min-width: 16px; -} - -QPushButton:checked { - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #ff2a2e, stop: 1 #ffc6ca); -} - -QPushButton:flat { - border: none; /* no border for a flat push button */ -} - -QPushButton:default { - border-color: navy; /* make the default button prominent */ -} - - - - - - true - - - false - - - true - - - TX_button_group - - - - - - - - - - - 0 - 0 - - - - Mode - - - - - - - 0 - 0 - - - - 0 - - - - Unknown - - - - - CW - - - - - CW_R - - - - - USB - - - - - LSB - - - - - FSK - - - - - FSK_R - - - - - DIG_U - - - - - DIG_L - - - - - AM - - - - - FM - - - - - DIG_FM - - - - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - QPushButton { - border: 2px solid #8f8f91; - border-radius: 6px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #9aff9a, stop: 1 #2aff2e); - min-width: 80px; -} - -QPushButton:checked { - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #ff2b2e, stop: 1 #ff979a); -} - -QPushButton:flat { - border: none; /* no border for a flat push button */ -} - -QPushButton:default { - border-color: navy; /* make the default button prominent */ -} - - - PTT - - - true - - - false - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Expanding - - - - 0 - 0 - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - QPushButton { - border: 2px solid #8f8f91; - border-radius: 6px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #9aff9a, stop: 1 #2aff2e); - min-width: 80px; -} - -QPushButton:checked { - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #ff2b2e, stop: 1 #ff979a); -} - -QPushButton:flat { - border: none; /* no border for a flat push button */ -} - -QPushButton:default { - border-color: navy; /* make the default button prominent */ -} - - - Split - - - true - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - 0 - 0 - - - - Split Offset: - - - TX_offset_spin_box - - - - - - - - 0 - 0 - - - - Hz - - - -10000 - - - 10000 - - - 100 - - - - - - - - - - - - - - - - Band: - - - band_combo_box - - - - - - - - 0 - 0 - - - - - 100 - 0 - - - - true - - - QComboBox::NoInsert - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Sync - - - - - - - - - - - 0 - 0 - 550 - 20 - - - - - &File - - - - - - &Options - - - - - - - - - - toolBar - - - TopToolBarArea - - - false - - - - - E&xit - - - - - &Configuration - - - - - - - exit_action - triggered() - test_configuration_main_window - close() - - - -1 - -1 - - - 261 - 214 - - - - - - - - diff --git a/Versions.cmake b/Versions.cmake index 6c0a3c45b..84cd4786d 100644 --- a/Versions.cmake +++ b/Versions.cmake @@ -4,7 +4,3 @@ set (WSJTX_VERSION_MINOR 5) set (WSJTX_VERSION_PATCH 0) set (WSJTX_RC 0) # release candidate number, comment out or zero for development versions set (WSJTX_VERSION_IS_RELEASE 0) # set to 1 for final release build - -set (CONFIG_TEST_VERSION_MAJOR 0) -set (CONFIG_TEST_VERSION_MINOR 2) -set (CONFIG_TEST_VERSION_PATCH 13) diff --git a/manpages/CMakeLists.txt b/manpages/CMakeLists.txt index a4d5b8acb..1576ad549 100644 --- a/manpages/CMakeLists.txt +++ b/manpages/CMakeLists.txt @@ -1,6 +1,7 @@ set (ASCIIDOC_MANS man1/wsjtx.1.txt man1/jt65code.1.txt + man1/rigctl-wsjtx.1.txt man1/rigctld-wsjtx.1.txt ) diff --git a/manpages/man1/rigctl-wsjtx.1.txt b/manpages/man1/rigctl-wsjtx.1.txt new file mode 100644 index 000000000..e96667f2e --- /dev/null +++ b/manpages/man1/rigctl-wsjtx.1.txt @@ -0,0 +1,29 @@ +:doctype: manpage +:man source: AsciiDoc +:man version: {revnumber} +:man manual: WSJT-X Manual += rigctl-wsjtx(1) + +== NAME + +rigctl-wsjtx - Hamlib 3 rigctld server. + +== SYNOPSIS + +*rigctl-wsjtx* [OPTIONS] + +== DESCRIPTION + +*wsjtx* uses a version of the *hamlib* CAT control library. This + library is heavily modified over the current release version of + *hamlib*. If a *wsjtx* user wishes to use the *hamlib* network rig + server *rigctld* to remotely control their transceiver; then this + special version of the *rigctl* client should be used since that too + has the modified *hamlib* code embedded with it. + +WSJT-X home page:: http://www.physics.princeton.edu/pulsar/K1JT/wsjtx.html + +WSJT-X User's Guide:: http://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc/wsjtx-main-toc2.html + +== OPTIONS +Refer to the *hamlib* documentation.