From 8f424e7d96c823552f30cde2bd4471fedb42031e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 25 Feb 2015 23:23:49 +0100 Subject: [PATCH] util: Add createTimeLabel() On locales that support it, time formats should follow the 12-hour/24-hour preference, which implies that they should be updated when the setting changes. So add another utility method which creates a label for a specific time and keeps it in sync with the format setting. https://bugzilla.gnome.org/show_bug.cgi?id=745111 --- js/misc/util.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/js/misc/util.js b/js/misc/util.js index c938fdcbd..748c7b7d5 100644 --- a/js/misc/util.js +++ b/js/misc/util.js @@ -246,6 +246,20 @@ function formatTime(time, params) { return date.format(Shell.util_translate_time_string(format)); } +function createTimeLabel(date, params) { + if (_desktopSettings == null) + _desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' }); + + let label = new St.Label({ text: formatTime(date, params) }); + let id = _desktopSettings.connect('changed::clock-format', function() { + label.text = formatTime(date, params); + }); + label.connect('destroy', function() { + _desktopSettings.disconnect(id); + }); + return label; +} + // lowerBound: // @array: an array or array-like object, already sorted // according to @cmp