StringSetting: add password/echoMode support

Open Beginner friendly
#2,295 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
85/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Quiet
Domain
desktop

Research direction

Start with StringSetting.qml and inspect how its underlying DankTextField is configured; PluginListItem.qml is the loading context for the settings panel. Add the optional password or echoMode support described in the issue, then verify that password fields are masked while normal StringSetting fields remain unchanged and the settings panel renders successfully.

Written by the indexing model from the issue text.

Description

feature request

Feature Request

StringSetting in qs.Modules.Plugins does not support password masking. When a plugin sets password: true on a StringSetting, QML treats it as an undeclared property, causing a load-time error. Because PluginListItem.qml loads settings via a dynamic Loader, this error is swallowed silently and the entire settings panel fails to render with no feedback.

Proposed Change

Add an optional password property (or echoMode) to StringSetting.qml that sets echoMode: TextInput.Password on the underlying DankTextField.

Something like:

property bool password: false

And on the DankTextField:

echoMode: root.password ? TextInput.Password : TextInput.Normal

Context

Discovered in DankCalendar where a CalDAV password field needed masking. The workaround is to remove the property and show the field as plaintext.

See: alcxyz/DankCalendar#19

Dominant language
QML
Stars
8.2k
Forks
518
Avg merge
1d 4h
Merged PRs (30d)
92

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from AvengeMedia/DankMaterialShell

All issues in AvengeMedia/DankMaterialShell

Similar issues

More Desktop Dev issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.