summaryrefslogtreecommitdiff
path: root/gtk/gtkmenushell.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix a typoMatthias Clasen2008-12-131-1/+1
| | | | svn path=/trunk/; revision=21877
* gtk/gtkmenu.c gtk/gtkmenuitem.c gtk/gtkmenushell.c gtk/gtknotebook.cSven Neumann2008-08-111-11/+11
| | | | | | | | | | | | | | | 2008-08-11 Sven Neumann <sven@gimp.org> * gtk/gtkmenu.c * gtk/gtkmenuitem.c * gtk/gtkmenushell.c * gtk/gtknotebook.c * gtk/gtkoldeditable.c * gtk/gtkpaned.c: use canonical signal names. svn path=/trunk/; revision=21063
* gtk/gtkmenushell.c In enter/leave notify events, check that the crossingCody Russell2008-08-091-0/+10
| | | | | | | | | | | | 2008-08-08 Cody Russell <bratsche@gnome.org> * gtk/gtkmenushell.c * gtk/gtkmenu.c: In enter/leave notify events, check that the crossing mode is not GTK_GRAB, GTK_UNGRAB, or STATE_CHANGED. Fixes regressions in menus caused by bug #56070. svn path=/trunk/; revision=21049
* remove _gtk_binding_signal_new().Michael Natterer2008-07-211-13/+19
| | | | | | | | | | | | | | | | | | 2008-07-21 Michael Natterer <mitch@imendio.com> * gtk/gtkbindings.[ch]: remove _gtk_binding_signal_new(). * gtk/gtkfilechooserdefault.c * gtk/gtkmenu.c * gtk/gtkmenushell.c * gtk/gtkscalebutton.c * gtk/gtktextview.c * gtk/gtktoolbar.c * gtk/gtkwidget.c: use g_signal_new_class_handler() instead. Add some missing I_() to the signal names. svn path=/trunk/; revision=20874
* Revert name changeCody Russell2008-07-011-1/+1
| | | | svn path=/trunk/; revision=20724
* Practically everything changed.Cody Russell2008-06-301-1/+1
| | | | | | | | | | | | | 2008-06-30 Cody Russell <bratsche@gnome.org> * Practically everything changed. Change all references of GIMP Toolkit (and variations of it) to GTK+ Toolkit, showing no mercy at all to our beloved ancestry. (#540529) svn path=/trunk/; revision=20709
* Include "config.h" instead of <config.h> Command used: find -nameJohan Dahlin2008-06-221-1/+1
| | | | | | | | | | | | 2008-06-21 Johan Dahlin <jdahlin@async.com.br> * *.[ch]: Include "config.h" instead of <config.h> Command used: find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g' Rubberstamped by Mitch and Tim svn path=/trunk/; revision=20669
* fix a touchscreen-mode keynav corner case: when navigating to the parentMichael Natterer2008-04-081-7/+19
| | | | | | | | | | | | 2008-04-08 Michael Natterer <mitch@imendio.com> * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): fix a touchscreen-mode keynav corner case: when navigating to the parent menu, make sure we don't close two menus at the same time in case the deepest open menu has no selectable items. svn path=/trunk/; revision=19981
* gtk/gtkmenushell.c gtk/gtktable.c gtk/gtktext.c gtk/gtktipsquery.cMichael Natterer2008-02-271-35/+8
| | | | | | | | | | | | | | | | | | 2008-02-27 Michael Natterer <mitch@imendio.com> * gtk/gtkmenushell.c * gtk/gtktable.c * gtk/gtktext.c * gtk/gtktipsquery.c * gtk/gtktoolbar.c * gtk/gtktreeitem.c * gtk/gtktreeview.c * gtk/gtkviewport.c * gtk/gtkwin32embedwidget.c: remove g_return_if_fail() from private functions and virtual function implementations. svn path=/trunk/; revision=19668
* Unify the handling of various "Enter" keysyms all over the place.Matthias Clasen2008-02-121-0/+5
| | | | | | | | | | | 2008-02-12 Matthias Clasen <mclasen@redhat.com> * gtk/*.c: Unify the handling of various "Enter" keysyms all over the place. (#515047, Christian Persch) svn path=/trunk/; revision=19528
* gtk/gtkcontainer.c gtk/gtkexpander.c gtk/gtkframe.c gtk/gtklabel.cMichael Natterer2008-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 2008-02-06 Michael Natterer <mitch@imendio.com> * gtk/gtkcontainer.c * gtk/gtkexpander.c * gtk/gtkframe.c * gtk/gtklabel.c * gtk/gtkmain.c * gtk/gtkmenu.c * gtk/gtkmenuitem.c * gtk/gtkmenushell.c * gtk/gtknotebook.c * gtk/gtkseparatortoolitem.c * gtk/gtksocket.c * gtk/gtktextlayout.c * gtk/gtktoggletoolbutton.c * gtk/gtktoolbutton.c * gtk/gtktoolitem.c * gtk/gtktree.c * gtk/gtktreeitem.c: replace "foo && GTK_IS_FOO (foo)" by simply "GTK_IS_FOO (foo)". svn path=/trunk/; revision=19481
* Make GtkMenuShell abstractMatthias Clasen2007-06-181-1/+1
| | | | svn path=/trunk/; revision=18180
* Add forgotten docsMatthias Clasen2007-06-151-0/+12
| | | | svn path=/trunk/; revision=18147
* add move_selected signal to allow overriding the default internalMatthias Clasen2007-06-151-4/+32
| | | | | | | | | | | 2007-06-15 Matthias Clasen <mclasen@redhat.com> * gtk/gtkmenushell.[ch]: add move_selected signal to allow overriding the default internal behaviour. (#446833, Ryan Lortie) svn path=/trunk/; revision=18145
* Merge fix from maemo-gtk:Michael Natterer2007-05-251-8/+7
| | | | | | | | | | | | | | 2007-05-25 Michael Natterer <mitch@imendio.com> Merge fix from maemo-gtk: * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): open submenus also if the menu item we're entering is already selected. Also, it makes no sense to forward the event to the parent menu shell if we are entering a menu item of *this* menu shell. svn path=/trunk/; revision=17911
* pop up the submenu explicitely only in touchscreen mode since otherwiseMichael Natterer2007-04-301-5/+13
| | | | | | | | | | | | 2007-04-30 Michael Natterer <mitch@imendio.com> * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): pop up the submenu explicitely only in touchscreen mode since otherwise selecting the item already pops up the submenu. Restores the drag-selection timeout (spotted by Søren Sandmann, #128968). svn path=/trunk/; revision=17735
* Merged heavily modified patch from maemo-gtk which enables opening andMichael Natterer2007-04-271-87/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-04-27 Michael Natterer <mitch@imendio.com> Merged heavily modified patch from maemo-gtk which enables opening and closing submenus on click, and introduces some usability changes when gtk-touchscreen-mode is enabled (bug #128968): * gtk/gtkmenushell.c (struct GtkMenuShellPrivate): added boolean "activated_submenu" to indicate that the current mouse operation (click or drag) has opened a submenu. (gtk_menu_shell_button_press): pop up submenus without delay and record the fact in "activated_submenu". (gtk_menu_shell_button_release): if a submenu was explicitely opened, or not opened by this release's button_press, or enough time has passed since timeout-opening it, close the submenu here. (gtk_menu_shell_enter_notify): when entering a menu item with any mouse button pressed, open its submenu. (gtk_real_menu_shell_move_current): in touchsreen mode, close the submenu when moving the focus away from it via keyboard-navigation. * gtk/gtkmenuitem.[ch] (_gtk_menu_item_popup_submenu): added parameter "gboolean with_delay" so GtkMenuShell can control this for the different scenarios of submenu showing. (_gtk_menu_item_popdown_submenu): new function. also needed by GtkMenuShell for closing submenus on click. Renamed internal function gtk_menu_item_select_timeout() to gtk_menu_item_popup_timeout(). (gtk_menu_item_real_popup_submenu): new utility function which does the actual popup and records the exact time of the popup when the menu was timeout-opened (using g_get_current_time()). (gtk_real_menu_item_select): don't add the popup timeout when in touchscreen mode. * gtk/gtkmenu.c (gtk_menu_popup): in touchscreen mode, select the first item of every opened menu. svn path=/trunk/; revision=17659
* remove artifact from the time when type checking casts warned on NULL,Michael Natterer2007-04-021-14/+10
| | | | | | | | | | | 2007-04-02 Michael Natterer <mitch@imendio.com> * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): remove artifact from the time when type checking casts warned on NULL, some whitespace cleanup. svn path=/trunk/; revision=17578
* remove two antique function typedefs that are probably obsolete for ages.Michael Natterer2007-02-151-7/+0
| | | | | | | | | | 2007-02-15 Michael Natterer <mitch@imendio.com> * gtk/gtkmenushell.c: remove two antique function typedefs that are probably obsolete for ages. svn path=/trunk/; revision=17297
* add new boolean settings gtk-enable-accels and gtk-enable-mnemonics whichMichael Natterer2007-02-051-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | 2007-02-05 Michael Natterer <mitch@imendio.com> * gtk/gtksettings.c: add new boolean settings gtk-enable-accels and gtk-enable-mnemonics which enable/disable accelerators and mnemonics (bug #72375, based on a patch from Tommi Komulainen). * gtk/gtkwindow.c (gtk_window_activate_key) * gtk/gtkmenushell.c (gtk_menu_shell_key_press): don't invoke them if the resp. setting is FALSE. * gtk/gtkaccellabel.c (gtk_accel_label_refetch) * gtk/gtklabel.c (gtk_label_set_pattern_internal): don't display them if the setting is FALSE. * gtk/gtklabel.c: added signal connection to the screen's settings object and traverse all widgets on the screen when the setting changes. It's slightly ugly to also update GtkAccelLabels here, but less ugly than connecting and traversing all widgets twice. svn path=/trunk/; revision=17262
* Add new infrastructure for notifications of failed keyboard navigation andMichael Natterer2006-11-161-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-11-16 Michael Natterer <mitch@imendio.com> Add new infrastructure for notifications of failed keyboard navigation and navigation with restricted set of keys. The patch handles configurable beeping, navigating the GUI with cursor keys only (as in phone environments), and configurable wrap-around. Fixes bugs #322640, #70986, #318827, #334726, #334742 and #309291. * gtk/gtksettings.c: added properties gtk-keynav-cursor-only, gtk-keynav-wrap-around and gtk-error-bell. * gtk/gtkwidget.[ch]: added new signal "keynav-failed" and public API to emit it. Added New function gtk_widget_error_bell() which looks at the gtk-error-bell setting and calls gdk_window_beep() accordingly. * gtk/gtk.symbols: add the new widget symbols. * gtk/gtkcellrendereraccel.c * gtk/gtkimcontextsimple.c * gtk/gtkmenu.c * gtk/gtknotebook.c: use gtk_widget_error_bell() or look at the gtk-error-bell setting instead of calling gdk_display_beep() unconditionally. * gtk/gtkcombobox.c * gtk/gtkentry.c * gtk/gtkiconview.c * gtk/gtklabel.c * gtk/gtkmenushell.c * gtk/gtkspinbutton.c * gtk/gtktextview.c * gtk/gtktreeview.c: call gtk_widget_error_bell() on failed keynav. * gtk/gtkentry.c * gtk/gtklabel.c * gtk/gtkrange.c * gtk/gtktextview.c: consult gtk_widget_keynav_failed() on failed cursor navigation and leave the widget if it returns FALSE. * gtk/gtkmenushell.c * gtk/gtknotebook.c: only wrap around if gtk-keynav-wrap-around is TRUE. * gtk/gtkradiobutton.c: ask gtk_widget_keynav_failed() to decide whether to to wrap-around, and don't select active items on cursor navigation if gtk-keynav-cursor-only is TRUE. Should look at gtk-keynav-wrap-around too, will look into that.
* More of the sameMatthias Clasen2006-05-141-1/+1
|
* Boilerplate reductionMatthias Clasen2006-05-021-35/+2
|
* Intern some more strings.Matthias Clasen2005-09-011-7/+7
| | | | | | | | | 2005-09-01 Matthias Clasen <mclasen@redhat.com> * gdk/*.c: Intern some more strings. * gtk/gtkintl.h: * gtk/*.c: Define an I_() macro and use it instead of the bulky g_intern_static_string().
* Intern type names in code generated by glib-mkenums, too.Matthias Clasen2005-08-311-1/+1
| | | | | | | | | | | | | 2005-08-31 Matthias Clasen <mclasen@redhat.com> * gdk/Makefile.am: * gtk/Makefile.am: Intern type names in code generated by glib-mkenums, too. * gtk/*.c: * gdk/x11/*.c: * gdk/*.c: Intern type names before registering the type to avoid unnecessary copies.
* Ignore GrabBroken events which are caused by overgrabbing inside theMatthias Clasen2005-06-271-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | 2005-06-27 Matthias Clasen <mclasen@redhat.com> * gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Ignore GrabBroken events which are caused by overgrabbing inside the application; menus rely on these for their operation. * gdk/gdkevents.h (struct _GdkEventGrabBroken): Add a grab_window field. * gdk/win32/gdkevents-win32.c (gdk_event_translate): Set grab_window to NULL when generating GrabBroken events for WM_KILLFOCUS messages. * gdk/x11/gdkmain-x11.c (_gdk_xgrab_check_unmap) (_gdk_xgrab_check_destroy): Set grab_window to NULL when generating GrabBroken events when the grab window becomes unviewable or is destroyed. * gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab): Generate GrabBroken events when overriding a grab inside the application. In this case, set grab_window to the new grab_window.
* add GDK_GRAB_BROKEN to the switch cases.Manish Singh2005-06-261-2/+0
| | | | | | | | | | | | Sun Jun 26 00:04:36 2005 Manish Singh <yosh@gimp.org> * gdk/gdkevents.c (gdk_event_get_time, gdk_event_get_state): add GDK_GRAB_BROKEN to the switch cases. * gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): remove unused variables. * gtk/gtkpaned.c (gtk_paned_grab_broken): return TRUE.
* Add a GrabBroken event to GDK, and a grab-broken-event signal toMatthias Clasen2005-06-251-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-06-25 Matthias Clasen <mclasen@redhat.com> Add a GrabBroken event to GDK, and a grab-broken-event signal to GtkWidget. (#107320, Simon Cooke, initial patch by John Ehresman) * gdk/gdkevents.h: Add a GDK_GRAB_BROKEN event type, define a GdkEventGrabBroken event struct. * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate GrabBroken events in response to WM_KILLFOCUS. * gdk/x11/gdkmain-x11.c: Generate GrabBroken events when a grab is broken by the window becoming unviewable, or by another grab from the same client. * gtk/gtkwidget.h (GtkWidgetClass): Add grab_broken_event. * gtk/gtkwidget.c (gtk_widget_event_internal): Translate GrabBroken events into grab_broken_event signals. * gtk/gtkmain.c (gtk_main_do_event): Propagate GrabBroken events. * gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Deactivate the menu when the grab is broken. * gtk/gtkcolorsel.c (gtk_color_selection_grab_broken): Stop the color picker if the grab is broken. * gtk/gtkpaned.c (gtk_paned_grab_broken): Stop the drag if the grab is broken.
* 2005-06-10 Matthias Clasen <mclasen@redhat.com>Matthias Clasen2005-06-101-1/+3
| | | | | | | | | | * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_expand): * gtk/gtktoolbar.c (gtk_toolbar_get_show_arrow): * gtk/gtktextview.c (gtk_text_view_get_iter_at_position): * gtk/gtkstock.c (gtk_stock_set_translate_func): * gtk/gtkspinbutton.c (gtk_spin_button_get_adjustment): * gtk/gtkscrolledwindow.h: * gtk/gtkmenushell.c (gtk_menu_shell_get_take_focus):
* Fix up the docs a bit.Matthias Clasen2005-05-021-6/+6
| | | | | | | 2005-05-02 Matthias Clasen <mclasen@redhat.com> * gtk/gtkmenushell.c (gtk_menu_shell_set_take_focus): (gtk_menu_shell_get_take_focus): Fix up the docs a bit.
* Keep a reference to the item. (#167920, Hazael Maldonado Torres)Matthias Clasen2005-04-051-0/+2
| | | | | | | 2005-04-05 Matthias Clasen <mclasen@redhat.com> * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): Keep a reference to the item. (#167920, Hazael Maldonado Torres)
* Allow to pop up menus without grabbing the keyboard. Useful for stuff likeMichael Natterer2005-03-311-0/+145
| | | | | | | | | | | | | | | | | | | 2005-03-31 Michael Natterer <mitch@gimp.org> Allow to pop up menus without grabbing the keyboard. Useful for stuff like virtual keyboards. Fixes bug #159890 * gtk/gtk.symbols * gtk/gtkmenushell.[ch]: added boolean property "take-focus" and public API gtk_menu_shell_set/get_take_focus(). * gtk/gtkmenu.c (gtk_menu_popup) (popup_grab_on_window): don't grab the keyboard if take_focus is FALSE. * gtk/gtkmenuitem.c (_gtk_menu_item_popup_submen): propagate the parent menu_shell's take_focus property to the submenu which is about to be popped up.
* Make PLT-reduction work with gcc4, and don't include everything inMatthias Clasen2005-03-201-1/+3
| | | | | | | | | | | | | | | | | | 2005-03-20 Matthias Clasen <mclasen@redhat.com> Make PLT-reduction work with gcc4, and don't include everything in gdkalias.h: * gtk/grk.symbols: Group symbols by header and source file. * gtk/makegtkalias.pl: Protect definitions by the same preprocessor symbols used to guard the headers. Move the alias declarations to a separate file which is produced when calling makegtkalias.pl -def * gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate this file. * gtk/*.c: Include gtkalias.h after the other headers, include gtkaliasdef.c at the bottom. * gtk/*.h: Small cleanups.
* Support vertical menubars (#166632):Matthias Clasen2005-02-111-30/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-02-11 Matthias Clasen <mclasen@redhat.com> Support vertical menubars (#166632): * gtk/gtkenums.h (GtkPackDirection): New enumeration for pack directions, with values for left-to-right, right-to-left, top-to-bottom and bottom-to-top. * gtk/gtk.symbols: * gtk/gtkmenubar.h: * gtk/gtkmenubar.c: Add two properties, pack-direction and child-pack-direction, which specify how children and grandchildren of a menubar are packed, with getters and setters. * gtk/gtkmenubar.c (gtk_menu_bar_set_property): (gtk_menu_bar_get_property): Implement set_property and get_property. * gtk/gtkmenubar.c (gtk_menu_bar_size_request): (gtk_menu_bar_size_allocate): Take pack direction into account. * gtk/gtkmenubar.c (gtk_menu_bar_move_current): Implement move_current here move all the menubar-specific direction tweaking from the generic menushell implementation here. * gtk/gtkmenu.c (gtk_menu_move_current): Move menu-specific direction tweaking from the generic menushell implementation here. * gtk/gtkmenuitem.c (gtk_menu_item_size_request): (gtk_menu_bar_size_allocate): Take pack direction into account. * gtk/gtkimagemenuitem.c (gtk_image_menu_item_size_request) (gtk_image_menu_item_size_allocate): (gtk_image_menu_item_toggle_size_request): Take child pack direction into account and pack the image vertically if necessary. * gtk/gtkmenushell.c (gtk_menu_shell_real_select_item): Set the submenu direction to left-right for menuitems in vertical menubars. (gtk_real_menu_shell_move_current): Simplify by moving direction tweaking to menu- and menubar-specific implementations. Take pack direction into account when doing fallbacks. * tests/testmenubars.c: Test menubars in various packing direction combinations. * tests/Makefile.am (noinst_PROGRAMS): Add testmenubars.
* Fix RTL keynav for going from menubar to menu.Matthias Clasen2005-02-091-2/+4
| | | | | | | 2005-02-09 Matthias Clasen <mclasen@redhat.com> * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): Fix RTL keynav for going from menubar to menu.
* Return a boolean indicating whether an item in the submenu was selected.Matthias Clasen2004-12-281-22/+25
| | | | | | | | | | | 2004-12-28 Matthias Clasen <mclasen@redhat.com> * gtk/gtkmenushell.c (gtk_menu_shell_select_submenu_first): Return a boolean indicating whether an item in the submenu was selected. (gtk_real_menu_shell_move_current): When going in child direction, don't get stuck at completely insensitive submenus. (#162055, Billy Biggs)
* 2.6.0 second tryGTK_2_6_0Matthias Clasen2004-12-161-1/+1
|
* Use _gtk_menu_item_popup_submenu() to make keynav into submenus workMatthias Clasen2004-12-151-5/+11
| | | | | | | | | | | | | | 2004-12-15 Matthias Clasen <mclasen@redhat.com> * gtk/gtkmenushell.c (gtk_menu_shell_select_submenu_first) (gtk_real_menu_shell_activate_current): Use _gtk_menu_item_popup_submenu() to make keynav into submenus work instantaneously, independent of the popup delay. (#161140) * gtk/gtkmenuitem.[hc]: _-prefix gtk_menu_item_popup_submenu() and make it non-static. * gtk/gtkmenuitem.c (gtk_menu_item_paint): Remove unused variables.
* Support no-Alt mnemnonics in menu bars (#101309, Owen Taylor)Matthias Clasen2004-12-101-8/+170
| | | | | | | | | | | | | | | | | | | | | | 2004-12-10 Matthias Clasen <mclasen@redhat.com> Support no-Alt mnemnonics in menu bars (#101309, Owen Taylor) * gtk/gtkwindow.c: Factor out mnemonic hash code into a separate file. * gtk/gtkmnemonichash.[hc]: Factored out mnemonic hash code from gtkwindow.c. * gtk/Makefile.am (gtk_c_sources): Add gtkmnemonichash.[hc]. * gtk/gtkmenushell.c (struct _GtkMenuShellPrivate): Give menu shells their own mnemonic hash. * gtk/gtkmenushell.h: Add private api to support mnemonics. * gtk/gtklabel.c (gtk_label_setup_mnemonic): Add mnemonic to the menushell mnemonic hash when inside a menu.
* Don't do the popup-on-click handling for menubars. (#159931, SørenMatthias Clasen2004-11-301-4/+9
| | | | | | | | | | | 2004-11-29 Matthias Clasen <mclasen@redhat.com> * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Don't do the popup-on-click handling for menubars. (#159931, Søren Sandmann) * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Don't handle popup delay if the submenu is already mapped.
* gdk/abicheck.sh filter out G_GNUC stuff when doing the compare.Manish Singh2004-11-251-1/+1
| | | | | | | | | | Thu Nov 25 14:32:35 2004 Manish Singh <yosh@gimp.org> * gdk/abicheck.sh * gtk/abicheck.sh: filter out G_GNUC stuff when doing the compare. * gtk/gtkmenuitem.c (gtk_menu_shell_button_release): add GTK_MENU_ITEM() cast.
* Open submenus on click. (#128968, Martin Jeppesen)Matthias Clasen2004-11-241-4/+4
| | | | | | | | | | | | | | 2004-11-24 Matthias Clasen <mclasen@redhat.com> Open submenus on click. (#128968, Martin Jeppesen) * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Don't activate items with submenus after the timeout, just select them. * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Make submenus popup immediately on click, regardless of popup delay.
* Add hidden aliases for exported symbols which are used internally in orderMatthias Clasen2004-08-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Make menus only stay up if you release within 500 milliseconds.Soeren Sandmann2004-06-011-24/+16
| | | | | | | | | | | | | Wed Jun 2 00:39:58 2004 Soeren Sandmann <sandmann@daimi.au.dk> * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Make menus only stay up if you release within 500 milliseconds. (gtk_menu_shell_button_press): Set the activate_time to the event time when a button is pressed. * gtk/gtkmenu.c (gtk_menu_motion_notify, gtk_menu_enter_notify): Interprete button releases as activate when we have seen both an enter an a motion event.
* #136672, reported by Christian Persch; fixes based on a patch by SoerenOwen Taylor2004-03-151-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fixes #136082 and #135265, patch by Morten Welinder.Federico Mena Quintero2004-03-061-0/+1
| | | | | | | | | | 2004-03-05 Federico Mena Quintero <federico@ximian.com> Fixes #136082 and #135265, patch by Morten Welinder. * configure.in: Use AC_SYS_LARGEFILE. * */*.c: #include <config.h>
* expose gtk_bindings_activate_event(), changed callers.Tim Janik2004-03-021-1/+1
| | | | | | | | | | | | Mon Mar 1 23:52:15 2004 Tim Janik <timj@gtk.org> * gtk/gtkbindings.[hc]: expose gtk_bindings_activate_event(), changed callers. * gtk/gtkwindow.[hc]: added gtk_window_propagate_key_event() to expose the key event propagation mechanism used for focus widgets. (gtk_window_key_release_event): use the same key event propagation logic as gtk_window_key_press_event().
* export gtk_window_activate_key() (Request from Tim Janik)Owen Taylor2004-03-011-1/+1
| | | | | | | Sun Feb 29 20:34:06 2004 Owen Taylor <otaylor@redhat.com> * gtk/gtkwindow.[ch] gtk/gtkmenushell.c: export gtk_window_activate_key() (Request from Tim Janik)
* Right-justify labels in rtl mode. (#129071, chinen@jp.ibm.com)Matthias Clasen2004-02-031-0/+22
| | | | | | | | | | | | | Tue Feb 3 02:04:44 2004 Matthias Clasen <maclas@gmx.de> * gtk/gtklabel.c (gtk_label_ensure_layout): Right-justify labels in rtl mode. (#129071, chinen@jp.ibm.com) Tue Feb 3 02:01:25 2004 Matthias Clasen <maclas@gmx.de> * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): Exchange the meaning GTK_MENU_DIR_PARENT/CHILD and GTK_MENU_DIR_PREV/NEXT in rtl mode. (#107528)
* New function to emit the "cancel" signal on a menu shell.Matthias Clasen2003-12-211-0/+16
| | | | | | | | | | | | | | 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)