-
Jannis Pohlmann authored
commit 2f76d64d Author: Jannis Pohlmann <jannis@xfce.org> Date: Sun May 10 20:23:47 2009 +0200 Fix references in garcon-docs.xml and garcon-sections.xml commit 2d993a9d Author: Jannis Pohlmann <jannis@xfce.org> Date: Sun May 10 20:20:58 2009 +0200 Add missing pkg-config file. commit 4bf64028 Author: Jannis Pohlmann <jannis@xfce.org> Date: Sun May 10 20:17:51 2009 +0200 Rename files from e.g. garconmenudirectory.h to garcon-menu-directory.h. Also add garcon-config.c. commit b0e033b8 Author: Jannis Pohlmann <jannis@xfce.org> Date: Sun May 10 19:59:49 2009 +0200 Remove gdesktopmenu/ directory. commit 57bbc1bf Author: Jannis Pohlmann <jannis@xfce.org> Date: Sun May 10 18:48:28 2009 +0200 Rename gdesktopmenu to garcon. Major work done by Travis Watkins. This commit renames gdesktop to garcon. It also improves the API docs and adds Travis to the AUTHORS file. A few things still might be broken due to the rename. commit fbcf204a Author: Jannis Pohlmann <jannis@xfce.org> Date: Thu May 7 17:49:02 2009 +0200 * gdesktopmenu/gdesktopmenu.c: Fix typo in g_desktop_menu_get_type(). commit 8ac6ce69 Author: Jannis Pohlmann <jannis@xfce.org> Date: Thu May 7 17:28:17 2009 +0200 * gdesktopmenu/gdesktopmenu.{c,h}: Move _GDesktopMenu and _GDesktopMenuClass into the header file in order for GObject-introspection to work. commit cb9270e7 Author: Jannis Pohlmann <jannis@xfce.org> Date: Thu May 7 13:33:24 2009 +0200 * docs/reference/: Improve API docs structure. * gdesktopmenu/Makefile.am, gdesktopmenu/gdesktopmenu.{c,h}, gdesktopmenu/gdesktopmenumain.{c,h}: Move init/shutdown code into gdesktopmenumain.{c,h}. commit 69bf0372 Author: Jannis Pohlmann <jannis@xfce.org> Date: Thu May 7 04:08:13 2009 +0200 * Fix compilation errors, missing "lib" prefix and set the API version to 1 (not the libtool one). commit cdc20067 Author: Jannis Pohlmann <jannis@xfce.org> Date: Thu May 7 03:28:33 2009 +0200 * Rename to gdesktopmenu. This will need a few more commits to work again though. commit ca38e06a Author: Jannis Pohlmann <jannis@xfce.org> Date: Mon May 4 00:10:56 2009 +0200 * docs/reference/libxfce4menu-sections.txt, libxfce4menu/xfce-menu-directory.{c,h}, libxfce4menu/xfce-menu-element.{c,h}, libxfce4menu/xfce-menu-item.{c,h}, libxfce4menu/xfce-menu-separator.c, libxfce4menu/xfce-menu.c: Add xfce_menu_element_get_no_display() and xfce_menu_element_get_visible_in_environment() to the XfceMenuElement interface. Implement this in XfceMenu, XfceMenuDirectory, XfceMenuItem and XfceMenuSeparator. commit c5bda99f Author: Jannis Pohlmann <jannis@xfce.org> Date: Sun May 3 23:31:17 2009 +0200 * docs/reference/libxfce4menu-sections.txt, libxfce4menu/xfce-menu.c, libxfce4menu/xfce-menu-element.{c,h}, libxfce4menu/xfce-menu-item.c, libxfce4menu/xfce-menu-separator.c: Add new function xfce_menu_element_get_comment() to the XfceMenuElement interface and implement it in XfceMenu, XfceMenuItem and XfceMenuSeparator. commit 681672a4 Author: Jannis Pohlmann <jannis@xfce.org> Date: Sat Apr 4 23:56:19 2009 +0200 * AUTHORS: Add Travis Watkins as a contributor. * docs/reference: Update API docs. * libxfce4menu/xfce-menu-directory.{c,h}, libxfce4menu/xfce-menu-element.{c,h}, libxfce4menu/xfce-menu-item.c, libxfce4menu/xfce-menu-separator.c, libxfce4menu/xfce-menu.c: Add xfce_menu_element_get_visible() to XfceMenuElement. The XfceMenuSeparator implementation always returns TRUE while the XfceMenuItem implementation checks the Hidden/OnlyShowIn/NotShowIn values of the corresponding desktop entry. XfceMenu checks the Hidden/OnlyShowIn/NotShowIn values of its XfceMenuDirectory as well as whether there are any visible child elements. Thanks to Travis Watkins for the patch. * tests/test-display-menu.c, tests/test-menu-spec.c: Update tests to reflect the latest API changes. Thanks to Travis for updating test-display-menu.c. commit 1beaec37 Author: Jannis Pohlmann <jannis@xfce.org> Date: Sun Mar 15 04:26:59 2009 +0100 * STATUS: Update STATUS file. commit 8e9a5a83 Author: Jannis Pohlmann <jannis@xfce.org> Date: Sun Mar 15 04:22:26 2009 +0100 * docs/reference/: Update API docs. * libxfce4menu/libxfce4menu.c: Set path pointer to NULL after freeing it to avoid random data in it. * libxfce4menu/xfce-menu-merger.c: Prepend a default layout element to the root menu so that the root menu and its children have a layout to use as a fallback. Remove empty layout elements so that we can fallback to the default layout. * libxfce4menu/xfce-menu-node.{c,h}: Add new function xfce_menu_node_tree_get_child_node(). Add XFCE_MENU_NODE_TYPE_DEFAULT_LAYOUT to the XfceMenuNodeType enum. * libxfce4menu/xfce-menu-parser.c: Parse <DefaultLayout> elements. Attributes are currently ignored. * libxfce4menu/xfce-menu.c: Properly look up the right layout or default layout in xfce_menu_get_elements(). * tests/test-display-menu.c, tests/test-menu-spec.c: Improve error messages. * POTFILES.in: Remove deleted file xfce-menu-layout.c. commit 57ea0ddf Author: Jannis Pohlmann <jannis@xfce.org> Date: Sun Mar 15 03:14:14 2009 +0100 * docs/reference/libxfce4menu-sections.txt, docs/reference/libxfce4menu.types, libxfce4menu/Makefile.am, libxfce4menu/libxfce4menu.h, libxfce4menu/xfce-menu.{c,h}, libxfce4menu/xfce-menu-layout.{c,h}: Remove XfceMenuLayout class. Also remove xfce_menu_get_items() and rename xfce_menu_get_layout_elements() to xfce_menu_get_elements(). Make menu layouts work again with the GNode trees we have instead of XfceMenuLayout now. * tests/test-display-menu.c, tests/test-menu-spec.c: Update tests to the latest API. commit 6370bb67 Author: Jannis Pohlmann <jannis@xfce.org> Date: Sun Mar 15 02:17:10 2009 +0100 * libxfce4menu/xfce-menu-node.c: Really fix the typo this time. * libxfce4menu/xfce-menu-parser.c: Remove break inside an if statement and thereby fix the parsing of <Layout> child elements. commit a45b9bc6 Author: Jannis Pohlmann <jannis@xfce.org> Date: Sun Mar 15 02:03:08 2009 +0100 * libxfce4menu/xfce-menu-node.c: Fix type macro typo in xfce_menu_node_tree_get_layout_merge_type(). commit e9606e53 Author: Jannis Pohlmann <jannis@xfce.org> Date: Sun Mar 15 01:59:42 2009 +0100 * libxfce4menu/xfce-menu-merger.c: Remove duplicate layout nodes and only keep the last one. commit 63a8fc24 Author: Jannis Pohlmann <jannis@xfce.org> Date: Sat Mar 14 04:05:14 2009 +0100 * libxfce4menu/*.h: Remove trailing semicolons after G_BEGIN_DECLS and G_END_DECLS because it makes gobject-introspection freak out and its also a bit of a syntax error. Reported by Travis Watkins. commit 0baa89ae Author: Jannis Pohlmann <jannis@xfce.org> Date: Sat Mar 14 02:09:38 2009 +0100 * INSTALL: Update the install information. * configure.in.in, libxfce4menu/libxfce4menu-0.1.pc.in, libxfce4menu/xfce-menu-directory.c, libxfce4menu/xfce-menu-item-cache.c, libxfce4menu/xfce-menu-item.c, libxfce4menu/xfce-menu-merger.c, libxfce4menu/xfce-menu-parser.c: Get rid of libxfce4util and related code like xfce_resource_dirs(). Use GKeyFile instead of XfceRc. A lot of this code comes from Travis Watkins <amaranth@ubuntu.com> who was kind enough to provide a patch. * docs/reference/libxfce4menu-sections.txt: Update sections. * libxfce4menu/libxfce4menu.{c,h}: Rename xfce_menu_init() and xfce_menu_shutdown() to libxfce4menu_init() and libxfce4menu_shutdown(). Add new function xfce_menu_config_lookup(). * libxfce4menu/xfce-menu.{c,h}: Use xfce_menu_config_lookup() instead of xfce_resource_lookup(). Remove xfce_menu_init() and xfce_menu_shutdown() declaration in the header file. * tdb/: Remove TDB entirely. * tests/test-display-menu.c, tests/test-menu-parser.c, tests/test-menu-spec.c: Update to new API and get rid of libxfce4util code. * POTFILES.in: Update translatable source file list. * libxfce4menu-0.1.pot: Update pot file. commit ae27baff Author: Jannis Pohlmann <jannis@xfce.org> Date: Thu Mar 12 02:29:11 2009 +0100 * libxfce4menu/xfce-menu-monitor.h, libxfce4menu/libxfce4menu.c: Something is wrong with the API docs. Another try to fix them. commit 916fee3a Author: Jannis Pohlmann <jannis@xfce.org> Date: Thu Mar 12 01:06:40 2009 +0100 * libxfce4menu/xfce-menu-monitor.h, libxfce4menu/xfce-menu.c: Try to fix broken API docs syntax and add docs for the XfceMenuMonitorVTable members. commit e27803e7 Author: Jannis Pohlmann <jannis@xfce.org> Date: Thu Mar 12 00:38:48 2009 +0100 * libxfce4menu/xfce-menu-directory.{c,h}: Add function xfce_menu_directory_equal() which compares two XfceMenuDirectory objects based on their GFile members. * libxfce4menu/xfce-menu-layout.{c,h}: Use GList instead of GSList everywhere. * libxfce4menu/xfce-menu-merger.{c,h}: Never access GNode data directly. Instead always use the xfce_menu_node_tree*() functions. * libxfce4menu/xfce-menu-node.{c,h}: Add functions xfce_menu_node_tree_get_child_nodes(), xfce_menu_node_tree_get_string_children(), xfce_menu_node_tree_get_boolean_child() and xfce_menu_node_tree_get_string_child() to collect the values of immediate children of a GNode tree. Add new functions xfce_menu_node_tree_set_string() and xfce_menu_node_tree_set_merge_file_filename() so that GNode data needs to be accessed less often. Fix assertions in a few other functions. * libxfce4menu/xfce-menu-parser.c: Fix segmentation fault due to an uninitialized GError in GIO. * libxfce4menu/xfce-menu.{c,h}: Use GList instead of GSList everywhere. Improve API docs for a few public functions. Change xfce_menu_new() again to expect a filename as the first parameter. Add a separate function xfce_menu_new_for_file() to create an XfceMenu from a GFile. Rename xfce_menu_get_root() to xfce_menu_new_applications(). Replace a lot of traversing code with the new xfce_menu_node_tree_get*() functions. * tests/test-display-menu.c, tests/test-menu-parser.c, tests/test-menu-spec.c: Update to new libxfce4menu API. commit 16f4b0a5 Author: Jannis Pohlmann <jannis@xfce.org> Date: Tue Feb 24 19:56:11 2009 +0100 * libxfce4menu/libxfce4menu.c: Add missing source file. * docs/reference/: Try to get the damn docs right. * libxfce4menu/libxfce4menu.{c,h}, libxfce4menu/xfce-menu.c: Move xfce_menu_init() and xfce_menu_shutdown() into libxfce4menu.{c,h}. Fix #undef LIBXFCE4MENU_INSIDE_LIBXFCE4MENU_H. * libxfce4menu/xfce-menu-node.{c,h}: Make XfceMenuNodeType enum code private. commit ddc429f7 Author: Jannis Pohlmann <jannis@xfce.org> Date: Tue Feb 24 19:52:54 2009 +0100 * docs/reference/: Try to get the damn docs right. * libxfce4menu/libxfce4menu.{c,h}, libxfce4menu/xfce-menu.c: Move xfce_menu_init() and xfce_menu_shutdown() into libxfce4menu.{c,h}. Fix #undef LIBXFCE4MENU_INSIDE_LIBXFCE4MENU_H. * libxfce4menu/xfce-menu-node.{c,h}: Make XfceMenuNodeType enum code private. commit a59ae46f Author: Jannis Pohlmann <jannis@xfce.org> Date: Tue Feb 24 18:20:34 2009 +0100 * docs/reference/: Remove tmpl/ subdir. commit 68b50bdd Author: Jannis Pohlmann <jannis@xfce.org> Date: Tue Feb 24 18:04:53 2009 +0100 * docs/reference/: Update API docs. commit b13a8f36 Author: Jannis Pohlmann <jannis@xfce.org> Date: Tue Feb 24 17:47:32 2009 +0100 * libxfce4menu/xfce-menu-node.h: Add missing declaration for xfce_menu_node_type_get_type(). commit 4efdc16b Author: Jannis Pohlmann <jannis@xfce.org> Date: Tue Feb 24 17:43:50 2009 +0100 * docs/reference/: Update API docs section and stuff. * libxfce4menu/xfce-menu-move.{c,h}: Remove unused source files. commit ba7f5540 Author: Jannis Pohlmann <jannis@xfce.org> Date: Tue Feb 24 17:30:04 2009 +0100 * libfxce4menu/Makefile.am: Remove non-existent files and missing ones. commit 851ebfcb Author: Jannis Pohlmann <jannis@xfce.org> Date: Tue Feb 24 17:26:54 2009 +0100 * libxfce4menu/xfce-menu-gio.{c,h}: Add missing source files for a few GIO/GFile utility functions. commit 41296e94 Author: Jannis Pohlmann <jannis@xfce.org> Date: Tue Feb 24 17:08:10 2009 +0100 * STATUS: Big status update. * TODO: Create a TODO list. * configure.in.in, Makefile.am, tdb/: Remove TDB entirely. * libxfce4menu/libxfce4menu.h: Clean up. * libxfce4menu/xfce-menu-and-rules.{c,h}, libxfce4menu/xfce-menu-not-rules.{c,h}, libxfce4menu/xfce-menu-or-rules.{c,h}, libxfce4menu/xfce-menu-standard-rules.{c,h}, libxfce4menu/xfce-menu-rules.{c,h}: Remove all the XfceMenu*Rules classes. Replace them with one very simple XfceMenuNode function. * libxfce4menu/xfce-menu-directory.{c,h}: Replace the filename string property with a GFile file property. Replace xfce_menu_directory_get_filename() with xfce_menu_directory_get_file() and remove xfce_menu_directory_set_filename(). Fix typos in the signal installation code. * libxfce4menu/xfce-menu-item-cache.c: Remove all TDB related code. Avoid memory leaks when creating new items (same patch as went into the old trunk a while ago, bug #3812). * libxfce4menu/xfce-menu-item-pool.{c,h}: Update xfce_menu_item_pool_apply_exclude_rule() and xfce_menu_item_pool_filter_exclude() to use a GNode instead of an XfceMenuRuleStandardRules. * libxfce4menu/xfce-menu-item.{c,h}: Accept URIs as input to xfce_menu_item_new() and convert them to paths using GFile. * libxfce4menu/xfce-menu-merger.{c,h}: Implement the missing merging and moving code. Fix a lot of bugs in the code. Never access XfceMenuNodes directly, always use xfce_menu_node_tree_*() functions. * libxfce4menu/xfce-menu-node.{c,h}: Add more xfce_menu_node_tree*() functions. Simplify the code. Add support for matching Include/Exclude/And/Or/etc. rules against XfceMenuItems. * libxfce4menu/xfce-menu-parser.{c,h}: Minor cleanups. * libxfce4menu/xfce-menu.{c,h}: Change the first parameter of xfce_menu_new() to GFile. Remove all the parsing code. Use XfceMenuParser and XfceMenuMerger in xfce_menu_load(). Update all the menu loading code to use GNode DOM trees. Replace the filename property with a GFile file property. Still waiting to be implemented again is the layout stuff. Remove functions like xfce_menu_get_directory_dirs() which were not meant for public use anyway. * tests/test-display-menu.c, tests/test-menu-parser.c, tests/test-menu-spec.c: Update to the new API. Cleanups. commit c066f3c3 Author: Jannis Pohlmann <jannis@xfce.org> Date: Sun Feb 22 20:43:33 2009 +0100 * configure.in.in: Depend on GTK+ 2.12 and GLib 2.14. Add dependency on GIO 2.14 as well. * libxfce4menu/Makefile.am: Add new source and header files. * libxfce4menu/libxfce4menu.h: Add new header files. * libxfce4menu/xfce-menu-node.{c,h}: Add new class XfceMenuNode which holds the information for one element in the menu DOM tree, e.g. <MergeFile>, <Name> or <Menu> * libxfce4menu/xfce-menu-tree-provider.{c,h}: Add new interface XfceMenuTreeProvider for classes which hold a GNode DOM representation for .menu files. * libxfce4menu/xfce-menu-parser.{c,h}: Add new parser for .menu XML files. It builds a GNode DOM representation for the XML data. Each GNode in the tree (except for the menu nodes) contains one XfceMenuNode for the XML element information. The parser implements XfceMenuTreeProvider. * libxfce4menu/xfce-menu-merger.{c,h}: Add new class XfceMenuMerger which takes the DOM tree from the parser or any other XfceMenuTreeProvider and resolves duplicates, relative paths and, most importantly, merges and deletes menus according to the information in the DOM tree. It implements XfceMenuTreeProvider. It is not complete yet because it doesn't implement <Move> elements and is not capable of consolidating child menus with the same name at the moment. * tests/Makefile.am, tests/test-menu-parser.c: Add a small test program which parses a menu file using XfceMenuParser and then runs an XfceMenuMerger and prints the output of both.
daeb451a
This project is licensed under the GNU Free Documentation License v1.1.
Learn more