Activate Shared Layout if it is not loaded yet

pull/5/head
Michail Vourlakos 6 years ago
parent e7568c8478
commit b33f29bc42

@ -199,7 +199,7 @@ QString CentralLayout::sharedLayoutName() const
void CentralLayout::setSharedLayoutName(QString name) void CentralLayout::setSharedLayoutName(QString name)
{ {
if (m_sharedLayoutName == name || !Importer::layoutExists(name)) { if (m_sharedLayoutName == name || (!Importer::layoutExists(name) && !name.isEmpty())) {
return; return;
} }

@ -1681,14 +1681,20 @@ void SettingsDialog::updateActiveShares()
for (QHash<const QString, QStringList>::iterator i=currentSharesMap.begin(); i!=currentSharesMap.end(); ++i) { for (QHash<const QString, QStringList>::iterator i=currentSharesMap.begin(); i!=currentSharesMap.end(); ++i) {
SharedLayout *shared = m_corona->layoutManager()->sharedLayout(nameForId(i.key())); SharedLayout *shared = m_corona->layoutManager()->sharedLayout(nameForId(i.key()));
if (shared) { qDebug() << " SHARED :: " << nameForId(i.key());
qDebug() << " SHARED :: " << shared->name();
for (const auto &centralId : i.value()) { for (const auto &centralId : i.value()) {
CentralLayout *central = m_corona->layoutManager()->centralLayout(nameForId(centralId)); CentralLayout *central = m_corona->layoutManager()->centralLayout(nameForId(centralId));
qDebug() << " CENTRAL NAME :: " << nameForId(centralId); qDebug() << " CENTRAL NAME :: " << nameForId(centralId);
if (central) { if (central) {
//! Assign this Central Layout at a different Shared Layout //! Assign this Central Layout at a different Shared Layout
SharedLayout *oldShared = central->sharedLayout(); SharedLayout *oldShared = central->sharedLayout();
if (!shared) {
//Shared not loaded and it must be loaded before proceed
m_corona->layoutManager()->registerAtSharedLayout(central, nameForId(i.key()));
shared = m_corona->layoutManager()->sharedLayout(nameForId(i.key()));
}
if (shared != oldShared) { if (shared != oldShared) {
shared->addCentralLayout(central); shared->addCentralLayout(central);
central->setSharedLayout(shared); central->setSharedLayout(shared);
@ -1700,7 +1706,6 @@ void SettingsDialog::updateActiveShares()
} }
} }
} }
}
//! CENTRAL Layouts that wont have any SHARED Layout any more //! CENTRAL Layouts that wont have any SHARED Layout any more
for (QHash<const QString, QStringList>::iterator i=m_sharesMap.begin(); i!=m_sharesMap.end(); ++i) { for (QHash<const QString, QStringList>::iterator i=m_sharesMap.begin(); i!=m_sharesMap.end(); ++i) {

Loading…
Cancel
Save