add variable layoutsMemoryUsage for layoutManager

pull/2/head
Michail Vourlakos 7 years ago
parent 822f3630ac
commit 47566c27c3

@ -194,6 +194,16 @@ QString LayoutManager::layoutPath(QString layoutName)
return path;
}
Dock::LayoutsMemoryUsage LayoutManager::memoryUsage() const
{
return m_corona->universalSettings()->layoutsMemoryUsage();
}
void LayoutManager::setMemoryUsage(Dock::LayoutsMemoryUsage memoryUsage)
{
m_corona->universalSettings()->setLayoutsMemoryUsage(memoryUsage);
}
void LayoutManager::addDock(Plasma::Containment *containment, bool forceLoading, int expDockScreen)
{
m_activeLayouts.at(0)->addDock(containment, forceLoading, expDockScreen);

@ -21,7 +21,6 @@
#ifndef LAYOUTMANAGER_H
#define LAYOUTMANAGER_H
#include "dockcorona.h"
#include "importer.h"
#include "layout.h"
#include "layoutconfigdialog.h"
@ -32,6 +31,7 @@
#include <KLocalizedString>
class DockCorona;
class Importer;
class Layout;
class LayoutConfigDialog;
@ -76,6 +76,9 @@ public:
QStringList menuLayouts() const;
QStringList presetsPaths() const;
Dock::LayoutsMemoryUsage memoryUsage() const;
void setMemoryUsage(Dock::LayoutsMemoryUsage memoryUsage);
QAction *addWidgetsAction();
QHash<const Plasma::Containment *, DockView *> *currentDockViews() const;
@ -107,6 +110,7 @@ signals:
void currentLayoutIsChanging();
void launchersSignalsChanged();
void layoutsChanged();
void memoryUsageChanged();
void menuLayoutsChanged();
private slots:

@ -32,6 +32,7 @@ UniversalSettings::UniversalSettings(KSharedConfig::Ptr config, QObject *parent)
connect(this, &UniversalSettings::currentLayoutNameChanged, this, &UniversalSettings::saveConfig);
connect(this, &UniversalSettings::lastNonAssignedLayoutNameChanged, this, &UniversalSettings::saveConfig);
connect(this, &UniversalSettings::launchersChanged, this, &UniversalSettings::saveConfig);
connect(this, &UniversalSettings::layoutsMemoryUsageChanged, this, &UniversalSettings::saveConfig);
connect(this, &UniversalSettings::showInfoWindowChanged, this, &UniversalSettings::saveConfig);
connect(this, &UniversalSettings::versionChanged, this, &UniversalSettings::saveConfig);
}
@ -185,6 +186,21 @@ void UniversalSettings::setAutostart(bool state)
}
}
Dock::LayoutsMemoryUsage UniversalSettings::layoutsMemoryUsage() const
{
return m_memoryUsage;
}
void UniversalSettings::setLayoutsMemoryUsage(Dock::LayoutsMemoryUsage layoutsMemoryUsage)
{
if (m_memoryUsage != layoutsMemoryUsage) {
return;
}
m_memoryUsage = layoutsMemoryUsage;
emit layoutsMemoryUsageChanged();
}
void UniversalSettings::loadConfig()
{
m_version = m_universalGroup.readEntry("version", 1);
@ -193,6 +209,7 @@ void UniversalSettings::loadConfig()
m_layoutsWindowSize = m_universalGroup.readEntry("layoutsWindowSize", QSize(700, 450));
m_launchers = m_universalGroup.readEntry("launchers", QStringList());
m_showInfoWindow = m_universalGroup.readEntry("showInfoWindow", true);
m_memoryUsage = static_cast<Dock::LayoutsMemoryUsage>(m_universalGroup.readEntry("memoryUsage", (int)Dock::SingleLayout));
}
void UniversalSettings::saveConfig()
@ -203,6 +220,7 @@ void UniversalSettings::saveConfig()
m_universalGroup.writeEntry("layoutsWindowSize", m_layoutsWindowSize);
m_universalGroup.writeEntry("launchers", m_launchers);
m_universalGroup.writeEntry("showInfoWindow", m_showInfoWindow);
m_universalGroup.writeEntry("memoryUsage", (int)m_memoryUsage);
m_universalGroup.sync();
}

@ -26,10 +26,12 @@
#include <KConfigGroup>
#include <KSharedConfig>
#include "layout.h"
#include "../liblattedock/dock.h"
namespace Latte {
class LayoutManager;
//! This class holds all the settings that are universally available
//! independent of layouts
class UniversalSettings : public QObject {
@ -73,6 +75,7 @@ signals:
void lastNonAssignedLayoutNameChanged();
void layoutsWindowSizeChanged();
void launchersChanged();
void layoutsMemoryUsageChanged();
void showInfoWindowChanged();
void versionChanged();
@ -83,6 +86,9 @@ private slots:
private:
void cleanupSettings();
Dock::LayoutsMemoryUsage layoutsMemoryUsage() const;
void setLayoutsMemoryUsage(Dock::LayoutsMemoryUsage layoutsMemoryUsage);
private:
bool m_showInfoWindow{true};
@ -93,10 +99,12 @@ private:
QString m_lastNonAssignedLayoutName;
QSize m_layoutsWindowSize{700, 450};
QStringList m_launchers;
Dock::LayoutsMemoryUsage m_memoryUsage;
KConfigGroup m_universalGroup;
KSharedConfig::Ptr m_config;
friend class LayoutManager;
};
}

@ -111,6 +111,12 @@ public:
GlowAll = 1
};
Q_ENUM(GlowGroup)
enum LayoutsMemoryUsage {
SingleLayout = 0, /* a single Layout is loaded in each time */
MultipleLayouts /* multiple layouts are loaded on runtime,based on Activities and one central layout for the rest unassigned Activities */
};
Q_ENUM(LayoutsMemoryUsage)
};
}//end of namespace

Loading…
Cancel
Save