Commit Graph

29870 Commits

Author SHA1 Message Date
Matthias Clasen
bf03adcdeb testgmenu: Use activate with parameter for radio actions
This is how stateful actions are supposed to be activated, using
change_state for this was not right at all.
2011-12-19 12:45:51 -05:00
Matthias Clasen
15afbf846d testgmenu: Use activate for toggle actions
This is how stateful actions are supposed to be activated, using
change_state for this was not right at all.
2011-12-19 12:45:51 -05:00
Colin Walters
e0c235255b testgmenu: Quit on delete-event 2011-12-19 12:45:51 -05:00
Matthias Clasen
95d9a5e368 Adapt to api changes in GMenuModel 2011-12-19 12:45:51 -05:00
Matthias Clasen
5d0020cbd3 Adapt to object path conventions
Seems common to expect 'path == bus name with slashes'.
2011-12-19 12:45:51 -05:00
Matthias Clasen
8ee68a7bf1 bloatpad: Add an example app menu
The bloatpad example shows simple GtkApplication usage,
so it makes sense to test app menu api here as well.
2011-12-19 12:45:51 -05:00
Matthias Clasen
cc24dbe9c7 GtkApplication: add a way to get the appmenu
This function either returns a GtkMenu or NULL.
Still to do: detect if the app menu is externally handled.
2011-12-19 12:45:51 -05:00
Matthias Clasen
601b3fca60 Drop an unused variable 2011-12-19 12:45:51 -05:00
Matthias Clasen
3b2f77e2c6 Remove an unneeded include 2011-12-19 12:45:51 -05:00
Matthias Clasen
1996a5edff testgmenu: Demonstrate how translatable labels work 2011-12-19 12:45:51 -05:00
Matthias Clasen
f13083bf0d Pass domain to the menu parser
This is necessary to make translations in markup work.
2011-12-19 12:45:51 -05:00
Matthias Clasen
b36198dbc2 More dynamic changes 2011-12-19 12:45:51 -05:00
Matthias Clasen
1aec8e22b6 Cleanups
Separate the menu generation code and all callbacks in a
MenuHolder struct.
2011-12-19 12:45:50 -05:00
Matthias Clasen
1ddaf01aed Quick-and-dirty GtkBuilder integration
This makes GtkBuilder accept a GMenuMarkup tree at the toplevel
(ie with <menu id='foo'> being a child of <interface>) and the resulting
GMenu object can be obtained via gtk_builder_get_object (builder, "foo").
2011-12-19 12:45:50 -05:00
Matthias Clasen
fd9df1864b Brute-force dynamic change propagation
We need to make sure that we connect to ::items-changed on every
single model, as they appear and disappear. Ugly business.
2011-12-19 12:45:50 -05:00
Matthias Clasen
519c75a606 First attempt at handling dynamic changes
We need to connect to items-changed on _every_ menu
model, which is somewhat icky. For some reason, this
works fine with a local model, but not with D-Bus in
between. Debugging needed.
2011-12-19 12:45:50 -05:00
Matthias Clasen
c62ed7e3a3 Add code for dynamic changes
Add and remove items and actions - we don't update
the menus properly yet.
2011-12-19 12:45:50 -05:00
Matthias Clasen
bfa53a9df5 Add some todos 2011-12-19 12:45:50 -05:00
Matthias Clasen
8841c04e22 Some GMenu test code
This is some test code for constructing GtkMenus from GMenus.
2011-12-19 12:45:50 -05:00
Daniel Mustieles
0192955bd8 Updated Spanish translation 2011-12-19 17:14:35 +01:00
Benjamin Otte
902c5c6979 a11y: emit entry signals immediately
We want to emit signals when stuff happens, not sometime later. That way
we can also catch the correct text that was deleted.

https://bugzilla.gnome.org/show_bug.cgi?id=659445
2011-12-19 16:17:14 +01:00
Benjamin Otte
db4a6040af x11: Avoid spurious focus events on grabs
We want to avoid handling focus events for the private focus window,
otherwise the keyboard grab taken by for example buttons will cause a
spurious FOCUS_OUT/FOCUS_IN on the toplevel.

The code that did this seems to have been lost in the XI2 transition for
GTK3.

https://bugzilla.gnome.org/show_bug.cgi?id=657578
2011-12-19 16:17:14 +01:00
Benjamin Otte
2ea328dfbc x11: Unify focus handling code
This code was essentially copy-pasted in two locations, so unify them in
the same place.

https://bugzilla.gnome.org/show_bug.cgi?id=657578
2011-12-19 16:17:13 +01:00
Benjamin Otte
3d4a8dabb2 a11y: implement widget_(un)set in ContainerCell 2011-12-19 16:17:13 +01:00
Benjamin Otte
d2a58446ea a11y: Make GtkCellAccessible a GtkAccessible 2011-12-19 16:17:13 +01:00
Benjamin Otte
e937d0613d tests: Avoid deprecation warning 2011-12-19 16:17:13 +01:00
Benjamin Otte
073b4d8bea accessible: Deprecate gtk_accessible_connect_widget_destroyed()
That was an abomination. Also, if people called it twice, you got even
mor signal handlers!
2011-12-19 16:17:13 +01:00
Benjamin Otte
0c1f2f2fc1 widget: Set widget in accessible's constructor
No need to add t manually later.
2011-12-19 16:17:13 +01:00
Benjamin Otte
d801b28365 a11y: Don't connect_destroyed anymore
It's not used now that set_widget() does the right thing.
2011-12-19 16:17:13 +01:00
Benjamin Otte
1961be9ee9 iconview: Simplify adjustment monitoring for accessible 2011-12-19 16:17:13 +01:00
Benjamin Otte
4652d4c399 a11y: Remove widget_destroyed call
GtkAccessible does all of that for us now.
2011-12-19 16:17:13 +01:00
Benjamin Otte
80a0413d40 a11y: Use widget_unset vfunc in treeview 2011-12-19 16:17:13 +01:00
Benjamin Otte
dbc1581376 accessible: Ensure we unset the widget when finalizing 2011-12-19 16:17:13 +01:00
Benjamin Otte
03a63def24 widget: Unref accessible 2011-12-19 16:17:13 +01:00
Benjamin Otte
7b5b678e2e a11y: Fix crash in notebook
When the accessible was disposed before the notebook it referenced, the
weak ref could still trigger. This works around it.
2011-12-19 16:17:13 +01:00
Benjamin Otte
e042462674 widget: Unset self from accessible 2011-12-19 16:17:13 +01:00
Benjamin Otte
23b5f9c066 widget: Unset widget on accessibles 2011-12-19 16:17:13 +01:00
Benjamin Otte
075cc5dd36 accesible: Manage the DEFUNCT state
A GtkAccessible with a NULL widget is defunct, there's no way around it.
2011-12-19 16:17:12 +01:00
Benjamin Otte
1305815bde iconview: Split out iconview accessible 2011-12-19 16:17:12 +01:00
Benjamin Otte
eb27c61878 accessible: Use set_widget() in destroy notify
We don't want to bypass the unset_widget call.
2011-12-19 16:17:12 +01:00
Benjamin Otte
bac73e48db API: accessible: Add widget_set and widget_unset vfuncs
I expect them to be used a lot, so this approach seems better than
requiring signals that connect to "notify::widget". Also, we can't use
regular functions (like dispose or constructed), becaiuse those assume
that (un)setting of the widget only happens once and with the current
design (a puble set_widget() function) we can't really guarantee that.

Also, I split them into two separate functions as one function is part
of construction and the other part of destruction of the object. And it
doesn't sound like a good idea to have that both be part of one
function.
2011-12-19 16:17:12 +01:00
Benjamin Otte
50431be274 accessible: At an important note to the docs
I wanted to use weak refs to ensure this instead, but it's a performance
problem when used in the treeview and each and every cell adds a weak
ref to the treeview.
2011-12-19 16:17:12 +01:00
Benjamin Otte
5789fd983b accessible: Check the widgeyt actually changed when setting 2011-12-19 16:17:12 +01:00
Benjamin Otte
1998a63917 accessible: Make widget a property 2011-12-19 16:17:12 +01:00
Benjamin Otte
eed9cc94e1 treeview: Only set focus column in setter function
Single point of entry. It's actually going to become more complicated
with a11y now.
2011-12-19 16:17:12 +01:00
Benjamin Otte
e4f6a7124b a11y: Simplify code
Use peek_cell() instead of a custom find_cell() function that duplicates
loads of functionality.
2011-12-19 16:17:12 +01:00
Matthias Clasen
19c5b5c9d6 Tell gtk-doc about G_GNUC_WARN_UNUSED_RESULT 2011-12-19 07:32:32 -05:00
Matthias Clasen
5913e88feb Reduce gtk-doc warnings 2011-12-19 07:32:15 -05:00
Matthias Clasen
910e50994c Fix parameter name mismatch 2011-12-18 16:04:51 -05:00
Matthias Clasen
020c1846b7 Use the workarea when placing popups
This uses the new workarea API to avoid placing popups underneath
panels, docks, etc.
2011-12-18 14:29:16 -05:00