Ryan Lortie
02b001f8f6
gmenu exporter: put submenus in separate groups
...
Keep sections in the same subscription group as the parent (since they
will be needed immediately) but put submenus in a separate group.
2011-12-08 18:05:13 -05:00
Ryan Lortie
a0a94cd6c6
menu tests: keep mirror of proxy
...
Create a 'mirror' model of the proxy for the testcase. In addition to
testing that the proxy model emits the proper signals this also keeps
the proxy alive (by holding references to it from the mirror).
The previous code would create the submenu proxies and destroy them
right away (from the recursive step in the equality comparison
functions). This means that the subscription would go out over D-Bus
and the proxy would be destroyed before it returned. Keeping the model
alive allows it to be actually updated.
2011-12-08 18:05:13 -05:00
Matthias Clasen
d6f2281329
Shorten a variable name
2011-12-08 18:05:13 -05:00
Matthias Clasen
ad09498fa7
Expand dbus action group tests
...
The new tests check that activation and state changes propagate
back.
2011-12-08 18:05:13 -05:00
Matthias Clasen
5718804e58
Some more assertions
2011-12-08 18:05:13 -05:00
Matthias Clasen
22c9d20b7a
Add some dbus action group tests
2011-12-08 18:05:13 -05:00
Matthias Clasen
7ef3e27255
Fix the dbus action group query_action implementation
2011-12-08 18:05:13 -05:00
Matthias Clasen
5002cb2935
Make stopping an action group export work
2011-12-08 18:05:13 -05:00
Ryan Lortie
7a0faf66fe
rework GMenuProxy links
...
Only resolve the link at the point that we pull it through the API
rather than at the point that we first are told about it. This reduces
the lifespan of subscriptions and, more importantly, avoids a tricky
reference cycle issue.
2011-12-08 18:05:13 -05:00
Ryan Lortie
2c4ded15e5
g_menu_model_get_item_link: be careful with refs
...
Don't unref the hashtable until after we already take the ref on the
value that was contained in the hashtable, otherwise we may kill the
value.
2011-12-08 18:05:13 -05:00
Matthias Clasen
1bb0a89de6
Add debug code
...
This adds a dump method to show the entire tree of proxies.
2011-12-08 18:05:13 -05:00
Matthias Clasen
2cf4866e33
Avoid cross-talk between tests
...
Each test needs to remove the sources that it attaches
to the default main context, or else things will work
fine in isolation, but go bad in a full test run.
2011-12-08 18:05:13 -05:00
Matthias Clasen
39ce59f955
Typo fix
2011-12-08 18:05:13 -05:00
Matthias Clasen
ff833ccac9
Remove unused variable
2011-12-08 18:05:13 -05:00
Matthias Clasen
500f8fbac5
Add a test for menu subscriptions
2011-12-08 18:05:13 -05:00
Matthias Clasen
efd23e23c6
Take out excessive width
2011-12-08 18:05:13 -05:00
Matthias Clasen
381b23fc85
Reduce excessive width
2011-12-08 18:05:13 -05:00
Matthias Clasen
f9f0ef19d7
whitespace fix
2011-12-08 18:05:13 -05:00
Matthias Clasen
0f88b7af33
Add some tests for links
2011-12-08 18:05:13 -05:00
Matthias Clasen
0760bf5850
Add parser roundtrip tests
2011-12-08 18:05:13 -05:00
Matthias Clasen
a2aeea7acd
GMenuMarkup: fixes uncovered by roundtrip testing
...
The print function was forgetting to emit type information for
attributes, and the parser was not handling types properly either.
2011-12-08 18:05:13 -05:00
Matthias Clasen
d5a1b674f5
Improve docs
...
Specify that g_menu_item_set_attribute_value consumes floating
@values.
2011-12-08 18:05:13 -05:00
Matthias Clasen
41c19c7df8
GApplication: Add a menu example to the docs
2011-12-08 18:05:13 -05:00
Matthias Clasen
8d96e68eeb
GMenu: Enforce attribute name restrictions
...
The code assumes in various places that ':' does not occur
in attribute names. We are a little more strict than that,
and only allow lowercase ASCII, digits and '-'.
2011-12-08 18:05:13 -05:00
Matthias Clasen
9bebf15077
Reduce excessive width of gmenu.h
2011-12-08 18:05:12 -05:00
Matthias Clasen
58a8c02dfb
Match up a parameter name
2011-12-08 18:05:12 -05:00
Matthias Clasen
60ab57c4b0
Describe the org.gtk.Menus interface
...
Even though we consider the interface to be an implementation
detail, we should have internal documentation of the interface.
2011-12-08 18:05:12 -05:00
Matthias Clasen
cd22e1967d
Describe the org.gtk.Actions interface
...
Even though we consider the interface to be an implementation
detail, we should have internal documentation for the interface.
2011-12-08 18:05:12 -05:00
Matthias Clasen
db34b1aebe
Rename exporter APIs
...
There are no public 'exporter' objects, so don't allude to them
in the function names. At the same time, we want to make it clear
that these functions are D-Bus specific.
The new APIs are
g_action_group_dbus_export_start
g_action_group_dbus_export_query
g_action_group_dbus_export_stop
g_menu_model_dbus_export_start
g_menu_model_dbus_export_query
g_menu_model_dbus_export_stop
2011-12-08 18:05:12 -05:00
Matthias Clasen
435b2418da
GActionGroup: Mention GMenuModel in the docs
2011-12-08 18:05:12 -05:00
Matthias Clasen
ae0bd032ca
Add g_application_set_menu
...
This adds ane asy way to export menu information alongside
the actions that are already exported by GApplication.
2011-12-08 18:05:12 -05:00
Ryan Lortie
6dfb9d583f
Add GMenuModel testcases
2011-12-08 18:05:12 -05:00
Ryan Lortie
d110fd9202
Add GMenuProxy
...
GMenuProxy can be used as a client-side wrapper
for the a menu model that has been exported on D-Bus.
2011-12-08 18:05:12 -05:00
Matthias Clasen
66e089f086
Add GMenuModel D-Bus exporter
2011-12-08 18:05:12 -05:00
Matthias Clasen
6b40d4eb6b
Add GMenu markup
...
These functions serialize and deserialize a GMenuModel
to and from XML.
2011-12-08 18:05:12 -05:00
Matthias Clasen
13f5977735
Add GMenu
2011-12-08 18:05:12 -05:00
Matthias Clasen
12a39a05d3
Add GMenuModel
2011-12-08 18:05:12 -05:00
Matthias Clasen
df4cd241e5
GApplication: use GDBusActionGroup
...
instead of the internal version of the same
2011-12-08 18:05:12 -05:00
Ryan Lortie
c249e10d11
Add GDBusActionGroup
...
GDBusActionGroup can be used as a client-side wrapper
for the an action group that has been exported on D-Bus.
2011-12-08 18:05:12 -05:00
Ryan Lortie
bc5fe41dec
GApplication: port action client to new D-Bus API
...
for compatibility with GActionGroup exporter
2011-12-08 18:05:12 -05:00
Ryan Lortie
20d1de3a1b
GApplication: use GActionGroup exporter
...
instead of home-grown internal implementation of the same
2011-12-08 18:05:12 -05:00
Ryan Lortie
940ec94f0a
Add GActionGroup D-Bus exporter
2011-12-08 18:05:12 -05:00
Ryan Lortie
8d1cc7f463
Revert "Use an XML blob for gapplication interface info"
...
This reverts commit 8013401f6e
.
2011-12-08 18:05:12 -05:00
Ryan Lortie
45818762d3
Revert "Forgot one interface..."
...
This reverts commit 30580bdca7
.
2011-12-08 18:05:12 -05:00
Matthias Clasen
888a52034b
Updates
2011-12-07 20:41:33 -05:00
Matthias Clasen
3d686e3d8f
Clarify docs around main loop vfuncs
...
Mention that the vfuncs are no longer used, and tweak the
wording around what g_application_run() does.
https://bugzilla.gnome.org/show_bug.cgi?id=665391
2011-12-07 14:38:37 -05:00
David Zeuthen
70dacf83d2
Bug 665733 – GDBusConnection holds lock while calling destroynotify
...
Fix this problem by always running the destroynotify from an idle.
https://bugzilla.gnome.org/show_bug.cgi?id=665733
Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-12-07 10:30:42 -05:00
Philip Withnall
386bb0faad
unicode: Fix a few issues with G_UNICHAR_MAX_DECOMPOSITION_LENGTH
...
Raised by Matthias in bgo#665685 but which I didn't spot until after pushing
commit 3ac7c35656
.
Renames G_UNICHAR_MAX_DECOMPOSITION_LEN to G_UNICHAR_MAX_DECOMPOSITION_LENGTH
and fixes a few documentation issues.
See: bgo#665685
2011-12-06 19:41:31 +00:00
Philip Withnall
3ac7c35656
Bug 665685 — Add a #define for the max length of a Unicode decomposition
...
Add G_UNICHAR_MAX_DECOMPOSITION_LEN for the maximum length of the
decomposition of a single Unicode character.
Closes: bgo#665685
2011-12-06 19:09:01 +00:00
David Zeuthen
990af4b372
GDBus: Note in docs that g_dbus_node_info_new_for_xml() is using GMarkup
...
This was discussed in bug 665634.
https://bugzilla.gnome.org/show_bug.cgi?id=665634
Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-12-06 13:41:53 -05:00