start with current datetime for in-place editing of blank datetime

This commit is contained in:
Brian Moran 2022-09-29 21:07:26 -07:00
parent 5db0b06aeb
commit eb33b6029f
2 changed files with 30 additions and 8 deletions

View File

@ -278,7 +278,7 @@ public:
start_date_time_edit_ = new QDateTimeEdit(QDateTime(QDate::currentDate(), QTime(0,0,0,0), Qt::UTC), parent); 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); 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_->setDisplayFormat("yyyy.MM.dd hh:mm:ss 'UTC'");
start_date_time_edit_->setTimeSpec(Qt::UTC); start_date_time_edit_->setTimeSpec(Qt::UTC);
start_date_time_edit_->setMinimumDate(QDate::currentDate().addDays(-365)); 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_->setDisplayFormat("yyyy.MM.dd hh:mm:ss 'UTC'");
end_date_time_edit_->setTimeSpec(Qt::UTC); end_date_time_edit_->setTimeSpec(Qt::UTC);
end_date_time_edit_->setMinimumDate(QDate::currentDate().addDays(-365)); 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 () + " - " + setWindowTitle (QApplication::applicationName () + " - " +
tr ("Add Frequency")); tr ("Add Frequency"));
@ -298,9 +298,9 @@ public:
form_layout->addRow (tr ("IARU &Region:"), &region_combo_box_); form_layout->addRow (tr ("IARU &Region:"), &region_combo_box_);
form_layout->addRow (tr ("&Mode:"), &mode_combo_box_); form_layout->addRow (tr ("&Mode:"), &mode_combo_box_);
form_layout->addRow (tr ("&Frequency (MHz):"), &frequency_line_edit_); 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 ("&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 ("S&tart:"), start_date_time_edit_);
form_layout->addRow (tr ("&End:"), end_date_time_edit_); form_layout->addRow (tr ("&End:"), end_date_time_edit_);
form_layout->addRow (tr ("&Source:"), &source_line_edit_); form_layout->addRow (tr ("&Source:"), &source_line_edit_);

View File

@ -869,8 +869,19 @@ QVariant FrequencyList_v2::impl::data (QModelIndex const& index, int role) const
case SortRole: case SortRole:
item = frequency_item.start_time_; item = frequency_item.start_time_;
break; break;
case Qt::DisplayRole:
case Qt::EditRole: 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: case Qt::AccessibleTextRole:
item = frequency_item.start_time_.toString(Qt::ISODate); item = frequency_item.start_time_.toString(Qt::ISODate);
break; break;
@ -892,8 +903,19 @@ QVariant FrequencyList_v2::impl::data (QModelIndex const& index, int role) const
case SortRole: case SortRole:
item = frequency_item.end_time_; item = frequency_item.end_time_;
break; break;
case Qt::DisplayRole:
case Qt::EditRole: 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: case Qt::AccessibleTextRole:
item = frequency_item.end_time_.toString(Qt::ISODate); item = frequency_item.end_time_.toString(Qt::ISODate);
break; break;
@ -1104,8 +1126,8 @@ QVariant FrequencyList_v2::impl::headerData (int section, Qt::Orientation orient
case frequency_column: header = tr ("Frequency"); break; case frequency_column: header = tr ("Frequency"); break;
case frequency_mhz_column: header = tr ("Frequency (MHz)"); break; case frequency_mhz_column: header = tr ("Frequency (MHz)"); break;
case source_column: header = tr ("Source"); break; case source_column: header = tr ("Source"); break;
case start_time_column: header = tr ("Start"); break; case start_time_column: header = tr ("Start Date/Time"); break;
case end_time_column: header = tr ("End"); break; case end_time_column: header = tr ("End Date/Time"); break;
case preferred_column: header = tr ("Pref"); break; case preferred_column: header = tr ("Pref"); break;
case description_column: header = tr ("Description"); break; case description_column: header = tr ("Description"); break;
} }