[Xfce4-commits] <garcon:master> Use the GKeyFile macros in the load function too.
Nick Schermer
nick at xfce.org
Sat Aug 29 19:02:06 CEST 2009
Updating branch refs/heads/master
to 20acdcd65defa788f8d4b3388d55bd32a7bfc39e (commit)
from 9ff22e379d31bac748a04a9b896a9b1e93b57a01 (commit)
commit 20acdcd65defa788f8d4b3388d55bd32a7bfc39e
Author: Nick Schermer <nick at xfce.org>
Date: Sat Aug 29 18:16:32 2009 +0200
Use the GKeyFile macros in the load function too.
garcon/garcon-menu-item.c | 47 +++++++++++++++++++-------------------------
1 files changed, 20 insertions(+), 27 deletions(-)
diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
index 5440a1a..4c4bb41 100644
--- a/garcon/garcon-menu-item.c
+++ b/garcon/garcon-menu-item.c
@@ -32,8 +32,12 @@
#define GARCON_MENU_ITEM_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GARCON_TYPE_MENU_ITEM, GarconMenuItemPrivate))
+
+
+
#define GET_LOCALE_KEY(type, key) g_key_file_get_locale_##type (rc, G_KEY_FILE_DESKTOP_GROUP, key, NULL, NULL)
-#define GET_KEY(type, key) g_key_file_get_##type (rc, G_KEY_FILE_DESKTOP_GROUP, key, NULL)
+#define GET_KEY(type, key) g_key_file_get_##type (rc, G_KEY_FILE_DESKTOP_GROUP, key, NULL)
+#define GET_STRING_LIST(key) g_key_file_get_string_list (rc, G_KEY_FILE_DESKTOP_GROUP, key, NULL, NULL)
@@ -563,9 +567,7 @@ garcon_menu_item_new (GFile *file)
g_free (contents);
/* Abort if loading failed or the file has been marked as "deleted"/hidden */
- if (!succeed
- || g_key_file_get_boolean (rc, G_KEY_FILE_DESKTOP_GROUP,
- G_KEY_FILE_DESKTOP_KEY_HIDDEN, NULL))
+ if (!succeed || GET_KEY (boolean, G_KEY_FILE_DESKTOP_KEY_HIDDEN))
{
/* Cleanup and leave */
g_key_file_free (rc);
@@ -573,31 +575,22 @@ garcon_menu_item_new (GFile *file)
}
/* Parse name and exec command */
- name = g_key_file_get_locale_string (rc, G_KEY_FILE_DESKTOP_GROUP,
- G_KEY_FILE_DESKTOP_KEY_NAME, NULL, NULL);
- exec = g_key_file_get_string (rc, G_KEY_FILE_DESKTOP_GROUP,
- G_KEY_FILE_DESKTOP_KEY_EXEC, NULL);
+ name = GET_LOCALE_KEY (string, G_KEY_FILE_DESKTOP_KEY_NAME);
+ exec = GET_KEY (string, G_KEY_FILE_DESKTOP_KEY_EXEC);
/* Validate Name and Exec fields */
if (G_LIKELY (exec != NULL && name != NULL && g_utf8_validate (name, -1, NULL)))
{
/* Determine other application properties */
- generic_name = g_key_file_get_locale_string (rc, G_KEY_FILE_DESKTOP_GROUP,
- G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME, NULL, NULL);
- comment = g_key_file_get_locale_string (rc, G_KEY_FILE_DESKTOP_GROUP,
- G_KEY_FILE_DESKTOP_KEY_COMMENT, NULL, NULL);
- try_exec = g_key_file_get_string (rc, G_KEY_FILE_DESKTOP_GROUP,
- G_KEY_FILE_DESKTOP_KEY_TRY_EXEC, NULL);
- icon = g_key_file_get_string (rc, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_ICON, NULL);
- path = g_key_file_get_string (rc, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_PATH, NULL);
- terminal = g_key_file_get_boolean (rc, G_KEY_FILE_DESKTOP_GROUP,
- G_KEY_FILE_DESKTOP_KEY_TERMINAL, NULL);
- no_display = g_key_file_get_boolean (rc, G_KEY_FILE_DESKTOP_GROUP,
- G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY, NULL);
- startup_notify = g_key_file_get_boolean (rc, G_KEY_FILE_DESKTOP_GROUP,
- G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY, NULL) ||
- g_key_file_get_boolean (rc, G_KEY_FILE_DESKTOP_GROUP,
- "X-KDE-StartupNotify", NULL);
+ generic_name = GET_LOCALE_KEY (string, G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME);
+ comment = GET_LOCALE_KEY (string, G_KEY_FILE_DESKTOP_KEY_COMMENT);
+ try_exec = GET_KEY (string, G_KEY_FILE_DESKTOP_KEY_TRY_EXEC);
+ icon = GET_KEY (string, G_KEY_FILE_DESKTOP_KEY_ICON);
+ path = GET_KEY (string, G_KEY_FILE_DESKTOP_KEY_PATH);
+ terminal = GET_KEY (boolean, G_KEY_FILE_DESKTOP_KEY_TERMINAL);
+ no_display = GET_KEY (boolean, G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY);
+ startup_notify = GET_KEY (boolean, G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY)
+ || GET_KEY (boolean, "X-KDE-StartupNotify");
/* Allocate a new menu item instance */
item = g_object_new (GARCON_TYPE_MENU_ITEM,
@@ -622,7 +615,7 @@ garcon_menu_item_new (GFile *file)
g_free (path);
/* Determine the categories this application should be shown in */
- str_list = g_key_file_get_string_list (rc, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_CATEGORIES, NULL, NULL);
+ str_list = GET_STRING_LIST (G_KEY_FILE_DESKTOP_KEY_CATEGORIES);
if (G_LIKELY (str_list != NULL))
{
for (mt = str_list; *mt != NULL; ++mt)
@@ -639,8 +632,8 @@ garcon_menu_item_new (GFile *file)
}
/* Set the rest of the private data directly */
- item->priv->only_show_in = g_key_file_get_string_list (rc, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN, NULL, NULL);
- item->priv->not_show_in = g_key_file_get_string_list (rc, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN, NULL, NULL);
+ item->priv->only_show_in = GET_STRING_LIST (G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN);
+ item->priv->not_show_in = GET_STRING_LIST (G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN);
}
/* Free strings */
More information about the Xfce4-commits
mailing list