Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.5.1
-
None
-
Archlinux, Qt 5.5.1
-
13b1c23f8b2cdf283703a75f475ddcf06653bf7e (qtbase/5.5, 23.10.2015)
Description
The fix for bug 39660 (which landed on Qt 5.5.1) was (also) supposed to correctly hide a trailing hidden QAction in a QLineEdit. However, I've just upgraded my system to Qt 5.5.1 and the issue is only partially fixed.
Steps to reproduce:
1. Open a KDE application which uses a KPasswordDialog (with KF5 >= 5.15), e.g. Ark with a password-protected zip archive.
2. Make the application open the KPasswordDialog
3. There is a greyed-out icon with eye shape (let's call it "visibility action") -> Expected result: there should be no icon, since the visibility action is initially hidden.
4. Type a password. The visibility action is now visible, but so is the clearButton action. The QLineEdit displays the visibilty action on top of the clearButton action, which cannot be triggered. -> Expected result: the visibility action should be displayed on the left of the clearButton action.
5. Delete the password typed. Both the actions disappear, and this is fine.
6. Type again a password. Now the visibility action is shown on the left of the clearButton action, as expected.
So, the issue is about steps 3 and 4.
UPDATE:
Step 4 is probably a duplicate of QTBUG-48806
For step 3, the following is a minimal code example to reproduce the issue:
#include <QAction> #include <QApplication> #include <QIcon> #include <QLineEdit> int main(int argc, char *argv[]) { QApplication a(argc, argv); QLineEdit lineEdit; QPixmap pixmap(16, 16); pixmap.fill(Qt::red); QAction *action = lineEdit.addAction(QIcon(pixmap), QLineEdit::TrailingPosition); action->setVisible(false); lineEdit.setText("Hidden action is greyed-out."); lineEdit.show(); return a.exec(); }
In the attached screenshot, you can see that the trailing action looks like disabled, while should not be visible at all.
Attachments
Issue Links
- relates to
-
QTBUG-48806 [REG->5.5.1] QLineEdit: side widgets overlapped
- Closed