From e1fde92ea26e70c3800e1cf364c71b4e511dca7a Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Thu, 14 Jul 2022 12:42:55 -0400 Subject: [PATCH] Try adding a lineEdit to display number of QSOs in the contest log. Not quite right, yet. --- models/CabrilloLog.cpp | 5 +++++ models/CabrilloLog.hpp | 1 + widgets/CabrilloLogWindow.cpp | 7 +++++++ widgets/CabrilloLogWindow.hpp | 1 + widgets/CabrilloLogWindow.ui | 16 ++++++++++++++++ widgets/mainwindow.cpp | 6 ++++++ 6 files changed, 36 insertions(+) diff --git a/models/CabrilloLog.cpp b/models/CabrilloLog.cpp index 66c87ebfc..b0f467f33 100644 --- a/models/CabrilloLog.cpp +++ b/models/CabrilloLog.cpp @@ -258,6 +258,11 @@ bool CabrilloLog::dupe (Frequency frequency, QString const& call) const return false; } +int CabrilloLog::n_qso() +{ + return m_->rowCount(); +} + void CabrilloLog::reset () { // synchronize model diff --git a/models/CabrilloLog.hpp b/models/CabrilloLog.hpp index 97d8f0d88..40c27380d 100644 --- a/models/CabrilloLog.hpp +++ b/models/CabrilloLog.hpp @@ -31,6 +31,7 @@ public: bool add_QSO (Frequency, QString const& mode, QDateTime const&, QString const& call , QString const& report_sent, QString const& report_received); bool dupe (Frequency, QString const& call) const; + int n_qso(); QSqlTableModel * model (); void reset (); diff --git a/widgets/CabrilloLogWindow.cpp b/widgets/CabrilloLogWindow.cpp index 16a38ef3d..3315181a0 100644 --- a/widgets/CabrilloLogWindow.cpp +++ b/widgets/CabrilloLogWindow.cpp @@ -89,3 +89,10 @@ void CabrilloLogWindow::log_model_changed (int row) m_->log_model_->select (); } } + +void CabrilloLogWindow::set_nQSO(int n) +{ + QString t; + t=t.asprintf("%d QSOs",n); + m_->ui_.nQSO_lineEdit->setText(t); +} diff --git a/widgets/CabrilloLogWindow.hpp b/widgets/CabrilloLogWindow.hpp index e2aa1627a..044986620 100644 --- a/widgets/CabrilloLogWindow.hpp +++ b/widgets/CabrilloLogWindow.hpp @@ -16,6 +16,7 @@ public: explicit CabrilloLogWindow (QSettings *, Configuration const *, QSqlTableModel * cabrillo_log_model , QWidget * parent = nullptr); ~CabrilloLogWindow (); + void set_nQSO(int n); private: void log_model_changed (int row) override; diff --git a/widgets/CabrilloLogWindow.ui b/widgets/CabrilloLogWindow.ui index 35b4d597d..1b44d0652 100644 --- a/widgets/CabrilloLogWindow.ui +++ b/widgets/CabrilloLogWindow.ui @@ -27,6 +27,22 @@ + + + + + 100 + 16777215 + + + + 0 QSOs + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 2be90e3c1..7e1609d90 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -1423,6 +1423,7 @@ void MainWindow::setDecodedTextFont (QFont const& font) } if (m_contestLogWindow) { m_contestLogWindow->set_log_view_font (font); + m_contestLogWindow->set_nQSO(m_logBook.contest_log()->n_qso()); } if(m_ActiveStationsWidget != NULL) { m_ActiveStationsWidget->changeFont(font); @@ -2778,6 +2779,7 @@ void MainWindow::on_contest_log_action_triggered() m_contestLogWindow->showNormal (); m_contestLogWindow->raise (); m_contestLogWindow->activateWindow (); + m_contestLogWindow->set_nQSO(m_logBook.contest_log()->n_qso()); } void MainWindow::on_actionColors_triggered() @@ -4676,6 +4678,7 @@ void MainWindow::guiUpdate() //Once per second (onesec) if(nsec != m_sec0) { // qDebug() << "AAA" << nsec; + m_contestLogWindow->set_nQSO(m_logBook.contest_log()->n_qso()); if(m_mode=="FST4") chk_FST4_freq_range(); m_currentBand=m_config.bands()->find(m_freqNominal); @@ -6374,6 +6377,9 @@ void MainWindow::acceptQSO (QDateTime const& QSO_date_off, QString const& call, m_xSent.clear (); m_xRcvd.clear (); + if(m_contestLogWindow) { + m_contestLogWindow->set_nQSO(m_logBook.contest_log()->n_qso()); + } } void MainWindow::updateRate()