@@ -155,6 +155,10 @@ export class SettingsEditor {
|
||||
if (buffer.get_text(buffer.get_start_iter(), buffer.get_end_iter(), false) !== next) buffer.set_text(next, -1);
|
||||
};
|
||||
row = box;
|
||||
} else if (field.type === 'password') {
|
||||
row = new Adw.PasswordEntryRow({ title: field.title, tooltip_text: field.description, text: this.values[field.key] || '' });
|
||||
row.connect('changed', () => changed(row.text));
|
||||
row._setValue = value => { row.text = value || ''; };
|
||||
} else {
|
||||
row = new Adw.EntryRow({ title: field.title, tooltip_text: field.description, text: field.type === 'list' ? this.values[field.key].join(', ') : this.values[field.key] });
|
||||
row.connect('changed', () => changed(field.type === 'list' ? row.text.split(',').map(v => v.trim()).filter(Boolean) : row.text));
|
||||
@@ -191,7 +195,7 @@ export class SettingsEditor {
|
||||
for (const field of fields.filter(item => item.group === name)) {
|
||||
group.add(this.row(field, parent));
|
||||
// EntryRow has no subtitle. Show advanced guidance underneath it.
|
||||
if (['string', 'list'].includes(field.type)) {
|
||||
if (['string', 'list', 'password'].includes(field.type)) {
|
||||
const help = new Gtk.Label({ label: field.description, wrap: true, xalign: 0, margin_start: 12, margin_end: 12, margin_bottom: 8 });
|
||||
help.add_css_class('dim-label');
|
||||
this.rows.get(field.key).bind_property('visible', help, 'visible', 2);
|
||||
|
||||
Reference in New Issue
Block a user