refactor:drop LAYOUTSMANAGER apis moved to SYNCHER

pull/5/head
Michail Vourlakos 6 years ago
parent a6b8fbcaff
commit a661fbb032

@ -30,6 +30,7 @@
#include "layout/sharedlayout.h" #include "layout/sharedlayout.h"
#include "layouts/importer.h" #include "layouts/importer.h"
#include "layouts/manager.h" #include "layouts/manager.h"
#include "layouts/synchronizer.h"
#include "layouts/launcherssignals.h" #include "layouts/launcherssignals.h"
#include "shortcuts/globalshortcuts.h" #include "shortcuts/globalshortcuts.h"
#include "package/lattepackage.h" #include "package/lattepackage.h"
@ -148,7 +149,7 @@ Corona::Corona(bool defaultLayoutOnStartup, QString layoutNameOnStartUp, int use
Corona::~Corona() Corona::~Corona()
{ {
//! BEGIN: Give the time to slide-out views when closing //! BEGIN: Give the time to slide-out views when closing
m_layoutsManager->hideAllViews(); m_layoutsManager->synchronizer()->hideAllViews();
//! Don't delay the destruction under wayland in any case //! Don't delay the destruction under wayland in any case
//! because it creates a crash with kwin effects //! because it creates a crash with kwin effects
@ -208,7 +209,7 @@ void Corona::load()
connect(m_screenPool, &ScreenPool::primaryPoolChanged, this, &Corona::screenCountChanged); connect(m_screenPool, &ScreenPool::primaryPoolChanged, this, &Corona::screenCountChanged);
QString assignedLayout = m_layoutsManager->shouldSwitchToLayout(m_activityConsumer->currentActivity()); QString assignedLayout = m_layoutsManager->synchronizer()->shouldSwitchToLayout(m_activityConsumer->currentActivity());
QString loadLayoutName = ""; QString loadLayoutName = "";
@ -219,7 +220,7 @@ void Corona::load()
loadLayoutName = m_universalSettings->currentLayoutName(); loadLayoutName = m_universalSettings->currentLayoutName();
} }
if (!m_layoutsManager->layoutExists(loadLayoutName)) { if (!m_layoutsManager->synchronizer()->layoutExists(loadLayoutName)) {
loadLayoutName = m_layoutsManager->defaultLayoutName(); loadLayoutName = m_layoutsManager->defaultLayoutName();
m_layoutsManager->importDefaultLayout(false); m_layoutsManager->importDefaultLayout(false);
} }
@ -480,12 +481,12 @@ QRegion Corona::availableScreenRegionWithCriteria(int id, QString forLayout) con
Latte::CentralLayout *currentLayout = m_layoutsManager->currentLayout(); Latte::CentralLayout *currentLayout = m_layoutsManager->currentLayout();
views = currentLayout->latteViews(); views = currentLayout->latteViews();
} else { } else {
Layout::GenericLayout *generic = m_layoutsManager->centralLayout(forLayout); Layout::GenericLayout *generic = m_layoutsManager->synchronizer()->centralLayout(forLayout);
if (!generic) { if (!generic) {
//! Identify best active layout to be used for metrics calculations. //! Identify best active layout to be used for metrics calculations.
//! Active layouts are always take into account their shared layouts for their metrics //! Active layouts are always take into account their shared layouts for their metrics
SharedLayout *sharedLayout = m_layoutsManager->sharedLayout(forLayout); SharedLayout *sharedLayout = m_layoutsManager->synchronizer()->sharedLayout(forLayout);
if (sharedLayout) { if (sharedLayout) {
generic = sharedLayout->currentCentralLayout(); generic = sharedLayout->currentCentralLayout();
@ -707,7 +708,7 @@ void Corona::screenCountChanged()
//! concerning screen changed (for multi-screen setups mainly) //! concerning screen changed (for multi-screen setups mainly)
void Corona::syncLatteViewsToScreens() void Corona::syncLatteViewsToScreens()
{ {
m_layoutsManager->syncLatteViewsToScreens(); m_layoutsManager->synchronizer()->syncLatteViewsToScreens();
} }
int Corona::primaryScreenId() const int Corona::primaryScreenId() const
@ -721,7 +722,7 @@ void Corona::closeApplication()
//! also from qml (Settings window). //! also from qml (Settings window).
QTimer::singleShot(5, [this]() { QTimer::singleShot(5, [this]() {
m_layoutsManager->hideLatteSettingsDialog(); m_layoutsManager->hideLatteSettingsDialog();
m_layoutsManager->hideAllViews(); m_layoutsManager->synchronizer()->hideAllViews();
}); });
//! give the time for the views to hide themselves //! give the time for the views to hide themselves
@ -891,7 +892,7 @@ void Corona::addViewForLayout(QString layoutName)
QList<Types::Location> edges{Types::BottomEdge, Types::LeftEdge, QList<Types::Location> edges{Types::BottomEdge, Types::LeftEdge,
Types::TopEdge, Types::RightEdge}; Types::TopEdge, Types::RightEdge};
Layout::GenericLayout *currentLayout = m_layoutsManager->layout(layoutName); Layout::GenericLayout *currentLayout = m_layoutsManager->synchronizer()->layout(layoutName);
if (currentLayout) { if (currentLayout) {
edges = currentLayout->freeEdges(defaultContainment->screen()); edges = currentLayout->freeEdges(defaultContainment->screen());
@ -1018,7 +1019,7 @@ QStringList Corona::contextMenuData()
data << QString::number((int)viewType); data << QString::number((int)viewType);
for(const auto &layoutName : m_layoutsManager->menuLayouts()) { for(const auto &layoutName : m_layoutsManager->menuLayouts()) {
if (m_layoutsManager->centralLayout(layoutName)) { if (m_layoutsManager->synchronizer()->centralLayout(layoutName)) {
data << QString("1," + layoutName); data << QString("1," + layoutName);
} else { } else {
data << QString("0," + layoutName); data << QString("0," + layoutName);

@ -26,6 +26,7 @@
#include "../screenpool.h" #include "../screenpool.h"
#include "../layouts/importer.h" #include "../layouts/importer.h"
#include "../layouts/manager.h" #include "../layouts/manager.h"
#include "../layouts/synchronizer.h"
#include "../settings/universalsettings.h" #include "../settings/universalsettings.h"
#include "../view/view.h" #include "../view/view.h"
#include "../../liblatte2/types.h" #include "../../liblatte2/types.h"
@ -98,8 +99,8 @@ void CentralLayout::initToCorona(Latte::Corona *corona)
//! Request the SharedLayout in case there is one and Latte is functioning in MultipleLayouts mode //! Request the SharedLayout in case there is one and Latte is functioning in MultipleLayouts mode
if (m_corona->layoutsManager()->memoryUsage() == Types::MultipleLayouts && !m_sharedLayoutName.isEmpty()) { if (m_corona->layoutsManager()->memoryUsage() == Types::MultipleLayouts && !m_sharedLayoutName.isEmpty()) {
if (m_corona->layoutsManager()->registerAtSharedLayout(this, m_sharedLayoutName)) { if (m_corona->layoutsManager()->synchronizer()->registerAtSharedLayout(this, m_sharedLayoutName)) {
setSharedLayout(m_corona->layoutsManager()->sharedLayout(m_sharedLayoutName)); setSharedLayout(m_corona->layoutsManager()->synchronizer()->sharedLayout(m_sharedLayoutName));
} }
} }
} }
@ -299,7 +300,7 @@ const QStringList CentralLayout::appliedActivities()
return {"0"}; return {"0"};
} else if (m_corona->layoutsManager()->memoryUsage() == Types::MultipleLayouts) { } else if (m_corona->layoutsManager()->memoryUsage() == Types::MultipleLayouts) {
if (m_activities.isEmpty()) { if (m_activities.isEmpty()) {
return m_corona->layoutsManager()->orphanedActivities(); return m_corona->layoutsManager()->synchronizer()->orphanedActivities();
} else { } else {
return m_activities; return m_activities;
} }

@ -26,6 +26,7 @@
#include "../screenpool.h" #include "../screenpool.h"
#include "../layouts/importer.h" #include "../layouts/importer.h"
#include "../layouts/manager.h" #include "../layouts/manager.h"
#include "../layouts/synchronizer.h"
#include "../shortcuts/shortcutstracker.h" #include "../shortcuts/shortcutstracker.h"
#include "../view/view.h" #include "../view/view.h"
#include "../view/positioner.h" #include "../view/positioner.h"
@ -144,7 +145,7 @@ bool GenericLayout::isActive() const
return false; return false;
} }
GenericLayout *generic = m_corona->layoutsManager()->layout(m_layoutName); GenericLayout *generic = m_corona->layoutsManager()->synchronizer()->layout(m_layoutName);
if (generic) { if (generic) {
return true; return true;
@ -806,7 +807,7 @@ void GenericLayout::updateLastUsedActivity()
return; return;
} }
if (!m_lastUsedActivity.isEmpty() && !m_corona->layoutsManager()->activities().contains(m_lastUsedActivity)) { if (!m_lastUsedActivity.isEmpty() && !m_corona->layoutsManager()->synchronizer()->activities().contains(m_lastUsedActivity)) {
clearLastUsedActivity(); clearLastUsedActivity();
} }

@ -24,6 +24,7 @@
#include "../lattecorona.h" #include "../lattecorona.h"
#include "../layout/centrallayout.h" #include "../layout/centrallayout.h"
#include "../layouts/manager.h" #include "../layouts/manager.h"
#include "../layouts/synchronizer.h"
// Qt // Qt
#include <QQuickItem> #include <QQuickItem>
@ -49,7 +50,7 @@ QList<Plasma::Applet *> LaunchersSignals::lattePlasmoids(QString layoutName)
{ {
QList<Plasma::Applet *> applets; QList<Plasma::Applet *> applets;
CentralLayout *layout = m_manager->centralLayout(layoutName); CentralLayout *layout = m_manager->synchronizer()->centralLayout(layoutName);
QList<Plasma::Containment *> containments; QList<Plasma::Containment *> containments;
if (layoutName.isEmpty()) { if (layoutName.isEmpty()) {

@ -29,18 +29,13 @@
#include "../screenpool.h" #include "../screenpool.h"
#include "../layout/abstractlayout.h" #include "../layout/abstractlayout.h"
#include "../layout/centrallayout.h" #include "../layout/centrallayout.h"
#include "../layout/genericlayout.h"
#include "../layout/sharedlayout.h"
#include "../settings/settingsdialog.h" #include "../settings/settingsdialog.h"
#include "../settings/universalsettings.h" #include "../settings/universalsettings.h"
#include "../view/view.h"
// Qt // Qt
#include <QDir> #include <QDir>
#include <QFile> #include <QFile>
#include <QMessageBox> #include <QMessageBox>
#include <QQmlProperty>
#include <QtDBus>
// KDE // KDE
#include <KLocalizedString> #include <KLocalizedString>
@ -178,11 +173,6 @@ QString Manager::defaultLayoutName() const
return presetName; return presetName;
} }
bool Manager::layoutExists(QString layoutName) const
{
return m_synchronizer->layoutExists(layoutName);
}
QStringList Manager::layouts() const QStringList Manager::layouts() const
{ {
return m_synchronizer->layouts(); return m_synchronizer->layouts();
@ -198,21 +188,6 @@ void Manager::setMenuLayouts(QStringList layouts)
m_synchronizer->setMenuLayouts(layouts); m_synchronizer->setMenuLayouts(layouts);
} }
QStringList Manager::activities()
{
return m_synchronizer->activities();
}
QStringList Manager::runningActivities()
{
return m_synchronizer->runningActivities();
}
QStringList Manager::orphanedActivities()
{
return m_synchronizer->orphanedActivities();
}
QStringList Manager::presetsPaths() const QStringList Manager::presetsPaths() const
{ {
return m_presetsPaths; return m_presetsPaths;
@ -233,11 +208,6 @@ void Manager::setMemoryUsage(Types::LayoutsMemoryUsage memoryUsage)
m_corona->universalSettings()->setLayoutsMemoryUsage(memoryUsage); m_corona->universalSettings()->setLayoutsMemoryUsage(memoryUsage);
} }
bool Manager::latteViewExists(Latte::View *view) const
{
return m_synchronizer->latteViewExists(view);
}
QStringList Manager::centralLayoutsNames() QStringList Manager::centralLayoutsNames()
{ {
return m_synchronizer->centralLayoutsNames(); return m_synchronizer->centralLayoutsNames();
@ -253,32 +223,6 @@ QStringList Manager::storedSharedLayouts() const
return m_synchronizer->storedSharedLayouts(); return m_synchronizer->storedSharedLayouts();
} }
Layout::GenericLayout *Manager::layout(QString id) const
{
return m_synchronizer->layout(id);
}
CentralLayout *Manager::centralLayout(QString id) const
{
return m_synchronizer->centralLayout(id);
}
int Manager::centralLayoutPos(QString id) const
{
return m_synchronizer->centralLayoutPos(id);
}
SharedLayout *Manager::sharedLayout(QString id) const
{
return m_synchronizer->sharedLayout(id);
}
bool Manager::registerAtSharedLayout(CentralLayout *central, QString id)
{
return m_synchronizer->registerAtSharedLayout(central, id);
}
CentralLayout *Manager::currentLayout() const CentralLayout *Manager::currentLayout() const
{ {
return m_synchronizer->currentLayout(); return m_synchronizer->currentLayout();
@ -289,11 +233,6 @@ bool Manager::switchToLayout(QString layoutName, int previousMemoryUsage)
return m_synchronizer->switchToLayout(layoutName, previousMemoryUsage); return m_synchronizer->switchToLayout(layoutName, previousMemoryUsage);
} }
QString Manager::shouldSwitchToLayout(QString activityId)
{
return m_synchronizer->shouldSwitchToLayout(activityId);
}
void Manager::loadLayoutOnStartup(QString layoutName) void Manager::loadLayoutOnStartup(QString layoutName)
{ {
QStringList layouts = m_importer->checkRepairMultipleLayoutsLinkedFile(); QStringList layouts = m_importer->checkRepairMultipleLayoutsLinkedFile();
@ -377,21 +316,6 @@ void Manager::showAboutDialog()
m_corona->aboutApplication(); m_corona->aboutApplication();
} }
void Manager::hideAllViews()
{
m_synchronizer->hideAllViews();
}
void Manager::pauseLayout(QString layoutName)
{
m_synchronizer->pauseLayout(layoutName);
}
void Manager::syncActiveLayoutsToOriginalFiles()
{
m_synchronizer->syncActiveLayoutsToOriginalFiles();
}
void Manager::clearUnloadedContainmentsFromLinkedFile(QStringList containmentsIds, bool bypassChecks) void Manager::clearUnloadedContainmentsFromLinkedFile(QStringList containmentsIds, bool bypassChecks)
{ {
if (!m_corona || (memoryUsage() == Types::SingleLayout && !bypassChecks)) { if (!m_corona || (memoryUsage() == Types::SingleLayout && !bypassChecks)) {
@ -409,12 +333,6 @@ void Manager::clearUnloadedContainmentsFromLinkedFile(QStringList containmentsId
containments.sync(); containments.sync();
} }
void Manager::syncLatteViewsToScreens()
{
m_synchronizer->syncLatteViewsToScreens();
}
QString Manager::newLayout(QString layoutName, QString preset) QString Manager::newLayout(QString layoutName, QString preset)
{ {
QDir layoutDir(QDir::homePath() + "/.config/latte"); QDir layoutDir(QDir::homePath() + "/.config/latte");

@ -42,11 +42,6 @@ class Types;
namespace Latte { namespace Latte {
class Corona; class Corona;
class CentralLayout; class CentralLayout;
class SharedLayout;
class View;
namespace Layout {
class GenericLayout;
}
namespace Layouts { namespace Layouts {
class Importer; class Importer;
class LaunchersSignals; class LaunchersSignals;
@ -57,8 +52,19 @@ class Synchronizer;
namespace Latte { namespace Latte {
namespace Layouts { namespace Layouts {
//! This class is responsible to manipulate all layouts. //! Layouts::Manager is a very IMPORTANT class which is responsible to
//! add,remove,rename, update configurations etc. //! to provide the qml accessible Layouts manipulation API and at the
//! same time to interact with Latte::Corona in order
//! to update correctly the underlying Layouts files by using also
//! its Importer object
//!
//! This class is responsible both for ACTIVE/PASSIVE Layouts.
//!
//! ACTIVE Layout is consider one layout that is loaded and active in memory
//! PASSIVE Layouts is consider one layout that is not loaded/active in memory
//! and its properties are just stored in the filesystem
//!
class Manager : public QObject class Manager : public QObject
{ {
Q_OBJECT Q_OBJECT
@ -82,16 +88,6 @@ public:
void showInfoWindow(QString info, int duration, QStringList activities = {"0"}); void showInfoWindow(QString info, int duration, QStringList activities = {"0"});
void unload(); void unload();
void hideAllViews();
void pauseLayout(QString layoutName);
void syncLatteViewsToScreens();
void syncActiveLayoutsToOriginalFiles();
bool latteViewExists(Latte::View *view) const;
bool layoutExists(QString layoutName) const;
QString shouldSwitchToLayout(QString activityId);
QString currentLayoutName() const; QString currentLayoutName() const;
QString defaultLayoutName() const; QString defaultLayoutName() const;
@ -103,29 +99,14 @@ public:
Types::LayoutsMemoryUsage memoryUsage() const; Types::LayoutsMemoryUsage memoryUsage() const;
void setMemoryUsage(Types::LayoutsMemoryUsage memoryUsage); void setMemoryUsage(Types::LayoutsMemoryUsage memoryUsage);
//! returns an central layout with that #id (name), it returns null if such
//! layout cant be found
CentralLayout *centralLayout(QString id) const;
int centralLayoutPos(QString id) const;
SharedLayout *sharedLayout(QString id) const;
//! return an central or shared layout with #id (name), it returns null if such
//! loaded layout was not found
Layout::GenericLayout *layout(QString id) const;
//! returns the current and central layout based on activities and user preferences //! returns the current and central layout based on activities and user preferences
CentralLayout *currentLayout() const; CentralLayout *currentLayout() const;
LaunchersSignals *launchersSignals() const; LaunchersSignals *launchersSignals() const;
Synchronizer *synchronizer() const; Synchronizer *synchronizer() const;
QStringList activities();
QStringList runningActivities();
QStringList orphanedActivities(); //! These are activities that haven't been assigned to specific layout
void importDefaultLayout(bool newInstanceIfPresent = false); void importDefaultLayout(bool newInstanceIfPresent = false);
void importPresets(bool includeDefault = false); void importPresets(bool includeDefault = false);
bool registerAtSharedLayout(CentralLayout *central, QString id);
public slots: public slots:
void showAboutDialog(); void showAboutDialog();

@ -49,6 +49,16 @@ namespace Layouts {
//! SHARED LAYOUT NAME -> CENTRAL LAYOUT NAMES acting as SHARES //! SHARED LAYOUT NAME -> CENTRAL LAYOUT NAMES acting as SHARES
typedef QHash<const QString, QStringList> SharesMap; typedef QHash<const QString, QStringList> SharesMap;
//! Layouts::Synchronizer is a very IMPORTANT class which is responsible
//! for all ACTIVE layouts, meaning layouts that have been loaded
//! in memory.
//!
//! The main task of Synchronizer is to load/unload layouts based
//! on "user preferences"/"activities settings"/"application current
//! phase" (e.g. startup/closing)
//!
class Synchronizer : public QObject { class Synchronizer : public QObject {
Q_OBJECT Q_OBJECT

@ -296,7 +296,7 @@ void SettingsDialog::blockDeleteOnActivityStopped()
QStringList SettingsDialog::activities() QStringList SettingsDialog::activities()
{ {
return m_corona->layoutsManager()->activities(); return m_corona->layoutsManager()->synchronizer()->activities();
} }
QStringList SettingsDialog::availableActivities() QStringList SettingsDialog::availableActivities()
@ -371,7 +371,7 @@ void SettingsDialog::on_copyButton_clicked()
if (m_corona->layoutsManager()->memoryUsage() == Types::MultipleLayouts) { if (m_corona->layoutsManager()->memoryUsage() == Types::MultipleLayouts) {
QString lName = (m_model->data(m_model->index(row, NAMECOLUMN), Qt::DisplayRole)).toString(); QString lName = (m_model->data(m_model->index(row, NAMECOLUMN), Qt::DisplayRole)).toString();
Layout::GenericLayout *generic = m_corona->layoutsManager()->layout(lName); Layout::GenericLayout *generic = m_corona->layoutsManager()->synchronizer()->layout(lName);
if (generic) { if (generic) {
generic->syncToLayoutFile(); generic->syncToLayoutFile();
} }
@ -446,7 +446,7 @@ void SettingsDialog::on_removeButton_clicked()
QString layoutName = m_model->data(m_model->index(row, NAMECOLUMN), Qt::DisplayRole).toString(); QString layoutName = m_model->data(m_model->index(row, NAMECOLUMN), Qt::DisplayRole).toString();
if (m_corona->layoutsManager()->centralLayout(layoutName)) { if (m_corona->layoutsManager()->synchronizer()->centralLayout(layoutName)) {
return; return;
} }
@ -497,7 +497,7 @@ void SettingsDialog::on_sharedButton_clicked()
for (const auto &id : availableShares) { for (const auto &id : availableShares) {
QString name = nameForId(id); QString name = nameForId(id);
if (m_corona->layoutsManager()->layout(name)) { if (m_corona->layoutsManager()->synchronizer()->layout(name)) {
assignedList << id; assignedList << id;
m_model->setData(m_model->index(row, SHAREDCOLUMN), assignedList, Qt::UserRole); m_model->setData(m_model->index(row, SHAREDCOLUMN), assignedList, Qt::UserRole);
assigned = true; assigned = true;
@ -657,7 +657,7 @@ void SettingsDialog::on_exportButton_clicked()
//! this is needed because the export method can export also the full configuration //! this is needed because the export method can export also the full configuration
qDebug() << Q_FUNC_INFO; qDebug() << Q_FUNC_INFO;
m_corona->layoutsManager()->syncActiveLayoutsToOriginalFiles(); m_corona->layoutsManager()->synchronizer()->syncActiveLayoutsToOriginalFiles();
QFileDialog *fileDialog = new QFileDialog(this, i18nc("export layout/configuration", "Export Layout/Configuration") QFileDialog *fileDialog = new QFileDialog(this, i18nc("export layout/configuration", "Export Layout/Configuration")
, QDir::homePath(), QStringLiteral("layout.latte")); , QDir::homePath(), QStringLiteral("layout.latte"));
@ -912,7 +912,7 @@ void SettingsDialog::loadSettings()
QStringList brokenLayouts; QStringList brokenLayouts;
if (m_corona->layoutsManager()->memoryUsage() == Types::MultipleLayouts) { if (m_corona->layoutsManager()->memoryUsage() == Types::MultipleLayouts) {
m_corona->layoutsManager()->syncActiveLayoutsToOriginalFiles(); m_corona->layoutsManager()->synchronizer()->syncActiveLayoutsToOriginalFiles();
} }
for (const auto layout : m_corona->layoutsManager()->layouts()) { for (const auto layout : m_corona->layoutsManager()->layouts()) {
@ -949,7 +949,7 @@ void SettingsDialog::loadSettings()
ui->layoutsView->selectRow(i - 1); ui->layoutsView->selectRow(i - 1);
} }
Layout::GenericLayout *generic = m_corona->layoutsManager()->layout(central->name()); Layout::GenericLayout *generic = m_corona->layoutsManager()->synchronizer()->layout(central->name());
if ((generic && generic->layoutIsBroken()) || (!generic && central->layoutIsBroken())) { if ((generic && generic->layoutIsBroken()) || (!generic && central->layoutIsBroken())) {
brokenLayouts.append(central->name()); brokenLayouts.append(central->name());
@ -1161,7 +1161,7 @@ void SettingsDialog::insertLayoutInfoAtRow(int row, QString path, QString color,
QFont font; QFont font;
if (m_corona->layoutsManager()->layout(name)) { if (m_corona->layoutsManager()->synchronizer()->layout(name)) {
font.setBold(true); font.setBold(true);
} else { } else {
font.setBold(false); font.setBold(false);
@ -1222,7 +1222,7 @@ void SettingsDialog::on_pauseButton_clicked()
CentralLayout *layout = m_layouts[id]; CentralLayout *layout = m_layouts[id];
if (layout) { if (layout) {
m_corona->layoutsManager()->pauseLayout(layout->name()); m_corona->layoutsManager()->synchronizer()->pauseLayout(layout->name());
} }
} }
@ -1240,7 +1240,7 @@ void SettingsDialog::layoutsChanged()
font.setBold(true); font.setBold(true);
// ui->layoutsView->selectRow(i); // ui->layoutsView->selectRow(i);
} else { } else {
Layout::GenericLayout *layout = m_corona->layoutsManager()->layout(name); Layout::GenericLayout *layout = m_corona->layoutsManager()->synchronizer()->layout(name);
if (layout && (m_corona->layoutsManager()->memoryUsage() == Types::MultipleLayouts)) { if (layout && (m_corona->layoutsManager()->memoryUsage() == Types::MultipleLayouts)) {
font.setBold(true); font.setBold(true);
@ -1268,7 +1268,7 @@ void SettingsDialog::itemChanged(QStandardItem *item)
QString name = m_model->data(m_model->index(currentRow, NAMECOLUMN), Qt::DisplayRole).toString(); QString name = m_model->data(m_model->index(currentRow, NAMECOLUMN), Qt::DisplayRole).toString();
QFont font = qvariant_cast<QFont>(m_model->data(m_model->index(currentRow, NAMECOLUMN), Qt::FontRole)); QFont font = qvariant_cast<QFont>(m_model->data(m_model->index(currentRow, NAMECOLUMN), Qt::FontRole));
if (m_corona->layoutsManager()->layout(m_layouts[id]->name())) { if (m_corona->layoutsManager()->synchronizer()->layout(m_layouts[id]->name())) {
font.setBold(true); font.setBold(true);
} else { } else {
font.setBold(false); font.setBold(false);
@ -1375,7 +1375,7 @@ void SettingsDialog::updatePerLayoutButtonsState()
Latte::CentralLayout *layout = m_layouts[id]; Latte::CentralLayout *layout = m_layouts[id];
if (!lActivities.isEmpty() && layout && m_corona->layoutsManager()->centralLayout(layout->name())) { if (!lActivities.isEmpty() && layout && m_corona->layoutsManager()->synchronizer()->centralLayout(layout->name())) {
ui->pauseButton->setEnabled(true); ui->pauseButton->setEnabled(true);
} else { } else {
ui->pauseButton->setEnabled(false); ui->pauseButton->setEnabled(false);
@ -1385,7 +1385,7 @@ void SettingsDialog::updatePerLayoutButtonsState()
//! Remove Layout Button //! Remove Layout Button
if (originalName != nameInModel if (originalName != nameInModel
|| (originalName == m_corona->layoutsManager()->currentLayoutName()) || (originalName == m_corona->layoutsManager()->currentLayoutName())
|| (m_corona->layoutsManager()->centralLayout(originalName)) || (m_corona->layoutsManager()->synchronizer()->centralLayout(originalName))
|| lockedInModel) { || lockedInModel) {
ui->removeButton->setEnabled(false); ui->removeButton->setEnabled(false);
} else { } else {
@ -1460,7 +1460,7 @@ void SettingsDialog::updateSharedLayoutsUiElements()
void SettingsDialog::recalculateAvailableActivities() void SettingsDialog::recalculateAvailableActivities()
{ {
QStringList tempActivities = m_corona->layoutsManager()->activities(); QStringList tempActivities = m_corona->layoutsManager()->synchronizer()->activities();
for (int i = 0; i < m_model->rowCount(); ++i) { for (int i = 0; i < m_model->rowCount(); ++i) {
QStringList assigned = m_model->data(m_model->index(i, ACTIVITYCOLUMN), Qt::UserRole).toStringList(); QStringList assigned = m_model->data(m_model->index(i, ACTIVITYCOLUMN), Qt::UserRole).toStringList();
@ -1583,7 +1583,7 @@ bool SettingsDialog::saveAllChanges()
//qDebug() << i << ". " << id << " - " << color << " - " << name << " - " << menu << " - " << lActivities; //qDebug() << i << ". " << id << " - " << color << " - " << name << " - " << menu << " - " << lActivities;
//! update the generic parts of the layouts //! update the generic parts of the layouts
Layout::GenericLayout *genericActive= m_corona->layoutsManager()->layout(m_layouts[id]->name()); Layout::GenericLayout *genericActive= m_corona->layoutsManager()->synchronizer()->layout(m_layouts[id]->name());
Layout::GenericLayout *generic = genericActive ? genericActive : m_layouts[id]; Layout::GenericLayout *generic = genericActive ? genericActive : m_layouts[id];
//! unlock read-only layout //! unlock read-only layout
@ -1609,7 +1609,7 @@ bool SettingsDialog::saveAllChanges()
} }
//! update only the Central-specific layout parts //! update only the Central-specific layout parts
CentralLayout *centralActive= m_corona->layoutsManager()->centralLayout(m_layouts[id]->name()); CentralLayout *centralActive= m_corona->layoutsManager()->synchronizer()->centralLayout(m_layouts[id]->name());
CentralLayout *central = centralActive ? centralActive : m_layouts[id]; CentralLayout *central = centralActive ? centralActive : m_layouts[id];
if (central->showInMenu() != menu) { if (central->showInMenu() != menu) {
@ -1708,7 +1708,7 @@ bool SettingsDialog::saveAllChanges()
QString name = m_model->data(m_model->index(i, NAMECOLUMN), Qt::DisplayRole).toString(); QString name = m_model->data(m_model->index(i, NAMECOLUMN), Qt::DisplayRole).toString();
bool locked = m_model->data(m_model->index(i, NAMECOLUMN), Qt::UserRole).toBool(); bool locked = m_model->data(m_model->index(i, NAMECOLUMN), Qt::UserRole).toBool();
Layout::GenericLayout *generic = m_corona->layoutsManager()->layout(m_layouts[id]->name()); Layout::GenericLayout *generic = m_corona->layoutsManager()->synchronizer()->layout(m_layouts[id]->name());
Layout::GenericLayout *layout = generic ? generic : m_layouts[id]; Layout::GenericLayout *layout = generic ? generic : m_layouts[id];
if (layout && locked && layout->isWritable()) { if (layout && locked && layout->isWritable()) {
@ -1851,7 +1851,7 @@ bool SettingsDialog::inMultipleLayoutsLook() const
bool SettingsDialog::isActive(QString layoutName) const bool SettingsDialog::isActive(QString layoutName) const
{ {
return (m_corona->layoutsManager()->layout(layoutName) != nullptr); return (m_corona->layoutsManager()->synchronizer()->layout(layoutName) != nullptr);
} }
bool SettingsDialog::isMenuCell(int column) const bool SettingsDialog::isMenuCell(int column) const

@ -26,6 +26,7 @@
#include "../lattecorona.h" #include "../lattecorona.h"
#include "../layout/centrallayout.h" #include "../layout/centrallayout.h"
#include "../layouts/manager.h" #include "../layouts/manager.h"
#include "../layouts/synchronizer.h"
#include "../settings/universalsettings.h" #include "../settings/universalsettings.h"
#include "../view/view.h" #include "../view/view.h"
@ -710,7 +711,7 @@ void GlobalShortcuts::showViews()
bool GlobalShortcuts::viewsToHideAreValid() bool GlobalShortcuts::viewsToHideAreValid()
{ {
for(const auto view : m_hideViews) { for(const auto view : m_hideViews) {
if (!m_corona->layoutsManager()->latteViewExists(view)) { if (!m_corona->layoutsManager()->synchronizer()->latteViewExists(view)) {
return false; return false;
} }

@ -901,7 +901,7 @@ void View::moveToLayout(QString layoutName)
Latte::Corona *latteCorona = qobject_cast<Latte::Corona *>(this->corona()); Latte::Corona *latteCorona = qobject_cast<Latte::Corona *>(this->corona());
if (latteCorona && containments.size() > 0) { if (latteCorona && containments.size() > 0) {
Layout::GenericLayout *newLayout = latteCorona->layoutsManager()->layout(layoutName); Layout::GenericLayout *newLayout = latteCorona->layoutsManager()->synchronizer()->layout(layoutName);
if (newLayout) { if (newLayout) {
newLayout->assignToLayout(this, containments); newLayout->assignToLayout(this, containments);

Loading…
Cancel
Save