aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-storage.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2003-07-24 05:58:28 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2003-07-24 05:58:28 +0800
commita238c463ddea2a3ddb3a530c75a3a7e1083c9c2d (patch)
tree2b53e3235c7067bf8ab94dd3ede84f54cf811809 /shell/e-storage.c
parent0dd1d18f1ab6609c1c38f9e97a0702cc71ce2705 (diff)
downloadgsoc2013-evolution-a238c463ddea2a3ddb3a530c75a3a7e1083c9c2d.tar.gz
gsoc2013-evolution-a238c463ddea2a3ddb3a530c75a3a7e1083c9c2d.tar.zst
gsoc2013-evolution-a238c463ddea2a3ddb3a530c75a3a7e1083c9c2d.zip
Create a new EShellWindow and show it.
* main.c (idle_cb): Create a new EShellWindow and show it. * e-storage.c: New signal "async_open_folder". (impl_async_open_folder): Removed. (class_init): Declare new signal. * e-shell.c (setup_components): Don't actually activate any components. * e-storage-browser.c, e-storage-browser.h: New. * e-shell-window.c, e-shell-window.h: New. * e-shell-marshal.list: Add an entry for NONE:STRING,POINTER,POINTER. * Evolution.idl: Include Evolution-Component.idl. * Evolution-Component.idl: New interface for Evolution components. svn path=/trunk/; revision=21925
Diffstat (limited to 'shell/e-storage.c')
-rw-r--r--shell/e-storage.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/shell/e-storage.c b/shell/e-storage.c
index f4a8e5ff26..0a56e3569f 100644
--- a/shell/e-storage.c
+++ b/shell/e-storage.c
@@ -61,6 +61,7 @@ enum {
NEW_FOLDER,
UPDATED_FOLDER,
REMOVED_FOLDER,
+ ASYNC_OPEN_FOLDER,
LAST_SIGNAL
};
@@ -212,15 +213,6 @@ impl_async_xfer_folder (EStorage *storage,
(* callback) (storage, E_STORAGE_NOTIMPLEMENTED, data);
}
-static void
-impl_async_open_folder (EStorage *storage,
- const char *path,
- EStorageDiscoveryCallback callback,
- void *data)
-{
- (*callback) (storage, E_STORAGE_NOTIMPLEMENTED, path, data);
-}
-
static gboolean
impl_supports_shared_folders (EStorage *storage)
{
@@ -265,7 +257,6 @@ class_init (EStorageClass *class)
class->async_create_folder = impl_async_create_folder;
class->async_remove_folder = impl_async_remove_folder;
class->async_xfer_folder = impl_async_xfer_folder;
- class->async_open_folder = impl_async_open_folder;
class->supports_shared_folders = impl_supports_shared_folders;
class->async_discover_shared_folder = impl_async_discover_shared_folder;
@@ -298,6 +289,17 @@ class_init (EStorageClass *class)
e_shell_marshal_NONE__STRING,
G_TYPE_NONE, 1,
G_TYPE_STRING);
+ signals[ASYNC_OPEN_FOLDER] =
+ g_signal_new ("async_open_folder",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ G_STRUCT_OFFSET (EStorageClass, async_open_folder),
+ NULL, NULL,
+ e_shell_marshal_NONE__STRING_POINTER_POINTER,
+ G_TYPE_NONE, 3,
+ G_TYPE_STRING,
+ G_TYPE_POINTER,
+ G_TYPE_POINTER);
}
static void
@@ -328,7 +330,7 @@ e_storage_construct (EStorage *storage,
priv = storage->priv;
- priv->name = g_strdup (name);
+ priv->name = g_strdup (name);
e_storage_new_folder (storage, "/", root_folder);
@@ -500,7 +502,8 @@ e_storage_async_open_folder (EStorage *storage,
return;
}
- (* ES_CLASS (storage)->async_open_folder) (storage, path, callback, data);
+ g_signal_emit (storage, signals[ASYNC_OPEN_FOLDER], 0,
+ path, callback, data);
}