[gnac/devel] Fixed trayicon's behaviour



commit 10f036e7a849c9b2cf4f1bdbfa1af24dd38285e3
Author: BenoÃt Dupasquier <bdupasqu src gnome org>
Date:   Thu Jan 12 22:31:25 2012 +0000

    Fixed trayicon's behaviour

 src/gnac-ui.c |   33 ++++++++++++++++++++++-----------
 1 files changed, 22 insertions(+), 11 deletions(-)
---
diff --git a/src/gnac-ui.c b/src/gnac-ui.c
index 0958ea8..5f79440 100644
--- a/src/gnac-ui.c
+++ b/src/gnac-ui.c
@@ -86,6 +86,10 @@ enum {
 
 
 static void
+gnac_ui_update_trayicon_popup(void);
+
+
+static void
 gnac_ui_file_chooser_unref_filters(void)
 {
   GSList *f;
@@ -1150,7 +1154,7 @@ gnac_ui_on_conversion_completed(const gchar *msg)
   gnac_ui_trayicon_tooltip_update(msg);
   gnac_ui_set_action_visible("tray_stop_item", FALSE);
   gnac_ui_set_action_visible("tray_pause_item", FALSE);
-  gnac_ui_on_trayicon_popup(trayicon, 0, gtk_get_current_event_time(), NULL);
+  gnac_ui_update_trayicon_popup();
 }
 
 
@@ -1248,6 +1252,21 @@ gnac_ui_main_window_is_visible(void)
 }
 
 
+static void
+gnac_ui_update_trayicon_popup(void)
+{
+  GtkAction *show_action = gnac_ui_get_action("tray_show_hide_item");
+  /* Translators: Show/Hide main window */
+  gchar *label_text = g_strdup((gnac_ui_main_window_is_visible() &&
+      state != GNAC_AUDIO_READY_STATE) ? _("Hide") : _("Show"));
+
+  /* update the menu */
+  gtk_action_set_label(show_action, label_text);
+
+  g_free(label_text);
+}
+
+
 void
 gnac_ui_hide_trayicon(void)
 {  
@@ -1290,18 +1309,10 @@ gnac_ui_on_trayicon_popup(GtkStatusIcon *trayicon,
                           guint          activate_time,
                           gpointer       data)
 {
-  /* Translators: Show/Hide main window */
-  gchar *label_text = g_strdup((gnac_ui_main_window_is_visible() &&
-      state != GNAC_AUDIO_READY_STATE) ? _("Hide") : _("Show"));
-
-  GtkAction *show_action = gnac_ui_get_action("tray_show_hide_item");
-  GtkMenu *trayicon_menu = GTK_MENU(gnac_ui_get_widget("tray_popup"));
-
   /* update the menu and then display it */
-  gtk_action_set_label(show_action, label_text);
+  gnac_ui_update_trayicon_popup();
+  GtkMenu *trayicon_menu = GTK_MENU(gnac_ui_get_widget("tray_popup"));
   gtk_menu_popup(trayicon_menu, NULL, NULL, NULL, NULL, button, activate_time);
-
-  g_free(label_text);
 }
 
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]