printing: add set_bundled_templates_as_read_only()
Add the function set_bundled_templates_as_read_only() in templatelayout.cpp/h. The function is used to mark the bundled template files as read-only in the user folder. It is called in mainwindow.cpp, after the files are copied from the bundle. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
This commit is contained in:
parent
6895c0eca5
commit
9209382c18
@ -258,6 +258,7 @@ MainWindow::MainWindow() : QMainWindow(),
|
||||
#ifndef NO_PRINTING
|
||||
// copy the bundled print templates to the user path; no overwriting occurs!
|
||||
copyPath(getPrintingTemplatePathBundle(), getPrintingTemplatePathUser());
|
||||
set_bundled_templates_as_read_only();
|
||||
find_all_templates();
|
||||
#endif
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <QFileDevice>
|
||||
#include <string>
|
||||
|
||||
#include "templatelayout.h"
|
||||
@ -39,6 +40,29 @@ void find_all_templates()
|
||||
}
|
||||
}
|
||||
|
||||
/* find templates which are part of the bundle in the user path
|
||||
* and set them as read only.
|
||||
*/
|
||||
void set_bundled_templates_as_read_only()
|
||||
{
|
||||
QDir dir;
|
||||
const QString stats("statistics");
|
||||
QStringList list, listStats;
|
||||
QString pathBundle = getPrintingTemplatePathBundle();
|
||||
QString pathUser = getPrintingTemplatePathUser();
|
||||
|
||||
dir.setPath(pathBundle);
|
||||
list = dir.entryList(QDir::Files | QDir::NoDotAndDotDot);
|
||||
dir.setPath(pathBundle + QDir::separator() + stats);
|
||||
listStats = dir.entryList(QDir::Files | QDir::NoDotAndDotDot);
|
||||
for (int i = 0; i < listStats.length(); i++)
|
||||
listStats[i] = stats + QDir::separator() + listStats.at(i);
|
||||
list += listStats;
|
||||
|
||||
foreach (const QString& f, list)
|
||||
QFile::setPermissions(pathUser + QDir::separator() + f, QFileDevice::ReadOwner | QFileDevice::ReadUser);
|
||||
}
|
||||
|
||||
TemplateLayout::TemplateLayout(print_options *PrintOptions, template_options *templateOptions) :
|
||||
m_engine(NULL)
|
||||
{
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
|
||||
int getTotalWork(print_options *printOptions);
|
||||
void find_all_templates();
|
||||
void set_bundled_templates_as_read_only();
|
||||
|
||||
extern QList<QString> grantlee_templates, grantlee_statistics_templates;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user