mirror of
https://github.com/KDE/latte-dock.git
synced 2024-12-23 13:33:50 +03:00
fix last config view tracking for multiple layouts
This commit is contained in:
parent
6dec2e378e
commit
527f865eda
@ -367,8 +367,18 @@ void GenericLayout::setLastConfigViewFor(Latte::View *view)
|
||||
}
|
||||
|
||||
m_lastConfigViewFor = view;
|
||||
|
||||
if (view) {
|
||||
emit lastConfigViewForChanged(view);
|
||||
}
|
||||
}
|
||||
|
||||
void GenericLayout::onLastConfigViewChangedFrom(Latte::View *view)
|
||||
{
|
||||
if (!m_latteViews.values().contains(view)) {
|
||||
setLastConfigViewFor(nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
Latte::View *GenericLayout::viewForContainment(uint id) const
|
||||
{
|
||||
@ -972,6 +982,9 @@ bool GenericLayout::initToCorona(Latte::Corona *corona)
|
||||
|
||||
connect(m_corona, &Plasma::Corona::containmentAdded, this, &GenericLayout::addContainment);
|
||||
|
||||
connect(this, &GenericLayout::lastConfigViewForChanged, m_corona->layoutsManager(), &Layouts::Manager::lastConfigViewChangedFrom);
|
||||
connect(m_corona->layoutsManager(), &Layouts::Manager::lastConfigViewChangedFrom, this, &GenericLayout::onLastConfigViewChangedFrom);
|
||||
|
||||
//!connect signals after adding the containment
|
||||
connect(this, &GenericLayout::viewsCountChanged, m_corona, &Plasma::Corona::availableScreenRectChanged);
|
||||
connect(this, &GenericLayout::viewsCountChanged, m_corona, &Plasma::Corona::availableScreenRegionChanged);
|
||||
|
@ -180,6 +180,7 @@ private slots:
|
||||
void appletCreated(Plasma::Applet *applet);
|
||||
void destroyedChanged(bool destroyed);
|
||||
void containmentDestroyed(QObject *cont);
|
||||
void onLastConfigViewChangedFrom(Latte::View *view);
|
||||
|
||||
private:
|
||||
//! It can be used in order for LatteViews to not be created automatically when
|
||||
|
@ -123,6 +123,9 @@ signals:
|
||||
|
||||
void currentLayoutIsSwitching(QString layoutName);
|
||||
|
||||
//! used from ConfigView(s) in order to be informed which is one should be shown
|
||||
void lastConfigViewChangedFrom(Latte::View *view);
|
||||
|
||||
private:
|
||||
void cleanupOnStartup(QString path); //!remove deprecated or oldstyle config options
|
||||
void clearUnloadedContainmentsFromLinkedFile(QStringList containmentsIds, bool bypassChecks = false);
|
||||
|
Loading…
Reference in New Issue
Block a user