From 07a302702226efe27e7e69fbe9643ed31f839f66 Mon Sep 17 00:00:00 2001 From: Lars Uebernickel Date: Tue, 10 Mar 2015 12:14:50 +0100 Subject: idoscalemenuitem: translate motion event coordinates Fixes hover theming. --- src/idoscalemenuitem.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/idoscalemenuitem.c b/src/idoscalemenuitem.c index 9898b63..3b34ea4 100644 --- a/src/idoscalemenuitem.c +++ b/src/idoscalemenuitem.c @@ -574,6 +574,15 @@ ido_scale_menu_item_motion_notify_event (GtkWidget *menuitem, gtk_widget_get_allocation (priv->scale, &alloc); gtk_widget_translate_coordinates (menuitem, priv->scale, event->x, event->y, &x, &y); + /* don't translate coordinates when the scale has the "grab" - + * GtkRange expects coords relative to its event window in that case + */ + if (!priv->grabbed) + { + event->x = x; + event->y = y; + } + if (priv->grabbed || (x > 0 && x < alloc.width && y > 0 && y < alloc.height)) gtk_widget_event (priv->scale, (GdkEvent *) event); -- cgit v1.2.3 From 3bef6a1972f8c09b954b9733d79dde42dd86650b Mon Sep 17 00:00:00 2001 From: Lars Uebernickel Date: Tue, 10 Mar 2015 12:38:25 +0100 Subject: idoscalemenuitem: set focus flag on scale So that it gets themed correctly when the menu item is selected. --- src/idoscalemenuitem.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/idoscalemenuitem.c b/src/idoscalemenuitem.c index 3b34ea4..de9884f 100644 --- a/src/idoscalemenuitem.c +++ b/src/idoscalemenuitem.c @@ -472,6 +472,7 @@ ido_scale_menu_item_select (GtkMenuItem *item) IdoScaleMenuItemPrivate *priv = GET_PRIVATE (item); priv->has_focus = TRUE; + gtk_widget_set_state_flags (priv->scale, GTK_STATE_FLAG_FOCUSED, FALSE); GTK_MENU_ITEM_CLASS (ido_scale_menu_item_parent_class)->select (item); } @@ -482,6 +483,7 @@ ido_scale_menu_item_deselect (GtkMenuItem *item) IdoScaleMenuItemPrivate *priv = GET_PRIVATE (item); priv->has_focus = FALSE; + gtk_widget_unset_state_flags (priv->scale, GTK_STATE_FLAG_FOCUSED); GTK_MENU_ITEM_CLASS (ido_scale_menu_item_parent_class)->deselect (item); } -- cgit v1.2.3