diff --git a/models/CabrilloLog.cpp b/models/CabrilloLog.cpp index dfba3d439..b0459e190 100644 --- a/models/CabrilloLog.cpp +++ b/models/CabrilloLog.cpp @@ -50,20 +50,17 @@ public: else { value = QSqlTableModel::data (model_index, role); - if (model_index.column () == fieldIndex ("frequency") && Qt::DisplayRole == role) + if (Qt::DisplayRole == role) { - value = Radio::frequency_MHz_string (value.value (), 3); // kHz precision - } - else if (model_index.column () == fieldIndex ("when") - && (Qt::DisplayRole == role || Qt::EditRole == role)) - { // adjust date/time to Qt format - auto t = QDateTime::fromMSecsSinceEpoch (value.toULongLong () * 1000ull, Qt::UTC); - if (Qt::DisplayRole == role) + if (model_index.column () == fieldIndex ("frequency")) { - QLocale locale; - return locale.toString (t, locale.dateFormat (QLocale::ShortFormat) + " hh:mm:ss"); + value = Radio::frequency_MHz_string (value.value (), 3); // kHz precision + } + else if (model_index.column () == fieldIndex ("when")) + { // adjust date/time to Qt format + QLocale locale; + value = locale.toString (QDateTime::fromMSecsSinceEpoch (value.toULongLong () * 1000ull, Qt::UTC), locale.dateFormat (QLocale::ShortFormat) + " hh:mm:ss"); } - value = t; } } return value; diff --git a/models/FoxLog.cpp b/models/FoxLog.cpp index ad02cd2b8..3ba7d2c23 100644 --- a/models/FoxLog.cpp +++ b/models/FoxLog.cpp @@ -26,16 +26,10 @@ public: QVariant data (QModelIndex const& index, int role) const { auto value = QSqlTableModel::data (index, role); - if (index.column () == fieldIndex ("when") - && (Qt::DisplayRole == role || Qt::EditRole == role)) + if (index.column () == fieldIndex ("when") && Qt::DisplayRole == role) { - auto t = QDateTime::fromMSecsSinceEpoch (value.toULongLong () * 1000ull, Qt::UTC); - if (Qt::DisplayRole == role) - { - QLocale locale; - return locale.toString (t, locale.dateFormat (QLocale::ShortFormat) + " hh:mm:ss"); - } - value = t; + QLocale locale; + value = locale.toString (QDateTime::fromMSecsSinceEpoch (value.toULongLong () * 1000ull, Qt::UTC), locale.dateFormat (QLocale::ShortFormat) + " hh:mm:ss"); } return value; } diff --git a/widgets/CabrilloLogWindow.cpp b/widgets/CabrilloLogWindow.cpp index 6fd753136..5c219fcd7 100644 --- a/widgets/CabrilloLogWindow.cpp +++ b/widgets/CabrilloLogWindow.cpp @@ -9,6 +9,7 @@ #include "item_delegates/FrequencyDelegate.hpp" #include "item_delegates/ForeignKeyDelegate.hpp" #include "item_delegates/CallsignDelegate.hpp" +#include "item_delegates/SQLiteDateTimeDelegate.hpp" #include "pimpl_impl.hpp" #include "ui_CabrilloLogWindow.h" @@ -66,6 +67,7 @@ CabrilloLogWindow::CabrilloLogWindow (QSettings * settings, Configuration const m_->ui_.log_table_view->setModel (&m_->format_model_); set_log_view (m_->ui_.log_table_view); m_->ui_.log_table_view->setItemDelegateForColumn (1, new FrequencyDelegate {this}); + m_->ui_.log_table_view->setItemDelegateForColumn (3, new SQLiteDateTimeDelegate {this}); m_->ui_.log_table_view->setItemDelegateForColumn (4, new CallsignDelegate {this}); auto h_header = m_->ui_.log_table_view->horizontalHeader (); h_header->moveSection (7, 1); // band to first column diff --git a/widgets/FoxLogWindow.cpp b/widgets/FoxLogWindow.cpp index 9c29a30ad..cdbc00486 100644 --- a/widgets/FoxLogWindow.cpp +++ b/widgets/FoxLogWindow.cpp @@ -15,6 +15,7 @@ #include "item_delegates/ForeignKeyDelegate.hpp" #include "item_delegates/CallsignDelegate.hpp" #include "item_delegates/MaidenheadLocatorDelegate.hpp" +#include "item_delegates/SQLiteDateTimeDelegate.hpp" #include "pimpl_impl.hpp" #include "ui_FoxLogWindow.h" @@ -41,6 +42,7 @@ FoxLogWindow::FoxLogWindow (QSettings * settings, Configuration const * configur m_->ui_.setupUi (this); m_->ui_.log_table_view->setModel (m_->log_->model ()); set_log_view (m_->ui_.log_table_view); + m_->ui_.log_table_view->setItemDelegateForColumn (1, new SQLiteDateTimeDelegate {this}); m_->ui_.log_table_view->setItemDelegateForColumn (2, new CallsignDelegate {this}); m_->ui_.log_table_view->setItemDelegateForColumn (3, new MaidenheadLocatorDelegate {this}); m_->ui_.log_table_view->setItemDelegateForColumn (6, new ForeignKeyDelegate {configuration->bands (), 0, this});