do not delete and recreate close button
loading the QML/view is not very efficient BUG: 344676
This commit is contained in:
parent
25fc115a9c
commit
99f49fa53b
1 changed files with 7 additions and 3 deletions
|
@ -132,6 +132,10 @@ void PresentWindowsEffect::reconfigure(ReconfigureFlags)
|
||||||
m_showCaptions = PresentWindowsConfig::drawWindowCaptions();
|
m_showCaptions = PresentWindowsConfig::drawWindowCaptions();
|
||||||
m_showIcons = PresentWindowsConfig::drawWindowIcons();
|
m_showIcons = PresentWindowsConfig::drawWindowIcons();
|
||||||
m_doNotCloseWindows = !PresentWindowsConfig::allowClosingWindows();
|
m_doNotCloseWindows = !PresentWindowsConfig::allowClosingWindows();
|
||||||
|
if (m_doNotCloseWindows) {
|
||||||
|
delete m_closeView;
|
||||||
|
m_closeView = nullptr;
|
||||||
|
}
|
||||||
m_ignoreMinimized = PresentWindowsConfig::ignoreMinimized();
|
m_ignoreMinimized = PresentWindowsConfig::ignoreMinimized();
|
||||||
m_accuracy = PresentWindowsConfig::accuracy() * 20;
|
m_accuracy = PresentWindowsConfig::accuracy() * 20;
|
||||||
m_fillGaps = PresentWindowsConfig::fillGaps();
|
m_fillGaps = PresentWindowsConfig::fillGaps();
|
||||||
|
@ -1421,7 +1425,7 @@ void PresentWindowsEffect::setActive(bool active)
|
||||||
m_highlightedWindow = NULL;
|
m_highlightedWindow = NULL;
|
||||||
m_windowFilter.clear();
|
m_windowFilter.clear();
|
||||||
|
|
||||||
if (!m_doNotCloseWindows) {
|
if (!(m_doNotCloseWindows || m_closeView)) {
|
||||||
m_closeView = new CloseWindowView();
|
m_closeView = new CloseWindowView();
|
||||||
connect(m_closeView, &CloseWindowView::requestClose, this, &PresentWindowsEffect::closeWindow);
|
connect(m_closeView, &CloseWindowView::requestClose, this, &PresentWindowsEffect::closeWindow);
|
||||||
}
|
}
|
||||||
|
@ -1505,8 +1509,8 @@ void PresentWindowsEffect::setActive(bool active)
|
||||||
winData->visible = (w->isOnDesktop(desktop) || w->isOnAllDesktops()) &&
|
winData->visible = (w->isOnDesktop(desktop) || w->isOnAllDesktops()) &&
|
||||||
!w->isMinimized() && (w->isCurrentTab() || winData->visible);
|
!w->isMinimized() && (w->isCurrentTab() || winData->visible);
|
||||||
}
|
}
|
||||||
delete m_closeView;
|
if (m_closeView)
|
||||||
m_closeView = 0;
|
m_closeView->hide();
|
||||||
|
|
||||||
// Move all windows back to their original position
|
// Move all windows back to their original position
|
||||||
foreach (EffectWindow * w, m_motionManager.managedWindows())
|
foreach (EffectWindow * w, m_motionManager.managedWindows())
|
||||||
|
|
Loading…
Reference in a new issue