Commit Graph

306 Commits

Author SHA1 Message Date
162430fe5a settings: Move setting property registration in gtksettings.c
Some GtkSettings property are registered by other classes. This leads
to the "interesting" issue that setting GtkSettings:gtk-button-images
requires that the GtkButton class is referenced first - or that a
GtkButton is created.

https://bugzilla.gnome.org/show_bug.cgi?id=632538

This commit is a cherry-pick from master which (sadly) fixed the issue
only after we started the 2.9x work, and I completely forgot to backport
it. This is needed because GTK 2.x started tripping the warning added in
GObject by this bug:

https://bugzilla.gnome.org/show_bug.cgi?id=698614

Cherry-picked-from: 9f9edb662eb0f282e98f988b1658972303390036
Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
2013-06-10 16:05:27 +01:00
2e06f63743 Bug 663856 - Make option-foo accelerators use the right symbol
If the keyboard group shifting modifier is *also* a normal
accelerator modifier, we need to special case it when calling
gdk_keymap_translate_keyboard_state(), so we get the right
key symbol for accelerators (for example we want Option-O,
not Option-Ø displayed in menu items). This patch should only
affect quartz where the Alt key both shifts the group and can
be used as accel modifier, and not X11 or Win32 where AltGr
is not used for accelerators.

- fix quartz' gdk_keymap_translate_keyboard_state() to return
  the right consumed_modifiers
- add _gtk_translate_keyboard_accel_state() which does the
  special casing
- use it everywhere instead of gdk_keymap_translate_keyboard_state()
2011-11-18 12:25:03 +01:00
1516be6f69 gtk: Use 'const' instead G_RETURN_CONST 2011-06-15 19:03:44 +01:00
5cded4d5e2 [GI] Add missing (transfer) annotations
Backported from master commit 2f0d40335b.
2011-01-26 12:49:08 +01:00
3258af741e Use gdk_window_ accessors instead of gdk_drawable_ accessors if possible
The gdk_drawable_ accessors were deprecated.  Removes a lot of
compile-time warnings and eventually also makes things work again
on Mac (miscompile due to the missing prototypes).
2010-10-19 10:37:15 +02:00
6740d24bb8 menu: replace gdk_draw_drawable() call with Cairo equivalent 2010-08-07 15:35:49 +02:00
6eebe91b7a [gtk/gtkmenu] Emit an "attach-widget" event in gtk_menu_attach_to_widget()
Reported by ageorge@datasys.net in bug
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=621683
(cherry picked from commit 318fa1e1799792e9eaeffcf4b19fb4140549e901)
2010-06-26 14:06:48 -04:00
fa7ace866c Fix the build
Forgot to update callers of _gtk_window_group_get_current_grab.
2010-06-24 13:06:29 -04:00
af7f95207e menu: Fix wrong comparison causing navigation region to not get removed
The navigation region that got created for right-facing submenus when
moving the cursor up would have two negative values which caused the
check to go wrong.

I refactored the code to make that check into a separate function as it
makes the check not only harder to get wrong, but also the code easier
to read.

http://bugzilla.gnome.org/show_bug.cgi?id=620863
2010-06-08 21:56:28 +02:00
43091232a2 Get rid of navigation region in GtkMenu
This completes the move to get rid of using a GdkRegion for the
navigation region and the only user of gdk_region_polygon(). We keep
track of the triangle and compute in/out points ourselves now.

Unfortunately the DRAW_STAYUP_TRIANGLES debugging code doesn't work
using cairo, so I removed it completely.
2010-05-23 22:51:55 +02:00
239cfddc97 Create the navigation region without flipping
Gets rid of some code in preparation to switching to do the computation
completely without GdkRegion.
2010-05-23 21:06:24 +02:00
a085bb1f0b Improve the behaviour of automatic mnemonics
With this change, key events continue to go to an open menu even
when the pointer is moved over a non-selectable menuitem. The mnemonics
are shown and hidden accordingly.
2010-03-14 16:11:48 -04:00
32b9aeaadd Don't use GTK_WIDGET_STATE in internal code anymore
Use gtk_widget_get/set_state() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-09 02:40:17 +01:00
1934de4b65 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_REALIZED)
Use new API instead: gtk_widget_set_realized ()

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-06 11:51:33 +01:00
16a59ad912 Deprecate widget flag: GTK_WIDGET_REALIZED
Use gtk_widget_get_realized() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-03 20:41:05 +01:00
1fe7d3cefd Deprecate widget flag: GTK_WIDGET_MAPPED
Use gtk_widget_get_mapped() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-03 20:19:03 +01:00
214a023e91 Deprecate widget flag: GTK_WIDGET_VISIBLE
Use gtk_widget_get_visible() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 07:52:07 +01:00
a27d5a2c9e Deprecate widget flag: GTK_WIDGET_IS_SENSITIVE
Use gtk_widget_is_sensitive() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 05:32:51 +01:00
4f78f70b15 Deprecate widget flag: GTK_WIDGET_DRAWABLE
Use gtk_widget_is_drawable() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 04:55:55 +01:00
592fd7a93b [annotations] Add allow-none for gtk_menu_popup 2010-02-19 18:52:19 -02:00
fe85272112 [annotations] Add allow-none
This commit was created using a script that searched for all docstrings
containing a parameter and the string 'or %NULL'.
Gdk backends and demos excluded as they are not part of a public API

https://bugzilla.gnome.org/show_bug.cgi?id=610474
2010-02-19 17:57:51 -02:00
bb1824c131 Deprecate flag macros for toplevel, state, no window and composite child
Deprecate widget flag macros GTK_WIDGET_STATE, GTK_WIDGET_SAVED_STATE,
GTK_WIDGET_FLAGS, GTK_WIDGET_TOPLEVEL, GTK_WIDGET_NO_WINDOW and
GTK_WIDGET_COMPOSITE_CHILD.

Also deprecate the type macros GTK_WIDGET_TYPE, GTK_OBJECT_TYPE_NAME and
GTK_OBJECT_TYPE which have become redundant.

Instances of GTK_WIDGET_TOPLEVEL are replaced with gtk_widget_is_toplevel,
GTK_WIDGET_TYPE is replaced with G_OBJECT_TYPE, GTK_WIDGET_COMPOSITE_CHILD
is replaced with use of the "composite-child" property and uses of
GTK_WIDGET_NO_WINDOW are adjusted to use gtk_widget_get_has_window.

Uses of GTK_WIDGET_SAVED_STATE and GTK_WIDGET_FLAGS inside GtkWidget are
changed to direct flag usage.

Documentation is updated to refer to gtk_widget_set_has_window and
gtk_widget_get_has_window.

Gail and tests are updated as well.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-01-04 07:57:05 +01:00
c59f76fda2 Only show the mnemonic underline when pressing Alt
...and show them in menus when navigating the menu with the keyboard.
This is similar to what other platforms do, and reduces visual clutter.
There is a setting to control this. Most of the work on this patch was
done by Thomas Wood. See bug 588554.
2009-12-20 03:11:05 -05:00
6529c07614 [introspection] Merge in Gtk-custom.c annotations
The Gtk-custom.c file in gir-repository contained a number of
introspection annotations.  Merge those into the GTK source files.

Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.
2009-12-16 17:22:01 -02:00
13ff557587 Fix some compilation warning
Complete the previous patch: set lower to 0 too
2009-10-21 02:37:05 +02:00
670e141b3a Fix some compilation warning
Added some default cases and assert if reached
2009-10-21 02:08:18 +02:00
ec7c24d227 Remove some unused variables (GnomeBug:591218) 2009-08-10 11:06:54 +02:00
305979d5a1 Remove accidentally added debug spew 2009-07-09 17:10:56 +02:00
9044ec9bb9 Correctly set enter/leave events as detail=nonlinear
If we get a nonlinear enter/leave notify on the toplevel we need
to set nonlinear in all the events we send, even if the in-toplevel
tree is linear.

This fixes combobox menus popping down immediately when you click
(not hold). (bug #587559)
2009-07-09 17:06:46 +02:00
724ab58244 Add a way to turn off toggle spacing in menus
Reserving toggle space is nice for consistency in main menus
and context menus, but it gets in the way in special situations,
such as combo boxes, tabular menus, etc.
2009-06-24 01:01:51 -04:00
af219b818f Don't force toggle size for tabular menus either 2009-06-22 10:00:19 -04:00
8f57c91766 Remove extra padding from comboboxes
We do want to have consistent padding in menus in menubars and context
menus, but the menus used in comboboxes don't need the extra padding.
Add private GtkMenu API for turning this off. Bug 564063
2009-06-22 00:53:14 -04:00
d1c6982eaa Bug 322934 – Replace menu's proxy icons with empty space hiding icons
* gtk/gtkmenu.c (gtk_menu_size_request): Use consistent padding
        regardless of imagees or checks being in the menu. Also add
        padding on the right edge.
        Proposal by Luca Ferretti, patch by Jon McCann

svn path=/trunk/; revision=21745
2008-11-01 04:32:40 +00:00
eda544e8e6 Bug 436533 – Allow more space efficient scroll arrows placement
* gtk/gtkenums.h: Add GtkArrowPlacement
* gtk/gtkmenu.c (gtk_menu_class_init), (get_arrows_border),
(get_arrows_visible_area), (get_double_arrows),
(get_arrows_sensitive_area): Implement GtkMenu::arrow-placement
to allow scrolling arrows to be placed at the start, end or both
Patch by Tommi Komulainen and myself

svn path=/trunk/; revision=21606
2008-10-08 02:16:08 +00:00
9da63118e1 Bug 538782 – Make GtkMenu's arrow size themable
* gtk/gtkmenu.c (gtk_menu_class_init), (gtk_menu_paint):
Implement "arrow-scaling" style property in GtkMenu.

svn path=/trunk/; revision=21509
2008-09-24 08:56:10 +00:00
e4f4f03fcf gtk/gtkmenu.c remove unused macro cruft. Also remove some unneeded
2008-09-03  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkmenu.c
	* gtk/gtkmenuitem.c: remove unused macro cruft. Also remove some
	unneeded includes.


svn path=/trunk/; revision=21266
2008-09-03 15:23:17 +00:00
d516973764 some more trivial cosmetic fixes.
2008-09-03  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkmenu.c: some more trivial cosmetic fixes.


svn path=/trunk/; revision=21264
2008-09-03 13:18:34 +00:00
ebbe9743db proper function header formatting.
2008-09-03  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkmenu.c (get_arrows_visible_area): proper function header
	formatting.


svn path=/trunk/; revision=21262
2008-09-03 11:02:33 +00:00
b699ac5853 gtk/gtkaccellabel.c gtk/gtkaction.c gtk/gtkclist.c gtk/gtkcolorbutton.c
2008-08-12  Sven Neumann  <sven@gimp.org>

	* gtk/gtkaccellabel.c
	* gtk/gtkaction.c
	* gtk/gtkclist.c
	* gtk/gtkcolorbutton.c
	* gtk/gtkctree.c
	* gtk/gtkdialog.c
	* gtk/gtkdnd-quartz.c
	* gtk/gtkdnd.c
	* gtk/gtkentry.c
	* gtk/gtkfilechooserdefault.c
	* gtk/gtkfilesel.c
	* gtk/gtkgamma.c
	* gtk/gtkiconview.c
	* gtk/gtkkeyhash.c
	* gtk/gtklabel.c
	* gtk/gtkmenu.c
	* gtk/gtkmenubar.c
	* gtk/gtkpaned.c
	* gtk/gtkrecentchooserdialog.c
	* gtk/gtkrecentchooserutils.c
	* gtk/gtkselection.c
	* gtk/gtksizegroup.c
	* gtk/gtktextbtree.c
	* gtk/gtktextbuffer.c
	* gtk/gtktextview.c
	* gtk/gtktoolbar.c
	* gtk/gtktreemodel.c
	* gtk/gtkuimanager.c
	* gtk/gtkwindow-decorate.c
	* gtk/gtkwindow.c: use canonical signal names in some more places
	that I missed earlier. Also changed this in the documentation and
	comments.


svn path=/trunk/; revision=21094
2008-08-12 14:37:03 +00:00
e18d3c6fd3 consistently chain up using GTK_FOO_CLASS(parent_class)->bar(instance)
2008-08-12  Michael Natterer  <mitch@imendio.com>

	* gtk/*.c: consistently chain up using
	GTK_FOO_CLASS(parent_class)->bar(instance) instead of
	(*GTK_FOO_CLASS(parent_class))->bar(instance).


svn path=/trunk/; revision=21085
2008-08-12 09:06:34 +00:00
9cf66a8a9c gtk/gtkmenu.c gtk/gtkmenuitem.c gtk/gtkmenushell.c gtk/gtknotebook.c
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
2008-08-11 11:52:06 +00:00
b2aaa9416d gtk/gtkmenushell.c In enter/leave notify events, check that the crossing
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
2008-08-09 04:20:14 +00:00
94ba6bba06 Doc fixes
svn path=/trunk/; revision=20887
2008-07-21 23:23:41 +00:00
7f00695920 remove _gtk_binding_signal_new().
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
2008-07-21 09:48:20 +00:00
c6e63c6d49 More property deborkage
svn path=/trunk/; revision=20769
2008-07-04 21:20:25 +00:00
f1f83c1da0 More debork
svn path=/trunk/; revision=20766
2008-07-04 20:09:57 +00:00
81376a6e58 Debork
svn path=/trunk/; revision=20765
2008-07-04 20:01:50 +00:00
57223c9a05 Revert name change
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
fce9c8b7d4 Practically everything changed.
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
2008-06-30 23:01:56 +00:00
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
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
2008-06-22 14:28:52 +00:00