summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Melquiond <guillaume.melquiond@gmail.com>2007-11-14 10:07:55 +0000
committerIra Rice <irarice@gmail.com>2009-01-09 21:29:14 -0700
commit6c806db4367e161d915196cd4638a44a941fca20 (patch)
tree7d1e890a0e4f3acb6f0f81765a679007892ad3e2
parent2f7fdae1ac1afef86e2a8a856964e7415593b206 (diff)
downloadmana-client-6c806db4367e161d915196cd4638a44a941fca20.tar.gz
mana-client-6c806db4367e161d915196cd4638a44a941fca20.tar.bz2
mana-client-6c806db4367e161d915196cd4638a44a941fca20.tar.xz
mana-client-6c806db4367e161d915196cd4638a44a941fca20.zip
Improved item amount dialog box.
(cherry picked from commit 69c147510bce9aa24be5ddcb3d050a5d52e3abe7) Conflicts: src/gui/item_amount.cpp
-rw-r--r--src/gui/inttextbox.cpp22
-rw-r--r--src/gui/inttextbox.h4
2 files changed, 13 insertions, 13 deletions
diff --git a/src/gui/inttextbox.cpp b/src/gui/inttextbox.cpp
index 858a3fcb..df8cf24e 100644
--- a/src/gui/inttextbox.cpp
+++ b/src/gui/inttextbox.cpp
@@ -19,9 +19,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include <guichan/key.hpp>
-
#include "inttextbox.h"
+#include "sdlinput.h"
#include "../utils/tostring.h"
@@ -35,17 +34,20 @@ IntTextBox::keyPressed(gcn::KeyEvent &event)
{
const gcn::Key &key = event.getKey();
- if (key.isNumber() || key.getValue() == gcn::Key::BACKSPACE
- || key.getValue() == gcn::Key::DELETE)
+ if (key.getValue() == Key::BACKSPACE ||
+ key.getValue() == Key::DELETE)
{
- gcn::TextBox::keyPressed(event);
+ setText(std::string());
+ event.consume();
}
- std::stringstream s(gcn::TextBox::getText());
+ if (!key.isNumber()) return;
+ TextField::keyPressed(event);
+
+ std::istringstream s(getText());
int i;
s >> i;
- if (gcn::TextBox::getText() != "")
- setInt(i);
+ setInt(i);
}
void IntTextBox::setRange(int min, int max)
@@ -56,9 +58,7 @@ void IntTextBox::setRange(int min, int max)
int IntTextBox::getInt()
{
- if (gcn::TextBox::getText() == "")
- return 0;
- return mValue;
+ return getText().empty() ? mMin : mValue;
}
void IntTextBox::setInt(int i)
diff --git a/src/gui/inttextbox.h b/src/gui/inttextbox.h
index 922ef4c5..9c6e8bf4 100644
--- a/src/gui/inttextbox.h
+++ b/src/gui/inttextbox.h
@@ -22,14 +22,14 @@
#ifndef INTTEXTBOX_H
#define INTTEXTBOX_H
-#include "textbox.h"
+#include "textfield.h"
#include "../guichanfwd.h"
/**
* TextBox which only accepts numbers as input.
*/
-class IntTextBox : public TextBox
+class IntTextBox : public TextField
{
public:
/**