From 616b8139ff0cc22d4386c041a772b4cdff86ca74 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Wed, 28 Mar 2018 14:30:50 +0300 Subject: [PATCH] use recreateDock directly --recreateDock is used when the visibility mode changes and as such the window must be recreated in order to work correctly. Any remaining code found for such function in corona and layoutManager is removed. --- app/dock/dockconfigview.cpp | 12 ++---------- app/dockcorona.cpp | 5 ----- app/dockcorona.h | 2 -- app/layoutmanager.cpp | 17 ----------------- app/layoutmanager.h | 1 - 5 files changed, 2 insertions(+), 35 deletions(-) diff --git a/app/dock/dockconfigview.cpp b/app/dock/dockconfigview.cpp index 3435674d3..ce125d3f7 100644 --- a/app/dock/dockconfigview.cpp +++ b/app/dock/dockconfigview.cpp @@ -315,23 +315,15 @@ void DockConfigView::hideEvent(QHideEvent *ev) QQuickWindow::hideEvent(ev); - auto recreateDock = [&]() noexcept { - auto *dockCorona = qobject_cast(m_dockView->corona()); - - if (dockCorona) { - dockCorona->recreateDock(m_dockView->containment()); - } - }; - const auto mode = m_dockView->visibility()->mode(); const auto previousDockWinBehavior = (m_dockView->flags() & Qt::BypassWindowManagerHint) ? false : true; if (mode == Dock::AlwaysVisible || mode == Dock::WindowsGoBelow) { if (!previousDockWinBehavior) { - recreateDock(); + m_dockView->managedLayout()->recreateDock(m_dockView->containment()); } } else if (m_dockView->dockWinBehavior() != previousDockWinBehavior) { - recreateDock(); + m_dockView->managedLayout()->recreateDock(m_dockView->containment()); } deleteLater(); diff --git a/app/dockcorona.cpp b/app/dockcorona.cpp index 18a84630b..1fc8389d5 100644 --- a/app/dockcorona.cpp +++ b/app/dockcorona.cpp @@ -706,11 +706,6 @@ int DockCorona::screenForContainment(const Plasma::Containment *containment) con return -1; } -void DockCorona::recreateDock(Plasma::Containment *containment) -{ - m_layoutManager->recreateDock(containment); -} - void DockCorona::showAlternativesForApplet(Plasma::Applet *applet) { const QString alternativesQML = kPackage().filePath("appletalternativesui"); diff --git a/app/dockcorona.h b/app/dockcorona.h index db53c3659..d01c29f4f 100644 --- a/app/dockcorona.h +++ b/app/dockcorona.h @@ -94,8 +94,6 @@ public: int screenForContainment(const Plasma::Containment *containment) const override; - void recreateDock(Plasma::Containment *containment); - void closeApplication(); AbstractWindowInterface *wm() const; diff --git a/app/layoutmanager.cpp b/app/layoutmanager.cpp index 1f2344090..208dd6267 100644 --- a/app/layoutmanager.cpp +++ b/app/layoutmanager.cpp @@ -308,23 +308,6 @@ void LayoutManager::addDock(Plasma::Containment *containment, bool forceLoading, } } -void LayoutManager::recreateDock(Plasma::Containment *containment) -{ - if (memoryUsage() == Dock::SingleLayout) { - m_activeLayouts.at(0)->recreateDock(containment); - } else if (memoryUsage() == Dock::MultipleLayouts) { - QString layoutId = containment->config().readEntry("layoutId", QString()); - - if (!layoutId.isEmpty()) { - auto layout = activeLayout(layoutId); - - if (layout) { - layout->recreateDock(containment); - } - } - } -} - QHash *LayoutManager::currentDockViews() const { if (memoryUsage() == Dock::SingleLayout) { diff --git a/app/layoutmanager.h b/app/layoutmanager.h index 16d838e60..c67710350 100644 --- a/app/layoutmanager.h +++ b/app/layoutmanager.h @@ -74,7 +74,6 @@ public: void addDock(Plasma::Containment *containment, bool forceLoading = false, int expDockScreen = -1); void hideAllDocks(); void pauseLayout(QString layoutName); - void recreateDock(Plasma::Containment *containment); void syncDockViewsToScreens(); void syncActiveLayoutsToOriginalFiles();