All pastes #2006096 Raw Edit

Something

public diff v1 · immutable
#2006096 ·published 2010-11-29 20:08 UTC
rendered paste body
From a1b993fe1c054195a7b80ea7a2c94f5c010a3e41 Mon Sep 17 00:00:00 2001From: Andrei Karas <akaras@inbox.ru>Date: Thu, 18 Nov 2010 21:01:13 +0200Subject: [PATCH] Allow enter OK button key in input field.By default OK shortcut is space key.--- src/game.cpp          |    3 ++- src/gui/npcdialog.cpp |    5 +++++ src/gui/npcdialog.h   |    2 ++ 3 files changed, 9 insertions(+), 1 deletions(-)diff --git a/src/game.cpp b/src/game.cppindex 7754405..cd36dcd 100644--- a/src/game.cpp+++ b/src/game.cpp@@ -438,7 +438,8 @@ void Game::handleInput()                 && !gui->getFocusHandler()->getModalFocused())             {                 NpcDialog *dialog = NpcDialog::getActive();-                if (keyboard.isKeyActive(keyboard.KEY_OK))+                if (keyboard.isKeyActive(keyboard.KEY_OK)+                    && (!dialog || !dialog->isTextInputFocused()))                 {                     // Close the Browser if opened                     if (helpWindow->isVisible())diff --git a/src/gui/npcdialog.cpp b/src/gui/npcdialog.cppindex 6d3995a..c412858 100644--- a/src/gui/npcdialog.cpp+++ b/src/gui/npcdialog.cpp@@ -299,6 +299,11 @@ void NpcDialog::textRequest(const std::string &defaultText)     buildLayout(); } +bool NpcDialog::isTextInputFocused() const+{+    return mTextField->isFocused();+}+ bool NpcDialog::isInputFocused() const {     return mTextField->isFocused() || mIntField->isFocused();diff --git a/src/gui/npcdialog.h b/src/gui/npcdialog.hindex a8521ce..337da6f 100644--- a/src/gui/npcdialog.h+++ b/src/gui/npcdialog.h@@ -133,6 +133,8 @@ class NpcDialog : public Window, public gcn::ActionListener,          bool isInputFocused() const; +        bool isTextInputFocused() const;+         static bool isAnyInputFocused();          /**-- 1.7.2.3