From 7d463ddd04bf052650843ff8523b36789c48733b Mon Sep 17 00:00:00 2001 From: Michael Heidelbach Date: Thu, 15 Mar 2018 15:38:14 +0100 Subject: [PATCH] infopanel: Add choice of date display formats Summary: Let user choose date display format via checkbox in context menu [[ https://phabricator.kde.org/file/info/PHID-FILE-5xjr7tvypj3jaczjtzrz | Example ]] Depends on D11242 FEATURE: 392352 Test Plan: visual inspection Reviewers: #dolphin, markg, ngraham Reviewed By: markg, ngraham Subscribers: broulik, markg, ngraham Tags: #dolphin, #kde_applications Differential Revision: https://phabricator.kde.org/D11245 --- .../dolphin_informationpanelsettings.kcfg | 8 ++++++++ src/panels/information/informationpanelcontent.cpp | 13 ++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/panels/information/dolphin_informationpanelsettings.kcfg b/src/panels/information/dolphin_informationpanelsettings.kcfg index 53c756d240..dbc1ab6d29 100644 --- a/src/panels/information/dolphin_informationpanelsettings.kcfg +++ b/src/panels/information/dolphin_informationpanelsettings.kcfg @@ -10,5 +10,13 @@ true + + + + + + + 0 + diff --git a/src/panels/information/informationpanelcontent.cpp b/src/panels/information/informationpanelcontent.cpp index 5dcf8612ef..0d6987bb0f 100644 --- a/src/panels/information/informationpanelcontent.cpp +++ b/src/panels/information/informationpanelcontent.cpp @@ -117,7 +117,8 @@ InformationPanelContent::InformationPanelContent(QWidget* parent) : #endif m_metaDataWidget->setFont(QFontDatabase::systemFont(QFontDatabase::SmallestReadableFont)); m_metaDataWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum); - + m_metaDataWidget->setDateFormat(static_cast(InformationPanelSettings::dateFormat())); + // Encapsulate the MetaDataWidget inside a container that has a dummy widget // at the bottom. This prevents that the meta data widget gets vertically stretched // in the case where the height of m_metaDataArea > m_metaDataWidget. @@ -193,6 +194,7 @@ void InformationPanelContent::showItem(const KFileItem& item) } if (m_metaDataWidget) { + m_metaDataWidget->setDateFormat(static_cast(InformationPanelSettings::dateFormat())); m_metaDataWidget->show(); m_metaDataWidget->setItems(KFileItemList() << item); } @@ -281,6 +283,10 @@ void InformationPanelContent::configureSettings(const QList& customCon QAction* configureAction = popup.addAction(i18nc("@action:inmenu", "Configure...")); configureAction->setIcon(QIcon::fromTheme(QStringLiteral("configure"))); + QAction* dateformatAction = popup.addAction(i18nc("@action:inmenu", "Condensed Date")); + dateformatAction->setIcon(QIcon::fromTheme(QStringLiteral("change-date-symbolic"))); + dateformatAction->setCheckable(true); + dateformatAction->setChecked(InformationPanelSettings::dateFormat() == static_cast(Baloo::DateFormats::ShortFormat)); popup.addSeparator(); foreach (QAction* action, customContextMenuActions) { popup.addAction(action); @@ -297,6 +303,11 @@ void InformationPanelContent::configureSettings(const QList& customCon if (action == previewAction) { m_preview->setVisible(isChecked); InformationPanelSettings::setPreviewsShown(isChecked); + } else if (action == dateformatAction) { + int dateFormat = static_cast(isChecked ? Baloo::DateFormats::ShortFormat : Baloo::DateFormats::LongFormat); + + InformationPanelSettings::setDateFormat(dateFormat); + refreshMetaData(); } else if (action == configureAction) { FileMetaDataConfigurationDialog* dialog = new FileMetaDataConfigurationDialog(this); dialog->setDescription(i18nc("@label::textbox",