Commit Graph

29929 Commits

Author SHA1 Message Date
Colin Walters
0455a9596f testgmenu: #ifdef out non-compiling code for now 2011-12-19 12:51:07 -05:00
Matthias Clasen
6b7be4a3a2 Add a very bad fallback check
...maybe committing this inspires some better solution.
2011-12-19 12:51:07 -05:00
Colin Walters
9c52a73c21 window: Set a _DBUS_APPLICATION_ID X11 window property
This will allow gnome-shell to reference it.
2011-12-19 12:51:07 -05:00
Colin Walters
ff38dda9a8 x11: Add gdk_x11_window_set_utf8_property
A convenience function to manipulate UTF-8 X11 properties; no point
in wrapping each one in individual setters.
2011-12-19 12:51:07 -05:00
Matthias Clasen
5705a330c2 GtkApplication: Insert separators after sections
The previous code was only inserting a separator when a new
section was starting right away, which may not always be the
case.
2011-12-19 12:45:51 -05:00
Matthias Clasen
9131849eec testgmenu: Insert separators after sections
The previous code was only inserting a separator when a new
section was starting right away.
2011-12-19 12:45:51 -05:00
Matthias Clasen
5aee67793f GtkApplication: Initial attempt at section headings
This should be redone to show the label together with the
separator line, somehow. For now, just put the label below
the separator, as a separate item.
2011-12-19 12:45:51 -05:00
Matthias Clasen
7de8660187 testgmenu: Initial attempt at section headings
This should be redone to show the label together with the
separator line, somehow. For now, just put the label below
the separator, as a separate item.
2011-12-19 12:45:51 -05:00
Matthias Clasen
92af3d04b8 GtkApplication: use activate for actions here, too 2011-12-19 12:45:51 -05:00
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