Ryan Lortie
e7ad2f97c8
add GActionMuxer and observer interfaces
...
These were destined for GLib, but they don't really make sense as a
public API. Instead, we'll copy/paste them around between the various
codebases that need to render menus.
2011-12-19 12:51:08 -05:00
Ryan Lortie
f826dd5481
GtkSettings: add shell-shows-app-menu property
...
This is a boolean property that will be set to TRUE if the current
desktop environment is capable of displaying the application menu as
part of the desktop shell.
If it is FALSE then the application will need to display the menu for
itself.
2011-12-19 12:51:08 -05:00
Matthias Clasen
7ee18bd74a
Make it build against the current wip/menus-rebase3 branch
2011-12-19 12:51:07 -05:00
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