summaryrefslogtreecommitdiff
path: root/src/gui/widgets/passwordfield.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2012-10-21 19:46:04 +0300
committerAndrei Karas <akaras@inbox.ru>2012-10-21 19:46:04 +0300
commite341fa804eab732bba47e1fc1ff155d25b0142c0 (patch)
tree2cc255fcb4181162de2d4b101293dcb265931ac3 /src/gui/widgets/passwordfield.cpp
parentdfb302bb66f032eb0c7eb4bc0934fdf0571a1d3a (diff)
downloadplus-e341fa804eab732bba47e1fc1ff155d25b0142c0.tar.gz
plus-e341fa804eab732bba47e1fc1ff155d25b0142c0.tar.bz2
plus-e341fa804eab732bba47e1fc1ff155d25b0142c0.tar.xz
plus-e341fa804eab732bba47e1fc1ff155d25b0142c0.zip
Extend password field theming.
New theme parameter: passwordChar - ASCII code for password char. If zero password invisible.
Diffstat (limited to 'src/gui/widgets/passwordfield.cpp')
-rw-r--r--src/gui/widgets/passwordfield.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gui/widgets/passwordfield.cpp b/src/gui/widgets/passwordfield.cpp
index f0dd0f256..f301f2fe7 100644
--- a/src/gui/widgets/passwordfield.cpp
+++ b/src/gui/widgets/passwordfield.cpp
@@ -26,7 +26,8 @@
PasswordField::PasswordField(const Widget2 *const widget,
const std::string &text):
- TextField(widget, text)
+ TextField(widget, text),
+ mPasswordChar(mSkin ? mSkin->getOption("passwordChar", 42) : 42)
{
}
@@ -34,7 +35,10 @@ void PasswordField::draw(gcn::Graphics *graphics)
{
// std::string uses cow, thus cheap copy
const std::string original = mText;
- mText.assign(mText.length(), '*');
+ if (mPasswordChar)
+ mText.assign(mText.length(), mPasswordChar);
+ else
+ mText = "";
TextField::draw(graphics);
mText = original;
}