[evolution] Bug #329100 - Choosing adress book for birthdays
- From: Milan Crha <mcrha src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [evolution] Bug #329100 - Choosing adress book for birthdays
- Date: Tue, 13 Oct 2009 15:27:50 +0000 (UTC)
commit 2efaad9c77b988b9d64256ff65976b2b5fe255cb
Author: Milan Crha <mcrha redhat com>
Date: Tue Oct 13 17:27:23 2009 +0200
Bug #329100 - Choosing adress book for birthdays
modules/addressbook/addressbook-config.c | 54 +++++++++++++++++++++++------
1 files changed, 43 insertions(+), 11 deletions(-)
---
diff --git a/modules/addressbook/addressbook-config.c b/modules/addressbook/addressbook-config.c
index 901ee43..1a9f4a4 100644
--- a/modules/addressbook/addressbook-config.c
+++ b/modules/addressbook/addressbook-config.c
@@ -579,16 +579,6 @@ name_changed_cb(GtkWidget *w, AddressbookSourceDialog *sdialog)
e_source_set_name (sdialog->source, gtk_entry_get_text (GTK_ENTRY (sdialog->display_name)));
}
-static void
-offline_status_changed_cb (GtkWidget *widget, AddressbookSourceDialog *sdialog)
-{
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
- e_source_set_property (sdialog->source, "offline_sync", "1");
- else
- e_source_set_property (sdialog->source, "offline_sync", "0");
-
-}
-
static GtkWidget *
eabc_general_name(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
{
@@ -627,6 +617,47 @@ eabc_general_name(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *
return w;
}
+/* TODO: This should be moved to plugins if B&A calendar setup is moved there */
+static void
+use_in_cal_changed_cb (GtkWidget *widget, AddressbookSourceDialog *sdialog)
+{
+ e_source_set_property (sdialog->source, "use-in-contacts-calendar", gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)) ? "1" : "0");
+}
+
+static GtkWidget *
+eabc_general_use_in_cal (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
+{
+ AddressbookSourceDialog *sdialog = data;
+ GtkWidget *use_in_cal_setting;
+ const gchar *use_in_cal, *base_uri = NULL;
+ ESourceGroup *group;
+
+ if (old)
+ return old;
+
+ use_in_cal_setting = gtk_check_button_new_with_mnemonic (_("Use in _Birthday & Anniversaries calendar"));
+ gtk_widget_show (use_in_cal_setting);
+ gtk_container_add (GTK_CONTAINER (parent), use_in_cal_setting);
+
+ use_in_cal = e_source_get_property (sdialog->source, "use-in-contacts-calendar");
+ group = e_source_peek_group (sdialog->source);
+
+ if (group)
+ base_uri = e_source_group_peek_base_uri (group);
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_in_cal_setting), (use_in_cal && g_str_equal (use_in_cal, "1")) || (!use_in_cal && base_uri && g_str_has_prefix (base_uri, "file://")));
+
+ g_signal_connect (use_in_cal_setting, "toggled", G_CALLBACK (use_in_cal_changed_cb), sdialog);
+
+ return use_in_cal_setting;
+}
+
+static void
+offline_status_changed_cb (GtkWidget *widget, AddressbookSourceDialog *sdialog)
+{
+ e_source_set_property (sdialog->source, "offline_sync", gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)) ? "1" : "0");
+}
+
static GtkWidget *
eabc_general_offline(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
{
@@ -1015,7 +1046,8 @@ static EConfigItem eabc_items[] = {
{ E_CONFIG_PAGE, (gchar *) "00.general", (gchar *) N_("General") },
{ E_CONFIG_SECTION, (gchar *) "00.general/10.display", (gchar *) N_("Address Book") },
{ E_CONFIG_ITEM, (gchar *) "00.general/10.display/10.name", (gchar *) "hbox122", eabc_general_name },
- { E_CONFIG_ITEM, (gchar *) "00.general/10.display/20.offline", NULL, eabc_general_offline },
+ { E_CONFIG_ITEM, (gchar *) "00.general/10.display/20.calendar", NULL, eabc_general_use_in_cal },
+ { E_CONFIG_ITEM, (gchar *) "00.general/10.display/30.offline", NULL, eabc_general_offline },
#ifdef HAVE_LDAP
{ E_CONFIG_SECTION, (gchar *) "00.general/20.server", (gchar *) N_("Server Information") },
{ E_CONFIG_ITEM, (gchar *) "00.general/20.server/00.host", (gchar *) "table31", eabc_general_host },
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]