1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-03-27 14:50:21 +03:00

fix #980,update file permissions

--update layout-file permissions when
importing or copying layouts
This commit is contained in:
Michail Vourlakos 2018-04-14 21:22:54 +03:00
parent 066200e9f3
commit 46e6e2fdf8
2 changed files with 30 additions and 0 deletions

View File

@ -186,6 +186,12 @@ void LayoutConfigDialog::on_copyButton_clicked()
QString copiedId = tempDir + "/" + layoutName + ".layout.latte";
QFile(id).copy(copiedId);
QFileInfo newFileInfo(copiedId);
if (newFileInfo.exists() && !newFileInfo.isWritable()) {
QFile(copiedId).setPermissions(QFileDevice::ReadUser | QFileDevice::WriteUser | QFileDevice::ReadGroup | QFileDevice::ReadOther);
}
LayoutSettings *settings = new LayoutSettings(this, copiedId);
m_layouts[copiedId] = settings;
@ -398,6 +404,12 @@ void LayoutConfigDialog::on_exportButton_clicked()
return;
}
QFileInfo newFileInfo(file);
if (newFileInfo.exists() && !newFileInfo.isWritable()) {
QFile(file).setPermissions(QFileDevice::ReadUser | QFileDevice::WriteUser | QFileDevice::ReadGroup | QFileDevice::ReadOther);
}
LayoutSettings layoutS(this, file);
layoutS.setActivities(QStringList());
@ -497,6 +509,12 @@ void LayoutConfigDialog::addLayoutForFile(QString file, QString layoutName, bool
copiedId = file;
}
QFileInfo newFileInfo(copiedId);
if (newFileInfo.exists() && !newFileInfo.isWritable()) {
QFile(copiedId).setPermissions(QFileDevice::ReadUser | QFileDevice::WriteUser | QFileDevice::ReadGroup | QFileDevice::ReadOther);
}
LayoutSettings *settings = new LayoutSettings(this, copiedId);
m_layouts[copiedId] = settings;

View File

@ -336,6 +336,12 @@ QString LayoutManager::newLayout(QString layoutName, QString preset)
if (preset == i18n("Default") && !QFile(newLayoutPath).exists()) {
qDebug() << "adding layout : succeed";
QFile(m_corona->kPackage().filePath("preset1")).copy(newLayoutPath);
QFileInfo newFileInfo(newLayoutPath);
if (newFileInfo.exists() && !newFileInfo.isWritable()) {
QFile(newLayoutPath).setPermissions(QFileDevice::ReadUser | QFileDevice::WriteUser | QFileDevice::ReadGroup | QFileDevice::ReadOther);
}
}
return newLayoutPath;
@ -360,6 +366,12 @@ void LayoutManager::importPresets(bool includeDefault)
if (!QFile(newLayoutFile).exists()) {
QFile(presetPath).copy(newLayoutFile);
QFileInfo newFileInfo(newLayoutFile);
if (newFileInfo.exists() && !newFileInfo.isWritable()) {
QFile(newLayoutFile).setPermissions(QFileDevice::ReadUser | QFileDevice::WriteUser | QFileDevice::ReadGroup | QFileDevice::ReadOther);
}
}
}
}