1. 09 Aug, 2004 1 commit
    • Matthias Clasen's avatar
      Add hidden aliases for exported symbols which are used internally in order · 3612aee5
      Matthias Clasen authored
      Mon Aug  9 12:48:04 2004  Matthias Clasen  <maclas@gmx.de>
      
      	Add hidden aliases for exported symbols which are
      	used internally in order to get rid of many PLT
      	entries.  (#145519, Arjan van de Ven)
      
      	* gtk/Makefile.am: Add rules to generate gtk.def and
      	from gtk.symbols, and make make check check the abi
      	with abicheck.sh.
      	(gtk_private_h_sources): Add gtkinternals.h
      	(gtk_built_private_headers): Add gtkalias.h
      	(gtk_extra_sources): Add gtk.symbols
      	(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh
      
      	* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
      	The file can be processed by cpp to filter out certain
      	subsets of symbols.
      
      	* gtk/abicheck.sh: New file. Script to check the actually
      	symbols exported from libgtk-x11.2.0.so against the symbols
      	found in gtk.symbols.
      
      	* gtk/makegtkalias.pl: New file. Perl script to generate the
      	header containing the alias definitions for internally used
      	exported symbols from a list of symbols.
      
      	* gtk/gtkinternals.h: New file. An uninstalled header listing
      	symbols which must be exported for some reason and do not appear
      	in any other header.
      
      	* gtk/*.c: Include gtkalias.h
      3612aee5
  2. 04 Aug, 2004 1 commit
  3. 02 Aug, 2004 1 commit
    • Matthias Clasen's avatar
      Document the xalign property and its getter and setter as 2.4 additions. · d0706520
      Matthias Clasen authored
      Mon Aug  2 00:12:16 2004  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkentry.c (gtk_entry_class_init):
      	(gtk_entry_get_alignment):
      	(gtk_entry_set_alignment): Document the xalign property
      	and its getter and setter as 2.4 additions.  (#148978,
      	Axel Simon)
      
      Mon Aug  2 00:11:31 2004  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkuimanager.c (gtk_ui_manager_class_init):
      	* gtk/gtkactiongroup.c (gtk_action_group_class_init): Use
      	canonical signal names in doc comments, since gtk-doc won't
      	pick up signal docs with underscores.
      d0706520
  4. 28 Jul, 2004 1 commit
    • Matthias Clasen's avatar
      Warning fixes. · 6f0625ce
      Matthias Clasen authored
      2004-07-28  Matthias Clasen  <mclasen@redhat.com>
      
      	* gtk/gtkuimanager.c: Warning fixes.
      6f0625ce
  5. 20 Jul, 2004 1 commit
    • Matthias Clasen's avatar
      Add some refcount debugging. · 82877f9e
      Matthias Clasen authored
      2004-07-20  Matthias Clasen  <mclasen@redhat.com>
      
      	* tests/testactions.c (main):
      	* tests/testmerge.c (main): Add some refcount debugging.
      
      	* gtk/gtkuimanager.c (update_node, free_node): Ref an sink
      	all proxies, so that we can properly clean up floating proxies
      	which the app didn't adopt.  (#147926, Tommi Komulainen)
      82877f9e
  6. 06 Jul, 2004 1 commit
  7. 11 May, 2004 1 commit
  8. 09 May, 2004 1 commit
  9. 05 May, 2004 1 commit
    • Matthias Clasen's avatar
      Merge from 2.4: · 37374c62
      Matthias Clasen authored
      2004-05-05  Matthias Clasen  <mclasen@redhat.com>
      
      	Merge from 2.4:
      
      	* gtk/gtkuimanager.c (print_node): Make the output
      	parseable.  (#141929, Sven Neumann)
      37374c62
  10. 03 May, 2004 1 commit
  11. 22 Apr, 2004 1 commit
  12. 13 Apr, 2004 2 commits
  13. 09 Apr, 2004 1 commit
  14. 22 Feb, 2004 1 commit
    • Matthias Clasen's avatar
      Add chains to the parent's ::finalize() handler (#134901, Morten Welinder, · a362428d
      Matthias Clasen authored
      Sun Feb 22 03:03:29 2004  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkaction.c: (gtk_action_finalize):
      	* gtk/gtkclipboard.c: (gtk_clipboard_finalize):
      	* gtk/gtkentrycompletion.c: (gtk_entry_completion_class_init),
      	(gtk_entry_completion_finalize):
      	* gtk/gtkfilechooserwidget.c: (gtk_file_chooser_widget_finalize):
      	* gtk/gtkfilesystemmodel.c: (gtk_file_system_model_class_init),
      	(gtk_file_system_model_finalize):
      	* gtk/gtkicontheme.c: (gtk_icon_theme_class_init),
      	(gtk_icon_theme_finalize):
      	* gtk/gtktextchild.c: (gtk_text_child_anchor_finalize):
      	* gtk/gtkuimanager.c: (gtk_ui_manager_class_init),
      	(gtk_ui_manager_finalize):
      	* modules/input/gtkimcontextxim.c: (gtk_im_context_xim_finalize):
      	Add chains to the parent's ::finalize() handler  (#134901, Morten Welinder,
      	patch by Jan Arne Petersen)
      a362428d
  15. 19 Feb, 2004 1 commit
    • Matthias Clasen's avatar
      Add default handlers for all signals; for consistency and for the benefit · 7b29d57a
      Matthias Clasen authored
      Thu Feb 19 01:39:30 2004  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkuimanager.h:
      	* gtk/gtkuimanager.c (gtk_ui_manager_class_init): Add
      	default handlers for all signals; for consistency and for the
      	benefit of language bindings which still rely on header parsing
      	to find the signals.  (#134269, Jeroen Zwartepoorte)
      7b29d57a
  16. 16 Jan, 2004 1 commit
    • Matthias Clasen's avatar
      The first part of the fix for #114351 (see also gdk-pixbuf/ChangeLog and · 07d4d314
      Matthias Clasen authored
      Fri Jan 16 23:59:01 2004  Matthias Clasen  <maclas@gmx.de>
      
      	The first part of the fix for #114351 (see also
      	gdk-pixbuf/ChangeLog and po/ChangeLog):
      
      	* gtk/gtkintl.h:
      	* gdk-pixbuf/gdk-pixbuf-i18n.h:
      	* gdk/gdkintl.h: Define P_() for property blurbs and nicks.
      
      	* gdk/gdkdisplaymanager.c:
      	* gdk-pixbuf/gdk-pixbuf.c:
      	* modules/input/gtkimcontextxim.c:
      	* gtk/*.c:  Mark property blurbs and nicks with P_().
      
      	* po/Makefile.in.in: Add --keyword=P_ to the xgettext
      	invocation, since property blurbs and nicks are
      	now marked with P_().
      07d4d314
  17. 15 Jan, 2004 1 commit
  18. 12 Jan, 2004 1 commit
    • Jody Goldberg's avatar
      Adjust to the new connect_proxy signals. · c73ab06e
      Jody Goldberg authored
      Mon Jan 12 23:40:34 2004  Matthias Clasen  <maclas@gmx.de>
      
      	* tests/testmerge.c: Adjust to the new connect_proxy signals.
      
      	* gtk/gtkuimanager.c
      	* gtk/gtkactiongroup.c
      	* gtk/gtkaction.c: Move the connect_proxy and disconnect_proxy signals
      	from GtkAction to GtkActionGroup and proxy it on GtkUIManager. This
      	removes the confusion between the disconnect_/connect_proxy signals
      	and the (unrelated) virtual functions of the same name and aligns
      	the setup with the pre_/post_activate signals.
      
      2004-01-12  Jody Goldberg <jody@gnome.org>
      
      	* gtk/gtkaction.c (connect_proxy) : only connect activate for menus
      	  with no submenus otherwise it looks like we activate every time a
      	  submenu opens.
      
      2004-01-10  Jody Goldberg <jody@gnome.org>
      
      	* gtk/gtkuimanager.c (d) : Add a debug macro to quiet the spew.
      	s/merge_signals/ui_manager_signals/ for readability.
      	(gtk_ui_manager_class_init) : add pre_activate and post_activate
      	  signals.
      	(cb_proxy_pre_activate) : new.
      	(cb_proxy_post_activate) : new.
      	(gtk_ui_manager_insert_action_group) : connect the proxies for
      	  GtkActionGroup::pre/post_activate
      	(gtk_ui_manager_remove_action_group) : disconnect them.
      
      	* gtk/gtkactiongroup.c (gtk_action_group_class_init) : add
      	  'sensitive', and 'visible' properties.  Also add pre_activate and
      	  post_activate signals to help deal with activations at a higher
      	  level (eg GtkUIManager)
      	(gtk_action_group_init) : init sensitive and visible
      	(gtk_action_group_set_property) : add sensitive and visible
      	(gtk_action_group_get_property) : add sensitive and visible
      	(gtk_action_group_get_sensitive) : new.
      	(gtk_action_group_get_visible) : new.
      	(cb_set_action_sensitivity) : new with minor optimization that only
      	  signals sensitivity changes if the action could possibly change.
      	(cb_set_action_visiblility) : ditto.
      	(gtk_action_group_set_sensitive) : new.  walk the actions directly
      	  rather than using notify::sensitive because that is simpler, easier
      	  to read, and more efficient.
      	(gtk_action_group_set_visible) : ditto.
      	(gtk_action_group_add_action) : Each action can only be in 1 group,
      	  set GtkAction::action_group.
      	(gtk_action_group_remove_action) : clear it.
      	(gtk_action_group_add_toggle_actions_full) : warning suppression.
      	(gtk_action_group_add_radio_actions_full) : warning suppression.
      	(_gtk_action_group_emit_pre_activate) : new protected routine for use
      	  by GtkAction.
      	(_gtk_action_group_emit_post_activate) : ditto.
      
      	* gtk/gtkaction.c (gtk_action_class_init) : add 'action_group' property.
      	(gtk_action_init) : initialize it.
      	(gtk_action_get_property) : get.
      	(gtk_action_set_property) : set it via
      	(gtk_action_set_action_group) : new function.
      	(gtk_action_sync_sensitivity) : new routine to sync proxy sensitivity
      	  with the logical sensitivity (action & group) rather than the simple
      	  action::sensitivity.
      	(gtk_action_sync_visible) : use gtk_action_is_visible to handle
      	  logical visibility (action & group) rather than the simple
      	  action::visible.  Use widget show/hide directly.
      	(connect_proxy) : handle the custom sensitivity handler.
      	  Make the TOOL_BUTTON signals more general and support TOOL_ITEM
      	  directly, with special cases for TOOL_BUTTON.  Still not especially
      	  good it might be useful to handle label/use_underline by parmspec
      	  lookup.  Those are likely to be implemented by custom types, and are
      	  assumed to exist in GtkToolItem.
      	(disconnect_proxy) : disconnect the new sensitivity handler.
      	(_gtk_action_emit_activate) : add pre/post signals.
      	(gtk_action_activate) : use logical sensitivity.
      	(gtk_action_is_sensitive) : logical sensitivity.
      	(gtk_action_get_sensitive) : actual sensitivity.
      	(closure_accel_activate) : use logical sensitivity.
      c73ab06e
  19. 11 Jan, 2004 1 commit
  20. 09 Jan, 2004 1 commit
  21. 08 Jan, 2004 1 commit
    • Matthias Clasen's avatar
      New function to obtain a list of toplevel widgets constructed by the ui · f2bb20cc
      Matthias Clasen authored
      Fri Jan  9 00:34:57 2004  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkuimanager.h:
      	* gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): New function to
      	obtain a list of toplevel widgets constructed by the ui manager.
      
      	* gtk/gtkuimanager.h (GtkUIManagerItemType): Change to flags, so that
      	the values can be combined for gtk_ui_manager_get_toplevels().
      
      	* tests/testmerge.c: Add a "Dump toplevels" button to test
      	gtk_ui_manager_get_toplevels().
      f2bb20cc
  22. 29 Dec, 2003 1 commit
  23. 21 Dec, 2003 1 commit
    • Matthias Clasen's avatar
      Fix memory leaks caused by the failure to free the result of · 6a6455d7
      Matthias Clasen authored
      Sun Dec 21 23:17:01 2003  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkuimanager.c (update_node):
      	(update_smart_separators):
      	(_gtk_menu_is_empty):
      	(find_menu_position):
      	* gtk/gtktreeview.c (gtk_tree_view_search_dialog_destroy):
      	* gtk/gtkcombobox.c (gtk_combo_box_relayout_item):
      	(gtk_combo_box_relayout): Fix memory leaks caused by the
      	failure to free the result of gtk_container_get_children().
      	(#127576, Yao Zhang)
      6a6455d7
  24. 27 Nov, 2003 1 commit
    • Matthias Clasen's avatar
      Remove debug define. · c9fca584
      Matthias Clasen authored
      Thu Nov 27 22:17:50 2003  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkuimanager.c: Remove debug define.
      c9fca584
  25. 24 Nov, 2003 1 commit
  26. 16 Nov, 2003 1 commit
    • Matthias Clasen's avatar
      Reinstate fixes for (#124212, Marco Pesenti Gritti): · 01d2e366
      Matthias Clasen authored
      Sun Nov 16 22:50:58 2003  Matthias Clasen  <maclas@gmx.de>
      
      	Reinstate fixes for (#124212, Marco Pesenti Gritti):
      
      	* gtk/gtkuimanager.c (update_smart_separators): Don't spit
      	warnings for popups.
      	(_gtk_menu_is_empty): Return FALSE for non-menus.
      01d2e366
  27. 03 Nov, 2003 1 commit
  28. 27 Oct, 2003 1 commit
    • Manish Singh's avatar
      #include <X11/extensions/Xrandr.h> if we have RandR support, for · afad91fe
      Manish Singh authored
      Mon Oct 27 15:47:58 2003  Manish Singh  <yosh@gimp.org>
      
              * gdk/x11/gdkscreen-x11.c: #include <X11/extensions/Xrandr.h> if
              we have RandR support, for XRRUpdateConfiguration declaration.
      
              * gtk/gtkfilefilter.c: #include "gtkprivate.h" for _gtk_fnmatch
              declaration.
      
              * gtk/gtkuimanager.c (gtk_ui_manager_add_ui_from_file): Make
              length a gsize variable, since that's what g_file_get_contents()
              expects.
      afad91fe
  29. 10 Oct, 2003 1 commit
    • Matthias Clasen's avatar
      Fixes for (#124212, Marco Pesenti Gritti): · e8bcc9af
      Matthias Clasen authored
      Fri Oct 10 22:50:05 2003  Matthias Clasen  <maclas@gmx.de>
      
      	Fixes for (#124212, Marco Pesenti Gritti):
      
      	* gtk/gtkuimanager.c (update_smart_separators): Don't spit
      	warnings for popups.
      	(_gtk_menu_is_empty): Return FALSE for non-menus.
      e8bcc9af
  30. 30 Sep, 2003 1 commit
    • Matthias Clasen's avatar
      Test handling of empty menus. · 57f13d81
      Matthias Clasen authored
      2003-09-30  Matthias Clasen  <maclas@gmx.de>
      
      	* tests/merge-*.ui:
      	* tests/testmerge.c: Test handling of empty menus.
      
      	* gtk/gtkuimanager.c (_gtk_menu_is_empty): New function to determine
      	whether a menu is empty. Used in gtkaction.c.
      	(update_smart_separators): Also update the visibility of empty menus.
      	(update_node): When creating a new menu proxy, insert an "Empty" menu
      	item which only gets shown if the menu is empty.
      
      	* gtk/gtkaction.c (gtk_action_class_init): Document the meaning of
      	"is_important" for menu proxies.
      	(_gtk_action_sync_menu_visible): New function to sync the visibility
      	of menu proxies. Used in gtkuimanager.c.
      	(gtk_action_sync_visible): New function to sync the visibility of
      	proxies.
      57f13d81
  31. 26 Sep, 2003 1 commit
    • Matthias Clasen's avatar
      Demonstrate the use of the connect-proxy signal. · eeed9d18
      Matthias Clasen authored
      2003-09-27  Matthias Clasen  <maclas@gmx.de>
      
      	* tests/testmerge.c: Demonstrate the use of the
      	connect-proxy signal.
      
      	* gtk/gtkaction.c (connect_proxy): Add connect-proxy and
      	disconnect-proxy signals to do small customizations
      	like displaying tooltips in the statusbar without
      	custom actions.  (#122894, Philip Langdale)
      
      	* gtk/gtkuimanager.c (update_node): Don't leak tooltip.
      eeed9d18
  32. 23 Sep, 2003 1 commit
    • Matthias Clasen's avatar
      Sync tooltips on toolitems. · a93cee89
      Matthias Clasen authored
      2003-09-24  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkaction.c (connect_proxy): Sync tooltips on toolitems.
      
      	* gtk/gtkuimanager.c (update_node): Don't complain about missing
      	actions on popups. Re-set "tooltip" property on toolitems after
      	adding them to parent to trigger proxy update.
      a93cee89
  33. 21 Sep, 2003 1 commit
    • Matthias Clasen's avatar
      Changes to make cross-process merging feasible: · d381967d
      Matthias Clasen authored
      2003-09-21  Matthias Clasen  <maclas@gmx.de>
      
      	Changes to make cross-process merging feasible:
      
      	* gtk/gtkuimanager.[hc]: Add a readonly "ui" property which holds the
      	merged UI definition. Remove the "changed" signal, since its role
      	is now filled by "notify::ui". Instead add a "actions-changed" signal
      	which gets emitted when the set of actions changes.
      
      	* gtk/gtktoggleactionprivate.h:
      	* gtk/gtktoggleaction.[hc] (gtk_toggle_action_[sg]et_draw_as_radio):
      	Add a "draw_as_radio" property to toggle actions so that they can be
      	used as proxies for radio actions much like the "draw_as_radio"
      	property on check menu items enables them to operate as proxies for
      	radio actions.
      
      	Prevent the "show_all" trap for action-based menus (see
      	http://mail.gnome.org/archives/gtk-devel-list/2003-September/
      	msg00260.html):
      
      	* gtk/gtkmenu.c (gtk_menu_{hide,show}_all): Remove g_return_if_fail()
      	calls from static functions.
      
      	* gtk/gtkuimanager.c (update_node):
      	* gtk/gtkaction.c (connect_proxy): Set "no_show_all" on constructed
      	widgets whose visibility is externally controlled.
      
      	* gtk/gtkwidget.[hc] (gtk_widget_[gs]et_no_show_all): Add a boolean
      	"no_show_all" property with setter and getter. When TRUE, it keeps
      	gtk_widget_{hide,show}_all() from modifying the visibility of the
      	widget and its children.
      d381967d
  34. 17 Sep, 2003 3 commits
    • Matthias Clasen's avatar
      Install accelerators on actions, not on proxies, support accelerator-only · 0ceb0db0
      Matthias Clasen authored
      2003-09-18  Matthias Clasen  <maclas@gmx.de>
      
      	Install accelerators on actions, not on proxies, support
      	accelerator-only actions:
      
      	* gtk/gtkmenu.c (get_accel_path): New function to get the accel path
      	and its lock status either via _gtk_widget_get_accel_path() or by
      	looking at the accel_path stored in the menu item itself and determining
      	its lock status by peeking into the contained accel label. This was
      	already (accidentally) committed a week ago.
      
      	* gtk/gtkaction.h (gtk_action_set_accel_group):
      	(gtk_action_[dis]connect_accelerator): New functions.
      
      	* gtk/gtkaction.c (struct _GtkActionPrivate): Add accel_group,
      	accel_closure and accel_count. We must have a reference to the accel_group,
      	since we need it in connect_proxy. The count is necessary to ensure
      	that the accelerator isn't removed before the last proxy requesting
      	it has been unmerged.
      	(connect_proxy): Connect the accelerator to the
      	action now, only set the accel_path on the menuitem.
      	(remove_proxy): Disconnect the accelerator from the action, not from
      	the menuitem.
      	(gtk_action_set_accel_group): Set the accel group.
      	(gtk_action_[dis]connect_accelerator): Count the number of times
      	this functions have been called and install/remove the accelerator if
      	the count leaves/reaches zero.
      
      	* gtk/gtkuimanager.h (GtkUIManagerItemType): Add
      	GTK_UI_MANAGER_ACCELERATOR.
      
      	* gtk/gtkuimanager.c (NodeType): Add NODE_TYPE_ACCELERATOR.
      	(start_element_handler): Create NODE_TYPE_ACCELERATOR nodes from
      	<accelerator> elements.
      	(gtk_ui_manager_add_ui): Create NODE_TYPE_ACCELERATOR nodes when
      	type is GTK_UI_MANAGER_ACCELERATOR.
      	(update_node): Set the accel group on actions before creating their
      	proxies. Don't set the accel group on created menus. For
      	NODE_TYPE_ACCELERATOR nodes, [dis]connect the actions' accelerator.
      	(print_node): Also emit <accelerator> elements.
      
      	* tests/testmerge.c (dump_accels): Add a "Dump Accels" button.
      0ceb0db0
    • Matthias Clasen's avatar
      Robustness improvements. · a7ad2a46
      Matthias Clasen authored
      	* gtk/gtkuimanager.c (update_node): Robustness improvements.
      a7ad2a46
    • Matthias Clasen's avatar
      Report unexpected character data as error from the GMarkup parser, · 3044d0f5
      Matthias Clasen authored
      2003-09-17  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkuimanager.c (text_handler): Report unexpected character
      	data as error from the GMarkup parser, otherwise things like
      	gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error)
      	pass unexpectedly.
      3044d0f5
  35. 15 Sep, 2003 2 commits
    • Matthias Clasen's avatar
      Apply egtk-format-protos. Doc tweaks. · 543b020f
      Matthias Clasen authored
      	* gtk/gtkaction.h: Apply egtk-format-protos.
      	* gtk/gtkuimanager.c: Doc tweaks.
      
      	* gtk/tmpl/gtkaction.sgml:
      	* gtk/tmpl/gtkradioaction.sgml:
      	* gtk/tmpl/gtkactiongroup.sgml:
      	* gtk/tmpl/gtkuimanager.sgml: Updates.
      543b020f
    • Matthias Clasen's avatar
      New function which implements "smart" separators by iterating once over · c77b0caa
      Matthias Clasen authored
      	* gtk/gtkuimanager.c (update_smart_separators): New function which
      	implements "smart" separators by iterating once over the entries of a
      	menu, hiding and showing separators as necessary.
      	(update_node): Mark separators used as fences of placeholders as
      	hidden. Explicitly added separators are marked as smart. Call
      	update_smart_separators after updating a menu or toolbar node.
      	Connect update_smart_separators to "notify::visible" signal on menu
      	and tool items.
      
      	* tests/merge-[12].ui: Test smart separators.
      
      	* gtk/tmpl/gtkuimanager.sgml: Add a paragraph about smart separators.
      c77b0caa
  36. 11 Sep, 2003 1 commit
    • Matthias Clasen's avatar
      Add table menu tests. · 6f81c10a
      Matthias Clasen authored
      2003-09-11  Matthias Clasen  <maclas@gmx.de>
      
      	* tests/testgtk.c: Add table menu tests.
      
      	* gtk/gtkmenu.c (gtk_menu_free_private): Don't forget to free the
      	GtkMenuPrivate struct itself. Pointed out by valgrind.
      
      	* gtk/gtkuimanager.c (gtk_ui_manager_finalize): Clean up
      	properly.  (#121998)
      6f81c10a