aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/im-application-list.c15
-rw-r--r--src/messages-service.c8
2 files changed, 13 insertions, 10 deletions
diff --git a/src/im-application-list.c b/src/im-application-list.c
index d766f24..c5e34b7 100644
--- a/src/im-application-list.c
+++ b/src/im-application-list.c
@@ -304,22 +304,21 @@ im_application_list_class_init (ImApplicationListClass *klass)
static void
im_application_list_init (ImApplicationList *list)
{
+ const GActionEntry action_entries[] = {
+ { "messages", NULL, NULL, "('', 'indicator-messages', 'Messages', true)", NULL },
+ { "remove-all", im_application_list_remove_all }
+ };
+
GSimpleActionGroup *actions;
- GSimpleAction *remove_all_action;
list->applications = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, application_free);
- list->muxer = g_action_muxer_new ();
actions = g_simple_action_group_new ();
+ g_simple_action_group_add_entries (actions, action_entries, G_N_ELEMENTS (action_entries), list);
- remove_all_action = g_simple_action_new ("remove-all", NULL);
- g_signal_connect (remove_all_action, "activate", G_CALLBACK (im_application_list_remove_all), list);
-
- g_simple_action_group_insert (actions, G_ACTION (remove_all_action));
-
+ list->muxer = g_action_muxer_new ();
g_action_muxer_insert (list->muxer, NULL, G_ACTION_GROUP (actions));
- g_object_unref (remove_all_action);
g_object_unref (actions);
}
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);