summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-07-28 07:27:30 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-07-28 07:27:30 -0700
commitf2e2be0f67146941d9a05815db2d1335a975765e (patch)
tree31813fc61ad44048baf72cd71e016b521bd6afbe
parent7d0c6f895d813b366a3c9ff5b26ed3db1b2fba02 (diff)
parent01645d64b91b29878d6927dcf7cd5c2381e0bfaa (diff)
downloadsubsurface-f2e2be0f67146941d9a05815db2d1335a975765e.tar.gz
Merge branch 'custom-print' of github.com:neolit123/subsurface
-rw-r--r--printer.cpp7
-rw-r--r--printing_templates/Custom.html (renamed from printing_templates/custom.html)0
-rw-r--r--printing_templates/Flowlayout.html204
-rw-r--r--printing_templates/One Dive.html (renamed from printing_templates/one_dive.html)0
-rw-r--r--printing_templates/Table.html83
-rw-r--r--printing_templates/Two Dives.html (renamed from printing_templates/two_dives.html)0
-rw-r--r--qt-ui/mainwindow.cpp3
-rw-r--r--qt-ui/printdialog.cpp34
-rw-r--r--qt-ui/printoptions.cpp94
-rw-r--r--qt-ui/printoptions.h20
-rw-r--r--qt-ui/printoptions.ui98
-rw-r--r--qt-ui/templateedit.cpp27
-rw-r--r--qt-ui/templateedit.ui895
-rw-r--r--templatelayout.cpp25
-rw-r--r--templatelayout.h3
15 files changed, 949 insertions, 544 deletions
diff --git a/printer.cpp b/printer.cpp
index 5b1995501..10942865a 100644
--- a/printer.cpp
+++ b/printer.cpp
@@ -160,7 +160,12 @@ void Printer::print()
divesPerPage = 1; // print each dive in a single page if the attribute is missing or malformed
//TODO: show warning
}
- int Pages = ceil(getTotalWork(printOptions) / (float)divesPerPage);
+ int Pages;
+ if (divesPerPage == 0) {
+ Pages = ceil(webView->page()->mainFrame()->contentsSize().height() / (float)pageSize.height());
+ } else {
+ Pages = ceil(getTotalWork(printOptions) / (float)divesPerPage);
+ }
render(Pages);
}
diff --git a/printing_templates/custom.html b/printing_templates/Custom.html
index 52fdb4b49..52fdb4b49 100644
--- a/printing_templates/custom.html
+++ b/printing_templates/Custom.html
diff --git a/printing_templates/Flowlayout.html b/printing_templates/Flowlayout.html
new file mode 100644
index 000000000..a3f7951d9
--- /dev/null
+++ b/printing_templates/Flowlayout.html
@@ -0,0 +1,204 @@
+<html>
+<head>
+ <style>
+ body {
+ {{ print_options.grayscale }};
+ padding: 0;
+ margin: 0;
+ font-size: {{ template_options.font_size }}vw;
+ line-height: {{ template_options.line_spacing }};
+ font-family: {{ template_options.font }};
+ }
+
+ h1 {
+ float: left;
+ font-size: {{ template_options.font_size }}vw;
+ }
+
+ table {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ border:max(1px, 0.1vw);
+ border-style:solid;
+ }
+
+ td {
+ padding-left: 0.5vw;
+ padding-right: 0.5vw;
+ }
+
+ #body_div {
+ background-color: {{ template_options.color1 }};
+ }
+
+ .mainContainer {
+ width: 96%;
+ margin-left: 2%;
+ margin-right: 2%;
+ margin-top: 0%;
+ margin-bottom: 0%;
+ overflow: hidden;
+ border-width: 0;
+ page-break-inside: avoid;
+ }
+
+ .innerContainer {
+ width: 98%;
+ padding: 1%;
+ overflow: hidden;
+ }
+
+ .diveDetails {
+ width: 98%;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ border:max(1px, 0.1vw);
+ border-style:solid;
+ float: left;
+ }
+
+ .dataSection {
+ width: 98%;
+ margin: 1%;
+ }
+
+ .fieldTitle {
+ background-color: {{ template_options.color2 }};
+ overflow: hidden;
+ }
+
+ .table_class {
+ float: left;
+ margin: 1%;
+ width: 48%;
+ }
+
+ .notes_table_class {
+ overflow: hidden;
+ width: 98%;
+ margin: 1%;
+ }
+
+ .textArea {
+ line-height: {{ template_options.line_spacing }};
+ max-height: 19vh;
+ overflow: hidden;
+ }
+ </style>
+</head>
+<body data-numberofdives = 0>
+<div id="body_div">
+{% block main_rows %}
+ {% for dive in dives %}
+ <div class="mainContainer">
+ <div class="innerContainer">
+ <div class="diveDetails">
+ <div class="dataSection">
+ <table class="table_class">
+ <tbody><tr>
+ <td class="fieldTitle">
+ <h1> Dive No. </h1>
+ </td>
+ <td>
+ <h1> {{ dive.number }} </h1>
+ </td>
+ </tr>
+ <tr>
+ <td class="fieldTitle">
+ <h1> Date </h1>
+ </td>
+ <td><h1> {{ dive.date }} </h1>
+ </td>
+ </tr>
+ <tr>
+ <td class="fieldTitle">
+ <h1> Location </h1>
+ </td>
+ <td>
+ <h1> {{ dive.location }} </h1>
+ </td>
+ </tr>
+ <tr>
+ <td class="fieldTitle">
+ <h1> Max depth </h1>
+ </td>
+ <td>
+ <h1> {{ dive.depth }} </h1>
+ </td>
+ </tr>
+ <tr>
+ <td class="fieldTitle">
+ <h1> Duration </h1>
+ </td>
+ <td>
+ <h1> {{ dive.duration }} </h1>
+ </td>
+ </tr>
+ </tbody></table>
+ <table class="table_class">
+ <tbody><tr>
+ <td class="fieldTitle">
+ <h1> Time. </h1>
+ </td>
+ <td>
+ <h1> {{ dive.time }} </h1>
+ </td>
+ </tr>
+ <tr>
+ <td class="fieldTitle">
+ <h1> Air Temp. </h1>
+ </td>
+ <td><h1> {{ dive.airTemp }} </h1>
+ </td>
+ </tr>
+ <tr>
+ <td class="fieldTitle">
+ <h1> Water Temp. </h1>
+ </td>
+ <td>
+ <h1> {{ dive.waterTemp }} </h1>
+ </td>
+ </tr>
+ <tr>
+ <td class="fieldTitle">
+ <h1> Buddy </h1>
+ </td>
+ <td>
+ <h1> {{ dive.buddy }} </h1>
+ </td>
+ </tr>
+ <tr>
+ <td class="fieldTitle">
+ <h1> Dive Master </h1>
+ </td>
+ <td>
+ <h1> {{ dive.divemaster }} </h1>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <table class="notes_table_class">
+ <tbody>
+ <tr>
+ <td class="fieldTitle">
+ <h1> Notes </h1>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <div class="textArea">
+ <h1> {{ dive.notes }} </h1>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ </div>
+ {% endfor %}
+{% endblock %}
+</div>
+</body>
+</html>
diff --git a/printing_templates/one_dive.html b/printing_templates/One Dive.html
index 9f4d30a61..9f4d30a61 100644
--- a/printing_templates/one_dive.html
+++ b/printing_templates/One Dive.html
diff --git a/printing_templates/Table.html b/printing_templates/Table.html
new file mode 100644
index 000000000..c97267405
--- /dev/null
+++ b/printing_templates/Table.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+ <style>
+ body {
+ {{ print_options.grayscale }};
+ padding: 0;
+ margin: 0;
+ font-size: {{ template_options.font_size }}vw;
+ line-height: {{ template_options.line_spacing }};
+ font-family: {{ template_options.font }};
+ }
+
+ h1 {
+ float: left;
+ font-size: {{ template_options.font_size }}vw;
+ }
+
+ th {
+ font-size: {{ template_options.font_size }}vw;
+ page-break-inside: avoid;
+ -webkit-column-break-inside: avoid;
+ padding-top: 1vh;
+ padding-bottom: 1vh;
+ }
+
+ #body_div {
+ background-color: {{ template_options.color1 }};
+ }
+
+ .mainContainer {
+ width: 96%;
+ height: 100%;
+ margin-left: 2%;
+ margin-right: 2%;
+ margin-top: 0%;
+ margin-bottom: 0%;
+ overflow: hidden;
+ border-width: 0;
+ page-break-inside: avoid;
+ }
+
+ .table_class {
+ overflow: hidden;
+ width: 97%;
+ margin: 1.5%;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ border:max(0.1vw, 1px);
+ border-style:solid;
+ border-color: color: {{ template_options.color5 }};
+ }
+
+ </style>
+</head>
+<body data-numberofdives = 0>
+<div id="body_div">
+<table class="table_class">
+ <tr style="background-color: {{ template_options.color2 }}; color: {{ template_options.color3 }}">
+ <th>Dive #</th>
+ <th>Date</th>
+ <th>Time</th>
+ <th>Depth</th>
+ <th>Duration</th>
+ <th>Master</th>
+ <th>Location</th>
+ </tr>
+{% block main_rows %}
+ {% for dive in dives %}
+ <tr style="color: {{ template_options.color4 }}">
+ <th>{{ dive.number }}</th>
+ <th>{{ dive.date }}</th>
+ <th>{{ dive.time }}</th>
+ <th>{{ dive.depth }}</th>
+ <th>{{ dive.duration }}</th>
+ <th>{{ dive.divemaster }}</th>
+ <th>{{ dive.location }}</th>
+ </tr>
+ {% endfor %}
+{% endblock %}
+</table>
+</div>
+</body>
+</html>
diff --git a/printing_templates/two_dives.html b/printing_templates/Two Dives.html
index 0c8eec14c..0c8eec14c 100644
--- a/printing_templates/two_dives.html
+++ b/printing_templates/Two Dives.html
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index ed7c62c62..b6459d3c2 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -199,6 +199,9 @@ MainWindow::MainWindow() : QMainWindow(),
ReverseGeoLookupThread *geoLookup = ReverseGeoLookupThread::instance();
connect(geoLookup, SIGNAL(started()),information(), SLOT(disableGeoLookupEdition()));
connect(geoLookup, SIGNAL(finished()), information(), SLOT(enableGeoLookupEdition()));
+#ifndef NO_PRINTING
+ find_all_templates();
+#endif
}
MainWindow::~MainWindow()
diff --git a/qt-ui/printdialog.cpp b/qt-ui/printdialog.cpp
index 31ec354c8..25c102201 100644
--- a/qt-ui/printdialog.cpp
+++ b/qt-ui/printdialog.cpp
@@ -12,7 +12,7 @@
#define SETTINGS_GROUP "PrintDialog"
-template_options::color_palette_struct almond_colors, custom_colors;
+template_options::color_palette_struct almond_colors, blueshades_colors, custom_colors;
PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f)
{
@@ -22,6 +22,11 @@ PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f
almond_colors.color3 = QColor::fromRgb(136, 160, 150);
almond_colors.color4 = QColor::fromRgb(187, 171, 139);
almond_colors.color5 = QColor::fromRgb(239, 130, 117);
+ blueshades_colors.color1 = QColor::fromRgb(182, 192, 206);
+ blueshades_colors.color2 = QColor::fromRgb(142, 152, 166);
+ blueshades_colors.color3 = QColor::fromRgb(31, 49, 75);
+ blueshades_colors.color4 = QColor::fromRgb(21, 45, 84);
+ blueshades_colors.color5 = QColor::fromRgb(5, 25, 56);
// check if the options were previously stored in the settings; if not use some defaults.
QSettings s;
@@ -30,11 +35,11 @@ PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f
printOptions.print_selected = true;
printOptions.color_selected = true;
printOptions.landscape = false;
- printOptions.p_template = print_options::ONE_DIVE;
+ printOptions.p_template = "one_dive.html";
printOptions.type = print_options::DIVELIST;
templateOptions.font_index = 0;
templateOptions.font_size = 9;
- templateOptions.color_palette_index = 0;
+ templateOptions.color_palette_index = ALMOND;
templateOptions.line_spacing = 1;
custom_colors = almond_colors;
} else {
@@ -43,7 +48,7 @@ PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f
printOptions.print_selected = s.value("print_selected").toBool();
printOptions.color_selected = s.value("color_selected").toBool();
printOptions.landscape = s.value("landscape").toBool();
- printOptions.p_template = (print_options::print_template)s.value("template_selected").toInt();
+ printOptions.p_template = s.value("template_selected").toString();
qprinter.setOrientation((QPrinter::Orientation)printOptions.landscape);
templateOptions.font_index = s.value("font").toInt();
templateOptions.font_size = s.value("font_size").toDouble();
@@ -56,11 +61,22 @@ PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f
custom_colors.color5 = QColor(s.value("custom_color_5").toString());
}
+ // handle cases from old QSettings group
+ if (templateOptions.font_size < 9) {
+ templateOptions.font_size = 9;
+ }
+ if (templateOptions.line_spacing < 1) {
+ templateOptions.line_spacing = 1;
+ }
+
switch (templateOptions.color_palette_index) {
- case 0: // almond
+ case ALMOND: // almond
templateOptions.color_palette = almond_colors;
break;
- case 1: // custom
+ case BLUESHADES: // blueshades
+ templateOptions.color_palette = blueshades_colors;
+ break;
+ case CUSTOM: // custom
templateOptions.color_palette = custom_colors;
break;
}
@@ -140,7 +156,7 @@ void PrintDialog::onFinished()
void PrintDialog::previewClicked(void)
{
- if (printOptions.type == print_options::TABLE || printOptions.type == print_options::STATISTICS) {
+ if (printOptions.type == print_options::STATISTICS) {
QMessageBox msgBox;
msgBox.setText("This feature is not implemented yet");
msgBox.exec();
@@ -156,7 +172,7 @@ void PrintDialog::previewClicked(void)
void PrintDialog::printClicked(void)
{
- if (printOptions.type == print_options::TABLE || printOptions.type == print_options::STATISTICS) {
+ if (printOptions.type == print_options::STATISTICS) {
QMessageBox msgBox;
msgBox.setText("This feature is not implemented yet");
msgBox.exec();
@@ -170,8 +186,6 @@ void PrintDialog::printClicked(void)
connect(printer, SIGNAL(progessUpdated(int)), progressBar, SLOT(setValue(int)));
printer->print();
break;
- case print_options::TABLE:
- break;
case print_options::STATISTICS:
break;
}
diff --git a/qt-ui/printoptions.cpp b/qt-ui/printoptions.cpp
index 0e6a0b320..1da95a94d 100644
--- a/qt-ui/printoptions.cpp
+++ b/qt-ui/printoptions.cpp
@@ -1,6 +1,10 @@
#include "printoptions.h"
#include "templateedit.h"
+#include "helpers.h"
+
#include <QDebug>
+#include <QFileDialog>
+#include <QMessageBox>
PrintOptions::PrintOptions(QWidget *parent, struct print_options *printOpt, struct template_options *templateOpt)
{
@@ -22,24 +26,26 @@ void PrintOptions::setup()
case print_options::DIVELIST:
ui.radioDiveListPrint->setChecked(true);
break;
- case print_options::TABLE:
- ui.radioTablePrint->setChecked(true);
- break;
case print_options::STATISTICS:
ui.radioStatisticsPrint->setChecked(true);
break;
}
- switch (printOptions->p_template) {
- case print_options::ONE_DIVE:
- ui.printTemplate->setCurrentIndex(0);
- break;
- case print_options::TWO_DIVE:
- ui.printTemplate->setCurrentIndex(1);
- break;
- case print_options::CUSTOM:
- ui.printTemplate->setCurrentIndex(2);
- break;
+
+ // insert existing templates in the UI and select the current template
+ qSort(grantlee_templates);
+ int current_index = 0, index = 0;
+ for (QList<QString>::iterator i = grantlee_templates.begin(); i != grantlee_templates.end(); ++i) {
+ if ((*i).compare(printOptions->p_template) == 0) {
+ current_index = index;
+ break;
+ }
+ index++;
+ }
+ ui.printTemplate->clear();
+ for (QList<QString>::iterator i = grantlee_templates.begin(); i != grantlee_templates.end(); ++i) {
+ ui.printTemplate->addItem((*i).split('.')[0], QVariant::fromValue(*i));
}
+ ui.printTemplate->setCurrentIndex(current_index);
// general print option checkboxes
if (printOptions->color_selected)
@@ -65,13 +71,6 @@ void PrintOptions::on_radioDiveListPrint_clicked(bool check)
}
}
-void PrintOptions::on_radioTablePrint_clicked(bool check)
-{
- if (check) {
- printOptions->type = print_options::TABLE;
- }
-}
-
void PrintOptions::on_radioStatisticsPrint_clicked(bool check)
{
if (check) {
@@ -93,17 +92,7 @@ void PrintOptions::printSelectedClicked(bool check)
void PrintOptions::on_printTemplate_currentIndexChanged(int index)
{
- switch(index){
- case 0:
- printOptions->p_template = print_options::ONE_DIVE;
- break;
- case 1:
- printOptions->p_template = print_options::TWO_DIVE;
- break;
- case 2:
- printOptions->p_template = print_options::CUSTOM;
- break;
- }
+ printOptions->p_template = ui.printTemplate->itemData(index).toString();
}
void PrintOptions::on_editButton_clicked()
@@ -112,3 +101,46 @@ void PrintOptions::on_editButton_clicked()
te.exec();
setup();
}
+
+void PrintOptions::on_importButton_clicked()
+{
+ QString filename = QFileDialog::getOpenFileName(this, tr("Import Template file"), "",
+ tr("HTML files (*.html)"));
+ if (filename.isEmpty())
+ return;
+ QFileInfo fileInfo(filename);
+ QFile::copy(filename, getSubsurfaceDataPath("printing_templates") + QDir::separator() + fileInfo.fileName());
+ printOptions->p_template = 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)"));
+ if (filename.isEmpty())
+ return;
+ 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()
+{
+ return ui.printTemplate->currentData().toString();
+}
diff --git a/qt-ui/printoptions.h b/qt-ui/printoptions.h
index 3a55c6994..2e2e2a9f4 100644
--- a/qt-ui/printoptions.h
+++ b/qt-ui/printoptions.h
@@ -8,14 +8,9 @@
struct print_options {
enum print_type {
DIVELIST,
- TABLE,
STATISTICS
} type;
- enum print_template {
- ONE_DIVE,
- TWO_DIVE,
- CUSTOM
- } p_template;
+ QString p_template;
bool print_selected;
bool color_selected;
bool landscape;
@@ -49,7 +44,13 @@ struct template_options {
}
};
-extern template_options::color_palette_struct almond_colors, custom_colors;
+extern template_options::color_palette_struct almond_colors, blueshades_colors, custom_colors;
+
+enum color_palette {
+ ALMOND,
+ BLUESHADES,
+ CUSTOM
+};
// should be based on a custom QPrintDialog class
class PrintOptions : public QWidget {
@@ -58,6 +59,7 @@ class PrintOptions : public QWidget {
public:
explicit PrintOptions(QWidget *parent, struct print_options *printOpt, struct template_options *templateOpt);
void setup();
+ QString getSelectedTemplate();
private:
Ui::PrintOptions ui;
@@ -70,10 +72,12 @@ slots:
void printInColorClicked(bool check);
void printSelectedClicked(bool check);
void on_radioStatisticsPrint_clicked(bool check);
- void on_radioTablePrint_clicked(bool check);
void on_radioDiveListPrint_clicked(bool check);
void on_printTemplate_currentIndexChanged(int index);
void on_editButton_clicked();
+ void on_importButton_clicked();
+ void on_exportButton_clicked();
+ void on_deleteButton_clicked();
};
#endif // PRINTOPTIONS_H
diff --git a/qt-ui/printoptions.ui b/qt-ui/printoptions.ui
index 7e66d4cb0..1c2523d39 100644
--- a/qt-ui/printoptions.ui
+++ b/qt-ui/printoptions.ui
@@ -46,19 +46,6 @@
</widget>
</item>
<item row="2" column="0">
- <widget class="QRadioButton" name="radioTablePrint">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>&amp;Table print</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0" colspan="2">
<widget class="QRadioButton" name="radioStatisticsPrint">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@@ -71,19 +58,6 @@
</property>
</widget>
</item>
- <item row="2" column="2" rowspan="2">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
</layout>
</widget>
</item>
@@ -129,36 +103,55 @@
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
- <widget class="QComboBox" name="printTemplate">
- <item>
- <property name="text">
- <string>One dive per page</string>
- </property>
- </item>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
<item>
- <property name="text">
- <string>Two dives per page</string>
- </property>
+ <widget class="QComboBox" name="printTemplate"/>
</item>
<item>
- <property name="text">
- <string>Custom template</string>
- </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="1" column="0">
+ <widget class="QPushButton" name="editButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QPushButton" name="deleteButton">
+ <property name="text">
+ <string>Delete</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QPushButton" name="exportButton">
+ <property name="text">
+ <string>Export</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QPushButton" name="importButton">
+ <property name="text">
+ <string>Import</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="editButton">
- <property name="maximumSize">
- <size>
- <width>106</width>
- <height>26</height>
- </size>
- </property>
- <property name="text">
- <string>Edit</string>
- </property>
- </widget>
+ </layout>
</item>
</layout>
</widget>
@@ -167,7 +160,6 @@
</widget>
<tabstops>
<tabstop>radioDiveListPrint</tabstop>
- <tabstop>radioStatisticsPrint</tabstop>
<tabstop>printSelected</tabstop>
<tabstop>printInColor</tabstop>
</tabstops>
diff --git a/qt-ui/templateedit.cpp b/qt-ui/templateedit.cpp
index 6a6328f64..6df11ea79 100644
--- a/qt-ui/templateedit.cpp
+++ b/qt-ui/templateedit.cpp
@@ -21,13 +21,7 @@ TemplateEdit::TemplateEdit(QWidget *parent, struct print_options *printOptions,
ui->colorpalette->setCurrentIndex(templateOptions->color_palette_index);
ui->linespacing->setValue(templateOptions->line_spacing);
- if (printOptions->p_template == print_options::ONE_DIVE) {
- grantlee_template = TemplateLayout::readTemplate("one_dive.html");
- } else if (printOptions->p_template == print_options::TWO_DIVE) {
- grantlee_template = TemplateLayout::readTemplate("two_dives.html");
- } else if (printOptions->p_template == print_options::CUSTOM) {
- grantlee_template = TemplateLayout::readTemplate("custom.html");
- }
+ grantlee_template = TemplateLayout::readTemplate(printOptions->p_template);
// gui
btnGroup = new QButtonGroup;
@@ -98,10 +92,13 @@ void TemplateEdit::on_colorpalette_currentIndexChanged(int index)
{
newTemplateOptions.color_palette_index = index;
switch (newTemplateOptions.color_palette_index) {
- case 0: // almond
+ case ALMOND: // almond
newTemplateOptions.color_palette = almond_colors;
break;
- case 1: // custom
+ case BLUESHADES: // blueshades
+ newTemplateOptions.color_palette = blueshades_colors;
+ break;
+ case CUSTOM: // custom
newTemplateOptions.color_palette = custom_colors;
break;
}
@@ -118,10 +115,10 @@ void TemplateEdit::saveSettings()
if (msgBox.exec() == QMessageBox::Save) {
memcpy(templateOptions, &newTemplateOptions, sizeof(struct template_options));
if (grantlee_template.compare(ui->plainTextEdit->toPlainText())) {
- printOptions->p_template = print_options::CUSTOM;
+ printOptions->p_template = "custom.html";
TemplateLayout::writeTemplate("custom.html", ui->plainTextEdit->toPlainText());
}
- if (templateOptions->color_palette_index == 1) {
+ if (templateOptions->color_palette_index == 2) {
custom_colors = templateOptions->color_palette;
}
}
@@ -150,10 +147,14 @@ void TemplateEdit::colorSelect(QAbstractButton *button)
{
// reset custom colors palette
switch (newTemplateOptions.color_palette_index) {
- case 0: // almond
+ case ALMOND: // almond
newTemplateOptions.color_palette = almond_colors;
custom_colors = newTemplateOptions.color_palette;
break;
+ case BLUESHADES: // blueshades
+ newTemplateOptions.color_palette = blueshades_colors;
+ custom_colors = newTemplateOptions.color_palette;
+ break;
}
//change selected color
@@ -180,6 +181,6 @@ void TemplateEdit::colorSelect(QAbstractButton *button)
newTemplateOptions.color_palette.color5 = color;
break;
}
- newTemplateOptions.color_palette_index = 1;
+ newTemplateOptions.color_palette_index = CUSTOM;
updatePreview();
}
diff --git a/qt-ui/templateedit.ui b/qt-ui/templateedit.ui
index 4f9c9c2ed..1442954cf 100644
--- a/qt-ui/templateedit.ui
+++ b/qt-ui/templateedit.ui
@@ -6,436 +6,493 @@
<rect>
<x>0</x>
<y>0</y>
- <width>774</width>
+ <width>770</width>
<height>433</height>
</rect>
</property>
<property name="windowTitle">
<string>Edit Template</string>
</property>
- <widget class="QDialogButtonBox" name="buttonBox">
- <property name="geometry">
- <rect>
- <x>400</x>
- <y>380</y>
- <width>341</width>
- <height>32</height>
- </rect>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons">
- <set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- </widget>
- <widget class="QTabWidget" name="tabWidget">
- <property name="geometry">
- <rect>
- <x>300</x>
- <y>30</y>
- <width>441</width>
- <height>331</height>
- </rect>
- </property>
- <property name="currentIndex">
- <number>2</number>
- </property>
- <widget class="QWidget" name="style">
- <attribute name="title">
- <string>Style</string>
- </attribute>
- <widget class="QWidget" name="verticalLayoutWidget">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>20</y>
- <width>401</width>
- <height>171</height>
- </rect>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <item>
- <widget class="QLabel" name="fontselection_label">
- <property name="text">
- <string>Font</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="fontSelection">
- <item>
- <property name="text">
- <string>Arial</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Impact</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Georgia</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Courier</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Verdana</string>
+ <layout class="QVBoxLayout" name="verticalLayout_8">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_10">
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <spacer name="verticalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Preview</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>180</width>
+ <height>240</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>180</width>
+ <height>254</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true"/>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="autoFillBackground">
+ <bool>false</bool>
+ </property>
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="style">
+ <attribute name="title">
+ <string>Style</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_11">
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <item>
+ <widget class="QLabel" name="fontselection_label">
+ <property name="text">
+ <string>Font</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="fontSelection">
+ <item>
+ <property name="text">
+ <string>Arial</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Impact</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Georgia</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Courier</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Verdana</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="QLabel" name="fontsize_label">
+ <property name="text">
+ <string>Font size</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="fontsize">
+ <property name="minimum">
+ <number>9</number>
+ </property>
+ <property name="maximum">
+ <number>18</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="colorpalette_label">
+ <property name="text">
+ <string>Color pallet</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="colorpalette">
+ <item>
+ <property name="text">
+ <string>Almond</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Shades of blue</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Custom</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QLabel" name="linespacing_label">
+ <property name="text">
+ <string>Line spacing</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="linespacing">
+ <property name="minimum">
+ <double>1.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>3.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.250000000000000</double>
+ </property>
+ <property name="value">
+ <double>1.250000000000000</double>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="template_2">
+ <attribute name="title">
+ <string>Template</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <widget class="QPlainTextEdit" name="plainTextEdit">
+ <property name="horizontalScrollBarPolicy">
+ <enum>Qt::ScrollBarAsNeeded</enum>
</property>
- </item>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <item>
- <widget class="QLabel" name="fontsize_label">
- <property name="text">
- <string>Font size</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="fontsize">
- <property name="minimum">
- <number>9</number>
- </property>
- <property name="maximum">
- <number>18</number>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QLabel" name="colorpalette_label">
- <property name="text">
- <string>Color pallet</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="colorpalette">
- <item>
- <property name="text">
- <string>Almond</string>
+ <property name="lineWrapMode">
+ <enum>QPlainTextEdit::NoWrap</enum>
</property>
- </item>
- <item>
- <property name="text">
- <string>Custom</string>
- </property>
- </item>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <item>
- <widget class="QLabel" name="linespacing_label">
- <property name="text">
- <string>Line spacing</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QDoubleSpinBox" name="linespacing">
- <property name="minimum">
- <double>1.000000000000000</double>
- </property>
- <property name="maximum">
- <double>3.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.250000000000000</double>
- </property>
- <property name="value">
- <double>1.250000000000000</double>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </widget>
- <widget class="QWidget" name="template_2">
- <attribute name="title">
- <string>Template</string>
- </attribute>
- <widget class="QPlainTextEdit" name="plainTextEdit">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>441</width>
- <height>301</height>
- </rect>
- </property>
- <property name="horizontalScrollBarPolicy">
- <enum>Qt::ScrollBarAsNeeded</enum>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="color_tab">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <attribute name="title">
+ <string>Colors</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_12">
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <item>
+ <widget class="QLabel" name="label_3">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Background</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="colorLable1">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>color1</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="editButton1">
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
+ <item>
+ <widget class="QLabel" name="label_9">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Table cells</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="colorLable2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>color2</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="editButton2">
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_7">
+ <item>
+ <widget class="QLabel" name="label_7">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Text 1</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="colorLable3">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>color3</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="editButton3">
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_9">
+ <item>
+ <widget class="QLabel" name="label_11">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Text 2</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="colorLable4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>color4</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="editButton4">
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <item>
+ <widget class="QLabel" name="label_4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Borders</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="colorLable5">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>color5</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="editButton5">
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="lineWrapMode">
- <enum>QPlainTextEdit::NoWrap</enum>
- </property>
- </widget>
- </widget>
- <widget class="QWidget" name="color_tab">
- <attribute name="title">
- <string>Colors</string>
- </attribute>
- <widget class="QWidget" name="verticalLayoutWidget_2">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>30</y>
- <width>411</width>
- <height>171</height>
- </rect>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <item>
- <widget class="QLabel" name="label_3">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Background</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="colorLable1">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>color1</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="editButton1">
- <property name="text">
- <string>Edit</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_8">
- <item>
- <widget class="QLabel" name="label_9">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Table cells</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="colorLable2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>color2</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="editButton2">
- <property name="text">
- <string>Edit</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_7">
- <item>
- <widget class="QLabel" name="label_7">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Text 1</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="colorLable3">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>color3</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="editButton3">
- <property name="text">
- <string>Edit</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_9">
- <item>
- <widget class="QLabel" name="label_11">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Text 2</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="colorLable4">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>color4</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="editButton4">
- <property name="text">
- <string>Edit</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_6">
- <item>
- <widget class="QLabel" name="label_4">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Borders</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="colorLable5">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>color5</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="editButton5">
- <property name="text">
- <string>Edit</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
</widget>
- </widget>
- </widget>
- <widget class="QLabel" name="label_5">
- <property name="geometry">
- <rect>
- <x>30</x>
- <y>30</y>
- <width>59</width>
- <height>14</height>
- </rect>
- </property>
- <property name="text">
- <string>Preview</string>
- </property>
- </widget>
- <widget class="QLabel" name="label">
- <property name="geometry">
- <rect>
- <x>50</x>
- <y>70</y>
- <width>211</width>
- <height>291</height>
- </rect>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
+ </item>
+ </layout>
</widget>
<resources/>
<connections>
diff --git a/templatelayout.cpp b/templatelayout.cpp
index fec57cb2a..30919891a 100644
--- a/templatelayout.cpp
+++ b/templatelayout.cpp
@@ -4,6 +4,8 @@
#include "helpers.h"
#include "display.h"
+QList<QString> grantlee_templates;
+
int getTotalWork(print_options *printOptions)
{
if (printOptions->print_selected) {
@@ -19,6 +21,19 @@ int getTotalWork(print_options *printOptions)
return dives;
}
+void find_all_templates()
+{
+ grantlee_templates.clear();
+ QDir dir(getSubsurfaceDataPath("printing_templates"));
+ QFileInfoList list = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot);
+ foreach (QFileInfo finfo, list) {
+ QString filename = finfo.fileName();
+ if (filename.at(filename.size() - 1) != '~') {
+ grantlee_templates.append(finfo.fileName());
+ }
+ }
+}
+
TemplateLayout::TemplateLayout(print_options *PrintOptions, template_options *templateOptions) :
m_engine(NULL)
{
@@ -35,7 +50,6 @@ QString TemplateLayout::generate()
{
int progress = 0;
int totalWork = getTotalWork(PrintOptions);
- QString templateName;
QString htmlContent;
m_engine = new Grantlee::Engine(this);
@@ -69,14 +83,7 @@ QString TemplateLayout::generate()
Grantlee::Context c(mapping);
- if (PrintOptions->p_template == print_options::ONE_DIVE) {
- templateName = "one_dive.html";
- } else if (PrintOptions->p_template == print_options::TWO_DIVE) {
- templateName = "two_dives.html";
- } else if (PrintOptions->p_template == print_options::CUSTOM) {
- templateName = "custom.html";
- }
- Grantlee::Template t = m_engine->loadByName(templateName);
+ Grantlee::Template t = m_engine->loadByName(PrintOptions->p_template);
if (!t || t->error()) {
qDebug() << "Can't load template";
return htmlContent;
diff --git a/templatelayout.h b/templatelayout.h
index e37e9e868..5f4678923 100644
--- a/templatelayout.h
+++ b/templatelayout.h
@@ -6,6 +6,9 @@
#include "printoptions.h"
int getTotalWork(print_options *printOptions);
+void find_all_templates();
+
+extern QList<QString> grantlee_templates;
class TemplateLayout : public QObject {
Q_OBJECT