Commit Graph

36685 Commits

Author SHA1 Message Date
2fd307fdb3 Fix GtkApplicationWindow action group implementation
GtkApplicationWindow frees its internal action group on dispose for the
usual reasons: to avoid the possibility of reference cycles caused by
actions referring back to the window again.

Unfortunately, if it happens to be inside of a GtkActionMuxer at the
time that it is disposed, it will (eventually) be removed from the muxer
after it has been disposed.  Removing an action group from a muxer
involves a call to g_action_group_list_actions() which will crash
because the internal action group to which we normally delegate the call
has been freed.

A future patch that reworks the quartz menu code will introduce a use of
GtkActionMuxer in a way that causes exactly this problem.

We can guard against the problem in a number of ways.

First, we can avoid the entire situation by ensuring that we are removed
from the muxer before we destroy the action group.  To this end, we
delay destruction of the action group until after the chain-up to the
dispose of GtkWindow (which is where the window is removed from the
GtkApplication).

Secondly, we can add checks to each of our GActionGroup and GActionMap
implementation functions to check that the internal action group is
still alive before we attempt to delegate to it.

We have to be careful, though: because our _list_actions() call will
suddenly be returning an empty list, people watching the group from
outside will have expected to see "action-removed" calls for the
now-missing items.  Make sure we send those. but only if someone is
watching.

https://bugzilla.gnome.org/show_bug.cgi?id=710351
2014-01-07 19:29:05 -05:00
851d5f1c7d Add a reftest for GtkActionBar child ordering
This shows that GtkActionBar and GtkBox treat pack-start/-end
the same.
2014-01-07 19:05:40 -05:00
980f3589f5 Updated POTFILES.in 2014-01-07 23:43:54 +01:00
3efd0b2874 GtkActionBar: Just leave the center widget as NULL, initially
No need to construct a box that gets thrown away later.
Plus, this fixes the defaultvalue test for GtkActionBar.
2014-01-07 16:16:52 -05:00
cc6ffd0481 Release-note the headerbar child order change 2014-01-07 13:46:08 -05:00
0f9f3e8fa2 Make testsplitheaders more robust
Same empty string issue that I fixed in GtkHeaderBar a few days
ago.
2014-01-07 13:45:55 -05:00
41d59985d7 Updated Hungarian properties translation 2014-01-07 18:58:53 +01:00
07f9b3ffa2 Add an action bar test
https://bugzilla.gnome.org/show_bug.cgi?id=721665
2014-01-07 08:46:37 -05:00
b39f094b21 Fix order of pack-end widgets
https://bugzilla.gnome.org/show_bug.cgi?id=721665
2014-01-07 08:46:37 -05:00
51d462e927 widget-factory: add actionbar
https://bugzilla.gnome.org/show_bug.cgi?id=721665
2014-01-07 08:46:37 -05:00
0a95515bfe tests: use actionbar in headerbar test
This is a great example of where headerbar should not be used.

https://bugzilla.gnome.org/show_bug.cgi?id=721665
2014-01-07 08:46:37 -05:00
e72aca055d Add GtkActionBar
A widget intended to offer contextual actions for a given view.
It allows packing children into the start or end as well as offering
a single centered child box.

https://bugzilla.gnome.org/show_bug.cgi?id=721665
2014-01-07 08:46:37 -05:00
ce848c9bed Updated Spanish translation 2014-01-07 13:29:40 +01:00
506042ea2d Updated Spanish translation 2014-01-07 13:29:30 +01:00
c3e91c7031 GtkHeaderBar: Fix positioning of pack-end widgets
This makes the positioning of pack-start and pack-end
widgets symmetric.
2014-01-06 23:37:18 -05:00
c93182c416 Make testtitlebar more versatile
Test adding multiple custom widgets at each end. This exposes
that we're doing it wrong - the pack-end widgets are ordered
in the wrong way.
2014-01-06 23:37:05 -05:00
6ac12df67f Update Kazakh translation 2014-01-07 08:33:22 +06:00
ae4d82dc0c Avoid compiler warnings 2014-01-06 20:35:29 -05:00
9538bc6221 filechooser: Document the settings XML 2014-01-06 17:16:16 -06:00
2602372401 Be more careful when parsing gtk-decoration-layout
When the string is empty, breaking it at : will not give
us two tokens, and we were parsing garbage, leading to crash.
https://bugzilla.gnome.org/show_bug.cgi?id=721635
2014-01-06 17:07:21 -05:00
feedf46ddc quartz: implement gdk_window_set_shadow_width()
Use the information to allow dragging windows all the way to the top of
the screen (ie: allow the top shadow to go under the menubar).

https://bugzilla.gnome.org/show_bug.cgi?id=720374
2014-01-06 15:27:28 -05:00
394fe4b57e quartz: fix manual window move
We need to have gdk skip standard processing of events when we are in
manual move in addition to manual resize.

https://bugzilla.gnome.org/show_bug.cgi?id=720357
2014-01-06 15:27:28 -05:00
dae65b7c62 tests: add menu alignments to the menubutton test
https://bugzilla.gnome.org/show_bug.cgi?id=720939
2014-01-06 13:55:42 -05:00
b2dbcea3a2 tests: add some space to menubutton test
https://bugzilla.gnome.org/show_bug.cgi?id=720939
2014-01-06 13:55:42 -05:00
4b1838bde6 Fix positioning of up menu button popup
Use the menu allocation instead of the request size.

https://bugzilla.gnome.org/show_bug.cgi?id=720939
2014-01-06 12:44:59 -05:00
f7c5dfdeef bloatpad: fix the action associated with the notification
Notifications can only be associated with application actions,
but clear is a window action. Introduce a "clear-all" action
that forwards to clear on all windows.

https://bugzilla.gnome.org/show_bug.cgi?id=721633
2014-01-06 16:36:45 +01:00
d28ca4cdce Add an example for split headers
This shows how to deal with variability in window decorations
with split header bars.
2014-01-06 10:32:19 -05:00
f723113127 GtkHeaderBar: Refresh window buttons when settings change
We already do this when the shell-shows-menu settings changes,
but we forgot to do the same for the decoration layout.
2014-01-06 10:32:18 -05:00
360f89d251 Tajik translation updated 2014-01-06 15:18:49 +05:00
97e0ced9f0 [l10n] Updated Italian translation. 2014-01-06 09:26:21 +01:00
a4e4d7d1fd GtkMenuItem: fix initial accessible selection state
When the accessible is created for an already-selected
menuitem, we were not properly setting the state of the
the accessible. Fix that.
2014-01-05 22:45:39 -05:00
1f9da6675d x11: Include missing public headers to GdkX11 gir build 2014-01-05 21:46:40 +01:00
efa8956718 Add introspection friendly version of gtk_tree_path_new_from_indices
Add gtk_tree_path_new_from_indicesv which takes an array of
integers with a length. Use "Rename to" annotation to rename the
method as gtk_tree_path_new_from_indices. This is needed because
the original method takes variadic arguments which is not supported
by introspection.

https://bugzilla.gnome.org/show_bug.cgi?id=706119
2014-01-05 11:23:41 -08:00
935dc1d273 Updated Brazilian Portuguese translation for UI 2014-01-05 15:01:54 -02:00
1ec8a102b2 Updated Brazilian Portuguese translation for Properties 2014-01-05 15:01:47 -02:00
e015102fa9 a11y: Fix keybindings in menus
GtkMenuItemAccessible was assuming that an accel label is
always the immediate child of a menu item. It also did not
deal with manually set accels.  Fix both of these.
https://bugzilla.gnome.org/show_bug.cgi?id=721086
2014-01-05 11:56:31 -05:00
7e3f68d950 GtkAccelLabel: Add a setter for manual accels
This is needed to keep the a11y keybinding code working.
2014-01-05 11:12:09 -05:00
29cd52c854 Emit a11y state change notification for color swatches
Improve the color swatch accessible to set a proper role
depending on whether the swatch is selectable or not, and
set the checked atk state when appropriate.

https://bugzilla.gnome.org/show_bug.cgi?id=721048
2014-01-05 10:54:43 -05:00
b962d7686a Color chooser: More accessible names
Set the accessible name of the 'custom color' button too.
2014-01-05 09:21:32 -05:00
89e8624cb3 Update a11y tests to match the last change
Color swatches have names now, not descriptions.
2014-01-05 09:11:54 -05:00
6a7670efe5 Nicer nicks for GtkMenuButton properties
Requested in
https://bugzilla.gnome.org/show_bug.cgi?id=720945
2014-01-04 23:36:12 -05:00
c6175bbe68 GtkColorChooserWidget: Set accessible names
As pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=721053
we should set the accessible name on the color swatch widgets,
not the descriptions.
2014-01-04 23:30:28 -05:00
b4d9ea1878 GtkModelMenuItem: set initial accessible role
The initial state of GtkModelMenuItem is that of a normal menu
item, but the accessible we are using, GtkCheckMenuItemAccessible,
starts out with a role of 'check menu item'. Fix that up by
explicitly setting the initial accessible role.
2014-01-04 23:15:40 -05:00
01ad01a801 Drop custom colors from a11y output
These were inadvertedly included in the previous commit, but
no custom colors are present in the gnome-continuous test sessions.
2014-01-04 21:57:26 -05:00
8085b41074 GtkCheckMenuItemAccessible: Make work with model menu items
GtkModelMenuItem does not emit the ::toggled signal when a radio
item is activated, so listen for property notification for that
property. We still keep the ::toggled signal handler, in order
to not break other uses of check and radio menu items.

https://bugzilla.gnome.org/show_bug.cgi?id=720983
2014-01-04 21:53:31 -05:00
2a3d5823f4 GtkModelMenuItem: Add some property notification
GtkModelMenuItem emits no property notification, since none of its
properties are readable. But the toggled property is just a proxy
for GtkCheckMenuItem::active, so we should ensure that property
notification is emitted for the ::active property.
2014-01-04 21:52:36 -05:00
07d6c69128 bgo #721407 - Fix scrolled window to work with template subclasses.
Ensure the hscrollbar & vscrollbar at gtk_scrolled_window_add() time,
this allows one to subclass GtkScrolledWindow with templates and add
children, as this will happen at instance initialization time before
the construct adjustment properties take effect.
2014-01-04 20:36:17 -05:00
9137b4ed8e GtkColorSwatch: Set an accessible role
And update the colorchooser a11y test to a) use GtkColorChooser
instead of the deprecated GtkColorSelection and b) match this
change. Pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=721045
2014-01-04 18:52:46 -05:00
c45057c88a testbbox: Remove unused variable
This was the only compiler warning in Continuous for gtk3.
2014-01-04 17:52:22 -05:00
2f4b577165 GtkInfoBar: Set a more accurate accessible role
And update the a11y tests to match. Pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=721042
2014-01-04 17:44:14 -05:00