From f0d03c7dd7ae8496714483b73cfab1b1708c6ad3 Mon Sep 17 00:00:00 2001 From: Méven Car Date: Thu, 24 Dec 2020 00:11:21 +0000 Subject: Details View: display dates as relative Short dates CCBUG: 340982 --- src/settings/dolphin_detailsmodesettings.kcfg | 4 ++++ src/settings/viewmodes/viewsettingstab.cpp | 29 ++++++++++++++++++++++++++- src/settings/viewmodes/viewsettingstab.h | 2 ++ 3 files changed, 34 insertions(+), 1 deletion(-) (limited to 'src/settings') diff --git a/src/settings/dolphin_detailsmodesettings.kcfg b/src/settings/dolphin_detailsmodesettings.kcfg index 9d05a8ab0..c8238f1e8 100644 --- a/src/settings/dolphin_detailsmodesettings.kcfg +++ b/src/settings/dolphin_detailsmodesettings.kcfg @@ -52,5 +52,9 @@ 10 + + + true + diff --git a/src/settings/viewmodes/viewsettingstab.cpp b/src/settings/viewmodes/viewsettingstab.cpp index cf8cd2810..0fd2dca3a 100644 --- a/src/settings/viewmodes/viewsettingstab.cpp +++ b/src/settings/viewmodes/viewsettingstab.cpp @@ -14,6 +14,7 @@ #include "views/zoomlevelinfo.h" #include +#include #include #include @@ -34,7 +35,9 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget* parent) : m_widthBox(nullptr), m_maxLinesBox(nullptr), m_expandableFolders(nullptr), - m_recursiveDirectorySizeLimit(nullptr) + m_recursiveDirectorySizeLimit(nullptr), + m_useRelatetiveDates(nullptr), + m_useShortDates(nullptr) { QFormLayout* topLayout = new QFormLayout(this); @@ -121,6 +124,25 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget* parent) : topLayout->addRow(i18nc("@title:group", "Folder size displays:"), m_numberOfItems); topLayout->addRow(QString(), contentsSizeLayout); #endif + + QDateTime thirtyMinutesAgo = QDateTime::currentDateTime().addSecs(-30 * 60); + QLocale local; + KFormat formatter(local); + + m_useRelatetiveDates = new QRadioButton(i18nc( + "option:radio as in relative date", "Relative (e.g. '%1')", formatter.formatRelativeDateTime(thirtyMinutesAgo, QLocale::ShortFormat)) + ); + m_useShortDates = new QRadioButton( + i18nc("option:radio as in absolute date", "Absolute (e.g. '%1')", local.toString(thirtyMinutesAgo, QLocale::ShortFormat)) + ); + + QButtonGroup* dateFormatGroup = new QButtonGroup(this); + dateFormatGroup->addButton(m_useRelatetiveDates); + dateFormatGroup->addButton(m_useShortDates); + + topLayout->addRow(i18nc("@title:group", "Date style:"), m_useRelatetiveDates); + topLayout->addRow(QString(), m_useShortDates); + break; } @@ -147,6 +169,8 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget* parent) : m_recursiveDirectorySizeLimit->setEnabled(m_sizeOfContents->isChecked()); }); #endif + connect(m_useRelatetiveDates, &QRadioButton::toggled, this, &ViewSettingsTab::changed); + connect(m_useShortDates, &QRadioButton::toggled, this, &ViewSettingsTab::changed); break; default: break; @@ -176,6 +200,7 @@ void ViewSettingsTab::applySettings() DetailsModeSettings::setDirectorySizeCount(m_numberOfItems->isChecked()); DetailsModeSettings::setRecursiveDirectorySizeLimit(m_recursiveDirectorySizeLimit->value()); #endif + DetailsModeSettings::setUseShortRelativeDates(m_useRelatetiveDates->isChecked()); break; default: break; @@ -234,6 +259,8 @@ void ViewSettingsTab::loadSettings() } m_recursiveDirectorySizeLimit->setValue(DetailsModeSettings::recursiveDirectorySizeLimit()); #endif + m_useRelatetiveDates->setChecked(DetailsModeSettings::useShortRelativeDates()); + m_useShortDates->setChecked(!DetailsModeSettings::useShortRelativeDates()); break; default: break; diff --git a/src/settings/viewmodes/viewsettingstab.h b/src/settings/viewmodes/viewsettingstab.h index 41b40b95e..d5756bb3a 100644 --- a/src/settings/viewmodes/viewsettingstab.h +++ b/src/settings/viewmodes/viewsettingstab.h @@ -64,6 +64,8 @@ private: QRadioButton* m_numberOfItems; QRadioButton* m_sizeOfContents; QSpinBox* m_recursiveDirectorySizeLimit; + QRadioButton* m_useRelatetiveDates; + QRadioButton* m_useShortDates; }; #endif -- cgit v1.3