Skip to content
  • Mark McLoughlin's avatar
    Merge from layout-support branch: · 236f57f9
    Mark McLoughlin authored
    2005-03-23  Mark McLoughlin  <mark@skynet.ie>
    
    	* python/Makefile.am: don't build with $(WARN_CFLAGS)
    
    2005-03-23  Mark McLoughlin  <mark@skynet.ie>
    
    	* libmenu/menu-layout.c: (menu_layout_values_set): fix silly
    	crasher.
    
    	* libmenu/menu-tree.c:
    	(merge_subdir), (merge_subdir_by_name),
    	(merge_entry), (merge_entry_by_id), (merge_subdirs),
    	(merge_entries), (process_layout_info): adding debugging
    	verbosity.
    	(merge_subdirs_and_entries): ditto and fix thinko causing
    	warnings.
    
    2005-03-15  Mark McLoughlin  <mark@skynet.ie>
    
    	Implement the last bits of the python binding.
    
    	* python/gmenu.pyx:
    	Include definition for g_free()
    	Implement Directory.make_path ()
    	Add MonitorCallback class to encapsulate a python
    	callback, user data and menu tree
    	Implement Tree.add_monitor() and Tree.remove_montor()
    
    2005-03-15  Mark McLoughlin  <mark@skynet.ie>
    
    	Add python bindings. Mostly complete, but still need
    	to finish wraping:
    	  - menu_tree_directory_make_path ()
    	  - menu_tree_add_monitor ()
    	  - menu_tree_remove_monitor ()
    
    	* configure.in, acinclude.m4: add python checks, copied
    	from dbus.
    
    	* Makefile.am: build the python subdir.
    
    	* python/Makefile.am: again copied from dbus.
    
    	* python/gmenu.pyx: Pyrex wrapping of the API.
    
    2005-03-15  Mark McLoughlin  <mark@skynet.ie>
    
    	* libmenu/menu-tree.h:
    	(menu_tree_entry_get_parent): remove.
    
    2005-03-14  Mark McLoughlin  <mark@skynet.ie>
    
    	Implement support for <Layout> and <DefaultLayout>.
    
    	Based on a patch from Frederic Crozat <fcrozat@mandrakesoft.com>
    	in bug #164310.
    
    	* libmenu/menu-tree.h: API changes:
    	  - Add MenuTreeItem type as base class of other items
    	  - Make MenuTreeEntry and MenuTreeDirectory its sub-classes
    	  - Add MenuTreeSeparator, MenuTreeAlias and MenuTreeHeader
    	  - menu_tree_entry_ref/unref() becomes menu_tree_item_ref/unref()
    	  - ditto for menu_tree_directory_ref/unref()
    	  - Instead of having menu_tree_directory_get_entries() and
    	    menu_tree_directory_get_subdirs, we now have
    	    menu_tree_directory_get_contents()
    	  - menu_tree_directory/entry_get_parent() becomes
    	    menu_tree_item_get_parent()
    	  - Add menu_tree_header_get_directory (), menu_tree_alias_get_directory()
    	    and menu_tree_alias_get_item ()
    
    	* libmenu/menu-tree.c:
    	(find_path): look up the path from the laid out contents.
    	(menu_tree_item_compare): add compare function for sorting
    	directories and entries as peers.
    	(collect_layout_info): retain the contents of the last <Layout>
    	node we come across for each <Menu>
    	(process_layout): retain the attributes of the last <DefaultLayout>
    	node we come across for each <Menu>.
    	(process_only_unallocated): don't prune empty subdirs here.
    	(merge_subdir), (merge_subdir_by_name),
    	(merge_entry), (merge_entry_by_id), (merge_subdirs),
    	(merge_entries), (merge_subdirs_and_entries): various helpers
    	to implement <Merge type="all|files|menus"> and merging by
    	<Filename>/<Menuname>
    	(get_values_with_defaults): get the <Layout> attributes from
    	a node, using the values from the <DefaultLayout> for any unset
    	attribute.
    	(process_layout_info): implement the final post-processing of
    	the menu where the list of entries and subdirs gets laid out
    	and merged according to <Layout> and <DefaultLayout>
    
    	* libmenu/menu-layout.[ch]:
    	(menu_layout_node_new): allocate DefaultLayout, Layout and
    	Menuname structures.
    	(menu_layout_node_copy): remove, unused.
    	(menu_layout_node_legacy_dir_set_prefix): remove string compare
    	by pointer.
    	(menu_layout_node_merge_get_type),
    	(menu_layout_node_merge_set_type),
    	(menu_layout_node_default_layout_get_values),
    	(menu_layout_node_menuname_get_values),
    	(menu_layout_values_set),
    	(menu_layout_node_default_layout_set_values):
    	(menu_layout_node_menuname_set_values):  support setting/getting
    	the various attributes on <DefaultLayout>, <Layout> and <Menuname>
    	(start_menu_child_element),
    	(start_layout_child_element): set the attributes.
    
    	* util/test-menu-spec.c:
    	(append_directory_path), (print_entry),	(print_directory),
    	(handle_tree_changed), (main): adapt to API changes.
    236f57f9