support renaming of active layout

pull/1/head
Michail Vourlakos 8 years ago
parent db7da1221a
commit 9195dafbc9

@ -102,6 +102,7 @@ public slots:
void loadDefaultLayout() override;
void dockContainmentDestroyed(QObject *cont);
void updateDockItemBadge(QString identifier, QString value);
void unload();
signals:
void configurationShown(PlasmaQuick::ConfigView *configView);
@ -126,7 +127,6 @@ private:
void cleanConfig();
void qmlRegisterTypes() const;
void setupWaylandIntegration();
void unload();
bool appletExists(uint containmentId, uint appletId) const;
bool containmentContainsTasks(Plasma::Containment *cont);

@ -344,6 +344,8 @@ bool LayoutConfigDialog::saveAllChanges()
QStringList toRenamePaths;
QStringList toRenameNames;
QString switchToLayout;
for (int i = 0; i < m_model->rowCount(); ++i) {
QString id = m_model->data(m_model->index(i, 0), Qt::DisplayRole).toString();
QString color = m_model->data(m_model->index(i, 1), Qt::BackgroundRole).toString();
@ -376,9 +378,15 @@ bool LayoutConfigDialog::saveAllChanges()
layout->setActivities(cleanedActivities);
}
if (layout->name() != name && layout->name() != m_manager->currentLayoutName()) {
if (layout->name() != name) {
QString tempFile = layoutTempDir.filePath(QString(layout->name() + ".layout.latte"));
qDebug() << "new temp file ::: " << tempFile;
if (layout->name() == m_manager->currentLayoutName()) {
switchToLayout = name;
m_manager->corona()->unload();
}
layout = m_layouts.take(id);
delete layout;
@ -411,6 +419,10 @@ bool LayoutConfigDialog::saveAllChanges()
m_manager->loadLayouts();
if (!switchToLayout.isNull()) {
m_manager->switchToLayout(switchToLayout);
}
return true;
}

Loading…
Cancel
Save