[evolution] I#338 - Add option to preset "Preserve my reminder"
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] I#338 - Add option to preset "Preserve my reminder"
- Date: Mon, 11 Mar 2019 10:59:07 +0000 (UTC)
commit baf519e1a7c7408fa4af039445089bf6f1b7a48f
Author: Milan Crha <mcrha redhat com>
Date: Mon Mar 11 11:59:51 2019 +0100
I#338 - Add option to preset "Preserve my reminder"
Closes https://gitlab.gnome.org/GNOME/evolution/issues/338
.../org.gnome.evolution.plugin.itip.gschema.xml.in | 7 +++++-
src/modules/calendar/e-calendar-preferences.c | 29 ++++++++--------------
src/modules/itip-formatter/itip-view.c | 11 ++++++++
3 files changed, 28 insertions(+), 19 deletions(-)
---
diff --git a/data/org.gnome.evolution.plugin.itip.gschema.xml.in
b/data/org.gnome.evolution.plugin.itip.gschema.xml.in
index af7513a5e3..6683c7722e 100644
--- a/data/org.gnome.evolution.plugin.itip.gschema.xml.in
+++ b/data/org.gnome.evolution.plugin.itip.gschema.xml.in
@@ -1,9 +1,14 @@
<schemalist>
<schema gettext-domain="evolution" id="org.gnome.evolution.plugin.itip"
path="/org/gnome/evolution/plugin/itip/">
- <key name="delete-processed" type="b">
+ <key name="delete-processed" type="b">
<default>false</default>
<_summary>Delete processed</_summary>
<_description>Whether to delete processed iTip objects</_description>
</key>
+ <key name="preserve-reminder" type="b">
+ <default>true</default>
+ <_summary>Preserve exiting reminder by default</_summary>
+ <_description>Whether to preset option to preserve existing reminder by default</_description>
+ </key>
</schema>
</schemalist>
diff --git a/src/modules/calendar/e-calendar-preferences.c b/src/modules/calendar/e-calendar-preferences.c
index 622a9f0344..1d6c64d089 100644
--- a/src/modules/calendar/e-calendar-preferences.c
+++ b/src/modules/calendar/e-calendar-preferences.c
@@ -33,8 +33,6 @@
#include "calendar/gui/calendar-config.h"
#include "shell/e-shell-utils.h"
-#define ITIP_FORMATTER_CONF_KEY_DELETE "delete-processed"
-
struct _ECalendarPreferencesPrivate {
GtkBuilder *builder;
ESourceRegistry *registry;
@@ -593,18 +591,6 @@ eccp_free (EConfig *ec,
g_slist_free (items);
}
-static void
-itip_formatter_delete_toggled_cb (GtkWidget *widget)
-{
- GSettings *settings;
- gboolean active;
-
- settings = e_util_ref_settings ("org.gnome.evolution.plugin.itip");
- active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
- g_settings_set_boolean (settings, ITIP_FORMATTER_CONF_KEY_DELETE, active);
- g_object_unref (settings);
-}
-
static void
calendar_preferences_add_itip_formatter_page (EShell *shell,
GtkWidget *notebook)
@@ -658,12 +644,19 @@ calendar_preferences_add_itip_formatter_page (EShell *shell,
settings = e_util_ref_settings ("org.gnome.evolution.plugin.itip");
check = gtk_check_button_new_with_mnemonic (_("_Delete message after acting"));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), g_settings_get_boolean (settings,
ITIP_FORMATTER_CONF_KEY_DELETE));
- g_signal_connect (
- check, "toggled",
- G_CALLBACK (itip_formatter_delete_toggled_cb), NULL);
gtk_box_pack_start (GTK_BOX (inner_vbox), check, FALSE, FALSE, 0);
+ g_settings_bind (settings, "delete-processed",
+ check, "active",
+ G_SETTINGS_BIND_DEFAULT);
+
+ check = gtk_check_button_new_with_mnemonic (_("_Preserve exiting reminder by default"));
+ gtk_box_pack_start (GTK_BOX (inner_vbox), check, FALSE, FALSE, 0);
+
+ g_settings_bind (settings, "preserve-reminder",
+ check, "active",
+ G_SETTINGS_BIND_DEFAULT);
+
g_object_unref (settings);
/* "Conflict searching" */
diff --git a/src/modules/itip-formatter/itip-view.c b/src/modules/itip-formatter/itip-view.c
index 7849b8d9e9..578e124876 100644
--- a/src/modules/itip-formatter/itip-view.c
+++ b/src/modules/itip-formatter/itip-view.c
@@ -3090,6 +3090,17 @@ itip_view_set_show_keep_alarm_check (ItipView *view,
g_return_if_fail (ITIP_IS_VIEW (view));
show_checkbox (view, CHECKBOX_KEEP_ALARM, show, TRUE);
+
+ if (show) {
+ GSettings *settings;
+
+ settings = e_util_ref_settings ("org.gnome.evolution.plugin.itip");
+
+ if (g_settings_get_boolean (settings, "preserve-reminder"))
+ input_set_checked (view, CHECKBOX_KEEP_ALARM, TRUE);
+
+ g_object_unref (settings);
+ }
}
gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]