diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2002-11-04 00:43:18 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2002-11-04 00:43:18 +0800 |
commit | 8691f8584f1c892c93db43d0a2633a5746b28258 (patch) | |
tree | 9696e644f35c8788f175cd957f94845598a267c8 /shell/e-shell-view.c | |
parent | 0ff7c1f97322f3e0f2c4c1bca6c9bef7cf9453c6 (diff) | |
download | gsoc2013-evolution-8691f8584f1c892c93db43d0a2633a5746b28258.tar.gz gsoc2013-evolution-8691f8584f1c892c93db43d0a2633a5746b28258.tar.zst gsoc2013-evolution-8691f8584f1c892c93db43d0a2633a5746b28258.zip |
Renamed from GNOME_Evolution_Shell.oaf.in.
* GNOME_Evolution_Shell.server.in: Renamed from
GNOME_Evolution_Shell.oaf.in.
* Makefile.am: Port from OAF to bonobo-activation.
(INCLUDES): Define SYSCONFDIR, DATADIR, LIBDIR.
* main.c (main): Use gnome_program_init().
* e-corba-storage-registry.c (e_corba_storage_registry_new):
g_object_new(), not gtk_type_new().
(impl_finalize): New, ported over from destroy.
(destroy): Removed.
(class_init): Install finalize handler, not destroy handler, since
we are not a GtkObject anymore.
* e-corba-storage.c (e_corba_storage_new): g_object_new(), not
gtk_type_new().
* e-shell.c (class_init): Override finalize, not destroy.
(impl_finalize): Finalize implementation, basically the old
destroy renamed.
(e_shell_new): g_object_new(), not gtk_type_new().
(class_init): Use e_shell_marshal_NONE__INT for
line_status_changed instead of using an ENUM.
(e_shell_construct): Use g_signal_connect_object() instead of
gtk_signal_connect_while_alive().
* e-setup.c (e_setup): Do not unref local_folder if NULL.
* e-folder.c (init): Make not floating.
(e_folder_construct): No need to make it floating here anymore.
* e-shell.c (impl_Shell_selectUserFolder): For now don't set
dialog parent from xid.
* main.c (no_views_left_cb): Add missing GTK_SIGNAL_FUNC() cast.
(new_view_created_callback): Likewise.
(warning_dialog_clicked_callback): Update to use the
EConfigListener from the shell instead of bonobo-conf.
(show_development_warning): Likewise.
(upgrade_from_1_0_if_needed): BONOBO_EX_ID -> BONOBO_EX_REPOID.
(idle_cb): Use bonobo-activation and BONOBO_EX_REPOID().
(main): Cleaned up the various things that are unneeded in GNOME
2.
(upgrade_from_1_0_if_needed): Use EConfigListener.
* evolution-storage-set-view.h, evolution-storage-set-view.c:
BonoboXObjectified.
* e-storage.c (class_init): GLIB2-ified and made to use
e-shell-marshal.h.
(ES_CLASS): Use GTK_OBJECT_GET_CLASS().
(e_storage_new_folder): Added missing GTK_SIGNAL_FUNC() prototype.
* e-storage-set.c (class_init): GLIB2-ified and made to use
e-shell-marshal.h.
* e-storage-set-view.c (popup_folder_menu): For now, do not add
the pop-up since we lack bonobo_ui_container_get_win() and I am
not sure how to work around it.
(popup_folder_menu): Pass self as the for_widget arg to
gnome_popup_menu_do_popup_modal().
(class_init): GLIB2-ified, and got to use e-shell-marshal.h.
(marshal_NONE__GDKDRAGCONTEXT_STRING_STRING_STRING): Removed.
(impl_tree_drag_data_get): Don't set the selection for now -- we
have to fix the CORBA target stuff to match GTK 2.
(e_storage_set_view_construct): Pass NULL as the opt_ev arg to
bonobo_ui_component_set_container().
* e-splash.c: #include <libgnomecanvas/gnome-canvas-pixbuf.h>
instead of <gdk-pixbuf/gnome-canvas-pixbuf.h>.
(e_splash_new): Pass NULL as the error arg to
gdk_pixbuf_new_from_file().
* e-shortcuts.c (class_init): GLIB2-ified. Also use the
e-shell-marshal marshallers.
(e_shortcuts_new_view): Add missing GTK_SIGNAL_FUNC() cast.
* e-shortcuts-view.c: Use GTK_STOCK_* stuff instead of
GNOME_STOCK_* stuff.
(pop_up_right_click_menu_for_group): Pass self as the for_widget
arg to gnome_popup_menu_do_popup_modal().
(pop_up_right_click_menu_for_shortcut): Likewise.
(class_init): GLIB2-ified.
* e-shell.c: Do not #include <gal/util/e-unicode-i18n.h> or
#include <libgnome/gnome-defs.h>.
(set_interactive): Use BONOBO_EX_REPOID().
(setup_local_storage): Use _() not U_().
(destroy): Use gtk_widget_destroy() instead of
gtk_object_destroy() on priv->settings_dialog.
(class_init): GLIB2-ized.
(init): Initialize config_listener member.
(get_icon_path_for_component_info): Port to bonobo-activation from
OAF.
(setup_components): Likewise.
(destroy): Likewise.
(e_shell_construct): Use e_setup_check_config(), not
e_setup_check_db (). Use the e_config_listener instead of
bonobo-conf.
(save_settings_for_views): Likewise.
(save_misc_settings): Likewise.
(e_shell_restore_from_settings): Likewise.
(parse_default_uri): Likewise.
(e_shell_component_maybe_crashed): Pass NULL for opt_ev arg to
bonobo_unkown_ping()
(e_shell_component_maybe_crashed): Use
bonobo_engine_deregister_dead_components() instead of
bonobo_window_deregister_component_by_ref() which is no more.
(e_shell_send_receive): BONOBO_EX_REPOID() instead of
BONOBO_EX_ID().
(e_shell_get_config_listener): Return the config_listener.
* e-shell-view.c (find_inbox_in_storage): Use _() instead of U_().
(load_images): Pass NULL as the error arg to
gdk_pixbuf_new_from_file().
(load_images): Likewise.
(find_inbox_in_storage): Work around the lack of
g_utf8_strcasecmp() in glib-2.0.
(class_init): GLIB2-ified. Also, use the marshallers in
e-shell-marshal.h.
(pop_up_folder_bar): Use gtk_window_move()/gtk_widget_show()
instead gtk_widget_popup().
(unmerge_on_error): Work around the death of
bonobo_ui_component_get_win() and
bonobo_window_deregister_component_by_ref().
(e_shell_view_construct): Pass NULL as the uic arg to
bonobo_window_construct(). Add missing GTK_SIGNAL_FUNC() cast.
Match the new BonoboWindow behavior wrt the UIContainer and the
new opt_ev args.
(display_uri): Use bonobo_ui_engine_freeze() and
bonobo_ui_engine_thaw() since bonobo_window_freeze() and
bonobo_window_thaw() got axed [sigh].
(e_shell_view_save_settings): Use EConfigListener.
(e_shell_view_load_settings): Likewise.
(get_view_for_uri): Use bonobo_widget_new_control_from_objref()
instead of e_bonobo_widget_new_control_from_objref().
* e-shell-view-menu.c (command_help_faq): Pass NULL for the error
arg to gnome_url_show().
(command_about_box): Use GtkDialog instead of a GtkWindow of a
type GTK_WINDOW_DIALOG [which does not exist anymore].
(command_xml_dump): Removed.
(menu_do_misc): Do not add the corresponding verb.
* e-shell-user-creatable-items-handler.c (execute_verb): Use
BONOBO_EX_REPOID().
* e-shell-startup-wizard.c: Remove id member from SWData. Replace
member db with config_listener.
(e_shell_startup_wizard_create): Initialize config_listener.
(make_mail_dialog_pages): Do not set the listener id here.
(druid_event_notify_cb): Pass FALSE as the help_sensitive arg to
gnome_druid_set_buttons_sensitive().
(e_shell_startup_wizard_create): Likewise.
(make_mail_dialog_pages): Use bonobo-activation instead of OAF.
(get_intelligent_importers): Likewise.
(prepare_importer_page): Likewise.
(start_importers): Do nothing here for now.
(finish_func): Constify local variable displayname.
(finish_func): Updated to use the config_listener instead of the
bono-conf db.
(prepare_importer_page): Do not actually run the importer yet.
(e_shell_startup_wizard_create): Pass NULL as the domain arg to
glade_xml_new(). Use the config_listener.
* e-shell-shared-folder-picker-dialog.c (user_clicked):
BONOBO_EX_REPOID() instead of BONOBO_EX_ID().
(setup_name_selector): Likewise.
(setup_name_selector): Use bonobo-activation.
(show_dialog): Pass NULL as the domain arg to glade_xml_new().
(setup_name_selector): Add a missing GTK_SIGNAL_FUNC() cast.
* e-shell-settings-dialog.c: #include
<bonobo-activation/bonobo-activation.h>. Use
Bonobo_ActivationProperty instead of OAF_Property.
(set_dialog_size): Use gtk_style_get_font() to get the font from
the widget->style.
(load_pages): Converted to use bonobo-activation instead of OAF.
Pass NULL as the error arg to gdk_pixbuf_new_from_file().
* e-shell-offline-sync.c (sync_folder): BONOBO_EX_REPOID(), not
BONOBO_EX_ID().
(e_shell_offline_sync_all_folders): For now, avoid doing anything
[see changes to e-shell-config-offline.c below].
(setup_progress_listener): #if 0 for now.
(setup_dialog): Likewise.
(sync_folder): Likewise.
(cleanup): Likewise.
(progress_listener_servant_free): Likewise.
(progress_listener_servant_new): Likewise.
(impl_SyncFolderProgressListener_updateProgress): Likewise.
(impl_SyncFolderProgressListener_reportSuccess): Likewise.
(impl_SyncFolderProgressListener_reportFailure): Likewise.
(progress_dialog_close_callback): Likewise.
(progress_dialog_clicked_callback): Likewise.
* e-shell-offline-handler.c (prepare_for_offline): Use
BONOBO_EX_REPOID().
(pop_up_confirmation_dialog): Pass NULL as the domain arg to
glade_xml_new().
(class_init): GLIB2-ified.
* Makefile.am: Do not compile e-shell-importer.c,
e-shell-importer.h for now.
* e-shell-folder-title-bar.c (get_max_clipped_label_width): Use
gtk_style_get_font() to retrieve the font.
(class_init): GLIB2-ified.
(e_shell_folder_title_bar_construct): Get {x,y}thickness from
widget->style, not from widget->style->klass.
* e-shell-folder-selection-dialog.c: #include <string.h>,
<gtk/gtklabel.h> and <gtk/gtksignal.h>.
(class_init): GLIB2-ified.
* e-shell-folder-creation-dialog.c: No <libgnome/gnome-defs.h>,
add some GTK includes.
(e_shell_show_folder_creation_dialog): Pass NULL as the domain arg
to glade_xml_new(). Added missing GTK_SIGNAL_FUNC() cast.
* e-shell-folder-commands.c: Do not #include
<libgnomeui/gnome-stock.h> and #include
<bonobo-conf/Bonobo_Config.h>.
* e-shell-config-default-folders.c: Replace member db in
EvolutionDefaultFolderConfig with config_listener.
(e_shell_config_default_folders_create_widget): Init here.
(config_control_destroy_cb): Unref here.
(config_control_apply_cb): Use EConfigListener instead of
BonoboConf.
(setup_folder_selector): Likewise.
(e_shell_config_default_folders_create_widget): Pass NULL as the
domain arg to glade_xml_new().
* e-shell-config-offline.c (config_control_apply_callback): For
now, do not change the configuration. [Needs to be ported to
EConfigListener or something, but we were storing a sequence using
typecodes here and there is no trivial way to do that right now.]
(init_storage_set_view_status_from_config): Likewise, do not
retrieve the configuration here.
svn path=/trunk/; revision=18510
Diffstat (limited to 'shell/e-shell-view.c')
-rw-r--r-- | shell/e-shell-view.c | 145 |
1 files changed, 81 insertions, 64 deletions
diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c index 1ba9eb466f..671d166249 100644 --- a/shell/e-shell-view.c +++ b/shell/e-shell-view.c @@ -31,6 +31,8 @@ #include "evolution-shell-view.h" +#include "e-shell-marshal.h" + #include "e-gray-bar.h" #include "e-history.h" #include "e-icon-factory.h" @@ -48,23 +50,29 @@ #include "widgets/misc/e-clipped-label.h" #include "widgets/misc/e-bonobo-widget.h" +#include <gtk/gtkwidget.h> + #include <sys/stat.h> #include <sys/types.h> #include <fcntl.h> #include <ctype.h> #include <glib.h> + #include <libgnome/libgnome.h> #include <libgnomeui/gnome-window.h> #include <libgnomeui/gnome-window-icon.h> #include <libgnomeui/gnome-app.h> + #include <bonobo/bonobo-socket.h> #include <bonobo/bonobo-ui-util.h> +#include <bonobo/bonobo-ui-container.h> +#include <bonobo/bonobo-ui-engine.h> #include <bonobo/bonobo-widget.h> +#include <bonobo/bonobo-window.h> #include <gal/e-paned/e-hpaned.h> #include <gal/util/e-util.h> -#include <gal/util/e-unicode-i18n.h> #include <gal/widgets/e-gui-utils.h> #include <gal/widgets/e-unicode.h> #include <gal/widgets/e-scroll-frame.h> @@ -235,7 +243,7 @@ load_images (void) { GdkPixbuf *pixbuf; - pixbuf = gdk_pixbuf_new_from_file (EVOLUTION_IMAGES "/offline.png"); + pixbuf = gdk_pixbuf_new_from_file (EVOLUTION_IMAGES "/offline.png", NULL); if (pixbuf == NULL) { g_warning ("Cannot load `%s'", EVOLUTION_IMAGES "/offline.png"); } else { @@ -243,7 +251,7 @@ load_images (void) gdk_pixbuf_unref (pixbuf); } - pixbuf = gdk_pixbuf_new_from_file (EVOLUTION_IMAGES "/online.png"); + pixbuf = gdk_pixbuf_new_from_file (EVOLUTION_IMAGES "/online.png", NULL); if (pixbuf == NULL) { g_warning ("Cannot load `%s'", EVOLUTION_IMAGES "/online.png"); } else { @@ -394,17 +402,29 @@ find_inbox_in_storage (EShellView *shell_view, subfolder_paths = e_storage_get_subfolder_paths (storage, "/"); for (p = subfolder_paths; p != NULL; p = p->next) { const char *path; + char *casefold_i18n_inbox_name; + char *casefold_path; path = (const char *) p->data; - if (g_utf8_strcasecmp (path, "/inbox") == 0 - || g_utf8_strcasecmp (path + 1, U_("Inbox")) == 0) { + + casefold_i18n_inbox_name = g_utf8_casefold (_("Inbox"), -1); + casefold_path = g_utf8_casefold (path + 1, -1); + + if (g_utf8_collate (casefold_path, "/inbox") == 0 + || g_utf8_collate (casefold_path + 1, _("Inbox")) == 0) { char *return_path; return_path = g_strconcat ("/", storage_name, "/", path, NULL); e_free_string_list (subfolder_paths); + + g_free (casefold_i18n_inbox_name); + g_free (casefold_path); return return_path; } + + g_free (casefold_i18n_inbox_name); + g_free (casefold_path); } e_free_string_list (subfolder_paths); @@ -739,7 +759,8 @@ pop_up_folder_bar (EShellView *shell_view) gtk_widget_show (priv->storage_set_view_box); - gtk_widget_popup (priv->folder_bar_popup, x, y); + gtk_window_move (GTK_WINDOW (priv->folder_bar_popup), x, y); + gtk_widget_show (priv->folder_bar_popup); /* Disable DnD or "interesting" things will happen. */ e_storage_set_view_set_allow_dnd (E_STORAGE_SET_VIEW (priv->storage_set_view), FALSE); @@ -1390,35 +1411,33 @@ class_init (EShellViewClass *klass) signals[SHORTCUT_BAR_VISIBILITY_CHANGED] = gtk_signal_new ("shortcut_bar_visibility_changed", GTK_RUN_FIRST, - object_class->type, + GTK_CLASS_TYPE (object_class), GTK_SIGNAL_OFFSET (EShellViewClass, shortcut_bar_visibility_changed), - gtk_marshal_NONE__INT, + e_shell_marshal_NONE__INT, GTK_TYPE_NONE, 1, GTK_TYPE_INT); signals[FOLDER_BAR_VISIBILITY_CHANGED] = gtk_signal_new ("folder_bar_visibility_changed", GTK_RUN_FIRST, - object_class->type, + GTK_CLASS_TYPE (object_class), GTK_SIGNAL_OFFSET (EShellViewClass, folder_bar_visibility_changed), - gtk_marshal_NONE__INT, + e_shell_marshal_NONE__INT, GTK_TYPE_NONE, 1, GTK_TYPE_INT); signals[VIEW_CHANGED] = gtk_signal_new ("view_changed", GTK_RUN_FIRST, - object_class->type, + GTK_CLASS_TYPE (object_class), GTK_SIGNAL_OFFSET (EShellViewClass, view_changed), - e_marshal_NONE__POINTER_POINTER_POINTER_POINTER, + e_shell_marshal_NONE__POINTER_POINTER_POINTER_POINTER, GTK_TYPE_NONE, 4, GTK_TYPE_STRING, GTK_TYPE_STRING, GTK_TYPE_STRING, GTK_TYPE_STRING); - gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL); - load_images (); } @@ -1561,12 +1580,18 @@ unmerge_on_error (BonoboObject *object, CORBA_Object cobject, CORBA_Environment *ev) { - BonoboWindow *win; +#if 0 + BonoboWindow *window; + BonoboUIEngine *ui_engine; - win = bonobo_ui_container_get_win (BONOBO_UI_CONTAINER (object)); + /* FIXME changes.txt says we should be able to do this but bonobo_ui_engine_get_view() + is marked as internal in bonoob-ui-engine.h! */ + ui_engine = bonobo_ui_container_get_engine (BONOBO_UI_CONTAINER (object)); + window = BONOBO_WINDOW (bonobo_ui_engine_get_view (ui_engine)); - if (win) - bonobo_window_deregister_component_by_ref (win, cobject); + if (window != NULL) + bonobo_ui_engine_deregister_component_by_ref (ui_engine, cobject); +#endif } static void @@ -1635,7 +1660,9 @@ e_shell_view_construct (EShellView *shell_view, priv = shell_view->priv; - view = E_SHELL_VIEW (bonobo_window_construct (BONOBO_WINDOW (shell_view), "evolution", "Ximian Evolution")); + view = E_SHELL_VIEW (bonobo_window_construct (BONOBO_WINDOW (shell_view), + bonobo_ui_container_new (), + "evolution", "Ximian Evolution")); if (!view) { gtk_object_unref (GTK_OBJECT (shell_view)); @@ -1649,21 +1676,21 @@ e_shell_view_construct (EShellView *shell_view, GTK_SIGNAL_FUNC (delete_event_cb), NULL); gtk_signal_connect_while_alive (GTK_OBJECT (e_shell_get_storage_set (priv->shell)), - "updated_folder", updated_folder_cb, shell_view, - GTK_OBJECT (shell_view)); + "updated_folder", GTK_SIGNAL_FUNC (updated_folder_cb), + shell_view, GTK_OBJECT (shell_view)); - priv->ui_container = bonobo_ui_container_new (); - bonobo_ui_container_set_win (priv->ui_container, BONOBO_WINDOW (shell_view)); + priv->ui_container = bonobo_window_get_ui_container (BONOBO_WINDOW (view)); gtk_signal_connect (GTK_OBJECT (priv->ui_container), "system_exception", GTK_SIGNAL_FUNC (unmerge_on_error), NULL); priv->ui_component = bonobo_ui_component_new ("evolution"); bonobo_ui_component_set_container (priv->ui_component, - bonobo_object_corba_objref (BONOBO_OBJECT (priv->ui_container))); + bonobo_object_corba_objref (BONOBO_OBJECT (priv->ui_container)), + NULL); bonobo_ui_component_freeze (priv->ui_component, NULL); - bonobo_ui_util_set_ui (priv->ui_component, EVOLUTION_DATADIR, "evolution.xml", "evolution"); + bonobo_ui_util_set_ui (priv->ui_component, EVOLUTION_DATADIR, "evolution.xml", "evolution", NULL); setup_widgets (shell_view); @@ -2158,7 +2185,7 @@ get_view_for_uri (EShellView *shell_view, return NULL; container = bonobo_ui_component_get_container (priv->ui_component); - control = e_bonobo_widget_new_control_from_objref (corba_control, container); + control = bonobo_widget_new_control_from_objref (corba_control, container); socket = find_socket (GTK_CONTAINER (control)); destroy_connection_id = gtk_signal_connect (GTK_OBJECT (socket), "destroy", @@ -2268,7 +2295,7 @@ display_uri (EShellView *shell_view, if (priv->uri != NULL && uri != NULL && strcmp (priv->uri, uri) == 0) return TRUE; - bonobo_window_freeze (BONOBO_WINDOW (shell_view)); + bonobo_ui_engine_freeze (bonobo_window_get_ui_engine (BONOBO_WINDOW (shell_view))); if (uri == NULL) { gtk_notebook_remove_page (GTK_NOTEBOOK (priv->notebook), 0); @@ -2340,7 +2367,7 @@ display_uri (EShellView *shell_view, update_for_current_uri (shell_view); - bonobo_window_thaw (BONOBO_WINDOW (shell_view)); + bonobo_ui_engine_thaw (bonobo_window_get_ui_engine (BONOBO_WINDOW (shell_view))); gtk_signal_emit (GTK_OBJECT (shell_view), signals[VIEW_CHANGED], e_shell_view_get_current_path (shell_view), @@ -2638,7 +2665,7 @@ gboolean e_shell_view_save_settings (EShellView *shell_view, int view_num) { - Bonobo_ConfigDatabase db; + EConfigListener *config_listener; EShellViewPrivate *priv; EShortcutBar *shortcut_bar; const char *uri; @@ -2654,54 +2681,51 @@ e_shell_view_save_settings (EShellView *shell_view, priv = shell_view->priv; shortcut_bar = E_SHORTCUT_BAR (priv->shortcut_bar); - db = e_shell_get_config_db (priv->shell); - - g_return_val_if_fail (db != CORBA_OBJECT_NIL, FALSE); + config_listener = e_config_listener_new (); prefix = g_strdup_printf ("/Shell/Views/%d/", view_num); key = g_strconcat (prefix, "Width", NULL); - bonobo_config_set_long (db, key, GTK_WIDGET (shell_view)->allocation.width, NULL); + e_config_listener_set_long (config_listener, key, GTK_WIDGET (shell_view)->allocation.width); g_free (key); key = g_strconcat (prefix, "Height", NULL); - bonobo_config_set_long (db, key, GTK_WIDGET (shell_view)->allocation.height, NULL); + e_config_listener_set_long (config_listener, key, GTK_WIDGET (shell_view)->allocation.height); g_free (key); key = g_strconcat (prefix, "CurrentShortcutsGroupNum", NULL); - bonobo_config_set_long (db, key, - e_shell_view_get_current_shortcuts_group_num (shell_view), - NULL); + e_config_listener_set_long (config_listener, key, + e_shell_view_get_current_shortcuts_group_num (shell_view)); g_free (key); key = g_strconcat (prefix, "FolderBarShown", NULL); - bonobo_config_set_long (db, key, e_shell_view_folder_bar_shown (shell_view), NULL); + e_config_listener_set_long (config_listener, key, e_shell_view_folder_bar_shown (shell_view)); g_free (key); key = g_strconcat (prefix, "ShortcutBarShown", NULL); - bonobo_config_set_long (db, key, e_shell_view_shortcut_bar_shown (shell_view), NULL); + e_config_listener_set_long (config_listener, key, e_shell_view_shortcut_bar_shown (shell_view)); g_free (key); key = g_strconcat (prefix, "HPanedPosition", NULL); if (GTK_WIDGET_VISIBLE (priv->shortcut_frame)) - bonobo_config_set_long (db, key, E_PANED (priv->hpaned)->child1_size, NULL); + e_config_listener_set_long (config_listener, key, E_PANED (priv->hpaned)->child1_size); else - bonobo_config_set_long (db, key, priv->hpaned_position, NULL); + e_config_listener_set_long (config_listener, key, priv->hpaned_position); g_free (key); key = g_strconcat (prefix, "ViewHPanedPosition", NULL); if (GTK_WIDGET_VISIBLE (priv->storage_set_view_box)) - bonobo_config_set_long (db, key, E_PANED (priv->view_hpaned)->child1_size, NULL); + e_config_listener_set_long (config_listener, key, E_PANED (priv->view_hpaned)->child1_size); else - bonobo_config_set_long (db, key, priv->view_hpaned_position, NULL); + e_config_listener_set_long (config_listener, key, priv->view_hpaned_position); g_free (key); key = g_strconcat (prefix, "DisplayedURI", NULL); uri = e_shell_view_get_current_uri (shell_view); if (uri != NULL) - bonobo_config_set_string (db, key, uri, NULL); + e_config_listener_set_string (config_listener, key, uri); else - bonobo_config_set_string (db, key, E_SHELL_VIEW_DEFAULT_URI, NULL); + e_config_listener_set_string (config_listener, key, E_SHELL_VIEW_DEFAULT_URI); g_free (key); num_groups = e_shortcut_model_get_num_groups (shortcut_bar->model); @@ -2709,9 +2733,8 @@ e_shell_view_save_settings (EShellView *shell_view, for (group = 0; group < num_groups; group++) { key = g_strdup_printf ("%sShortcutBarGroup%dIconMode", prefix, group); - bonobo_config_set_long (db, key, - e_shortcut_bar_get_view_type (shortcut_bar, group), - NULL); + e_config_listener_set_long (config_listener, key, + e_shortcut_bar_get_view_type (shortcut_bar, group)); g_free (key); } @@ -2747,9 +2770,9 @@ gboolean e_shell_view_load_settings (EShellView *shell_view, int view_num) { - Bonobo_ConfigDatabase db; EShellViewPrivate *priv; EShortcutBar *shortcut_bar; + EConfigListener *config_listener; int num_groups, val; long width, height; char *stringval, *prefix, *filename, *key; @@ -2761,51 +2784,45 @@ e_shell_view_load_settings (EShellView *shell_view, priv = shell_view->priv; shortcut_bar = E_SHORTCUT_BAR (priv->shortcut_bar); - db = e_shell_get_config_db (priv->shell); - - g_return_val_if_fail (db != CORBA_OBJECT_NIL, FALSE); + config_listener = e_config_listener_new (); prefix = g_strdup_printf ("/Shell/Views/%d/", view_num); CORBA_exception_init (&ev); key = g_strconcat (prefix, "Width", NULL); - width = bonobo_config_get_long (db, key, &ev); + width = e_config_listener_get_long_with_default (config_listener, key, 0, NULL); g_free (key); - if (ev._major != CORBA_NO_EXCEPTION) { - CORBA_exception_free (&ev); - return FALSE; - } key = g_strconcat (prefix, "Height", NULL); - height = bonobo_config_get_long (db, key, NULL); + height = e_config_listener_get_long_with_default (config_listener, key, 0, NULL); g_free (key); gtk_window_set_default_size (GTK_WINDOW (shell_view), width, height); key = g_strconcat (prefix, "CurrentShortcutsGroupNum", NULL); - val = bonobo_config_get_long (db, key, NULL); + val = e_config_listener_get_long_with_default (config_listener, key, 0, NULL); e_shell_view_set_current_shortcuts_group_num (shell_view, val); g_free (key); key = g_strconcat (prefix, "FolderBarShown", NULL); - val = bonobo_config_get_long (db, key, NULL); + val = e_config_listener_get_long_with_default (config_listener, key, 0, NULL); e_shell_view_show_folder_bar (shell_view, val); g_free (key); key = g_strconcat (prefix, "ShortcutBarShown", NULL); - val = bonobo_config_get_long (db, key, NULL); + val = e_config_listener_get_long_with_default (config_listener, key, 0, NULL); e_shell_view_show_shortcut_bar (shell_view, val); g_free (key); key = g_strconcat (prefix, "HPanedPosition", NULL); - val = bonobo_config_get_long (db, key, NULL); + val = e_config_listener_get_long_with_default (config_listener, key, 0, NULL); if (priv->shortcut_bar_shown) e_paned_set_position (E_PANED (priv->hpaned), val); priv->hpaned_position = val; g_free (key); key = g_strconcat (prefix, "ViewHPanedPosition", NULL); - val = bonobo_config_get_long (db, key, NULL); + val = e_config_listener_get_long_with_default (config_listener, key, 0, NULL); if (priv->folder_bar_shown) e_paned_set_position (E_PANED (priv->view_hpaned), val); priv->view_hpaned_position = val; @@ -2813,7 +2830,7 @@ e_shell_view_load_settings (EShellView *shell_view, if (priv->uri == NULL && priv->delayed_selection == NULL) { key = g_strconcat (prefix, "DisplayedURI", NULL); - stringval = bonobo_config_get_string (db, key, NULL); + stringval = e_config_listener_get_string_with_default (config_listener, key, NULL, NULL); if (stringval) { if (! e_shell_view_display_uri (shell_view, stringval, FALSE)) { e_shell_view_display_uri (shell_view, E_SHELL_VIEW_DEFAULT_URI, FALSE); |