[gnome-desktop] wall-clock: respect new clock-show-weekday setting
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-desktop] wall-clock: respect new clock-show-weekday setting
- Date: Mon, 11 Sep 2017 18:55:56 +0000 (UTC)
commit 84f55f5bb496e348b850d448d54cebabcc916134
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Wed Sep 6 11:38:07 2017 -0700
wall-clock: respect new clock-show-weekday setting
https://bugzilla.gnome.org/show_bug.cgi?id=669778
configure.ac | 2 +-
libgnome-desktop/gnome-wall-clock.c | 4 +-
tests/wall-clock.c | 50 +++++++++++++++++++++++++++++++++++
3 files changed, 53 insertions(+), 3 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index dccc261..15cb437 100644
--- a/configure.ac
+++ b/configure.ac
@@ -107,7 +107,7 @@ GDK_PIXBUF_REQUIRED=2.36.5
GTK_REQUIRED=3.3.6
GLIB_REQUIRED=2.53.0
XRANDR_REQUIRED=1.3
-GSETTINGS_DESKTOP_SCHEMAS_REQUIRED=3.5.91
+GSETTINGS_DESKTOP_SCHEMAS_REQUIRED=3.27.0
XEXT_REQUIRED=1.1
AC_SUBST(GTK_REQUIRED)
diff --git a/libgnome-desktop/gnome-wall-clock.c b/libgnome-desktop/gnome-wall-clock.c
index be63057..64fb3ef 100644
--- a/libgnome-desktop/gnome-wall-clock.c
+++ b/libgnome-desktop/gnome-wall-clock.c
@@ -318,8 +318,8 @@ update_clock (gpointer data)
GDateTime *expiry;
clock_format = g_settings_get_enum (self->priv->desktop_settings, "clock-format");
- show_weekday = !self->priv->time_only;
- show_full_date = show_weekday && g_settings_get_boolean (self->priv->desktop_settings,
"clock-show-date");
+ show_weekday = !self->priv->time_only && g_settings_get_boolean (self->priv->desktop_settings,
"clock-show-weekday");
+ show_full_date = !self->priv->time_only && g_settings_get_boolean (self->priv->desktop_settings,
"clock-show-date");
show_seconds = g_settings_get_boolean (self->priv->desktop_settings, "clock-show-seconds");
now = g_date_time_new_now (self->priv->timezone);
diff --git a/tests/wall-clock.c b/tests/wall-clock.c
index bb04709..4c57d3e 100644
--- a/tests/wall-clock.c
+++ b/tests/wall-clock.c
@@ -145,6 +145,55 @@ test_notify_clock (void)
g_object_unref (settings);
}
+static void
+test_weekday_setting (void)
+{
+ GnomeWallClock *clock;
+ GSettings *settings;
+ const char *save_locale;
+ const char *str, *ptr, *s;
+
+ /* Save current locale */
+ save_locale = setlocale (LC_ALL, NULL);
+
+ setlocale (LC_ALL, "C");
+ settings = g_settings_new ("org.gnome.desktop.interface");
+
+ /* Set 24h format, so that the only alphabetical part will be the weekday */
+ g_settings_set_enum (settings, "clock-format", G_DESKTOP_CLOCK_FORMAT_24H);
+
+ g_settings_set_boolean (settings, "clock-show-weekday", FALSE);
+ clock = gnome_wall_clock_new ();
+ str = gnome_wall_clock_get_clock (clock);
+
+ /* Verify that no character is alphabetical */
+ for (s = str; *s != '\0'; s++)
+ g_assert (!g_ascii_isalpha (*s));
+
+ g_object_unref (clock);
+
+ g_settings_set_boolean (settings, "clock-show-weekday", TRUE);
+ clock = gnome_wall_clock_new ();
+ str = gnome_wall_clock_get_clock (clock);
+
+ /* Verify that every character before the first space is alphabetical */
+ ptr = strchr (str, ' ');
+ g_assert (ptr != NULL);
+
+ for (s = str; s != ptr; s++)
+ g_assert (g_ascii_isalpha (*s));
+
+ for (s = ptr; *s != '\0'; s++)
+ g_assert (!g_ascii_isalpha (*s));
+
+ g_object_unref (clock);
+
+ g_object_unref (settings);
+
+ /* Restore previous locale */
+ setlocale (LC_ALL, save_locale);
+}
+
int
main (int argc,
char *argv[])
@@ -156,6 +205,7 @@ main (int argc,
g_test_add_func ("/wall-clock/colon-vs-ratio", test_colon_vs_ratio);
g_test_add_func ("/wall-clock/24h-clock-format", test_clock_format_setting);
g_test_add_func ("/wall-clock/notify-clock", test_notify_clock);
+ g_test_add_func ("/wall-clock/weekday-setting", test_weekday_setting);
return g_test_run ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]