aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-config-offline.c
diff options
context:
space:
mode:
authornobody <nobody@localhost>2002-05-16 00:19:25 +0800
committernobody <nobody@localhost>2002-05-16 00:19:25 +0800
commitacdd664f5104862243db8c3a0689d5ac4ede774e (patch)
tree9a14849dd3a40bd1667b88d689e2aa7d58d08bce /shell/e-shell-config-offline.c
parent74f4231f4eb650f0243ff39ab5a085b1df4f7697 (diff)
downloadgsoc2013-evolution-acdd664f5104862243db8c3a0689d5ac4ede774e.tar
gsoc2013-evolution-acdd664f5104862243db8c3a0689d5ac4ede774e.tar.gz
gsoc2013-evolution-acdd664f5104862243db8c3a0689d5ac4ede774e.tar.bz2
gsoc2013-evolution-acdd664f5104862243db8c3a0689d5ac4ede774e.tar.lz
gsoc2013-evolution-acdd664f5104862243db8c3a0689d5ac4ede774e.tar.xz
gsoc2013-evolution-acdd664f5104862243db8c3a0689d5ac4ede774e.tar.zst
gsoc2013-evolution-acdd664f5104862243db8c3a0689d5ac4ede774e.zip
This commit was manufactured by cvs2svn to create tagGNOME_UTILS_2_0_2
'GNOME_UTILS_2_0_2'. svn path=/tags/GNOME_UTILS_2_0_2/; revision=16870
Diffstat (limited to 'shell/e-shell-config-offline.c')
-rw-r--r--shell/e-shell-config-offline.c192
1 files changed, 0 insertions, 192 deletions
diff --git a/shell/e-shell-config-offline.c b/shell/e-shell-config-offline.c
deleted file mode 100644
index ec825b9445..0000000000
--- a/shell/e-shell-config-offline.c
+++ /dev/null
@@ -1,192 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* e-shell-config-offline.c - Configuration page for offline synchronization.
- *
- * Copyright (C) 2002 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Ettore Perazzoli <ettore@ximian.com>
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "e-shell-config-offline.h"
-
-#include "evolution-config-control.h"
-#include "e-storage-set-view.h"
-
-#include "Evolution.h"
-
-#include <bonobo-conf/Bonobo_Config.h>
-#include <bonobo/bonobo-exception.h>
-
-#include <gal/widgets/e-scroll-frame.h>
-#include <gtk/gtkwidget.h>
-
-
-struct _PageData {
- EShell *shell;
- GtkWidget *storage_set_view;
- EvolutionConfigControl *config_control;
-};
-typedef struct _PageData PageData;
-
-
-/* Callbacks. */
-
-static void
-config_control_destroy_callback (GtkObject *object,
- void *data)
-{
- PageData *page_data;
-
- page_data = (PageData *) data;
- gtk_widget_destroy (page_data->storage_set_view);
- g_free (page_data);
-}
-
-static void
-config_control_apply_callback (EvolutionConfigControl *config_control,
- void *data)
-{
- CORBA_Environment ev;
- CORBA_sequence_CORBA_string *paths;
- CORBA_any any;
- PageData *page_data;
- GList *checked_paths;
- GList *p;
- int i;
-
- page_data = (PageData *) data;
-
- checked_paths = e_storage_set_view_get_checkboxes_list (E_STORAGE_SET_VIEW (page_data->storage_set_view));
-
- paths = CORBA_sequence_CORBA_string__alloc ();
- paths->_maximum = paths->_length = g_list_length (checked_paths);
- paths->_buffer = CORBA_sequence_CORBA_string_allocbuf (paths->_maximum);
-
- for (p = checked_paths, i = 0; p != NULL; p = p->next, i ++)
- paths->_buffer[i] = CORBA_string_dup ((const char *) p->data);
-
- any._type = TC_CORBA_sequence_CORBA_string;
- any._value = paths;
-
- CORBA_exception_init (&ev);
-
- Bonobo_ConfigDatabase_setValue (e_shell_get_config_db (page_data->shell),
- "/OfflineFolders/paths", &any, &ev);
- if (BONOBO_EX (&ev))
- g_warning ("Cannot set /OfflineFolders/paths from ConfigDatabase -- %s", BONOBO_EX_ID (&ev));
-
- CORBA_exception_free (&ev);
-
- g_list_free (checked_paths);
-}
-
-static void
-storage_set_view_checkboxes_changed_callback (EStorageSetView *storage_set_view,
- void *data)
-{
- PageData *page_data;
-
- page_data = (PageData *) data;
- evolution_config_control_changed (page_data->config_control);
-}
-
-
-/* Construction. */
-
-static void
-init_storage_set_view_status_from_config (EStorageSetView *storage_set_view,
- EShell *shell)
-{
- Bonobo_ConfigDatabase config_db;
- CORBA_Environment ev;
- CORBA_any *any;
- CORBA_sequence_CORBA_string *sequence;
- GList *list;
- int i;
-
- config_db = e_shell_get_config_db (shell);
- g_assert (config_db != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
-
- any = Bonobo_ConfigDatabase_getValue (config_db, "/OfflineFolders/paths", "", &ev);
- if (BONOBO_EX (&ev)) {
- g_warning ("Cannot get /OfflineFolders/paths from ConfigDatabase -- %s", BONOBO_EX_ID (&ev));
- CORBA_exception_free (&ev);
- return;
- }
-
- if (! CORBA_TypeCode_equal (any->_type, TC_CORBA_sequence_CORBA_string, &ev) || BONOBO_EX (&ev)) {
- g_warning ("/OfflineFolders/Paths in ConfigDatabase is not the expected type");
- CORBA_free (any);
- CORBA_exception_free (&ev);
- return;
- }
-
- sequence = (CORBA_sequence_CORBA_string *) any->_value;
-
- list = NULL;
- for (i = 0; i < sequence->_length; i ++)
- list = g_list_prepend (list, sequence->_buffer[i]);
-
- e_storage_set_view_set_checkboxes_list (storage_set_view, list);
-
- g_list_free (list);
- CORBA_free (any);
-
- CORBA_exception_free (&ev);
-}
-
-BonoboObject *
-e_shell_config_offline_create_control (EShell *shell)
-{
- PageData *page_data;
- GtkWidget *scroll_frame;
-
- g_return_val_if_fail (E_IS_SHELL (shell), NULL);
-
- page_data = g_new (PageData, 1);
- page_data->shell = shell;
-
- page_data->storage_set_view = e_storage_set_new_view (e_shell_get_storage_set (shell), NULL);
- e_storage_set_view_set_show_checkboxes (E_STORAGE_SET_VIEW (page_data->storage_set_view), TRUE);
- gtk_widget_show (page_data->storage_set_view);
-
- init_storage_set_view_status_from_config (E_STORAGE_SET_VIEW (page_data->storage_set_view), shell);
- gtk_signal_connect (GTK_OBJECT (page_data->storage_set_view), "checkboxes_changed",
- GTK_SIGNAL_FUNC (storage_set_view_checkboxes_changed_callback), page_data);
-
- scroll_frame = e_scroll_frame_new (NULL, NULL);
- e_scroll_frame_set_shadow_type (E_SCROLL_FRAME (scroll_frame), GTK_SHADOW_IN);
- e_scroll_frame_set_policy (E_SCROLL_FRAME (scroll_frame),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_container_add (GTK_CONTAINER (scroll_frame), page_data->storage_set_view);
- gtk_widget_show (scroll_frame);
-
- page_data->config_control = evolution_config_control_new (scroll_frame);
-
- gtk_signal_connect (GTK_OBJECT (page_data->config_control), "destroy",
- GTK_SIGNAL_FUNC (config_control_destroy_callback), page_data);
- gtk_signal_connect (GTK_OBJECT (page_data->config_control), "apply",
- GTK_SIGNAL_FUNC (config_control_apply_callback), page_data);
-
- return BONOBO_OBJECT (page_data->config_control);
-}