From 34917f8ff44b0224f7199e7f1ffd55ba588a9cf7 Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Sun, 10 Jan 2010 21:14:37 +0000 Subject: Make sure TextDialogs get input precedence --- src/gui/textdialog.cpp | 9 +++++++++ src/gui/textdialog.h | 7 +++++++ 2 files changed, 16 insertions(+) (limited to 'src/gui') diff --git a/src/gui/textdialog.cpp b/src/gui/textdialog.cpp index 326954e2..6cd066cc 100644 --- a/src/gui/textdialog.cpp +++ b/src/gui/textdialog.cpp @@ -27,6 +27,8 @@ #include "utils/gettext.h" +int TextDialog::instances = 0; + TextDialog::TextDialog(const std::string &title, const std::string &msg, Window *parent): Window(title, true, parent), @@ -64,6 +66,13 @@ TextDialog::TextDialog(const std::string &title, const std::string &msg, } setVisible(true); mTextField->requestFocus(); + + instances++; +} + +TextDialog::~TextDialog() +{ + instances--; } void TextDialog::action(const gcn::ActionEvent &event) diff --git a/src/gui/textdialog.h b/src/gui/textdialog.h index edfe85b6..b04851ac 100644 --- a/src/gui/textdialog.h +++ b/src/gui/textdialog.h @@ -43,6 +43,9 @@ public: */ TextDialog(const std::string &title, const std::string &msg, Window *parent = NULL); + + + ~TextDialog(); /** * Called when receiving actions from the widgets. @@ -58,8 +61,12 @@ public: * Set the OK button action id */ void setOKButtonActionId(const std::string &name); + + static const bool isActive() { return instances > 0; } private: + static int instances; + TextField *mTextField; gcn::Button *mOkButton; }; -- cgit v1.2.3-70-g09d2