From 4453a46664eea8667ed3ce4dbf38e9a6bff681cd Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Thu, 3 Apr 2014 21:19:04 +0000 Subject: [PATCH] Don't overwrite frequency, station or, macro models whenleaving the configuration dialog unless they have changed. Fix a bug I had introduced into the free text message fields so they don't get overwritten by message generation. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3981 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- Configuration.cpp | 22 +++++++++++++++++----- mainwindow.cpp | 3 --- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Configuration.cpp b/Configuration.cpp index 15e50ec0b..c57e8c13a 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -1396,12 +1396,24 @@ void Configuration::impl::accept () TX_messages_ = ui_->TX_messages_check_box->isChecked (); data_mode_ = static_cast (ui_->TX_mode_button_group->checkedId ()); save_directory_ = ui_->save_path_display_label->text (); - macros_.setStringList (next_macros_.stringList ()); - frequencies_ = next_frequencies_.frequencies (); - frequencies_.sort (0); - stations_ = next_stations_.stations (); - stations_.sort (0); + if (macros_.stringList () != next_macros_.stringList ()) + { + macros_.setStringList (next_macros_.stringList ()); + } + + if (frequencies_.frequencies () != next_frequencies_.frequencies ()) + { + frequencies_ = next_frequencies_.frequencies (); + frequencies_.sort (0); + } + + if (stations_.stations () != next_stations_.stations ()) + { + stations_ = next_stations_.stations (); + stations_.sort (0); + } + write_settings (); // make visible to all QDialog::accept(); diff --git a/mainwindow.cpp b/mainwindow.cpp index d530ff1be..5fa69f9b0 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1959,7 +1959,6 @@ void MainWindow::genStdMsgs(QString rpt) //genStdMsgs() msgtype(t, ui->tx6); } ui->genMsg->setText(""); - ui->freeTextMsg->setCurrentText(""); return; } QString hisBase=baseCall(hisCall); @@ -2209,7 +2208,6 @@ void MainWindow::on_tx4_editingFinished() //tx4 edited void MainWindow::on_tx5_currentTextChanged (QString const& text) //tx5 edited { msgtype(text, ui->tx5->lineEdit ()); - msgtype(text, ui->freeTextMsg->lineEdit ()); } void MainWindow::on_tx6_editingFinished() //tx6 edited @@ -2608,7 +2606,6 @@ void MainWindow::on_rbFreeText_toggled(bool checked) void MainWindow::on_freeTextMsg_currentTextChanged (QString const& text) { msgtype(text, ui->freeTextMsg->lineEdit ()); - msgtype(text, ui->tx5->lineEdit ()); } void MainWindow::on_rptSpinBox_valueChanged(int n)