[nautilus-actions] Explicitly write subitems string list
- From: Pierre Wieser <pwieser src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus-actions] Explicitly write subitems string list
- Date: Wed, 14 Apr 2010 20:14:56 +0000 (UTC)
commit a964022da74d1b15a3219a73add6f62c154ff4e4
Author: Pierre Wieser <pwieser trychlos org>
Date: Mon Mar 29 05:39:13 2010 +0200
Explicitly write subitems string list
As same 'subitems string list' data has different keys for actions (Profiles) and menus
(ItemsList), we have to explicitly write this data.
ChangeLog | 7 +++++++
src/io-desktop/nadp-desktop-provider.c | 2 +-
src/io-desktop/nadp-writer.c | 21 +++++++++++++++++++++
src/io-desktop/nadp-writer.h | 4 ++++
4 files changed, 33 insertions(+), 1 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index d923541..3051f17 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -123,6 +123,13 @@
(nadp_desktop_file_get_file_type):
Do not emit a warning if Type is not found in the .desktop file.
+2009-03-29 Pierre Wieser <pwieser trychlos org>
+
+ * src/io-desktop/nadp-desktop-provider.c (ifactory_provider_iface_init):
+ * src/io-desktop/nadp-writer.c:
+ * src/io-desktop/nadp-writer.h (nadp_writer_ifactory_provider_write_done):
+ New function: explicitly write subitems string list for actions and menus.
+
2009-03-28 Pierre Wieser <pwieser trychlos org>
* src/api/na-data-boxed.h:
diff --git a/src/io-desktop/nadp-desktop-provider.c b/src/io-desktop/nadp-desktop-provider.c
index 64a791a..613f179 100644
--- a/src/io-desktop/nadp-desktop-provider.c
+++ b/src/io-desktop/nadp-desktop-provider.c
@@ -228,7 +228,7 @@ ifactory_provider_iface_init( NAIFactoryProviderInterface *iface )
iface->read_done = nadp_reader_ifactory_provider_read_done;
iface->write_start = nadp_writer_ifactory_provider_write_start;
iface->write_data = nadp_writer_ifactory_provider_write_data;
- iface->write_done = NULL;
+ iface->write_done = nadp_writer_ifactory_provider_write_done;
}
static guint
diff --git a/src/io-desktop/nadp-writer.c b/src/io-desktop/nadp-writer.c
index f5348e0..1be0b42 100644
--- a/src/io-desktop/nadp-writer.c
+++ b/src/io-desktop/nadp-writer.c
@@ -406,3 +406,24 @@ nadp_writer_ifactory_provider_write_data(
return( code );
}
+
+guint
+nadp_writer_ifactory_provider_write_done( const NAIFactoryProvider *provider, void *writer_data,
+ const NAIFactoryObject *object, GSList **messages )
+{
+ GSList *subitems;
+
+ if( NA_IS_OBJECT_ITEM( object )){
+ subitems = na_object_get_items_slist( object );
+
+ nadp_desktop_file_set_string_list(
+ NADP_DESKTOP_FILE( writer_data ),
+ NADP_GROUP_DESKTOP,
+ NA_IS_OBJECT_ACTION( object ) ? NADP_KEY_PROFILES : NADP_KEY_ITEMS_LIST,
+ subitems );
+
+ na_core_utils_slist_free( subitems );
+ }
+
+ return( NA_IIO_PROVIDER_CODE_OK );
+}
diff --git a/src/io-desktop/nadp-writer.h b/src/io-desktop/nadp-writer.h
index 291d3d4..0f6cf01 100644
--- a/src/io-desktop/nadp-writer.h
+++ b/src/io-desktop/nadp-writer.h
@@ -49,6 +49,10 @@ guint nadp_writer_ifactory_provider_write_data(
const NAIFactoryProvider *provider, void *writer_data, const NAIFactoryObject *object,
const NADataBoxed *boxed, GSList **messages );
+guint nadp_writer_ifactory_provider_write_done(
+ const NAIFactoryProvider *provider, void *writer_data, const NAIFactoryObject *object,
+ GSList **messages );
+
G_END_DECLS
#endif /* __NADP_WRITER_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]