[Panel Config View] Set Qt::WindowStaysOnTopHint

We set KeepAbove using KWindowSystem but since Qt 5.7 apparently Qt does something weird and loses the flag.
Explicitly add it to flags. Not doing any other cleanup in the code because this is critical for 5.8.0.

BUG: 368997
FIXED-IN: 5.8.0

Differential Revision: https://phabricator.kde.org/D2825
wilder-5.14
Kai Uwe Broulik 10 years ago
parent b28ea53b35
commit dacb6b27dc
  1. 4
      shell/panelconfigview.cpp

@ -60,7 +60,7 @@ PanelConfigView::PanelConfigView(Plasma::Containment *containment, PanelView *pa
[=]() {
setScreen(panelView->screen());
KWindowSystem::setType(winId(), NET::Dock);
setFlags(Qt::WindowFlags((flags() | Qt::FramelessWindowHint) & (~Qt::WindowDoesNotAcceptFocus)));
setFlags(Qt::WindowFlags((flags() | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint) & (~Qt::WindowDoesNotAcceptFocus)));
KWindowSystem::setState(winId(), NET::KeepAbove);
syncGeometry();
syncLocation();
@ -68,7 +68,7 @@ PanelConfigView::PanelConfigView(Plasma::Containment *containment, PanelView *pa
KWindowSystem::setType(winId(), NET::Dock);
KWindowSystem::setState(winId(), NET::KeepAbove);
setFlags(Qt::WindowFlags((flags() | Qt::FramelessWindowHint) & (~Qt::WindowDoesNotAcceptFocus)));
setFlags(Qt::WindowFlags((flags() | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint) & (~Qt::WindowDoesNotAcceptFocus)));
KWindowSystem::forceActiveWindow(winId());
KWindowEffects::enableBlurBehind(winId(), true);

Loading…
Cancel
Save