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);
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:"), &region_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_);

View File

@ -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;
}