diff options
author | Matthias Clasen <mclasen@redhat.com> | 2017-05-24 22:21:57 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2017-05-24 22:21:57 -0400 |
commit | 747a31cd70639691e167b9c9a1a2e19023acf36c (patch) | |
tree | a41244452502b36d985d14ad11f4604adf038394 /gtk/gtkapplication-dbus.c | |
parent | 853cba6b1a1192e2e219fad6f2e2f8f9a7ba731f (diff) | |
download | gtk+-wip/statusicon.tar.gz |
GtkApplication: Add a status-menu to as an exported objectwip/statusicon
This can be used together with the StatusIcon property to
implement status icons.
Diffstat (limited to 'gtk/gtkapplication-dbus.c')
-rw-r--r-- | gtk/gtkapplication-dbus.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gtk/gtkapplication-dbus.c b/gtk/gtkapplication-dbus.c index 3ad964ee57..721928123a 100644 --- a/gtk/gtkapplication-dbus.c +++ b/gtk/gtkapplication-dbus.c @@ -443,6 +443,15 @@ gtk_application_impl_dbus_set_menubar (GtkApplicationImpl *impl, gtk_application_impl_dbus_publish_menu (dbus, "menubar", menubar, &dbus->menubar_id, &dbus->menubar_path); } +static void +gtk_application_impl_dbus_set_status_menu (GtkApplicationImpl *impl, + GMenuModel *menu) +{ + GtkApplicationImplDBus *dbus = (GtkApplicationImplDBus *) impl; + + gtk_application_impl_dbus_publish_menu (dbus, "statusmenu", menu, &dbus->status_menu_id, &dbus->status_menu_path); +} + static GVariant * gtk_application_impl_dbus_real_get_window_system_id (GtkApplicationImplDBus *dbus, GtkWindow *window) @@ -693,6 +702,7 @@ gtk_application_impl_dbus_finalize (GObject *object) g_slist_free_full (dbus->inhibit_handles, inhibit_handle_free); g_free (dbus->app_menu_path); g_free (dbus->menubar_path); + g_free (dbus->status_menu_path); g_clear_object (&dbus->sm_proxy); G_OBJECT_CLASS (gtk_application_impl_dbus_parent_class)->finalize (object); @@ -713,6 +723,7 @@ gtk_application_impl_dbus_class_init (GtkApplicationImplDBusClass *class) impl_class->active_window_changed = gtk_application_impl_dbus_active_window_changed; impl_class->set_app_menu = gtk_application_impl_dbus_set_app_menu; impl_class->set_menubar = gtk_application_impl_dbus_set_menubar; + impl_class->set_status_menu = gtk_application_impl_dbus_set_status_menu; impl_class->inhibit = gtk_application_impl_dbus_inhibit; impl_class->uninhibit = gtk_application_impl_dbus_uninhibit; impl_class->is_inhibited = gtk_application_impl_dbus_is_inhibited; |