From 5b943016a4de4f75eb48f70779b84daac29604a2 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Sat, 6 Feb 2010 09:58:46 -0800 Subject: Adding a menu item to toggle the attention state. --- example/simple-client.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/example/simple-client.c b/example/simple-client.c index 6dcf5d1..f1b8d37 100644 --- a/example/simple-client.c +++ b/example/simple-client.c @@ -25,6 +25,24 @@ with this program. If not, see . #include "libdbusmenu-glib/menuitem.h" GMainLoop * mainloop = NULL; +static gboolean active = TRUE; + +static void +activate_clicked_cb (GtkWidget *widget, gpointer data) +{ + AppIndicator * ci = APP_INDICATOR(data); + + if (active) { + app_indicator_set_status (ci, APP_INDICATOR_STATUS_ATTENTION); + gtk_menu_item_set_label(GTK_MENU_ITEM(widget), "I'm okay now"); + active = FALSE; + } else { + app_indicator_set_status (ci, APP_INDICATOR_STATUS_ACTIVE); + gtk_menu_item_set_label(GTK_MENU_ITEM(widget), "Get Attention"); + active = TRUE; + } + +} static void item_clicked_cb (GtkWidget *widget, gpointer data) @@ -99,6 +117,12 @@ main (int argc, char ** argv) gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show(item); + item = gtk_menu_item_new_with_label ("Get Attention"); + g_signal_connect (item, "activate", + G_CALLBACK (activate_clicked_cb), ci); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show(item); + app_indicator_set_menu (ci, GTK_MENU (menu)); mainloop = g_main_loop_new(NULL, FALSE); -- cgit v1.2.3