• Jannis Pohlmann's avatar
    Squashed commit of the following: · daeb451a
    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