I#601 - Calendar: Force 24-hour format early after start

Closes https://gitlab.gnome.org/GNOME/evolution/issues/601
This commit is contained in:
Milan Crha
2019-09-02 10:01:39 +02:00
parent 7c8a43923a
commit e6d9f20851
2 changed files with 16 additions and 6 deletions

View File

@ -23,6 +23,7 @@
#include <libedataserver/libedataserver.h>
#include "calendar/gui/calendar-config.h"
#include <calendar/gui/comp-util.h>
#include <calendar/gui/e-comp-editor.h>
@ -239,6 +240,18 @@ e_cal_base_shell_backend_class_init (ECalBaseShellBackendClass *class)
/* Register relevant ESource extensions. */
g_type_ensure (E_TYPE_SOURCE_CALENDAR);
/* Force 24 hour format for locales which don't support 12 hour format */
if (!calendar_config_locale_supports_12_hour_format ()) {
GSettings *settings;
settings = e_util_ref_settings ("org.gnome.evolution.calendar");
if (!g_settings_get_boolean (settings, "use-24hour-format"))
g_settings_set_boolean (settings, "use-24hour-format", TRUE);
g_clear_object (&settings);
}
}
static void

View File

@ -717,10 +717,6 @@ calendar_preferences_construct (ECalendarPreferences *prefs,
locale_supports_12_hour_format =
calendar_config_locale_supports_12_hour_format ();
/* Force 24 hour format for locales which don't support 12 hour format */
if (!locale_supports_12_hour_format)
g_settings_set_boolean (settings, "use-24hour-format", TRUE);
/* Make sure our custom widget classes are registered with
* GType before we load the GtkBuilder definition file. */
g_type_ensure (E_TYPE_DATE_EDIT);
@ -835,8 +831,10 @@ calendar_preferences_construct (ECalendarPreferences *prefs,
widget, "use-24-hour-format",
G_SETTINGS_BIND_GET);
widget = e_builder_get_widget (prefs->priv->builder, "use_12_hour");
widget = e_builder_get_widget (prefs->priv->builder, "hbox_time_format");
gtk_widget_set_sensitive (widget, locale_supports_12_hour_format);
widget = e_builder_get_widget (prefs->priv->builder, "use_12_hour");
g_settings_bind (
settings, "use-24hour-format",
widget, "active",
@ -844,7 +842,6 @@ calendar_preferences_construct (ECalendarPreferences *prefs,
G_SETTINGS_BIND_INVERT_BOOLEAN);
widget = e_builder_get_widget (prefs->priv->builder, "use_24_hour");
gtk_widget_set_sensitive (widget, locale_supports_12_hour_format);
g_settings_bind (
settings, "use-24hour-format",
widget, "active",