diff options
author | Ted Gould <ted@gould.cx> | 2010-08-05 13:56:56 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-08-05 13:56:56 -0500 |
commit | 54c6103dc570dbbee0ba8402d3c7156ac40dc5a4 (patch) | |
tree | db6893ec0a8239d6d364566be0f9d9a11f7fcd37 /src/indicator-application.c | |
parent | b17e62540f4ac630d7af7386409779271f3a2a57 (diff) | |
download | libayatana-appindicator-54c6103dc570dbbee0ba8402d3c7156ac40dc5a4.tar.gz libayatana-appindicator-54c6103dc570dbbee0ba8402d3c7156ac40dc5a4.tar.bz2 libayatana-appindicator-54c6103dc570dbbee0ba8402d3c7156ac40dc5a4.zip |
Showing and hiding the entries with removal.
Diffstat (limited to 'src/indicator-application.c')
-rw-r--r-- | src/indicator-application.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/indicator-application.c b/src/indicator-application.c index 2b32a1b..31c3aa9 100644 --- a/src/indicator-application.c +++ b/src/indicator-application.c @@ -649,7 +649,28 @@ application_label_changed (DBusGProxy * proxy, gint position, const gchar * labe if (signal_reload) { /* Telling the listener that this has been removed, and then readded to make it reparse the entry. */ + if (app->entry.label != NULL) { + gtk_widget_hide(GTK_WIDGET(app->entry.label)); + } + + if (app->entry.image != NULL) { + gtk_widget_hide(GTK_WIDGET(app->entry.image)); + } + + if (app->entry.menu != NULL) { + gtk_menu_detach(app->entry.menu); + } + g_signal_emit(G_OBJECT(application), INDICATOR_OBJECT_SIGNAL_ENTRY_REMOVED_ID, 0, &(app->entry), TRUE); + + if (app->entry.label != NULL) { + gtk_widget_show(GTK_WIDGET(app->entry.label)); + } + + if (app->entry.image != NULL) { + gtk_widget_show(GTK_WIDGET(app->entry.image)); + } + g_signal_emit(G_OBJECT(application), INDICATOR_OBJECT_SIGNAL_ENTRY_ADDED_ID, 0, &(app->entry), TRUE); } |