aboutsummaryrefslogtreecommitdiffstats
path: root/shell/evolution-storage.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2002-03-08 02:26:57 +0800
committerDan Winship <danw@src.gnome.org>2002-03-08 02:26:57 +0800
commit7065f6dba35467cb77519e0b9144659581746289 (patch)
treeb6758e28708d8b973d920810495b847e106aea6a /shell/evolution-storage.c
parent654b9618c8bc54e248a7cd5c36bed6e116bfe6a3 (diff)
downloadgsoc2013-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/evolution-storage.c')
-rw-r--r--shell/evolution-storage.c33
1 files changed, 3 insertions, 30 deletions
diff --git a/shell/evolution-storage.c b/shell/evolution-storage.c
index 9958714cc4..313e4fb2a6 100644
--- a/shell/evolution-storage.c
+++ b/shell/evolution-storage.c
@@ -47,12 +47,6 @@ struct _EvolutionStoragePrivate {
/* What we will display as the name of the storage. */
char *display_name;
- /* URI for the toplevel node of the storage. */
- char *toplevel_node_uri;
-
- /* Type for the toplevel node of the storage. */
- char *toplevel_node_type;
-
/* The set of folders we have in this storage. */
EFolderTree *folder_tree;
@@ -78,15 +72,6 @@ static guint signals[LAST_SIGNAL] = { 0 };
/* Utility functions. */
-static const CORBA_char *
-safe_corba_string (const char *s)
-{
- if (s == NULL)
- return (CORBA_char *) "";
-
- return s;
-}
-
static void
list_through_listener_foreach (EFolderTree *tree,
const char *path,
@@ -420,8 +405,6 @@ destroy (GtkObject *object)
priv = storage->priv;
g_free (priv->name);
- g_free (priv->toplevel_node_uri);
- g_free (priv->toplevel_node_type);
if (priv->folder_tree != NULL)
e_folder_tree_destroy (priv->folder_tree);
if (priv->uri_to_path != NULL) {
@@ -581,8 +564,6 @@ init (EvolutionStorage *storage)
priv = g_new (EvolutionStoragePrivate, 1);
priv->name = NULL;
- priv->toplevel_node_uri = NULL;
- priv->toplevel_node_type = NULL;
priv->folder_tree = e_folder_tree_new (folder_destroy_notify, storage);
priv->uri_to_path = g_hash_table_new (g_str_hash, g_str_equal);
priv->corba_storage_listeners = NULL;
@@ -611,9 +592,7 @@ evolution_storage_get_epv (void)
void
evolution_storage_construct (EvolutionStorage *storage,
GNOME_Evolution_Storage corba_object,
- const char *name,
- const char *toplevel_node_uri,
- const char *toplevel_node_type)
+ const char *name)
{
EvolutionStoragePrivate *priv;
CORBA_Environment ev;
@@ -630,16 +609,12 @@ evolution_storage_construct (EvolutionStorage *storage,
priv = storage->priv;
priv->name = g_strdup (name);
- priv->toplevel_node_uri = g_strdup (toplevel_node_uri);
- priv->toplevel_node_type = g_strdup (toplevel_node_type);
CORBA_exception_free (&ev);
}
EvolutionStorage *
-evolution_storage_new (const char *name,
- const char *toplevel_node_uri,
- const char *toplevel_node_type)
+evolution_storage_new (const char *name)
{
EvolutionStorage *new;
POA_GNOME_Evolution_Storage *servant;
@@ -655,7 +630,7 @@ evolution_storage_new (const char *name,
new = gtk_type_new (evolution_storage_get_type ());
corba_object = bonobo_object_activate_servant (BONOBO_OBJECT (new), servant);
- evolution_storage_construct (new, corba_object, name, toplevel_node_uri, toplevel_node_type);
+ evolution_storage_construct (new, corba_object, name);
return new;
}
@@ -695,8 +670,6 @@ evolution_storage_register (EvolutionStorage *evolution_storage,
corba_storage_listener = GNOME_Evolution_StorageRegistry_addStorage (corba_storage_registry,
corba_storage,
priv->name,
- safe_corba_string (priv->toplevel_node_uri),
- safe_corba_string (priv->toplevel_node_type),
&ev);
if (ev._major == CORBA_NO_EXCEPTION) {