Review Request 127424: KCompletionBox popup gets full window decoration on Windows
Kai Uwe Broulik
kde at privat.broulik.de
Sat Mar 19 20:56:21 UTC 2016
> On März 19, 2016, 1:22 nachm., Thomas Lübking wrote:
> > "Loose focus" is the complete wrong concept anyway.
> > It makes kickoff and various other plasmashell elements barely usable w/ any but the click-to-focus policy (implicit hide)
> >
> > Try adding Qt::FramelessWindowHint (Qt::X11BypassWindowManagerHint should be Qt::BypassWindowManagerHint anyway)
> >
> > PS: it's rather worrysome that Qt::Popup fails since it *is* set for the QComboBox dropdown. May point an implementation weakeness/bug in this class.
>
> Dominik Haumann wrote:
> Unfortunatey, also does not work... The popup stays, does not close, and typing does not insert text into the KLineEdit anymore (we don't see any blinking cursor).
>
> Thomas Lübking wrote:
> i did not mean "alongside Qt::Popup" - if you need to hint this as tooltip for somewhat useful behavior, either the class or QWidget/5 is seriously fucked up.
>
> Dominik Haumann wrote:
> ...I'm not sure what you are suggesting: Fact is, right now, we don't have another fix than reverting to the original code.
> It would also work to add a #ifdef, but given that temporary workarounds tend to become pernanent ones, this is probably the worst solution.
>
> So what is the proper fix / approach we can take here?
>
> Anthony Fieroni wrote:
> http://doc.qt.io/qt-5/qt.html#WindowType-enum
> q->setWindowFlags(Qt::ToolTip | Qt::BypassWindowManagerHint | Qt::FramelessWindowHint);
> or
> q->activateWindow();
> *(i.e., no keyboard input unless you call QWidget::activateWindow() manually).*
>
> Anthony Fieroni wrote:
> I mean Window :)
> q->setWindowFlags(Qt::Window | Qt::BypassWindowManagerHint | Qt::FramelessWindowHint);
>
> Dominik Haumann wrote:
> Just tested
>
> q->setWindowFlags(Qt::Window | Qt::BypassWindowManagerHint | Qt::FramelessWindowHint);
>
> Does not work either: We get no window decoration, which is good, but KLineEdit looses focus (no blinking cursor, no new typed text), and it is hard to make the popup disappear again.
>
> Maybe this is a bug in the implementation of KCompletionBox and/or KLineEditor. Fact is, though, that it at least worked for applications before.
>
> I could not find a call of activateWindow()...
Does Qt::WindowDoesNotAcceptFocus help?
- Kai Uwe
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127424/#review93716
-----------------------------------------------------------
On März 19, 2016, 8:56 nachm., Dominik Haumann wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127424/
> -----------------------------------------------------------
>
> (Updated März 19, 2016, 8:56 nachm.)
>
>
> Review request for KDE Frameworks, kdewin, kwin, and Marco Martin.
>
>
> Repository: kcompletion
>
>
> Description
> -------
>
> In https://git.reviewboard.kde.org/r/127191/ the KCompletionBox WindowFlags were change from Qt::ToolTip to Qt::Window.
>
> As consequence, the completion popup of the Kate command line gets a full window decoration, which is obviously wrong, see attached screenshot.
>
> Changing the type to Qt::Popup shows the proper popup, but key presses are not forwarded, so typing is not possible, and additionally, on losing focus the popup keeps staying open.
> Therefore, this patch reverts the type back to Qt::ToolTip.
>
> Better fixes are of course welcome ;) Any ideas?
>
>
> Diffs
> -----
>
> src/kcompletionbox.cpp 005aff8
>
> Diff: https://git.reviewboard.kde.org/r/127424/diff/
>
>
> Testing
> -------
>
> Works on Windows as expected.
>
>
> File Attachments
> ----------------
>
> Completion Popup
> https://git.reviewboard.kde.org/media/uploaded/files/2016/03/19/7be64cad-6d95-46b8-9caa-41b41a135ca1__kate2015.png
>
>
> Thanks,
>
> Dominik Haumann
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20160319/ae377264/attachment-0001.html>
More information about the Kde-frameworks-devel
mailing list