[empathy: 1/2] Prevent contact list tooltip from showing if context menu is shown.
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy: 1/2] Prevent contact list tooltip from showing if context menu is shown.
- Date: Mon, 8 Mar 2010 08:54:35 +0000 (UTC)
commit 023e73e6c363e37de3f9306e0c81c9d255a1a880
Author: Mike Ruprecht <mike ruprecht collabora co uk>
Date: Thu Mar 4 20:53:53 2010 -0600
Prevent contact list tooltip from showing if context menu is shown.
Previously, if you opened a context menu in the contact list,
contact tooltips would still be capable of being shown and
obscuring the context menu options. This patch prevents tooltips
from being shown if a context menu is visible.
Fixes #607626
libempathy-gtk/empathy-contact-list-view.c | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c
index 0ed24bd..705494e 100644
--- a/libempathy-gtk/empathy-contact-list-view.c
+++ b/libempathy-gtk/empathy-contact-list-view.c
@@ -155,6 +155,11 @@ contact_list_view_query_tooltip_cb (EmpathyContactListView *view,
}
running++;
+ /* Don't show the tooltip if there's already a popup menu */
+ if (gtk_menu_get_for_attach_widget (GTK_WIDGET (view)) != NULL) {
+ goto OUT;
+ }
+
if (!gtk_tree_view_get_tooltip_context (GTK_TREE_VIEW (view), &x, &y,
keyboard_mode,
&model, &path, &iter)) {
@@ -679,6 +684,10 @@ contact_list_view_popup_menu_idle_cb (gpointer user_data)
}
if (menu) {
+ g_signal_connect (menu, "deactivate",
+ G_CALLBACK (gtk_menu_detach), NULL);
+ gtk_menu_attach_to_widget (GTK_MENU (menu),
+ GTK_WIDGET (data->view), NULL);
gtk_widget_show (menu);
gtk_menu_popup (GTK_MENU (menu),
NULL, NULL, NULL, NULL,
@@ -794,6 +803,10 @@ contact_list_view_call_activated_cb (
gtk_menu_shell_append (shell, item);
gtk_widget_show (item);
+ g_signal_connect (menu, "deactivate",
+ G_CALLBACK (gtk_menu_detach), NULL);
+ gtk_menu_attach_to_widget (GTK_MENU (menu),
+ GTK_WIDGET (view), NULL);
gtk_widget_show (menu);
gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL,
event->button, event->time);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]