aboutsummaryrefslogtreecommitdiff
path: root/src/messages-service.c
diff options
context:
space:
mode:
authorLars Uebernickel <lars.uebernickel@canonical.com>2012-11-28 13:29:15 +0100
committerLars Uebernickel <lars.uebernickel@canonical.com>2012-11-28 13:29:15 +0100
commit83598a9e4fe059703faa806e7a9cdab1e6cb293c (patch)
tree3200ae6cb46507b060fde2cdf552cc7d8de1423f /src/messages-service.c
parentc9ddfbead428ec96459cd80b57aba6ad6ed0492a (diff)
downloadayatana-indicator-messages-83598a9e4fe059703faa806e7a9cdab1e6cb293c.tar.gz
ayatana-indicator-messages-83598a9e4fe059703faa806e7a9cdab1e6cb293c.tar.bz2
ayatana-indicator-messages-83598a9e4fe059703faa806e7a9cdab1e6cb293c.zip
Add root menu item
The action for that root item lives in ImApplicationList for now, because it owns the action group (which should probably factored into its own class at some point).
Diffstat (limited to 'src/messages-service.c')
-rw-r--r--src/messages-service.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/messages-service.c b/src/messages-service.c
index b3731a8..62abc81 100644
--- a/src/messages-service.c
+++ b/src/messages-service.c
@@ -200,7 +200,7 @@ got_bus (GObject *object,
}
g_dbus_connection_export_menu_model (bus, INDICATOR_MESSAGES_DBUS_OBJECT "/phone",
- im_phone_menu_get_model (menu), &error);
+ G_MENU_MODEL (toplevel_menu), &error);
if (error) {
g_warning ("unable to export menu on dbus: %s", error->message);
g_error_free (error);
@@ -224,6 +224,7 @@ main (int argc, char ** argv)
{
GMainLoop * mainloop = NULL;
IndicatorService * service = NULL;
+ GMenuItem *root;
/* Glib init */
g_type_init();
@@ -255,7 +256,9 @@ main (int argc, char ** argv)
menu = im_phone_menu_new ();
toplevel_menu = g_menu_new ();
- g_menu_append_submenu (toplevel_menu, NULL, im_phone_menu_get_model (menu));
+ root = g_menu_item_new (NULL, "messages");
+ g_menu_item_set_submenu (root, im_phone_menu_get_model (menu));
+ g_menu_append_item (toplevel_menu, root);
settings = g_settings_new ("com.canonical.indicator.messages");
@@ -274,6 +277,7 @@ main (int argc, char ** argv)
g_main_loop_run(mainloop);
/* Clean up */
+ g_object_unref (root);
g_object_unref (messages_service);
g_object_unref (settings);
g_object_unref (applications);