aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktextinput.cpp
diff options
context:
space:
mode:
authorRisto Avila <risto.avila@digia.com>2014-03-11 12:04:52 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-12 11:15:27 +0100
commit405f1becac28ee324364df4e3df0446d951425e8 (patch)
tree1105dfb614a3ffcdadbb01d433f1a76e05f6bc8c /src/quick/items/qquicktextinput.cpp
parent1511dc39a62e9d14b6755d6c2335547c85331d49 (diff)
Makes PasswordMaskDelay configurable through TextInput
Adds a new property to TextInput which can be used to override QPlatformTheme::PasswordMaskDelay. The new property is TextInput.passwordMaskDelay and takes in delay (ms) which time character is shown before masking it. This is only when echoMode is set to TextInput.Password [ChangeLog][QtQuick][TextInput] Added passwordMaskDelay property Change-Id: I52812b883db11fdd21b25154887c51df8a44f69c Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Diffstat (limited to 'src/quick/items/qquicktextinput.cpp')
-rw-r--r--src/quick/items/qquicktextinput.cpp38
1 files changed, 32 insertions, 6 deletions
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index ad79f0eadf..26dda5db6b 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -2059,9 +2059,8 @@ void QQuickTextInput::insert(int position, const QString &text)
{
Q_D(QQuickTextInput);
if (d->m_echoMode == QQuickTextInput::Password) {
- int delay = qGuiApp->styleHints()->passwordMaskDelay();
- if (delay > 0)
- d->m_passwordEchoTimer.start(delay, this);
+ if (d->m_passwordMaskDelay > 0)
+ d->m_passwordEchoTimer.start(d->m_passwordMaskDelay, this);
}
if (position < 0 || position > d->m_text.length())
return;
@@ -2241,6 +2240,34 @@ void QQuickTextInput::setPasswordCharacter(const QString &str)
}
/*!
+ \qmlproperty int QtQuick::TextInput::passwordMaskDelay
+ \since 5.4
+
+ Sets the delay before visible character is masked with password character, in milliseconds.
+
+ The reset method will be called by assigning undefined.
+*/
+int QQuickTextInput::passwordMaskDelay() const
+{
+ Q_D(const QQuickTextInput);
+ return d->m_passwordMaskDelay;
+}
+
+void QQuickTextInput::setPasswordMaskDelay(int delay)
+{
+ Q_D(QQuickTextInput);
+ if (d->m_passwordMaskDelay != delay) {
+ d->m_passwordMaskDelay = delay;
+ emit passwordMaskDelayChanged(delay);
+ }
+}
+
+void QQuickTextInput::resetPasswordMaskDelay()
+{
+ setPasswordMaskDelay(qGuiApp->styleHints()->passwordMaskDelay());
+}
+
+/*!
\qmlproperty string QtQuick::TextInput::displayText
This is the text displayed in the TextInput.
@@ -3478,9 +3505,8 @@ void QQuickTextInputPrivate::internalInsert(const QString &s)
{
Q_Q(QQuickTextInput);
if (m_echoMode == QQuickTextInput::Password) {
- int delay = qGuiApp->styleHints()->passwordMaskDelay();
- if (delay > 0)
- m_passwordEchoTimer.start(delay, q);
+ if (m_passwordMaskDelay > 0)
+ m_passwordEchoTimer.start(m_passwordMaskDelay, q);
}
Q_ASSERT(!hasSelectedText()); // insert(), processInputMethodEvent() call removeSelectedText() first.
if (m_maskData) {