From eb33b6029f6be2a2e9dc168170447c8db5f5620d Mon Sep 17 00:00:00 2001 From: Brian Moran Date: Thu, 29 Sep 2022 21:07:26 -0700 Subject: [PATCH] start with current datetime for in-place editing of blank datetime --- Configuration.cpp | 8 ++++---- models/FrequencyList.cpp | 30 ++++++++++++++++++++++++++---- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/Configuration.cpp b/Configuration.cpp index 45d22c20b..8e9ffc610 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -278,7 +278,7 @@ public: start_date_time_edit_ = new QDateTimeEdit(QDateTime(QDate::currentDate(), QTime(0,0,0,0), Qt::UTC), parent); end_date_time_edit_ = new QDateTimeEdit(QDateTime(QDate::currentDate().addDays(2), QTime(0,0,0,0), Qt::UTC), parent); - enable_dates_checkbox_ = new QCheckBox {tr ("Validity Period")}; + enable_dates_checkbox_ = new QCheckBox {tr ("")}; start_date_time_edit_->setDisplayFormat("yyyy.MM.dd hh:mm:ss 'UTC'"); start_date_time_edit_->setTimeSpec(Qt::UTC); start_date_time_edit_->setMinimumDate(QDate::currentDate().addDays(-365)); @@ -286,7 +286,7 @@ public: end_date_time_edit_->setDisplayFormat("yyyy.MM.dd hh:mm:ss 'UTC'"); end_date_time_edit_->setTimeSpec(Qt::UTC); end_date_time_edit_->setMinimumDate(QDate::currentDate().addDays(-365)); - preferred_frequency_checkbox_ = new QCheckBox {tr ("Preferred for Band/Mode")}; + preferred_frequency_checkbox_ = new QCheckBox {tr ("")}; setWindowTitle (QApplication::applicationName () + " - " + tr ("Add Frequency")); @@ -298,9 +298,9 @@ public: form_layout->addRow (tr ("IARU &Region:"), ®ion_combo_box_); form_layout->addRow (tr ("&Mode:"), &mode_combo_box_); form_layout->addRow (tr ("&Frequency (MHz):"), &frequency_line_edit_); - form_layout->addRow (tr ("&Preferred:"), preferred_frequency_checkbox_); + form_layout->addRow (tr ("&Preferred for Band/Mode:"), preferred_frequency_checkbox_); form_layout->addRow (tr ("&Description:"), &description_line_edit_); - form_layout->addRow (tr ("&Enable Date Range"), enable_dates_checkbox_); + form_layout->addRow (tr ("&Enable Date Range:"), enable_dates_checkbox_); form_layout->addRow (tr ("S&tart:"), start_date_time_edit_); form_layout->addRow (tr ("&End:"), end_date_time_edit_); form_layout->addRow (tr ("&Source:"), &source_line_edit_); diff --git a/models/FrequencyList.cpp b/models/FrequencyList.cpp index 32ec0e708..4860eed3f 100644 --- a/models/FrequencyList.cpp +++ b/models/FrequencyList.cpp @@ -869,8 +869,19 @@ QVariant FrequencyList_v2::impl::data (QModelIndex const& index, int role) const case SortRole: item = frequency_item.start_time_; break; - case Qt::DisplayRole: + case Qt::EditRole: + if (frequency_item.start_time_.isNull () || !frequency_item.start_time_.isValid ()) + { + item = QDateTime::currentDateTimeUtc ().toString (Qt::ISODate); + } + else + { + item = frequency_item.start_time_.toString(Qt::ISODate); + } + break; + + case Qt::DisplayRole: case Qt::AccessibleTextRole: item = frequency_item.start_time_.toString(Qt::ISODate); break; @@ -892,8 +903,19 @@ QVariant FrequencyList_v2::impl::data (QModelIndex const& index, int role) const case SortRole: item = frequency_item.end_time_; break; - case Qt::DisplayRole: + case Qt::EditRole: + if (frequency_item.end_time_.isNull () || !frequency_item.end_time_.isValid ()) + { + item = QDateTime::currentDateTimeUtc ().toString (Qt::ISODate); + } + else + { + item = frequency_item.end_time_.toString(Qt::ISODate); + } + break; + + case Qt::DisplayRole: case Qt::AccessibleTextRole: item = frequency_item.end_time_.toString(Qt::ISODate); break; @@ -1104,8 +1126,8 @@ QVariant FrequencyList_v2::impl::headerData (int section, Qt::Orientation orient case frequency_column: header = tr ("Frequency"); break; case frequency_mhz_column: header = tr ("Frequency (MHz)"); break; case source_column: header = tr ("Source"); break; - case start_time_column: header = tr ("Start"); break; - case end_time_column: header = tr ("End"); break; + case start_time_column: header = tr ("Start Date/Time"); break; + case end_time_column: header = tr ("End Date/Time"); break; case preferred_column: header = tr ("Pref"); break; case description_column: header = tr ("Description"); break; }