aboutsummaryrefslogtreecommitdiffstats
path: root/shell/evolution-storage-listener.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2000-11-02 08:11:53 +0800
committerDan Winship <danw@src.gnome.org>2000-11-02 08:11:53 +0800
commit0fa29927fc5a0913388dc8fbc4a9b816c0a11119 (patch)
treef03f91bc99dfb77e3601f5c3506dde1eb025b059 /shell/evolution-storage-listener.c
parentf62d997329216c7e47bb8e78724edec4dd7e72ef (diff)
downloadgsoc2013-evolution-0fa29927fc5a0913388dc8fbc4a9b816c0a11119.tar
gsoc2013-evolution-0fa29927fc5a0913388dc8fbc4a9b816c0a11119.tar.gz
gsoc2013-evolution-0fa29927fc5a0913388dc8fbc4a9b816c0a11119.tar.bz2
gsoc2013-evolution-0fa29927fc5a0913388dc8fbc4a9b816c0a11119.tar.lz
gsoc2013-evolution-0fa29927fc5a0913388dc8fbc4a9b816c0a11119.tar.xz
gsoc2013-evolution-0fa29927fc5a0913388dc8fbc4a9b816c0a11119.tar.zst
gsoc2013-evolution-0fa29927fc5a0913388dc8fbc4a9b816c0a11119.zip
Add "highligted" field to Folder. Add update_folder method to
* Evolution-Storage.idl: Add "highligted" field to Folder. Add update_folder method to StorageListener to change display_name and highlight status. * e-folder.c: Add "highlighted" to EFolder to match the Evolution::Folder type. (e_folder_get_highlighted, e_folder_set_highlighted): Added * evolution-storage-listener.c (impl_Evolution_StorageListener_update_folder, etc): * e-storage.c (e_storage_updated_folder, etc): * e-corba-storage.c (impl_StorageListener_update_folder, etc): Implement update_folder. * e-storage-set.c (storage_updated_folder_cb, etc): Re-emit updated_folder signals received from EStorage. * e-storage-set-view.c (various): Add another model column to the ETable and set it up as a bold_column based on e_folder_get_highligted. (updated_folder_cb, etc): Listen to EStorageSet update_folder signal and emit ETree node_changed signals. * evolution-storage.c (evolution_storage_update_folder): Client function to update a folder's display_name and highlighted status. * Evolution-LocalStorage.idl: * evolution-local-storage.c: * e-local-storage.c: Change set_display_name to update_folder to match Evolution::StorageListener svn path=/trunk/; revision=6328
Diffstat (limited to 'shell/evolution-storage-listener.c')
-rw-r--r--shell/evolution-storage-listener.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/shell/evolution-storage-listener.c b/shell/evolution-storage-listener.c
index 3e1085ab10..293dd972f5 100644
--- a/shell/evolution-storage-listener.c
+++ b/shell/evolution-storage-listener.c
@@ -45,6 +45,7 @@ struct _EvolutionStorageListenerPrivate {
enum {
DESTROYED,
NEW_FOLDER,
+ UPDATE_FOLDER,
REMOVED_FOLDER,
LAST_SIGNAL
};
@@ -93,6 +94,23 @@ impl_Evolution_StorageListener_new_folder (PortableServer_Servant servant,
}
static void
+impl_Evolution_StorageListener_update_folder (PortableServer_Servant servant,
+ const CORBA_char *path,
+ const CORBA_char *display_name,
+ CORBA_boolean highlighted,
+ CORBA_Environment *ev)
+{
+ EvolutionStorageListener *listener;
+ EvolutionStorageListenerPrivate *priv;
+
+ listener = gtk_object_from_servant (servant);
+ priv = listener->priv;
+
+ gtk_signal_emit (GTK_OBJECT (listener), signals[UPDATE_FOLDER], path,
+ display_name, highlighted);
+}
+
+static void
impl_Evolution_StorageListener_removed_folder (PortableServer_Servant servant,
const CORBA_char *path,
CORBA_Environment *ev)
@@ -207,6 +225,7 @@ corba_class_init (void)
epv = g_new0 (POA_Evolution_StorageListener__epv, 1);
epv->destroyed = impl_Evolution_StorageListener_destroyed;
epv->new_folder = impl_Evolution_StorageListener_new_folder;
+ epv->update_folder = impl_Evolution_StorageListener_update_folder;
epv->removed_folder = impl_Evolution_StorageListener_removed_folder;
vepv = & my_Evolution_StorageListener_vepv;
@@ -240,6 +259,16 @@ class_init (EvolutionStorageListenerClass *klass)
GTK_TYPE_STRING,
GTK_TYPE_POINTER);
+ signals[UPDATE_FOLDER] = gtk_signal_new ("new_folder",
+ GTK_RUN_FIRST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (EvolutionStorageListenerClass, update_folder),
+ e_marshal_NONE__POINTER_POINTER_INT,
+ GTK_TYPE_NONE, 3,
+ GTK_TYPE_STRING,
+ GTK_TYPE_STRING,
+ GTK_TYPE_BOOL);
+
signals[REMOVED_FOLDER] = gtk_signal_new ("removed_folder",
GTK_RUN_FIRST,
object_class->type,