diff options
author | Dan Winship <danw@src.gnome.org> | 2002-03-08 02:26:57 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2002-03-08 02:26:57 +0800 |
commit | 7065f6dba35467cb77519e0b9144659581746289 (patch) | |
tree | b6758e28708d8b973d920810495b847e106aea6a /shell/e-storage.c | |
parent | 654b9618c8bc54e248a7cd5c36bed6e116bfe6a3 (diff) | |
download | gsoc2013-evolution-7065f6dba35467cb77519e0b9144659581746289.tar.gz gsoc2013-evolution-7065f6dba35467cb77519e0b9144659581746289.tar.zst gsoc2013-evolution-7065f6dba35467cb77519e0b9144659581746289.zip |
Make storages-with-toplevel-views less of a hack.
* e-folder-tree.c (e_folder_tree_add): Allow the caller to "add" a
root folder, if the existing root folder has no children.
(e_folder_tree_new): Use e_folder_tree_add to create the root
folder, since it can do that now.
* e-storage.c: (e_storage_construct): Replace toplevel_node_uri
and toplevel_node_type args with root_folder.
(e_storage_new): Likewise.
(*): Remove toplevel uri/type stuff everywhere. Also remove
display_name since now we will use the name of the root folder for
that.
* evolution-storage.c: Remove toplevel uri/type stuff everywhere.
* e-local-storage.c (construct): Pass root_folder to
e_storage_construct instead of toplevel uri/type.
Also, evolution_storage_new no longer takes toplevel uri/type.
* e-corba-storage.c (e_corba_storage_construct): Out with toplevel
uri/type, in with root_folder.
(e_corba_storage_new): Remove toplevel uri/type.
* e-shell.c (setup_local_storage): Create a top-level folder of
type "summary" for the Summary storage.
* e-storage-set-view.c (set_e_shortcut_selection): Remove
special-case for storages.
(etree_icon_at): Remove special case for figuring out storage
icons (but leave the code that makes the icon disappear once the
storage is opened).
(etree_value_at): Remove special case for storage names. (But
still make storages always bold.) Remove unused special-case code
for Summary.
* e-shortcuts.c (load_shortcuts): Remove special case for
storages, reorganize a bit.
* e-shortcuts-view.c (get_shortcut_info): Remove special case for
storages.
* e-shell-view.c (update_for_current_uri): Remove special case for
storages.
(socket_destroy_cb): Likewise.
(get_type_for_storage): No longer needed.
(get_view_for_uri): No longer needs to special-case storages (but
add a special case for folders of type "noselect", to make them
unselectable like storages-without-toplevel-views used to be).
* e-storage-set.c (get_storage_for_path): If passed "/foo", return
"/" as subpath_return so e_storage_set_get_folder will DTRT in the
NWO.
* Evolution-Storage.idl (addStorage): Remove the toplevel_node_uri
and toplevel_node_type arguments.
* e-corba-storage-registry.c (impl_StorageRegistry_addStorage):
Likewise.
svn path=/trunk/; revision=15965
Diffstat (limited to 'shell/e-storage.c')
-rw-r--r-- | shell/e-storage.c | 89 |
1 files changed, 7 insertions, 82 deletions
diff --git a/shell/e-storage.c b/shell/e-storage.c index 7b55145d6e..4efc069193 100644 --- a/shell/e-storage.c +++ b/shell/e-storage.c @@ -52,15 +52,6 @@ struct _EStoragePrivate { /* Internal name of the storage */ char *name; - - /* User-visible localized UTF-8 name */ - char *display_name; - - /* URI for the toplevel node. */ - char *toplevel_node_uri; - - /* Toplevel node type. */ - char *toplevel_node_type; }; enum { @@ -148,9 +139,6 @@ destroy (GtkObject *object) e_folder_tree_destroy (priv->folder_tree); g_free (priv->name); - g_free (priv->display_name); - g_free (priv->toplevel_node_uri); - g_free (priv->toplevel_node_type); (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); } @@ -189,12 +177,6 @@ impl_get_name (EStorage *storage) return storage->priv->name; } -static const char * -impl_get_display_name (EStorage *storage) -{ - return storage->priv->display_name; -} - static void impl_async_create_folder (EStorage *storage, const char *path, @@ -242,7 +224,6 @@ class_init (EStorageClass *class) class->get_subfolder_paths = impl_get_subfolder_paths; class->get_folder = impl_get_folder; class->get_name = impl_get_name; - class->get_display_name = impl_get_display_name; class->async_create_folder = impl_async_create_folder; class->async_remove_folder = impl_async_remove_folder; class->async_xfer_folder = impl_async_xfer_folder; @@ -282,9 +263,8 @@ init (EStorage *storage) priv = g_new (EStoragePrivate, 1); - priv->folder_tree = e_folder_tree_new (folder_destroy_notify, NULL); - priv->toplevel_node_uri = NULL; - priv->toplevel_node_type = NULL; + priv->folder_tree = e_folder_tree_new (folder_destroy_notify, NULL); + priv->name = NULL; storage->priv = priv; } @@ -295,9 +275,7 @@ init (EStorage *storage) void e_storage_construct (EStorage *storage, const char *name, - const char *display_name, - const char *toplevel_node_uri, - const char *toplevel_node_type) + EFolder *root_folder) { EStoragePrivate *priv; @@ -307,25 +285,21 @@ e_storage_construct (EStorage *storage, priv = storage->priv; priv->name = g_strdup (name); - priv->display_name = g_strdup (display_name); - priv->toplevel_node_uri = g_strdup (toplevel_node_uri); - priv->toplevel_node_type = g_strdup (toplevel_node_type); + + e_storage_new_folder (storage, "/", root_folder); GTK_OBJECT_UNSET_FLAGS (GTK_OBJECT (storage), GTK_FLOATING); } EStorage * e_storage_new (const char *name, - const char *display_name, - const char *toplevel_node_uri, - const char *toplevel_node_type) + EFolder *root_folder) { EStorage *new; new = gtk_type_new (e_storage_get_type ()); - e_storage_construct (new, name, display_name, - toplevel_node_uri, toplevel_node_type); + e_storage_construct (new, name, root_folder); return new; } @@ -381,55 +355,6 @@ e_storage_get_name (EStorage *storage) return (* ES_CLASS (storage)->get_name) (storage); } -const char * -e_storage_get_display_name (EStorage *storage) -{ - g_return_val_if_fail (storage != NULL, NULL); - g_return_val_if_fail (E_IS_STORAGE (storage), NULL); - - return (* ES_CLASS (storage)->get_display_name) (storage); -} - -/** - * e_storage_get_toplevel_node_uri: - * @storage: A pointer to an EStorage object - * - * Get the physical URI for the toplevel node in the storage. - * - * Return value: a pointer to a string representing that URI. - **/ -const char * -e_storage_get_toplevel_node_uri (EStorage *storage) -{ - EStoragePrivate *priv; - - g_return_val_if_fail (storage != NULL, NULL); - g_return_val_if_fail (E_IS_STORAGE (storage), NULL); - - priv = storage->priv; - return priv->toplevel_node_uri; -} - -/** - * e_storage_get_toplevel_node_type: - * @storage: A pointer to an EStorage object. - * - * Get the folder type for the toplevel node. - * - * Return value: A string identifying the type of the toplevel node. - **/ -const char * -e_storage_get_toplevel_node_type (EStorage *storage) -{ - EStoragePrivate *priv; - - g_return_val_if_fail (storage != NULL, NULL); - g_return_val_if_fail (E_IS_STORAGE (storage), NULL); - - priv = storage->priv; - return priv->toplevel_node_type; -} - /* Folder operations. */ |