[gnome-tetravex] Fallback double click on single click.
- From: Arnaud B. <arnaudb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-tetravex] Fallback double click on single click.
- Date: Sat, 21 Sep 2019 00:46:04 +0000 (UTC)
commit fdd3ce045154076515a6352b1a9978b0a41e9a51
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date: Sat Sep 21 01:45:21 2019 +0200
Fallback double click on single click.
src/puzzle-view.vala | 56 +++++++++++++++++++++++++++-------------------------
1 file changed, 29 insertions(+), 27 deletions(-)
---
diff --git a/src/puzzle-view.vala b/src/puzzle-view.vala
index 17f1474..264e1a1 100644
--- a/src/puzzle-view.vala
+++ b/src/puzzle-view.vala
@@ -494,39 +494,41 @@ private class PuzzleView : Gtk.DrawingArea
if (puzzle.paused || puzzle.is_solved)
return false;
- if (event.button == 1)
+ if (event.button != 1)
+ return false;
+
+ if (event.type == Gdk.EventType.BUTTON_PRESS)
{
- if (event.type == Gdk.EventType.BUTTON_PRESS)
- {
- if (selected_tile == null)
- pick_tile (event.x, event.y);
- else
- drop_tile (event.x, event.y);
- }
- else if (event.type == Gdk.EventType.DOUBLE_BUTTON_PRESS)
- {
- /* Move tile from left to right on double click */
+ if (selected_tile == null)
pick_tile (event.x, event.y);
- if (selected_tile == null)
- return false;
- if (on_right_half (((!) selected_tile).x))
+ else
+ drop_tile (event.x, event.y);
+ }
+ else if (event.type == Gdk.EventType.DOUBLE_BUTTON_PRESS)
+ {
+ /* Move tile from left to right on double click */
+ pick_tile (event.x, event.y);
+ if (selected_tile == null)
+ return false;
+ if (on_right_half (((!) selected_tile).x))
+ {
+ uint8 x;
+ uint8 y;
+ if (selected_tile_is_last_tile (out x, out y))
{
- uint8 x;
- uint8 y;
- if (selected_tile_is_last_tile (out x, out y))
- {
- uint8 selected_x, selected_y;
- puzzle.get_tile_location (((!) selected_tile).tile, out selected_x, out selected_y);
- if (puzzle.can_switch (selected_x, selected_y, x, y))
- puzzle.switch_tiles (selected_x, selected_y, x, y, final_animation_duration);
- }
+ uint8 selected_x, selected_y;
+ puzzle.get_tile_location (((!) selected_tile).tile, out selected_x, out selected_y);
+ if (puzzle.can_switch (selected_x, selected_y, x, y))
+ puzzle.switch_tiles (selected_x, selected_y, x, y, final_animation_duration);
}
else
- move_tile_to_right_half (((!) selected_tile).tile);
- ((!) selected_tile).snap_to_cursor = true;
- selected_tile = null;
- tile_selected = false;
+ return false; /* consider double click as a single click */
}
+ else
+ move_tile_to_right_half (((!) selected_tile).tile);
+ ((!) selected_tile).snap_to_cursor = true;
+ selected_tile = null;
+ tile_selected = false;
}
return false;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]