From 32aacee5b9c5803140c15b70fd440b310a229c63 Mon Sep 17 00:00:00 2001 From: zhaoyingzhen Date: Fri, 6 Jun 2025 16:39:49 +0800 Subject: [PATCH] fix: dateTime plugin only responds to short format changes from dde-control-center 1.datetime plugin has no time format menu 2.only responds to short format changes from dcc. Pms: BUG-303071,BUG-286253 --- plugins/dde-dock/datetime/datetimeplugin.cpp | 3 ++- plugins/dde-dock/datetime/datetimewidget.cpp | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/plugins/dde-dock/datetime/datetimeplugin.cpp b/plugins/dde-dock/datetime/datetimeplugin.cpp index dc25d43ca..3c66266e7 100644 --- a/plugins/dde-dock/datetime/datetimeplugin.cpp +++ b/plugins/dde-dock/datetime/datetimeplugin.cpp @@ -172,6 +172,7 @@ const QString DatetimePlugin::itemContextMenu(const QString &itemKey) QList items; QMap settings; +#if 0 // 隐藏时间设置:BUG-303071 settings["itemId"] = "settings"; if (m_centralWidget->is24HourFormat()) settings["itemText"] = tr("12-hour time"); @@ -179,7 +180,7 @@ const QString DatetimePlugin::itemContextMenu(const QString &itemKey) settings["itemText"] = tr("24-hour time"); settings["isActive"] = true; items.push_back(settings); - +#endif if (!QFile::exists(ICBC_CONF_FILE)) { QMap open; open["itemId"] = "open"; diff --git a/plugins/dde-dock/datetime/datetimewidget.cpp b/plugins/dde-dock/datetime/datetimewidget.cpp index 841c02c74..7b2b4eabf 100644 --- a/plugins/dde-dock/datetime/datetimewidget.cpp +++ b/plugins/dde-dock/datetime/datetimewidget.cpp @@ -113,7 +113,7 @@ void DatetimeWidget::updateDateTimeString() const auto position = qApp->property(PROP_POSITION).value(); QString timeStr, dateString; if (position == Dock::Bottom || position == Dock::Top) { - QString timeFormat = m_24HourFormat ? "hh:mm" : m_regionFormat->getShortTimeFormat(); + QString timeFormat = m_regionFormat->getShortTimeFormat(); timeStr = locale.toString(current, timeFormat); dateString = current.toString(m_regionFormat->getShortDateFormat()); @@ -124,9 +124,12 @@ void DatetimeWidget::updateDateTimeString() QString apText = locale.toString(current, "AP"); m_apLabel->setText(apText); - timeStr = current.toString("h:mm"); + QString timeFormat = m_regionFormat->getShortTimeFormat(); + timeFormat.replace("AP", ""); + timeFormat.replace(" ", ""); + timeStr = current.toString(timeFormat); } else { - timeStr = current.toString("hh:mm"); + timeStr = current.toString(m_regionFormat->getShortTimeFormat()); } m_timeLabel->setText(timeStr);