forked from qt-creator/qt-creator
Utils: Add Password display to StringAspect
Task-number: QTCREATORBUG-29485 Change-Id: I8da46be4c63f97595aa1e93b6ac4905bdbb54799 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
#include "environment.h"
|
#include "environment.h"
|
||||||
#include "fancylineedit.h"
|
#include "fancylineedit.h"
|
||||||
#include "layoutbuilder.h"
|
#include "layoutbuilder.h"
|
||||||
|
#include "passworddialog.h"
|
||||||
#include "pathchooser.h"
|
#include "pathchooser.h"
|
||||||
#include "qtcassert.h"
|
#include "qtcassert.h"
|
||||||
#include "qtcolorbutton.h"
|
#include "qtcolorbutton.h"
|
||||||
@@ -777,6 +778,7 @@ public:
|
|||||||
QString m_historyCompleterKey;
|
QString m_historyCompleterKey;
|
||||||
QPointer<ElidingLabel> m_labelDisplay;
|
QPointer<ElidingLabel> m_labelDisplay;
|
||||||
QPointer<FancyLineEdit> m_lineEditDisplay;
|
QPointer<FancyLineEdit> m_lineEditDisplay;
|
||||||
|
QPointer<ShowPasswordButton> m_showPasswordButton;
|
||||||
QPointer<QTextEdit> m_textEditDisplay;
|
QPointer<QTextEdit> m_textEditDisplay;
|
||||||
MacroExpanderProvider m_expanderProvider;
|
MacroExpanderProvider m_expanderProvider;
|
||||||
StringAspect::ValueAcceptor m_valueAcceptor;
|
StringAspect::ValueAcceptor m_valueAcceptor;
|
||||||
@@ -856,6 +858,9 @@ public:
|
|||||||
\value PathChooserDisplay
|
\value PathChooserDisplay
|
||||||
Based on Utils::PathChooser.
|
Based on Utils::PathChooser.
|
||||||
|
|
||||||
|
\value PasswordLineEditDisplay
|
||||||
|
Based on QLineEdit, used for password strings
|
||||||
|
|
||||||
\sa Utils::PathChooser
|
\sa Utils::PathChooser
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -1047,6 +1052,7 @@ void StringAspect::addToLayout(LayoutItem &parent)
|
|||||||
const QString displayedString = d->m_displayFilter ? d->m_displayFilter(value()) : value();
|
const QString displayedString = d->m_displayFilter ? d->m_displayFilter(value()) : value();
|
||||||
|
|
||||||
switch (d->m_displayStyle) {
|
switch (d->m_displayStyle) {
|
||||||
|
case PasswordLineEditDisplay:
|
||||||
case LineEditDisplay:
|
case LineEditDisplay:
|
||||||
d->m_lineEditDisplay = createSubWidget<FancyLineEdit>();
|
d->m_lineEditDisplay = createSubWidget<FancyLineEdit>();
|
||||||
d->m_lineEditDisplay->setPlaceholderText(d->m_placeHolderText);
|
d->m_lineEditDisplay->setPlaceholderText(d->m_placeHolderText);
|
||||||
@@ -1081,6 +1087,19 @@ void StringAspect::addToLayout(LayoutItem &parent)
|
|||||||
connect(d->m_lineEditDisplay, &QLineEdit::textEdited,
|
connect(d->m_lineEditDisplay, &QLineEdit::textEdited,
|
||||||
this, &StringAspect::handleGuiChanged);
|
this, &StringAspect::handleGuiChanged);
|
||||||
}
|
}
|
||||||
|
if (d->m_displayStyle == PasswordLineEditDisplay) {
|
||||||
|
d->m_showPasswordButton = createSubWidget<ShowPasswordButton>();
|
||||||
|
d->m_lineEditDisplay->setEchoMode(QLineEdit::PasswordEchoOnEdit);
|
||||||
|
parent.addItem(d->m_showPasswordButton);
|
||||||
|
connect(d->m_showPasswordButton,
|
||||||
|
&ShowPasswordButton::toggled,
|
||||||
|
d->m_lineEditDisplay,
|
||||||
|
[this] {
|
||||||
|
d->m_lineEditDisplay->setEchoMode(d->m_showPasswordButton->isChecked()
|
||||||
|
? QLineEdit::Normal
|
||||||
|
: QLineEdit::PasswordEchoOnEdit);
|
||||||
|
});
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case TextEditDisplay:
|
case TextEditDisplay:
|
||||||
d->m_textEditDisplay = createSubWidget<QTextEdit>();
|
d->m_textEditDisplay = createSubWidget<QTextEdit>();
|
||||||
|
|||||||
@@ -545,7 +545,8 @@ public:
|
|||||||
enum DisplayStyle {
|
enum DisplayStyle {
|
||||||
LabelDisplay,
|
LabelDisplay,
|
||||||
LineEditDisplay,
|
LineEditDisplay,
|
||||||
TextEditDisplay
|
TextEditDisplay,
|
||||||
|
PasswordLineEditDisplay,
|
||||||
};
|
};
|
||||||
void setDisplayStyle(DisplayStyle style);
|
void setDisplayStyle(DisplayStyle style);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user