From a64c84395f09d108524960c15fac33786eebeb99 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Fri, 20 Apr 2012 10:51:32 -0400 Subject: [PATCH] Mirror Evolution calendar settings into our own schema Right now, we are hard-depending on the presence of Evolution by using its settings schemas. This is likely to be unpopular, and also causes instability if someone happens not to have Evolution installed, so install a schema that has the same data path as the Evolution schema, but a different name and install that for the keys we need. To avoid a string-freeze break, we rely on the translations in Evolution - if Evolution isn't installed, the key descriptions will be untranslated in dconf-editor. https://bugzilla.gnome.org/show_bug.cgi?id=674424 --- data/Makefile.am | 2 +- ...me.shell.evolution.calendar.gschema.xml.in | 21 +++++++++++++++++++ po/POTFILES.skip | 1 + src/calendar-server/calendar-sources.c | 5 ++++- 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 data/org.gnome.shell.evolution.calendar.gschema.xml.in diff --git a/data/Makefile.am b/data/Makefile.am index 4803081e8..05caf2719 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -53,7 +53,7 @@ dist_theme_DATA = \ theme/ws-switch-arrow-up.svg \ theme/ws-switch-arrow-down.svg -gsettings_SCHEMAS = org.gnome.shell.gschema.xml +gsettings_SCHEMAS = org.gnome.shell.gschema.xml org.gnome.shell.evolution.calendar.gschema.xml @INTLTOOL_XML_NOMERGE_RULE@ @GSETTINGS_RULES@ diff --git a/data/org.gnome.shell.evolution.calendar.gschema.xml.in b/data/org.gnome.shell.evolution.calendar.gschema.xml.in new file mode 100644 index 000000000..f0ce82b34 --- /dev/null +++ b/data/org.gnome.shell.evolution.calendar.gschema.xml.in @@ -0,0 +1,21 @@ + + + + + + [] + List of selected calendars + List of calendars to load + + + [] + List of selected task lists + List of task lists to load + + + diff --git a/po/POTFILES.skip b/po/POTFILES.skip index e032bdc30..fe31eda49 100644 --- a/po/POTFILES.skip +++ b/po/POTFILES.skip @@ -1,2 +1,3 @@ data/gnome-shell.desktop.in data/gnome-shell-extension-prefs.desktop.in +data/org.gnome.shell.evolution.calendar.gschema.xml.in diff --git a/src/calendar-server/calendar-sources.c b/src/calendar-server/calendar-sources.c index a1eb80fd5..59fa044f1 100644 --- a/src/calendar-server/calendar-sources.c +++ b/src/calendar-server/calendar-sources.c @@ -52,7 +52,10 @@ #define CALENDAR_SOURCES_APPOINTMENT_SOURCES_KEY CALENDAR_SOURCES_EVO_DIR "/calendar/sources" #define CALENDAR_SOURCES_TASK_SOURCES_KEY CALENDAR_SOURCES_EVO_DIR "/tasks/sources" -#define CALENDAR_SELECTED_SOURCES_SCHEMA "org.gnome.evolution.calendar" +/* org.gnome.shell.evolution.calendar has the same data behind it + * as org.gnome.evolution.calendar, but is a small schema we install + * ourselves */ +#define CALENDAR_SELECTED_SOURCES_SCHEMA "org.gnome.shell.evolution.calendar" #define CALENDAR_SOURCES_SELECTED_APPOINTMENT_SOURCES_KEY "selected-calendars" #define CALENDAR_SOURCES_SELECTED_TASK_SOURCES_KEY "selected-tasks"