From a7a22de14c360fa5c975e0bae30fc22e4cd7cc43 Mon Sep 17 00:00:00 2001 From: Wolfgang Bauer Date: Fri, 22 Apr 2016 19:03:28 +0200 Subject: [PATCH] [digital-clock] Fix display of seconds with certain locales Currently, "Show seconds" has no effect with certain locales (C e.g.) that already contain the seconds in the ShortFormat. The reason is that the seconds are only added to the format string that's used to display the time if they are not part of timeFormatString already (which is not used at all for the display). This patch fixes that check and adds them only depending on the showSeconds config option. REVIEW: 127623 --- .../digital-clock/package/contents/ui/DigitalClock.qml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/applets/digital-clock/package/contents/ui/DigitalClock.qml b/applets/digital-clock/package/contents/ui/DigitalClock.qml index 95bb07145..6fa8e39ab 100644 --- a/applets/digital-clock/package/contents/ui/DigitalClock.qml +++ b/applets/digital-clock/package/contents/ui/DigitalClock.qml @@ -478,11 +478,7 @@ Item { // and Short does not provide seconds. So if seconds are enabled, we need to add it here. // // What happens here is that it looks for the delimiter between "h" and "m", takes it - // and appends it after "mm" and then appends "ss" for the seconds. Also it checks - // if the format string already does not contain the seconds part. - // - // It can happen that Qt uses the 'C' locale (it's a fallback) and that locale - // has always ":ss" part in ShortFormat, so we need to remove it. + // and appends it after "mm" and then appends "ss" for the seconds. function timeFormatCorrection(timeFormatString) { var regexp = /(hh*)(.+)(mm)/i var match = regexp.exec(timeFormatString); @@ -498,7 +494,7 @@ Item { // when uppercase H is used for hours, needs to be h or hh, so toLowerCase() var result = hours.toLowerCase() + delimiter + minutes; - if (main.showSeconds && timeFormatString.indexOf('s') == -1) { + if (main.showSeconds) { result += delimiter + seconds; }