6 days ago
implement passwordfield (QT)
ui/qt/text.cpp | file | annotate | diff | comparison | revisions |
--- a/ui/qt/text.cpp Wed Mar 26 22:16:53 2025 +0100 +++ b/ui/qt/text.cpp Wed Mar 26 22:20:27 2025 +0100 @@ -37,13 +37,17 @@ /* ------------------------------ TextField ------------------------------ */ -UIWIDGET ui_textfield_create(UiObject *obj, UiTextFieldArgs args) { +static UIWIDGET create_textfield(UiObject *obj, UiTextFieldArgs args, bool password, bool frameless) { UiContainerPrivate *ctn = ui_obj_container(obj); UI_APPLY_LAYOUT(ctn->layout, args); QLineEdit *textfield = new QLineEdit(); ctn->add(textfield, false); + if(password) { + textfield->setEchoMode(QLineEdit::Password); + } + UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args.value, args.varname, UI_VAR_STRING); if(var) { UiString *value = (UiString*)var->value; @@ -64,6 +68,18 @@ return textfield; } +UIWIDGET ui_textfield_create(UiObject *obj, UiTextFieldArgs args) { + return create_textfield(obj, args, false, false); +} + +UIWIDGET ui_frameless_textfield_create(UiObject* obj, UiTextFieldArgs args) { + return create_textfield(obj, args, false, true); +} + +UIWIDGET ui_passwordfield_create(UiObject* obj, UiTextFieldArgs args) { + return create_textfield(obj, args, true, false); +} + char* ui_textfield_get(UiString *str) { QLineEdit *textfield = (QLineEdit*)str->obj; QString qstr = textfield->text();