mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-07 20:44:35 +00:00
Printing: support importing/exporting of templates
Implement 'import/export' features, so it's easier to share customized printing templates. Also support deleting existing templates. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
This commit is contained in:
parent
fc9cba692e
commit
1dd2518624
2 changed files with 40 additions and 0 deletions
|
@ -1,6 +1,10 @@
|
||||||
#include "printoptions.h"
|
#include "printoptions.h"
|
||||||
#include "templateedit.h"
|
#include "templateedit.h"
|
||||||
|
#include "helpers.h"
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <QFileDialog>
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
PrintOptions::PrintOptions(QWidget *parent, struct print_options *printOpt, struct template_options *templateOpt)
|
PrintOptions::PrintOptions(QWidget *parent, struct print_options *printOpt, struct template_options *templateOpt)
|
||||||
{
|
{
|
||||||
|
@ -97,6 +101,39 @@ void PrintOptions::on_editButton_clicked()
|
||||||
setup();
|
setup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PrintOptions::on_importButton_clicked()
|
||||||
|
{
|
||||||
|
QString filename = QFileDialog::getOpenFileName(this, tr("Import Template file"), "",
|
||||||
|
tr("HTML files (*.html)"));
|
||||||
|
QFileInfo fileInfo(filename);
|
||||||
|
QFile::copy(filename, getSubsurfaceDataPath("printing_templates") + QDir::separator() + fileInfo.fileName());
|
||||||
|
find_all_templates();
|
||||||
|
setup();
|
||||||
|
}
|
||||||
|
|
||||||
|
void PrintOptions::on_exportButton_clicked()
|
||||||
|
{
|
||||||
|
QString filename = QFileDialog::getSaveFileName(this, tr("Export Template files as"), "",
|
||||||
|
tr("HTML files (*.html)"));
|
||||||
|
QFile::copy(getSubsurfaceDataPath("printing_templates") + QDir::separator() + getSelectedTemplate(), filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PrintOptions::on_deleteButton_clicked()
|
||||||
|
{
|
||||||
|
QString templateName = getSelectedTemplate();
|
||||||
|
QMessageBox msgBox;
|
||||||
|
msgBox.setText("This action cannot be undone!");
|
||||||
|
msgBox.setInformativeText("Delete '" + templateName + "' template?");
|
||||||
|
msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
|
||||||
|
msgBox.setDefaultButton(QMessageBox::Cancel);
|
||||||
|
if (msgBox.exec() == QMessageBox::Ok) {
|
||||||
|
QFile f(getSubsurfaceDataPath("printing_templates") + QDir::separator() + templateName);
|
||||||
|
f.remove();
|
||||||
|
find_all_templates();
|
||||||
|
setup();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QString PrintOptions::getSelectedTemplate()
|
QString PrintOptions::getSelectedTemplate()
|
||||||
{
|
{
|
||||||
return ui.printTemplate->currentData().toString();
|
return ui.printTemplate->currentData().toString();
|
||||||
|
|
|
@ -69,6 +69,9 @@ slots:
|
||||||
void on_radioDiveListPrint_clicked(bool check);
|
void on_radioDiveListPrint_clicked(bool check);
|
||||||
void on_printTemplate_currentIndexChanged(int index);
|
void on_printTemplate_currentIndexChanged(int index);
|
||||||
void on_editButton_clicked();
|
void on_editButton_clicked();
|
||||||
|
void on_importButton_clicked();
|
||||||
|
void on_exportButton_clicked();
|
||||||
|
void on_deleteButton_clicked();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // PRINTOPTIONS_H
|
#endif // PRINTOPTIONS_H
|
||||||
|
|
Loading…
Add table
Reference in a new issue