[Xfce4-commits] <design:master> Fix some of the state transition issues.
Jannis Pohlmann
noreply at xfce.org
Tue May 31 02:42:01 CEST 2011
Updating branch refs/heads/master
to 35203c9b19d6a5333feddbaf8a8141bb06c40248 (commit)
from 8bd4c51c7c7e31d26c685671ec4ed5dccd42d9da (commit)
commit 35203c9b19d6a5333feddbaf8a8141bb06c40248
Author: Jannis Pohlmann <jannis at xfce.org>
Date: Tue May 31 02:41:21 2011 +0200
Fix some of the state transition issues.
.../demo-code/custom-view/shortcut-row.vala | 29 +++++---------------
1 files changed, 7 insertions(+), 22 deletions(-)
diff --git a/thunar/shortcuts-pane/demo-code/custom-view/shortcut-row.vala b/thunar/shortcuts-pane/demo-code/custom-view/shortcut-row.vala
index a3ae28d..dd20267 100644
--- a/thunar/shortcuts-pane/demo-code/custom-view/shortcut-row.vala
+++ b/thunar/shortcuts-pane/demo-code/custom-view/shortcut-row.vala
@@ -126,27 +126,9 @@ public class ShortcutRow : EventBox {
}
public override bool expose_event (Gdk.EventExpose event) {
- /*
- Cairo.Context cairo = Gdk.cairo_create (window);
-
- cairo.rectangle (event.area.x, event.area.y, event.area.width, event.area.height);
- cairo.clip ();
-
StateType state = get_state ();
- cairo.rectangle (event.area.x, event.area.y, event.area.width, event.area.height);
-
- if (state == StateType.PRELIGHT) {
- cairo.set_source_rgb (0.9, 0.9, 0.9);
- cairo.fill_preserve ();
- }
-
- if (state == StateType.SELECTED) {
- cairo.set_source_rgb (0.5, 0.5, 0.5);
- cairo.fill_preserve ();
- }*/
-
- paint_flat_box (style, event.window, get_state (), ShadowType.NONE,
+ paint_flat_box (style, event.window, state, ShadowType.NONE,
event.area, this, "cell_even_middle",
event.area.x, event.area.y,
event.area.width, event.area.height);
@@ -169,18 +151,21 @@ public class ShortcutRow : EventBox {
}
public override bool button_press_event (Gdk.EventButton event) {
+ set_state (StateType.SELECTED);
return true;
}
public override bool enter_notify_event (Gdk.EventCrossing event) {
- set_state (StateType.PRELIGHT);
- return false;
+ if (get_state () != StateType.SELECTED) {
+ set_state (StateType.PRELIGHT);
+ }
+ return true;
}
public override bool leave_notify_event (Gdk.EventCrossing event) {
if (get_state () == StateType.PRELIGHT) {
set_state (StateType.NORMAL);
}
- return false;
+ return true;
}
}
More information about the Xfce4-commits
mailing list