1. 07 May, 2004 1 commit
    • Matthias Clasen's avatar
      Make the tearoff functionality model/view, the tearoffmenuitem being the · 30a4c82a
      Matthias Clasen authored
      Fri May  7 00:41:46 2004  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtktearoffmenuitem.h:
      	* gtk/gtktearoffmenuitem.c: Make the tearoff
      	functionality model/view, the tearoffmenuitem being
      	the view and the tearoff_state property of the menu
      	being the model.  (#101185, Owen Taylor)
      
      	* gtk/gtkmenu.c: Add a tearoff_state property.
      30a4c82a
  2. 06 May, 2004 1 commit
  3. 15 Mar, 2004 1 commit
    • Owen Taylor's avatar
      #136672, reported by Christian Persch; fixes based on a patch by Soeren · 3895bea4
      Owen Taylor authored
      Sun Mar 14 19:26:48 2004  Owen Taylor  <otaylor@redhat.com>
      
              #136672, reported by Christian Persch; fixes based
              on a patch by Soeren Sandmann.
      
              * gtk/gtkmenu.c: Change the handling of mixed gridded
              and non-gridded menu items; the old method was causing
              major performance problems even with the "avoid relayout
              on destruction" hack put in recently.
      
              Now we first lay out the gridded items and then put the
              non-gridded items into empty rows / after the gridded items.
              Layout is done in a central menu_shell_ensure_layout(). Also
              avoid emitting property notifications when we initially
              insert or attach items.
      
              * gtk/gtkmenushell.[ch] gtk/gtkmenu.c: Stop setting the
              unused menu_shell->menu_flag, and document it as unused
              in the header.
      
              * tests/testactions.c: Add a test of creating/removing
              lots of items.
      
              * test/testgtk.c: Add some more cruft to the menu test.
      3895bea4
  4. 11 Mar, 2004 1 commit
  5. 09 Mar, 2004 1 commit
    • Soeren Sandmann's avatar
      Add boolean destroying (gtk_menu_destroy): Set priv->destroying · db6cc5f7
      Soeren Sandmann authored
      Tue Mar  9 02:11:50 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
      
      	* gtk/gtkmenu.c Fix bug 136446.
      	(struct _GtkMenuPrivate): Add boolean destroying
      	(gtk_menu_destroy): Set priv->destroying
      	(gtk_menu_remove): don't update the table information when the
      	menu is being destroyed.
      
      	* gtk/gtkmenu.c (gtk_menu_set_monitor): Formatting fix
      
      	* gtk/gtktoolbar.[ch]: Some formatting fixes
      db6cc5f7
  6. 06 Mar, 2004 1 commit
  7. 02 Mar, 2004 1 commit
    • Soeren Sandmann's avatar
      Patch from Frederic Crozat, test code from Jean-Philippe Chancelier. Fixes · cddfd994
      Soeren Sandmann authored
      Tue Mar  2 21:23:30 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
      
      	Patch from Frederic Crozat, test code from Jean-Philippe
      	Chancelier. Fixes bug #120479.
      
      	* gtk/gtkcombo.c (gtk_combo_popup_list): Make sure popup belongs
      	to the right window group.
      
      	* gtk/gtkmenu.c (gtk_menu_popup): Same
      
      	* tests/testsocket.c (main): Pack the plugs into an hbox instead
      	of a vbox.
      
      	* tests/testsocket_common.c: Add a GtkMenuBar, a GtkCombo and a
      	GtkComboBox to the children.
      cddfd994
  8. 29 Feb, 2004 1 commit
    • Soeren Sandmann's avatar
      New internal function returning a good step value for the mouse wheel. For · 41dfb5ec
      Soeren Sandmann authored
      Sun Feb 29 19:04:33 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
      
      	* gtk/gtkrange.c (_gtk_range_get_wheel_delta): New internal
      	function returning a good step value for the mouse wheel. For
      	scrollbars, base the step on page_size^(2/3), for other ranges,
      	use 2 * step_increment.
      
      	* gtk/gtkrange.c (gtk_range_scroll_event): Use it here ...
      
      	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event):
      	... and here.
      
      	* gtk/gtkmenu.c (gtk_menu_leave_notify): Fix a warning.
      41dfb5ec
  9. 21 Feb, 2004 2 commits
    • Matthias Clasen's avatar
      Bug 112647 (Bill Haneman, patch by Narayana Pattipati): · b1f74e77
      Matthias Clasen authored
      Sun Feb 22 00:23:40 2004  Matthias Clasen  <maclas@gmx.de>
      
      	Bug 112647 (Bill Haneman, patch by Narayana Pattipati):
      
      	* gtk/gtkcheckmenuitem.c: Introduce a new style property
      	indicator_size and use it instead of the hardcoded value.
      
      	* gtk/gtkmenu.c (gtk_menu_size_request): Make sure each menu
      	item gets enough vertical space for the label and the indicator.
      b1f74e77
    • Soeren Sandmann's avatar
      Bug 132502 · d49a0c52
      Soeren Sandmann authored
      Sat Feb 21 19:18:26 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
      
      	Bug 132502
      
      	* gtk/gtkmenu.c (gtk_menu_motion_notify): Make sure we pop down
      	if we enter a non-selectable menu item.
      
      	* gtk/gtkmenu.c (gtk_menu_leave_notify): Don't pop a submenu
      	when the user has left the item.
      d49a0c52
  10. 17 Feb, 2004 2 commits
  11. 27 Jan, 2004 1 commit
    • Matthias Clasen's avatar
      Make menus work better on Xinerama (#126150): · 519a586a
      Matthias Clasen authored
      Tue Jan 27 01:46:54 2004  Matthias Clasen  <maclas@gmx.de>
      
      	Make menus work better on Xinerama (#126150):
      
      	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Calculate the
      	monitor_num on the screen of the menu, not of the attach widget.
      
      	* gtk/gtkmenu.c (menu_change_screen): Forget the stored monitor_num.
      	(gtk_menu_window_size_request): Remember the monitor_num.
      519a586a
  12. 23 Jan, 2004 1 commit
  13. 22 Jan, 2004 1 commit
    • Matthias Clasen's avatar
      Remove the attach info after calling gtk_menu_do_remove(), since that · d49500e4
      Matthias Clasen authored
      Thu Jan 22 21:45:24 2004  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkmenu.c (gtk_menu_remove): Remove the attach
      	info after calling gtk_menu_do_remove(), since that function
      	uses the attach info. Doh!
      
      	* gtk/gtkmenu.c (gtk_menu_do_remove): Don't check priv->columns
      	for being 1 directly after setting it to 0.
      d49500e4
  14. 20 Jan, 2004 1 commit
    • Matthias Clasen's avatar
      Fixes for #130370, based on a patch by Michael Meeks: · d7bfabeb
      Matthias Clasen authored
      Tue Jan 20 22:11:31 2004  Matthias Clasen  <maclas@gmx.de>
      
      	Fixes for #130370, based on a patch by Michael Meeks:
      
      	* gtk/gtkmenu.c (gtk_menu_do_remove): New auxiliary function to
      	adjust cell positions and recalculate row and column counts after
      	removing an item.
      
      	* gtk/gtkmenu.c (gtk_menu_remove): Call gtk_menu_do_remove.
      
      	* gtk/gtkmenu.c (gtk_menu_do_insert): Don't leave empty rows when
      	appending items.
      
      	* gtk/gtkmenu.c (gtk_menu_attach): Don't call gtk_menu_shell_append,
      	to avoid an unintended recursion.
      d7bfabeb
  15. 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
  16. 21 Dec, 2003 1 commit
    • Matthias Clasen's avatar
      New function to emit the "cancel" signal on a menu shell. · b21fe174
      Matthias Clasen authored
      Sun Dec 21 01:54:40 2003  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkmenushell.h:
      	* gtk/gtkmenushell.c (gtk_menu_shell_cancel): New function
      	to emit the "cancel" signal on a menu shell.
      
      	* gtk/gtkmenu.c (gtk_menu_key_press):
      	* gtk/gtkoptionmenu.c (gtk_option_menu_remove_menu):
      	* gtk/gtkmenubar.c (_gtk_menu_bar_cycle_focus): Use the
      	new function instead of directly emitting the
      	signal.  (#81803, Owen Taylor)
      b21fe174
  17. 19 Dec, 2003 1 commit
    • Kristian Rietveld's avatar
      move item insertion logic here from gtk_menu_real_insert(), · 8a834dce
      Kristian Rietveld authored
      Fri Dec 19 21:52:46 2003  Kristian Rietveld  <kris@gtk.org>
      
      	* gtk/gtkmenu.c (gtk_menu_do_insert): move item insertion logic
      	here from gtk_menu_real_insert(),
      	(gtk_menu_real_insert): just call gtk_menu_do_insert(),
      	(gtk_menu_reorder_child): run _do_insert after inserting the child
      	(unbreaks _reorder_child, reported by Tim Janik).
      8a834dce
  18. 08 Dec, 2003 2 commits
    • Owen Taylor's avatar
      === Released 2.3.1 === · 85c05a86
      Owen Taylor authored
      Mon Dec  8 10:54:44 2003  Owen Taylor  <otaylor@redhat.com>
      
              * === Released 2.3.1 ===
      
              * NEWS: Updates for 2.3.1
      
              * configure.in: Version 2.3.1, interface age 0, binary age 301.
      
              * gtk/gtkmenuitem.c (gtk_menu_item_can_activate_accel):
              Rename from gtk_menu_item_real_can_activate_accel() to
              match GTK+ convention, improve comment.
      
              * gtk/gtkwidget.c: Document gtk_widget_can_activate_accel(),
              can ::can-activate-accel signal.
      
              * gtk/gtkwidget.c (closure_accel_activate): Fix spelling
              in comment.
      
              * gtk/gtkmenu.c (gtk_menu_real_can_activate_accel): Clean
              up comment.
      
              * gtk/gtkcellview{,menuitem}.[ch]: Move GET_PRIVATE() macros
              into the .c file.
      
      Mon Dec  8 12:09:21 2003  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkicontheme.c (find_builtin_icon): Fix a
              missing 'else'. (#128816, Jorn Baayen)
      85c05a86
    • Tim Janik's avatar
      fix comment typo · 47f63b8c
      Tim Janik authored
      47f63b8c
  19. 27 Nov, 2003 1 commit
    • Tim Janik's avatar
      allow accel activation depending on sensitivity and the attach widget. · 448b576d
      Tim Janik authored
      Thu Nov 27 16:19:03 2003  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkmenu.c: allow accel activation depending on sensitivity
              and the attach widget.
      
              * gtk/gtkmenuitem.c: allow accel activation depending on visibility,
              sensitivity and the parent menu.
      
              * gtk/gtkwidget.[hc]: introduced ::can-activate-accel signal which
              checks whether accelerators may activate a widget. the default handler
              demands the widget be sensitive and visible+viewable.
      
              * gtk/gtkaccelgroup.[hc]: export gtk_accel_group_activate().
      448b576d
  20. 20 Nov, 2003 1 commit
  21. 19 Nov, 2003 2 commits
    • Soeren Sandmann's avatar
      set to 200 instead of 225 Impose a minimum width on items that have a · 907483c6
      Soeren Sandmann authored
      Wed Nov 19 18:15:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
      
      	* gtk/gtkmenu.c (DEFAULT_POPUP_DELAY): set to 200 instead of 225
      	* gtk/gtkmenuitem.c (get_minimum_width): Impose a minimum width
      	on items that have a submenu. (#120104).
      
      Wed Nov 19 18:11:08 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
      
      	* gtk/gtktoolbar.c (struct _ToolbarContent): Add a new
      	"ItemState" field indicating the overflowed-ness etc. of the item.
      	(gtk_toolbar_size_allocate): update the field here.
      907483c6
    • Matthias Clasen's avatar
      Call gtk_widget_hide(menu) when reattaching the menu. (#126057) · 80bb3538
      Matthias Clasen authored
      Wed Nov 19 02:18:37 2003  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Call
      	gtk_widget_hide(menu) when reattaching the menu.  (#126057)
      80bb3538
  22. 12 Nov, 2003 2 commits
    • Matthias Clasen's avatar
      Changes to improve menu positioning on Xinerama (#108328): · e71bcc84
      Matthias Clasen authored
      Wed Nov 12 21:40:10 2003  Matthias Clasen  <maclas@gmx.de>
      
      	Changes to improve menu positioning on Xinerama (#108328):
      
      	* gtk/gtkmenu.c (struct _GtkMenuPrivate): Add a menu_num field
      	to store the monitor on which the menu is to be positioned.
      
      	* gtk/gtkmenu.[hc] (gtk_menu_position): Store the monitor number
      	in the GtkMenuPrivate struct and fetch the monitor geometry after
      	calling the position_func, in case it has been changed.
      
      	* gtk/gtkmenu.c (gtk_menu_set_monitor): New function
      	to be used in GtkMenuPositionFunc implementations for setting
      	the monitor_num field in GtkMenuPrivate.
      
      	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Call
      	gtk_menu_set_monitor.
      e71bcc84
    • Padraig O'Briain's avatar
      Do not let pointer position affect window menu position when popped from · 9d849015
      Padraig O'Briain authored
      2003-11-12  Padraig O'Briain  <padraig.obriain@sun.com>
      
      	* gtk/gtkmenu.c (gtk_menu_popup): Do not let pointer position
      	affect window menu position when popped from keyboard. (#102660)
      9d849015
  23. 05 Nov, 2003 1 commit
  24. 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
  25. 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
  26. 10 Sep, 2003 1 commit
    • Kristian Rietveld's avatar
      The table menu patch! Turns GtkMenu into a table, so you can attach menu · e23ed607
      Kristian Rietveld authored
      Wed Sep 10 22:25:04 2003  Kristian Rietveld  <kris@gtk.org>
      
      	The table menu patch! Turns GtkMenu into a table, so you can attach
      	menu items in numerous new ways! Be creative!
      
      	Contains some bug fixes and RTL adaptions from Matthias Clasen.
      
      	* gtk/gtkmenu.c [toplevel]: introduce ATTACH_INFO_KEY, extend
      	GtkMenuPrivate, introduce AttachInfo, add child properties enum,
      	(gtk_menu_free_private), (gtk_menu_get_private): we have to free
      	the heights array in the private struct,
      	(gtk_menu_class_init): reorder code a bit, install child properties,
      	(get_attach_info), (get_child_attach): new utility functions,
      	(gtk_menu_set_child_property), (gtk_menu_get_child_property): introduce
      	child properties, for the attach info,
      	(gtk_menu_remove): remove AttachInfo from menu item,
      	(gtk_menu_real_insert): implemented algorithm to automagically place
      	inserted menu items at the correct place in the table,
      	(gtk_menu_size_request), (gtk_menu_size_allocate),
      	(compute_child_offset): reworked/rewritten to support table menus,
      	(gtk_menu_attach): new function,
      	(find_child_containing), (gtk_menu_move_current): new functions to
      	get table menu keynav right.
      
      	* gtk/gtkmenu.h: add gtk_menu_attach() prototype.
      e23ed607
  27. 03 Sep, 2003 2 commits
    • Kristian Rietveld's avatar
      Merge from stable. · bc61e723
      Kristian Rietveld authored
      Wed Sep  3 23:18:17 2003  Kristian Rietveld  <kris@gtk.org>
      
      	Merge from stable.
      
      	* gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case,
      	use end_position - page_size instead of G_MAXINT, since
      	gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237,
      	reported by Havoc Pennington).
      bc61e723
    • Kristian Rietveld's avatar
      brooooooooken pipe. · eccc733f
      Kristian Rietveld authored
      eccc733f
  28. 21 Aug, 2003 1 commit
    • Kristian Rietveld's avatar
      Thu Aug 21 21:27:45 2003 Kristian Rietveld <kris@gtk.org>A · 0321556d
      Kristian Rietveld authored
      	Merge from stable.
      
      	Fix option menu scrolling (#119821, Owen Taylor).
      
      	* gtk/gtkmenu.c (gtk_menu_scroll_to): remove logic introduced
      	by #80484 and the CLAMP,
      	(get_menu_height): new function,
      	(gtk_menu_real_move_scroll): sort of moved the CLAMP here to correct
      	new_offset to handle page up/down right.
      0321556d
  29. 13 Aug, 2003 1 commit
    • Owen Taylor's avatar
      Fix some places that weren't properly Xinerama-ified. · 91d37680
      Owen Taylor authored
      Wed Aug 13 16:32:43 2003  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkmenu.c (gtk_menu_position, gtk_menu_window_size_request):
              Fix some places that weren't properly Xinerama-ified.
      
              * gtk/gtkmenu.c: Fix problem with windows that scroll
              at the top of the screen.
      91d37680
  30. 04 Aug, 2003 1 commit
  31. 13 Jul, 2003 2 commits
  32. 12 Jul, 2003 1 commit
    • Soeren Sandmann's avatar
      new properties "horizontal-offset" and "vertical-offset" that determines · d77b4c14
      Soeren Sandmann authored
      Sun Jul 13 01:37:51 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
      
      	* gtk/gtkmenu.c (gtk_menu_class_init): new properties
      	"horizontal-offset" and "vertical-offset" that determines the
      	position of the menu when it is a submenu.
      
      	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): position
      	submenus according to new vertical- and horizontal-offset
      	properties.
      d77b4c14
  33. 06 Jul, 2003 1 commit
    • Soeren Sandmann's avatar
      add vertical_padding style property. · c8515b2f
      Soeren Sandmann authored
      Sat Jul  5 10:34:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
      
              * gtk/gtkmenu.c: add vertical_padding style property.
      
              * gtk/gtkmenuitem.c: add style properties toggle_spacing,
              arrow_spacing and horizontal_padding. Also center separators and
              make them a bit taller.
      
              * gtk/*menuitem.c: use new style properties.
      
              * docs/widget_geometry.txt: Add note about GtkMenuItem
      
              * gtk/gtkstyle.c
              (gtk_default_draw_vline, gtk_default_draw_hline):
              fix +/-1 errors.
      
              (gtk_default_draw_shadow): draw a black border around menus.
      
              * gtk/gtkvseparator, gtk/gtkhseparator.c, gtk/gtkmenuitem.c: fix
              calls to gtk_paint_hline() and gtk_paint_vline() (they take x1,
              x2 and y1, y2 respectively, not x, width and y, height).
      c8515b2f