[nautilus-actions] Add new methods to NautilusActions class
- From: Pierre Wieser <pwieser src gnome org>
- To: svn-commits-list gnome org
- Subject: [nautilus-actions] Add new methods to NautilusActions class
- Date: Thu, 28 May 2009 17:47:39 -0400 (EDT)
commit 436d8c44466609eeb4c2ac243b2e0ff5735f4de8
Author: Pierre Wieser <pwieser trychlos org>
Date: Mon May 25 21:07:16 2009 +0200
Add new methods to NautilusActions class
- nautilus_actions_config_action_free_all_profile_names
- nautilus_actions_config_action_get_first_profile_name
- nautilus_actions_config_action_get_profiles_count
- nautilus_actions_config_action_dump
---
ChangeLog | 7 +++
libnautilus-actions/nautilus-actions-config.c | 55 +++++++++++++++++++++++++
libnautilus-actions/nautilus-actions-config.h | 5 ++
3 files changed, 67 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 9f0bbb1..353b3db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -17,6 +17,13 @@
* libnautilus-actions/Makefile.am:
Define G_LOG_DOMAIN variable.
+ * libnautilus-actions/nautilus-actions-config.c:
+ * libnautilus-actions/nautilus-actions-config.h:
+ nautilus_actions_config_action_free_all_profile_names,
+ nautilus_actions_config_action_get_first_profile_name,
+ nautilus_actions_config_action_get_profiles_count,
+ nautilus_actions_config_action_dump: new functions.
+
2009-05-18 Pierre Wieser <pwieser trychlos org>
Fix Glade regression I introduced myself when ansi-fying C sources !
diff --git a/libnautilus-actions/nautilus-actions-config.c b/libnautilus-actions/nautilus-actions-config.c
index c35db36..5669be9 100644
--- a/libnautilus-actions/nautilus-actions-config.c
+++ b/libnautilus-actions/nautilus-actions-config.c
@@ -400,6 +400,28 @@ nautilus_actions_config_action_get_all_profile_names (NautilusActionsConfigActio
}
void
+nautilus_actions_config_action_free_all_profile_names( GSList *list )
+{
+ g_slist_free( list );
+}
+
+/*
+ * the returned string must be freed after used
+ */
+gchar *
+nautilus_actions_config_action_get_first_profile_name( const NautilusActionsConfigAction *action )
+{
+ gchar *name = NULL;
+ GList *list = g_hash_table_get_keys( action->profiles );
+ GList *first = g_list_first( list );
+ if( first ){
+ name = g_strdup(( gchar * ) first->data );
+ }
+ g_list_free( list );
+ return( name );
+}
+
+void
nautilus_actions_config_action_get_new_default_profile_name (NautilusActionsConfigAction *action, gchar** new_profile_name, gchar** new_profile_desc_name)
{
GSList* profile_names = nautilus_actions_config_action_get_all_profile_names (action);
@@ -439,6 +461,12 @@ nautilus_actions_config_action_get_profile (NautilusActionsConfigAction *action,
}
}
+guint
+nautilus_actions_config_action_get_profiles_count( const NautilusActionsConfigAction *action )
+{
+ return( action ? g_hash_table_size( action->profiles ) : 0 );
+}
+
NautilusActionsConfigActionProfile *nautilus_actions_config_action_get_or_create_profile (NautilusActionsConfigAction *action,
const gchar* profile_name)
{
@@ -957,3 +985,30 @@ nautilus_actions_config_action_free (NautilusActionsConfigAction *action)
action = NULL;
}
}
+
+static void
+dump_profile( gchar *key, NautilusActionsConfigActionProfile *profile, gchar *thisfn )
+{
+ g_debug( "%s: [%s] desc_name='%s'", thisfn, key, profile->desc_name );
+ /*g_debug( "%s: [%s] basenames='%s'", thisfn, key, profile->basenames );*/
+ /*g_debug( "%s: [%s] mimetypes='%s'", thisfn, key, profile->mimetypes );*/
+ g_debug( "%s: [%s] path='%s'", thisfn, key, profile->path );
+ g_debug( "%s: [%s] parameters='%s'", thisfn, key, profile->parameters );
+ /*g_debug( "%s: [%s] schemes='%s'", thisfn, key, profile->schemes );*/
+}
+
+void
+nautilus_actions_config_action_dump( NautilusActionsConfigAction *action )
+{
+ static const char *thisfn = "nautilus_actions_config_action_dump";
+ if (action != NULL){
+ g_debug( "%s: uuid='%s'", thisfn, action->uuid );
+ g_debug( "%s: label='%s'", thisfn, action->label );
+ g_debug( "%s: tooltip='%s'", thisfn, action->tooltip );
+ g_debug( "%s: conf_section='%s'", thisfn, action->conf_section );
+ g_debug( "%s: icon='%s'", thisfn, action->icon );
+ g_debug( "%s: version='%s'", thisfn, action->version );
+ g_debug( "%s: %d profile(s) at %p", thisfn, nautilus_actions_config_action_get_profiles_count( action ), action->profiles );
+ g_hash_table_foreach( action->profiles, ( GHFunc ) dump_profile, ( gpointer ) thisfn );
+ }
+}
diff --git a/libnautilus-actions/nautilus-actions-config.h b/libnautilus-actions/nautilus-actions-config.h
index 3e5638d..d4c073f 100644
--- a/libnautilus-actions/nautilus-actions-config.h
+++ b/libnautilus-actions/nautilus-actions-config.h
@@ -134,6 +134,8 @@ NautilusActionsConfigActionProfile *nautilus_actions_config_action_profile_new_d
gboolean nautilus_actions_config_action_profile_exists (NautilusActionsConfigAction *action,
const gchar* profile_name);
GSList *nautilus_actions_config_action_get_all_profile_names (NautilusActionsConfigAction *action);
+void nautilus_actions_config_action_free_all_profile_names( GSList *list );
+gchar *nautilus_actions_config_action_get_first_profile_name( const NautilusActionsConfigAction *action );
void nautilus_actions_config_action_get_new_default_profile_name (NautilusActionsConfigAction *action,
gchar** new_profile_name,
gchar** new_profile_desc_name);
@@ -154,6 +156,8 @@ gboolean nautilus_actions_config_action_rename_profile (Naut
const gchar* old_profile_name,
const gchar* new_profile_name,
GError** error);
+guint nautilus_actions_config_action_get_profiles_count( const NautilusActionsConfigAction *action );
+
NautilusActionsConfigAction *nautilus_actions_config_action_new (void);
NautilusActionsConfigAction *nautilus_actions_config_action_new_default (void);
@@ -190,6 +194,7 @@ void nautilus_actions_config_action_profile_free (Nautil
NautilusActionsConfigAction *nautilus_actions_config_action_dup (NautilusActionsConfigAction *action);
NautilusActionsConfigAction *nautilus_actions_config_action_dup_new (NautilusActionsConfigAction *action);
void nautilus_actions_config_action_free (NautilusActionsConfigAction *action);
+void nautilus_actions_config_action_dump (NautilusActionsConfigAction *action);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]