Version: (using KDE Devel) Installed from: Compiled sources How to reproduce: * Go to https://bugs.kde.org/query.cgi?GoAheadAndLogIn=1 * I start to write my mail (tsdgeos...) on the mail field * I press t * t is entered on the correct form * A completion box appears * any subsequent key press is entered in the password field
*** Bug 152751 has been marked as a duplicate of this bug. ***
*** Bug 152798 has been marked as a duplicate of this bug. ***
*** Bug 153063 has been marked as a duplicate of this bug. ***
Stems from a bug in QWidget::setParent. Whilst the documentation says: "If the new parent widget is in the same window as the old parent, setting the parent doesn't change the tab order or keyboard focus." the actual code doesn't check for that condition at all. It just clears the focus if the moved child is an ancestor of the focus widget. I'll have to add a virtual to KCompletionBox to fix that one as there's no turning around that. Not really a bad thing anyway as our derived class will end up less of a hack, but BIC so will have to wait until next monday.
Created attachment 22330 [details] patch for review. Instead of reimplementing KCompletionBox::popup(), which proved not really possible with even the heaviest hackery, add a new KCompletionBox::globalPositionHint() virtual providing the desired global placement of the popup. Reimplement that in our subclass.
*** Bug 153494 has been marked as a duplicate of this bug. ***
I confirm the patch solves my problems although i'm not sure we allow BIC changes at this stage...
*** Bug 153633 has been marked as a duplicate of this bug. ***
*** Bug 152617 has been marked as a duplicate of this bug. ***
*** Bug 153705 has been marked as a duplicate of this bug. ***
*** Bug 153707 has been marked as a duplicate of this bug. ***
SVN commit 746917 by ggarand: fix focus jumping on linedit completion. QWidget::setParent is supposed to let the focus unchanged within the same window but this is not what happens in practice. Makes hacking KCompletionBox::popup to suit our needs hardly possible. Instead we'll use a new virtual providing the preferred global position for the completion box. showstopper BUG: 152739 M +8 -1 kdeui/widgets/kcompletionbox.cpp M +6 -0 kdeui/widgets/kcompletionbox.h M +4 -18 khtml/rendering/render_form.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=746917
*** Bug 153141 has been marked as a duplicate of this bug. ***
*** Bug 152651 has been marked as a duplicate of this bug. ***
*** Bug 151940 has been marked as a duplicate of this bug. ***
*** Bug 153808 has been marked as a duplicate of this bug. ***