mirror of
https://github.com/KDE/latte-dock.git
synced 2024-12-23 13:33:50 +03:00
move newLayout from layoutsmanager to templates
This commit is contained in:
parent
0393e0ff35
commit
15dc6f5eac
@ -32,6 +32,7 @@
|
|||||||
#include "../layout/centrallayout.h"
|
#include "../layout/centrallayout.h"
|
||||||
#include "../settings/dialogs/settingsdialog.h"
|
#include "../settings/dialogs/settingsdialog.h"
|
||||||
#include "../settings/universalsettings.h"
|
#include "../settings/universalsettings.h"
|
||||||
|
#include "../templates/templatesmanager.h"
|
||||||
|
|
||||||
// Qt
|
// Qt
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
@ -95,7 +96,7 @@ void Manager::load()
|
|||||||
QDir(QDir::homePath() + "/.config").mkdir("latte");
|
QDir(QDir::homePath() + "/.config").mkdir("latte");
|
||||||
}
|
}
|
||||||
|
|
||||||
newLayout(i18n("My Layout"));
|
m_corona->templatesManager()->newLayout(i18n("My Layout"), i18n(Templates::DEFAULTLAYOUTTEMPLATENAME));
|
||||||
importPresets(false);
|
importPresets(false);
|
||||||
} else if (configVer < 2 && !firstRun) {
|
} else if (configVer < 2 && !firstRun) {
|
||||||
m_corona->universalSettings()->setVersion(2);
|
m_corona->universalSettings()->setVersion(2);
|
||||||
@ -293,33 +294,6 @@ void Manager::clearUnloadedContainmentsFromLinkedFile(QStringList containmentsId
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Manager::newLayout(QString layoutName, QString layoutTemplate)
|
|
||||||
{
|
|
||||||
QDir layoutDir(QDir::homePath() + "/.config/latte");
|
|
||||||
QStringList filter;
|
|
||||||
filter.append(QString(layoutName + "*.layout.latte"));
|
|
||||||
QStringList files = layoutDir.entryList(filter, QDir::Files | QDir::NoSymLinks);
|
|
||||||
|
|
||||||
//! if the newLayout already exists provide a newName that doesn't
|
|
||||||
if (files.count() >= 1) {
|
|
||||||
int newCounter = files.count() + 1;
|
|
||||||
|
|
||||||
layoutName = layoutName + "-" + QString::number(newCounter);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString newLayoutPath = layoutDir.absolutePath() + "/" + layoutName + ".layout.latte";
|
|
||||||
|
|
||||||
qDebug() << "adding layout : " << layoutName << " based on layout template:" << layoutTemplate;
|
|
||||||
|
|
||||||
if (layoutTemplate == i18n(Templates::DEFAULTLAYOUTTEMPLATENAME) && !QFile(newLayoutPath).exists()) {
|
|
||||||
qDebug() << "adding layout : succeed";
|
|
||||||
Data::Layout dlayout = m_corona->templatesManager()->layoutTemplateForName(i18n(Templates::DEFAULTLAYOUTTEMPLATENAME));
|
|
||||||
QFile(dlayout.id).copy(newLayoutPath);
|
|
||||||
}
|
|
||||||
|
|
||||||
return newLayoutPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Manager::importDefaultLayout(bool newInstanceIfPresent)
|
void Manager::importDefaultLayout(bool newInstanceIfPresent)
|
||||||
{
|
{
|
||||||
importPreset(1, newInstanceIfPresent);
|
importPreset(1, newInstanceIfPresent);
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
#include "launcherssignals.h"
|
#include "launcherssignals.h"
|
||||||
#include "synchronizer.h"
|
#include "synchronizer.h"
|
||||||
#include "../apptypes.h"
|
#include "../apptypes.h"
|
||||||
#include "../templates/templatesmanager.h"
|
|
||||||
#include "../settings/dialogs/settingsdialog.h"
|
#include "../settings/dialogs/settingsdialog.h"
|
||||||
|
|
||||||
// Qt
|
// Qt
|
||||||
@ -116,9 +115,6 @@ public slots:
|
|||||||
//! switch to specified layout, default previousMemoryUsage means that it didn't change
|
//! switch to specified layout, default previousMemoryUsage means that it didn't change
|
||||||
Q_INVOKABLE bool switchToLayout(QString layoutName, int previousMemoryUsage = -1);
|
Q_INVOKABLE bool switchToLayout(QString layoutName, int previousMemoryUsage = -1);
|
||||||
|
|
||||||
//! creates a new layout with layoutName based on specific layout template
|
|
||||||
Q_INVOKABLE QString newLayout(QString layoutName, QString layoutTemplate = i18n(Templates::DEFAULTLAYOUTTEMPLATENAME));
|
|
||||||
|
|
||||||
Q_INVOKABLE QStringList centralLayoutsNames();
|
Q_INVOKABLE QStringList centralLayoutsNames();
|
||||||
Q_INVOKABLE QStringList sharedLayoutsNames();
|
Q_INVOKABLE QStringList sharedLayoutsNames();
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include "../layout/genericlayout.h"
|
#include "../layout/genericlayout.h"
|
||||||
#include "../layout/sharedlayout.h"
|
#include "../layout/sharedlayout.h"
|
||||||
#include "../settings/universalsettings.h"
|
#include "../settings/universalsettings.h"
|
||||||
|
#include "../templates/templatesmanager.h"
|
||||||
#include "../view/view.h"
|
#include "../view/view.h"
|
||||||
|
|
||||||
// Qt
|
// Qt
|
||||||
@ -675,8 +676,8 @@ bool Synchronizer::switchToLayout(QString layoutName, int previousMemoryUsage)
|
|||||||
|
|
||||||
QString lPath = layoutPath(layoutName);
|
QString lPath = layoutPath(layoutName);
|
||||||
|
|
||||||
if (lPath.isEmpty() && layoutName == i18n("Alternative")) {
|
if (lPath.isEmpty() && layoutName == i18nc("alternative layout", "Alternative")) {
|
||||||
lPath = m_manager->newLayout(i18n("Alternative"), i18n("Default"));
|
lPath = m_manager->corona()->templatesManager()->newLayout(i18nc("alternative layout", "Alternative"), i18n(Templates::DEFAULTLAYOUTTEMPLATENAME));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!lPath.isEmpty()) {
|
if (!lPath.isEmpty()) {
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// local
|
// local
|
||||||
#include "../layout/centrallayout.h"
|
#include "../layout/centrallayout.h"
|
||||||
|
#include "../layouts/importer.h"
|
||||||
|
|
||||||
// Qt
|
// Qt
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
@ -96,6 +97,19 @@ Data::LayoutsTable Manager::systemLayoutTemplates()
|
|||||||
return templates;
|
return templates;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString Manager::newLayout(QString layoutName, QString layoutTemplate)
|
||||||
|
{
|
||||||
|
layoutName = Layouts::Importer::uniqueLayoutName(layoutName);
|
||||||
|
QString newLayoutPath = QDir::homePath() + "/.config/latte/" + layoutName + ".layout.latte";
|
||||||
|
|
||||||
|
Data::Layout dlayout = layoutTemplateForName(layoutTemplate);
|
||||||
|
QFile(dlayout.id).copy(newLayoutPath);
|
||||||
|
qDebug() << "adding layout : " << layoutName << " based on layout template:" << layoutTemplate;
|
||||||
|
|
||||||
|
return newLayoutPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//! it is used just in order to provide translations for the presets
|
//! it is used just in order to provide translations for the presets
|
||||||
void Manager::exposeTranslatedTemplateNames()
|
void Manager::exposeTranslatedTemplateNames()
|
||||||
{
|
{
|
||||||
|
@ -28,6 +28,9 @@
|
|||||||
// Qt
|
// Qt
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
|
||||||
|
// KDE
|
||||||
|
#include <KLocalizedString>
|
||||||
|
|
||||||
namespace Latte {
|
namespace Latte {
|
||||||
class Corona;
|
class Corona;
|
||||||
}
|
}
|
||||||
@ -54,6 +57,9 @@ public:
|
|||||||
|
|
||||||
Data::LayoutsTable systemLayoutTemplates();
|
Data::LayoutsTable systemLayoutTemplates();
|
||||||
|
|
||||||
|
//! creates a new layout with layoutName based on specific layout template and returns the new layout absolute path
|
||||||
|
QString newLayout(QString layoutName, QString layoutTemplate = i18n(DEFAULTLAYOUTTEMPLATENAME));
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void exposeTranslatedTemplateNames();
|
void exposeTranslatedTemplateNames();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user