From 9906a86a2ec0970242cd0337bdbef517c70f7065 Mon Sep 17 00:00:00 2001 From: Badmadblacksad Date: Mon, 6 Jun 2011 19:31:34 +0000 Subject: [PATCH] Support double-click on unit group buttons. patch by Merolum. fixes #805. This was SVN commit r9592. --- binaries/data/mods/public/gui/session/session.js | 1 + source/gui/IGUIButtonBehavior.cpp | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/binaries/data/mods/public/gui/session/session.js b/binaries/data/mods/public/gui/session/session.js index b89d416522..9733f1b13b 100644 --- a/binaries/data/mods/public/gui/session/session.js +++ b/binaries/data/mods/public/gui/session/session.js @@ -245,6 +245,7 @@ function updateGroups() else button.hidden = false; button.onpress = (function(i) { return function() { performGroup("select", i); } })(i); + button.ondoublepress = (function(i) { return function() { performGroup("snap", i); } })(i); } var numButtons = i; var rowLength = 1; diff --git a/source/gui/IGUIButtonBehavior.cpp b/source/gui/IGUIButtonBehavior.cpp index f0ce0775d3..d8969ff2bc 100644 --- a/source/gui/IGUIButtonBehavior.cpp +++ b/source/gui/IGUIButtonBehavior.cpp @@ -63,7 +63,16 @@ void IGUIButtonBehavior::HandleMessage(SGUIMessage &Message) { m_Pressed = false; // BUTTON WAS CLICKED - SendEvent(GUIM_PRESSED, "press"); + if (Message.type == GUIM_MOUSE_RELEASE_LEFT) + { + SendEvent(GUIM_PRESSED, "press"); + } + // BUTTON WAS DOUBLE CLICKED + else + { + if (SendEvent(GUIM_MOUSE_DBLCLICK_LEFT, "doublepress") == IN_PASS) + SendEvent(GUIM_PRESSED, "press"); + } } } break;