[gnome-flashback/gnome-3-18] input-sources: update pseudo class handling
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-flashback/gnome-3-18] input-sources: update pseudo class handling
- Date: Mon, 18 Jan 2016 12:15:03 +0000 (UTC)
commit 73d9b15eea9795a229eeb9d1bb9d2d14037f1b2d
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Mon Jan 18 14:03:49 2016 +0200
input-sources: update pseudo class handling
.../libinput-sources/gf-candidate-box.c | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 deletions(-)
---
diff --git a/gnome-flashback/libinput-sources/gf-candidate-box.c
b/gnome-flashback/libinput-sources/gf-candidate-box.c
index bc22e90..9fac19e 100644
--- a/gnome-flashback/libinput-sources/gf-candidate-box.c
+++ b/gnome-flashback/libinput-sources/gf-candidate-box.c
@@ -29,6 +29,8 @@ struct _GfCandidateBox
GtkWidget *candidate_label;
gboolean selected;
+
+ gboolean is_mouse_over;
};
enum
@@ -70,6 +72,11 @@ static gboolean
gf_candidate_box_enter_notify_event (GtkWidget *widget,
GdkEventCrossing *event)
{
+ GfCandidateBox *box;
+
+ box = GF_CANDIDATE_BOX (widget);
+ box->is_mouse_over = TRUE;
+
gtk_widget_set_state_flags (widget, GTK_STATE_FLAG_PRELIGHT, TRUE);
return GDK_EVENT_PROPAGATE;
@@ -83,10 +90,11 @@ gf_candidate_box_leave_notify_event (GtkWidget *widget,
GtkStateFlags flags;
box = GF_CANDIDATE_BOX (widget);
- flags = GTK_STATE_FLAG_NORMAL;
+ box->is_mouse_over = FALSE;
+ flags = GTK_STATE_FLAG_NORMAL;
if (box->selected)
- flags |= GTK_STATE_FLAG_SELECTED;
+ flags = GTK_STATE_FLAG_SELECTED;
gtk_widget_set_state_flags (widget, flags, TRUE);
@@ -163,7 +171,12 @@ gf_candidate_box_set_selected (GfCandidateBox *box,
box->selected = selected;
- flags = selected ? GTK_STATE_FLAG_SELECTED : GTK_STATE_FLAG_NORMAL;
+ if (selected)
+ flags = GTK_STATE_FLAG_SELECTED;
+ else if (box->is_mouse_over)
+ flags = GTK_STATE_FLAG_PRELIGHT;
+ else
+ flags = GTK_STATE_FLAG_NORMAL;
gtk_widget_set_state_flags (GTK_WIDGET (box), flags, TRUE);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]