mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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
3 changed files with 26 additions and 0 deletions
|
@ -258,6 +258,7 @@ MainWindow::MainWindow() : QMainWindow(),
|
||||||
#ifndef NO_PRINTING
|
#ifndef NO_PRINTING
|
||||||
// copy the bundled print templates to the user path; no overwriting occurs!
|
// copy the bundled print templates to the user path; no overwriting occurs!
|
||||||
copyPath(getPrintingTemplatePathBundle(), getPrintingTemplatePathUser());
|
copyPath(getPrintingTemplatePathBundle(), getPrintingTemplatePathUser());
|
||||||
|
set_bundled_templates_as_read_only();
|
||||||
find_all_templates();
|
find_all_templates();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
|
#include <QFileDevice>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include "templatelayout.h"
|
#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) :
|
TemplateLayout::TemplateLayout(print_options *PrintOptions, template_options *templateOptions) :
|
||||||
m_engine(NULL)
|
m_engine(NULL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
|
|
||||||
int getTotalWork(print_options *printOptions);
|
int getTotalWork(print_options *printOptions);
|
||||||
void find_all_templates();
|
void find_all_templates();
|
||||||
|
void set_bundled_templates_as_read_only();
|
||||||
|
|
||||||
extern QList<QString> grantlee_templates, grantlee_statistics_templates;
|
extern QList<QString> grantlee_templates, grantlee_statistics_templates;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue