fix CLineEdit read-only button
PIValueTreeEdit support PIValueTree::Attribute::toolTip
This commit is contained in:
@@ -13,7 +13,7 @@ CLineEdit::CLineEdit(QWidget * parent): QLineEdit(parent) {
|
||||
cw->setToolTip(tr("Clear"));
|
||||
cw->hide();
|
||||
cw->installEventFilter(this);
|
||||
connect(this, &QLineEdit::textChanged, this, &CLineEdit::textChangedSlot);
|
||||
connect(this, &QLineEdit::textChanged, this, &CLineEdit::textChangedInternal);
|
||||
int is = fontHeight(this);
|
||||
QMargins m = textMargins();
|
||||
m.setRight(m.right() + (is * 1.2));
|
||||
@@ -26,6 +26,20 @@ CLineEdit::~CLineEdit() {
|
||||
}
|
||||
|
||||
|
||||
void CLineEdit::setReadOnly(bool yes) {
|
||||
QLineEdit::setReadOnly(yes);
|
||||
textChangedInternal();
|
||||
}
|
||||
|
||||
|
||||
void CLineEdit::clearClick() {
|
||||
if (!isEnabled()) return;
|
||||
setText(dt);
|
||||
emit cleared();
|
||||
emit textEdited(dt);
|
||||
}
|
||||
|
||||
|
||||
bool CLineEdit::eventFilter(QObject * o, QEvent * e) {
|
||||
switch (e->type()) {
|
||||
case QEvent::MouseButtonRelease: clearMouseRelease(static_cast<QMouseEvent *>(e)); break;
|
||||
@@ -67,7 +81,7 @@ void CLineEdit::setDefaultText(const QString & t, bool set_text) {
|
||||
cw->hide();
|
||||
return;
|
||||
}
|
||||
textChangedSlot(text());
|
||||
textChangedInternal();
|
||||
}
|
||||
|
||||
|
||||
@@ -78,6 +92,6 @@ void CLineEdit::clearMouseRelease(QMouseEvent * e) {
|
||||
}
|
||||
|
||||
|
||||
void CLineEdit::textChangedSlot(QString text) {
|
||||
cw->setVisible(text != dt);
|
||||
void CLineEdit::textChangedInternal() {
|
||||
cw->setVisible((text() != dt) && !isReadOnly());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user