diff options
author | Dan Winship <danw@src.gnome.org> | 2000-11-02 08:11:53 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2000-11-02 08:11:53 +0800 |
commit | 0fa29927fc5a0913388dc8fbc4a9b816c0a11119 (patch) | |
tree | f03f91bc99dfb77e3601f5c3506dde1eb025b059 /shell/evolution-storage-listener.c | |
parent | f62d997329216c7e47bb8e78724edec4dd7e72ef (diff) | |
download | gsoc2013-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.c | 29 |
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, |