diff --git a/gui/qml/LoginDialog.qml b/gui/qml/LoginDialog.qml index 1724769dc8cf2b3344ed2937935a5329a8c26786..897081b7c3a7ce2d9f0d23e7d6e40307800fd1fb 100644 --- a/gui/qml/LoginDialog.qml +++ b/gui/qml/LoginDialog.qml @@ -18,6 +18,7 @@ Dialog { id: password placeholderText: qsTr("password") echoMode: TextInput.PasswordEchoOnEdit + visible: !allowEmptyPass } } diff --git a/gui/qml/main.qml b/gui/qml/main.qml index f0a2b5c1c6827ff8f57d76605e401af98020c286..f03034525d8047817bb7ce8cfa37b816030d54d8 100644 --- a/gui/qml/main.qml +++ b/gui/qml/main.qml @@ -11,6 +11,7 @@ ApplicationWindow { property var ctx property var loginDone + property var allowEmptyPass Connections { target: jsonModel @@ -46,8 +47,20 @@ ApplicationWindow { } function showInitFailure(msg) { - initFailure.text = msg - initFailure.visible = true + initFailure.text = msg + initFailure.visible = true + } + + function shouldAllowEmptyPass() { + let obj = JSON.parse(providers.getJson()) + let active = obj['default'] + let allProviders = obj['providers'] + for (let i = 0; i < allProviders.length; i++) { + if (allProviders[i]['name'] === active) { + return (allProviders[i]['authEmptyPass'] === 'true') + } + } + return false } Component.onCompleted: { @@ -59,9 +72,11 @@ ApplicationWindow { Loaders as a placeholder for all the many dialogs, or to load a nice splash screen etc... */ - console.debug("Pre-seeded providers:"); + console.debug("DEBUG: Pre-seeded providers:"); console.debug(providers.getJson()); + allowEmptyPass = shouldAllowEmptyPass() + app.visible = true; show(); hide();