Files
pallectrum/electrum/gui/qml/components/controls/PasswordStrengthIndicator.qml

45 lines
1.2 KiB
QML

import QtQuick 2.6
import QtQuick.Controls 2.1
import QtQuick.Controls.Material 2.0
Rectangle {
property string password
property int strength: 0
property color strengthColor
property string strengthText
onPasswordChanged: checkPasswordStrength(password)
function checkPasswordStrength() {
var _strength = Daemon.passwordStrength(password)
var map = {
0: [constants.colorError, qsTr('Weak')],
1: [constants.colorAcceptable, qsTr('Medium')],
2: [constants.colorDone, qsTr('Strong')],
3: [constants.colorDone, qsTr('Very Strong')]
}
strength = password.length ? _strength + 1 : 0
strengthText = password.length ? map[_strength][1] : ''
strengthColor = map[_strength][0]
}
height: strengthLabel.height
color: 'transparent'
border.color: Material.foreground
Rectangle {
id: strengthBar
x: 1
y: 1
width: (parent.width - 2) * strength / 4
height: parent.height - 2
color: strengthColor
Label {
id: strengthLabel
anchors.centerIn: parent
text: strengthText
color: strength <= 2 ? Material.foreground : '#004000'
}
}
}