summaryrefslogtreecommitdiff
path: root/src/window.cpp
diff options
context:
space:
mode:
authorterkhen <terkhen@openttd.org>2010-07-14 15:08:31 +0000
committerterkhen <terkhen@openttd.org>2010-07-14 15:08:31 +0000
commitfa3d9d04d386daf3ee92c9ab0f2624fbdcd1abf4 (patch)
tree24cd72f3eae0edfc8d4a5ec691869b9582a36856 /src/window.cpp
parent0753669fa75cc6cddabe617478ae8dc45321510c (diff)
downloadopenttd-fa3d9d04d386daf3ee92c9ab0f2624fbdcd1abf4.tar.xz
(svn r20144) -Feature: Allow to configure the delay of hover events, or to disable them completely.
Diffstat (limited to 'src/window.cpp')
-rw-r--r--src/window.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/window.cpp b/src/window.cpp
index d8162d439..5658e6887 100644
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -2043,7 +2043,6 @@ enum MouseClick {
MAX_OFFSET_DOUBLE_CLICK = 5, ///< How much the mouse is allowed to move to call it a double click
TIME_BETWEEN_DOUBLE_CLICK = 500, ///< Time between 2 left clicks before it becoming a double click, in ms
MAX_OFFSET_HOVER = 5, ///< Maximum mouse movement before stopping a hover event.
- TIME_HOVER = 1000, ///< Time required to activate a hover event, in ms.
};
extern EventState VpHandlePlaceSizingDrag();
@@ -2242,17 +2241,19 @@ void HandleMouseEvents()
static int hover_time = 0;
static Point hover_pos = {0, 0};
- if (click != MC_NONE || mousewheel != 0 || _left_button_down || _right_button_down ||
- hover_pos.x == 0 || abs(_cursor.pos.x - hover_pos.x) >= MAX_OFFSET_HOVER ||
- hover_pos.y == 0 || abs(_cursor.pos.y - hover_pos.y) >= MAX_OFFSET_HOVER) {
- hover_pos = _cursor.pos;
- hover_time = _realtime_tick;
- _mouse_hovering = false;
- } else {
- if (hover_time != 0 && _realtime_tick - hover_time > TIME_HOVER) {
- click = MC_HOVER;
- _input_events_this_tick++;
- _mouse_hovering = true;
+ if (_settings_client.gui.hover_delay > 0) {
+ if (click != MC_NONE || mousewheel != 0 || _left_button_down || _right_button_down ||
+ hover_pos.x == 0 || abs(_cursor.pos.x - hover_pos.x) >= MAX_OFFSET_HOVER ||
+ hover_pos.y == 0 || abs(_cursor.pos.y - hover_pos.y) >= MAX_OFFSET_HOVER) {
+ hover_pos = _cursor.pos;
+ hover_time = _realtime_tick;
+ _mouse_hovering = false;
+ } else {
+ if (hover_time != 0 && _realtime_tick - hover_time > _settings_client.gui.hover_delay * 1000) {
+ click = MC_HOVER;
+ _input_events_this_tick++;
+ _mouse_hovering = true;
+ }
}
}