2003-09-06  Matthias Clasen  <maclas@gmx.de>

	* egg-action.c (egg_action_connect_proxy): Disconnect from the
	old action, not the new one.  (Fix by David Hampton)

Sun Jun 29 20:11:41 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* Makefile.am: Remove GTK_DISABLE_DEPRECATED to make it compile
	with the new toolbar added to Gtk+

Fri May  9 17:08:07 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* egg-action.c (egg_action_create_menu_proxy): update for new
	EggToolItem API.

Sun Apr 20 16:04:28 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* egg-menu-merge.c (find_toolbar_position): update for EggToolbar
	changes (use egg_toolbar_get_item_index() instead of
	egg_toolbar_get_tool_items())

Sat Apr  5 14:43:04 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* egg-markup.c (start_element_handler):
	s/egg_toolbar_insert_tool_item/egg_toolbar_insert/

	* egg-menu-merge.c (update_node): ditto

2003-01-11  Johan Dahlin  <jdahlin@async.com.br>

	* egg-menu-merge.c (find_toolbar_position): Use
	egg_toolbar_get_tool_items, instead of toolbar->items.

	* egg-menu-merge.c, egg-markup.c: Replace all
	egg_toolbar_insert_item with egg_toolbar_insert_tool_item.

2002-10-05  Richard Hult  <rhult@codefactory.se>

	* egg-menu-merge.c (update_node): Set the accel group on the menu,
	fixes accels.

	* test-merge.c (main): Add the merge object's accel group to the
	window.

2002-09-14  Matthias Clasen  <maclas@gmx.de>

	* egg-radio-action.c (egg_radio_action_activate): fix the 
	mirroring of state between action and proxy when activating
	active actions.

2002-09-07  James Henstridge  <james@daa.com.au>

	* egg-menu-merge.c (start_element_handler): set parse state
	correctly when we hit a separator.

	* egg-action.c (connect_proxy): override
	EggToolItem::create_menu_proxy to just directly create a proxy
	for the EggAction.

	* egg-menu-merge.c (start_element_handler): create the correct
	type of placeholder node.
	(find_toolbar_position): new function based on
	find_menu_position() that does the same for EggToolbars.
	(update_node): handle tool items closer to how menu items are handled.

	* egg-menu-merge.h: split PLACEHOLDER into menu placeholder and
	toolbar placeholder.  They may be represented the same in the XML,
	but they need to be handled differently.

2002-09-06  James Henstridge  <james@daa.com.au>

	* egg-markup.c (start_element_handler): switch to EggToolbar.

	* test-actions.c (toolbar_style): switch to EggToolbar.

	* egg-toggle-action.c (egg_toggle_action_class_init): tool button
	type is now EggToggleToolButton.
	(egg_toggle_action_real_toggled): handle toggle tool buttons.
	(connect_proxy): and here.

	* egg-action.c (egg_action_class_init): tool button type is
	EggToolButton, rather than GtkButton.
	(create_tool_item): just use g_object_new() to create the tool
	item.
	(connect_proxy): add support for synching with EggToolButton.

	* Makefile.am (libegg_menu_la_LIBADD): require eggtoolbar.

2002-06-08  James Henstridge  <james@daa.com.au>

	* *.c: add some API documentation comments.

	* egg-action.c (egg_action_set_sensitive): remove function --
	people should set the "sensitive" property on the action instead.

2002-05-29  James Henstridge  <james@daa.com.au>

	* egg-accel-dialog.c (egg_accel_dialog_init): set sort column ids
	on the GtkTreeViewColumns in the accel dialog.

2002-05-28  James Henstridge  <james@daa.com.au>

	* test-merge.c (iter_compare_func): sort the list of actions, and
	allow changing the sort order by the action name.

2002-05-27  James Henstridge  <james@daa.com.au>

	* merge-1.ui: fix up ending tag.

	* test-merge.c (entries): make the quit menu item actually quit ...

	* egg-menu-merge.c (cleanup): on error parsing, remove the UI
	reference from the merge object.

	* test-merge.c (toggle_merge): pay attention to errors generated
	by the egg_menu_merge_add_ui_from_file() function.

2002-05-26  James Henstridge  <james@daa.com.au>

	* test-merge.c (main): change layout of test program a bit.

	* egg-menu-merge.c (start_element_handler): add the UI reference
	to the correct node when we see "toolitem" elements.

	* merge-1.ui: add a <dockitem> entry.

	* egg-menu-merge.c (update_node): get the action name from the top
	ui reference.
	(update_node): ref the action in the EggMenuMergeNode.
	(update_node): add code to create Toolbar widget.

2002-05-26  Anders Carlsson  <andersca@gnu.org>

	* egg-action-group.c: (add_single_action),
	(egg_action_group_list_actions):
	* egg-action-group.h:
	Add egg_action_group_list_action which returns a GList 
	with the actions.
	
	* test-merge.c: (set_name_func), (set_sensitive_func),
	(set_visible_func), (sensitivity_toggled), (visibility_toggled),
	(create_tree_view), (main):
	Add a tree view with all the actions and the ability to toggle
	visibility and sensitivity of action proxies.
	
2002-05-26  James Henstridge  <james@daa.com.au>

	* test-actions.c (show_accel_dialog): reenable the action that
	displays the accel dialog.

	* egg-accel-dialog.[ch]: add accel dialog.

	* egg-action.c (egg_action_connect_proxy): add some checks, and if
	the proxy is already connected to an action, then disconnect it
	first.
	(egg_action_disconnect_proxy): add checks, including checking if
	the proxy is actually associated with this action.

2002-05-25  James Henstridge  <james@daa.com.au>

	* egg-menu-merge.c (egg_menu_merge_init): create a merge_id during
	init, and reference the "Root" and "Root/popups" nodes.

2002-05-24  James Henstridge  <james@daa.com.au>

	* test-merge.c (main): changes to demonstrate demerging.

	* egg-menu-merge.c (start_element_handler): handle separators
	properly when reading UI files.
	(update_node): show separators in the update ...

	* merge-3.ui: put the "Test" menu inside the placeholder, to
	demonstrate the placeholder.

	* egg-menu-merge.c (get_child_node): do a strlen() test before
	strncmp(), so we match the strings correctly.

	* test-merge.c: spell StockHelpMenu right.

	* egg-menu-merge.c (update_node): add some code for the handling
	menu items, placeholders and separators to the update handler.
	Not quite working yet though.
	(find_menu_position): function to calculate position in the parent
	menu shell that the item should be placed, taking into account
	placeholders, etc.

2002-05-23  Anders Carlsson  <andersca@gnu.org>
	
	* egg-action.c: (egg_action_connect_proxy),
	(egg_action_disconnect_proxy):
	* egg-action.h:
	Add functions to connect and disconnect proxies.
	
	* egg-menu-merge.c: (update_node):
	Add support for merging menus.
	
2002-05-22  James Henstridge  <james@daa.com.au>

	* test-merge.c (main): call gtk_main_quit() when the toplevel gets
	destroyed.

	* egg-menu-merge.c (update_node): add support for removing proxies
	and pruning dead UI nodes in the update handler.

2002-05-22  Anders Carlsson  <andersca@gnu.org>

	* merge-1.ui:
	* merge-3.ui:
	* test-merge.c: (dump_tree), (main):
	Add new placeholder tests, add a "Dump Tree" button
	to the test program.
	
2002-05-22  Anders Carlsson  <andersca@gnu.org>

	* egg-menu-merge.c: (update_node):
	* test-merge.c: (add_widget), (main):
	Add support for merging menu bars.
	
2002-05-22  Anders Carlsson  <andersca@gnu.org>

	* egg-menu-merge.c: (get_action_by_name), (update_node):
	* egg-menu-merge.h:
	Make action handling more sane, and add an
	EGG_MENU_MERGE_SEPARATOR type.
	
2002-05-22  Anders Carlsson  <andersca@gnu.org>

	* egg-menu-merge.c: (egg_menu_merge_class_init):
	* egg-menu-merge.h:
	Add "add_widget" and "remove_widget" signals.
	
2002-05-22  James Henstridge  <james@daa.com.au>

	Merge in Anders' egg-menu-demerge.diff patch with some
	modifications:
	- use guint merge_ids with 0 being the invalid one
	- nodes with no name implicitly get the action name.  This name
	  doesn't change with subsequent merges/demerges.

	* egg-menu-merge.c (start_element_handler): add merge_id tags to
	nodes...
	(egg_menu_merge_add_ui_from_string): create a new merge_id tag for
	this bit of UI, and use the ID as return value (0 for errors).
	(egg_menu_merge_remove_ui): add demerge function.
	(update_node): don't use g_node_traverse, so that we can perform
	some actions before and after processing children.

	* egg-menu-merge.h: add last_merge_id attribute.

2002-05-07  Anders Carlsson  <anders@gnu.org>

	* Makefile.am:

2002-05-04  James Henstridge  <james@daa.com.au>

	* test-merge.c (main): actually set up an action group for the
	menu merge demo.

	* egg-menu-merge.c (update_node): some updates to lookup actions
	in the update handler.

2002-05-01  James Henstridge  <james@daa.com.au>

	* egg-markup.c (start_element_handler): adjust to new API.

	* egg-action.c (tool_button_parent_set): add a hack to set the
	toolbar child type to GTK_TOOLBAR_CHILD_BUTTON.  This makes them
	size like normal toolbar buttons.
	(egg_action_create_tool_item): change API to be more similar to
	the menu item API.

	* egg-toggle-action.c (add_toolbar_button): get rid of this
	function and rely on the base EggAction version.

	* egg-action.c (tool_button_new): functions to make buttons that
	act like ones added with gtk_toolbar_append_item().
	(add_toolbar_button): simplify this function, so all the work is
	done in connect_proxy().

	* test-actions.c: leave the "label" property of the quit EggAction
	as NULL, to demonstrate fall back to the label associated with a
	stock id.

	* egg-toggle-action.c (create_menu_item): get rid of this
	function, instead relying on the connect_proxy() function to
	handle this.

	* egg-action.c (create_menu_item): simplify function to just
	create an item without filling in any details.

2002-05-01  James Henstridge  <james@daa.com.au>

	* egg-action.c (egg_action_sync_stock_id): support for
	synchronising the stock image on a menu item.

2002-04-30  Anders Carlsson  <andersca@gnu.org>

	* egg-action.c: (egg_action_class_init):
	* egg-toggle-action.c: (egg_toggle_action_class_init):

2002-04-30  James Henstridge  <james@daa.com.au>

	* egg-action.c (egg_action_sync_property): I was a little too fast
	in starting to write new closure types.  A simple function will do
	the job :)
=======
	Use the normal gobject marshalers.
	
2002-04-30  James Henstridge  <james@daa.com.au>
>>>>>>> 1.10

	* test-actions.c (toggle_cnp_actions): demonstrate "label" change
	propagation.

	* egg-action.c (connect_proxy): synchronise the label on menu
	items.

	* test-actions.c (toggle_cnp_actions): add an action that toggles
	the sensitivity of the cut/copy/paste actions.

	* egg-action.c (egg_action_set_property): add code to handle cases
	where label and short_label are unset (label defaults to label
	associated with stock id, short_label defaults to label).

2002-04-29  James Henstridge  <james@daa.com.au>

	* egg-action.c (egg_action_notify_closure_new): new function to
	create a closure for watching property change notifications on the
	action and propagating them to the proxy.

2002-04-28  James Henstridge  <james@daa.com.au>

	* egg-action-group.c (egg_action_group_add_actions): move
	implementation from gmenu-action-store.c

	* egg-action-group.h: add defs for the add_actions() convenience
	API.

	* egg-action.c (egg_action_get_property): if ->label hasn't been
	set, but a stock_id has been set, look up the label corresponding
	to the stock id.

2002-04-27  James Henstridge  <james@daa.com.au>

	* (lots of files): move to libegg, and rename to Egg namespace.
	Some cleanups (change EggActionGroup to a plain GObject rather
	than an interface).

2002-03-03  James Henstridge  <james@daa.com.au>

	* gmenu-merge.c (gmenu_merge_insert_action_group): add
	implementation.
	(gmenu_merge_remove_action_group): add implementation.
	(gmenu_merge_get_widget): function to get a proxy at a particular
	menu path.

2002-03-02  James Henstridge  <james@daa.com.au>

	* gmenu-merge.c: fix some bugs found when writing the test prog.

	* testmerge.c (print_node): new test program for merge code.

	* gmenu-merge.[ch]: check in first go at GMarkup parsing code for
	adding UI elements to the merged UI.

2002-02-18  Anders Carlsson  <andersca@gnu.org>

	* gmenu-action.h: Add gmenu_action_set_sensitive to header.

	* gmenu-action.c (gmenu_action_set_sensitive): Implement 
	this function.

2002-01-11  James Henstridge  <james@daa.com.au>

	* gmenu-markup.c (start_element_handler): get rid of extra
	gtk_menu_item_set_accel_path() call, as the gtk bug is gone.

2002-01-08  James Henstridge  <james@daa.com.au>

	* tester.c (create_window): create accel group here rather than
	using action group's accel group (which doesn't exist anymore).
	(main): get rid of accel_group mentions here.

	* gmenu-markup.c (gmenu_create_from_string): store accel group
	pointer in context struct.
	(gmenu_create_from_file): handle accel_group arg.
	(start_element_handler): set accel group on menus, and set the
	accel path on menu items (again) to work around a bug in gtk.

	* gmenu-markup.h (gmenu_create_from_{file,string}): add
	GdkAccelGroup arg to function prototypes.

	* gmenu-toggle-action.c (create_menu_item): same here.

	* gmenu-action.c (gmenu_action_set_accel_path): don't set up an
	accel on the action itself -- just store the quark.
	(create_menu_item): make accel label watch accels on menu item
	rather than action.

	* gmenu-action.h: get rid of GtkAccelGroup stuff.

	* gmenu-action-store.c: same.

	* gmenu-action-store.h: get rid of GtkAccelGroup mentions in
	header.
