diff options
author | Ted Gould <ted@gould.cx> | 2010-02-08 09:20:04 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-02-08 09:20:04 -0600 |
commit | c273ac9ccf345a44020c6c990fb7504d9d0b7e4f (patch) | |
tree | c00704749a6163af1ec1f1cbc78ff9c46cb5ba38 /example/simple-client.c | |
parent | f8ab455538c130ce03132e2557c9363e9a808156 (diff) | |
parent | 987c4b508accb7412b3b401edfd21b34645a8fe2 (diff) | |
download | libayatana-appindicator-c273ac9ccf345a44020c6c990fb7504d9d0b7e4f.tar.gz libayatana-appindicator-c273ac9ccf345a44020c6c990fb7504d9d0b7e4f.tar.bz2 libayatana-appindicator-c273ac9ccf345a44020c6c990fb7504d9d0b7e4f.zip |
Fixing status updates and adding tests to help debug status changing.
Diffstat (limited to 'example/simple-client.c')
-rw-r--r-- | example/simple-client.c | 24 |
1 files changed, 24 insertions, 0 deletions
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 <http://www.gnu.org/licenses/>. #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); |