aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/component/addressbook-config.c
diff options
context:
space:
mode:
authorSivaiah Nallagatla <snallagatla@novell.com>2004-11-22 07:30:57 +0800
committerSivaiah Nallagatla <siva@src.gnome.org>2004-11-22 07:30:57 +0800
commite57530cbab1283f8d8fc98d88569da08ad9c41b1 (patch)
tree5b4a8e728f0fa9961a98ffc1e33ae6b3bc3850ed /addressbook/gui/component/addressbook-config.c
parentb4122c4ebc4c0acedb70e663f6221bd8a3818807 (diff)
downloadgsoc2013-evolution-e57530cbab1283f8d8fc98d88569da08ad9c41b1.tar
gsoc2013-evolution-e57530cbab1283f8d8fc98d88569da08ad9c41b1.tar.gz
gsoc2013-evolution-e57530cbab1283f8d8fc98d88569da08ad9c41b1.tar.bz2
gsoc2013-evolution-e57530cbab1283f8d8fc98d88569da08ad9c41b1.tar.lz
gsoc2013-evolution-e57530cbab1283f8d8fc98d88569da08ad9c41b1.tar.xz
gsoc2013-evolution-e57530cbab1283f8d8fc98d88569da08ad9c41b1.tar.zst
gsoc2013-evolution-e57530cbab1283f8d8fc98d88569da08ad9c41b1.zip
added message which gets prompted when user tries to access a book which
2004-11-21 Sivaiah Nallagatla <snallagatla@novell.com> * gui/widgets/eab-gui-util.c (eab_load_error_dialog) : added message which gets prompted when user tries to access a book which is not available in offline mode * gui/component/addressbook-config.c (eabc_general_offline) (offline_status_changed_cb) : added a new check box to properties page to mark a book for offline usage * gui/component/addressbook.c (load_source_cb) : do no try to authenticate in case of offline mode. (auth_required_cb) : new call back which gets called when backend sends notification for password to client svn path=/trunk/; revision=27952
Diffstat (limited to 'addressbook/gui/component/addressbook-config.c')
-rw-r--r--addressbook/gui/component/addressbook-config.c39
1 files changed, 38 insertions, 1 deletions
diff --git a/addressbook/gui/component/addressbook-config.c b/addressbook/gui/component/addressbook-config.c
index ddf44281fb..c675d9a272 100644
--- a/addressbook/gui/component/addressbook-config.c
+++ b/addressbook/gui/component/addressbook-config.c
@@ -29,6 +29,7 @@
#include <gtk/gtkspinbutton.h>
#include <gtk/gtkcelllayout.h>
#include <gtk/gtklabel.h>
+#include <gtk/gtk.h>
#include <libgnome/gnome-i18n.h>
#include <bonobo/bonobo-generic-factory.h>
@@ -541,6 +542,16 @@ 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", NULL);
+
+}
+
static GtkWidget *
eabc_general_name(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, void *data)
{
@@ -548,6 +559,7 @@ eabc_general_name(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, str
const char *uri;
GtkWidget *w;
GladeXML *gui;
+
if (old)
return old;
@@ -567,12 +579,35 @@ eabc_general_name(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, str
gtk_widget_set_sensitive (GTK_WIDGET(sdialog->display_name), FALSE);
}
}
-
+
g_object_unref(gui);
return w;
}
+
+static GtkWidget *
+eabc_general_offline(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, void *data)
+{
+ AddressbookSourceDialog *sdialog = data;
+ GtkCheckButton *offline_setting;
+ int row;
+ if (old)
+ return;
+ else {
+ row = ((GtkTable*)parent)->nrows;
+ offline_setting = gtk_check_button_new_with_label (N_("Sync conents locally for offline usage"));
+ gtk_widget_show (offline_setting);
+ gtk_container_add (parent, offline_setting);
+ g_signal_connect (offline_setting, "toggled", G_CALLBACK (offline_status_changed_cb), sdialog);
+
+ }
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (offline_setting), e_source_get_property (sdialog->source, "offline_sync") ? TRUE : FALSE);
+ gtk_widget_show (offline_setting);
+ return offline_setting;
+
+}
+
#ifdef HAVE_LDAP
static void
url_changed(AddressbookSourceDialog *sdialog)
@@ -617,6 +652,7 @@ ssl_optionmenu_changed_cb(GtkWidget *w, AddressbookSourceDialog *sdialog)
e_source_set_property (sdialog->source, "ssl", ldap_unparse_ssl (sdialog->ssl));
}
+
static GtkWidget *
eabc_general_host(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, void *data)
{
@@ -857,6 +893,7 @@ static EConfigItem eabc_items[] = {
{ E_CONFIG_PAGE, "00.general", N_("General") },
{ E_CONFIG_SECTION, "00.general/10.display", N_("Addressbook") },
{ E_CONFIG_ITEM, "00.general/10.display/10.name", "hbox122", eabc_general_name },
+ { E_CONFIG_ITEM, "00.general/10.display/20.offline", NULL, eabc_general_offline },
#ifdef HAVE_LDAP
{ E_CONFIG_SECTION, "00.general/20.server", N_("Server Information") },
{ E_CONFIG_ITEM, "00.general/20.server/00.host", "table31", eabc_general_host },