From 375d3e7a711cb9f978b15e99c6874d0b16abb020 Mon Sep 17 00:00:00 2001 From: grzegol Date: Wed, 28 Jul 2004 20:29:11 +0000 Subject: [PATCH] - support for OnlyShowIn in .directory files Changed files: desktop-file-utils-directory_onlyshowin.patch -> 1.1 --- desktop-file-utils-directory_onlyshowin.patch | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 desktop-file-utils-directory_onlyshowin.patch diff --git a/desktop-file-utils-directory_onlyshowin.patch b/desktop-file-utils-directory_onlyshowin.patch new file mode 100644 index 0000000..8e15445 --- /dev/null +++ b/desktop-file-utils-directory_onlyshowin.patch @@ -0,0 +1,60 @@ +diff -urN aa/desktop-file-utils-0.7/src/menu-entries.c desktop-file-utils-0.7/src/menu-entries.c +--- aa/desktop-file-utils-0.7/src/menu-entries.c 2004-07-28 21:48:48.387936296 +0200 ++++ desktop-file-utils-0.7/src/menu-entries.c 2004-07-28 22:03:14.458273592 +0200 +@@ -1938,6 +1938,56 @@ + + /* End checking for NoDisplay */ + ++ if (!show) ++ { ++ e = entry_new (ENTRY_DIRECTORY, basename, filename, show); ++ g_free (str); ++ return e; ++ } ++ ++ /* Check for OnlyShowIn */ ++ char *onlyshowin; ++ ++ show = TRUE; ++ ++ onlyshowin = find_value (str, "OnlyShowIn"); ++ ++ if (onlyshowin != NULL) ++ { ++ char **split; ++ int i; ++ ++ show = FALSE; ++ ++ split = string_list_from_desktop_value (onlyshowin); ++ i = 0; ++ while (split[i] != NULL) ++ { ++ if (strcmp (split[i], "GNOME") == 0) ++ { ++ show = TRUE; ++ break; ++ } ++ ++ ++i; ++ } ++ ++ if (!show) ++ menu_verbose ("Not showing \"%s\" due to OnlyShowIn=%s\n", ++ filename, onlyshowin); ++ ++ g_strfreev (split); ++ g_free (onlyshowin); ++ } ++ /* End checking for OnlyShowIn */ ++ ++ if (!show) ++ { ++ e = entry_new (ENTRY_DIRECTORY, basename, filename, show); ++ g_free (str); ++ return e; ++ } ++ + e = entry_new (ENTRY_DIRECTORY, basename, filename, show); + + g_free (str); -- 2.44.0