summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Gehad elrobey <gehadelrobey@gmail.com>2015-06-14 06:25:35 +0200
committerGravatar Lubomir I. Ivanov <neolit123@gmail.com>2015-06-19 21:41:57 +0300
commit60c5e3cf25e0966fa7ec5f90d5e04404e7fae81f (patch)
tree88f6098cf5c402094d973a8cb16eb36ea232f4c6
parent42b9d0d047abfa9b7816f59d00a0ed0f87368975 (diff)
downloadsubsurface-60c5e3cf25e0966fa7ec5f90d5e04404e7fae81f.tar.gz
Printing: pass the print_options struct to TemplateLayout and Printer
As the print_options struct is needed by both TemplateLayout and Printer class, it can be passed to their constructor. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
-rw-r--r--printer.cpp5
-rw-r--r--printer.h4
-rw-r--r--qt-ui/printdialog.cpp2
-rw-r--r--templatelayout.cpp3
-rw-r--r--templatelayout.h4
5 files changed, 12 insertions, 6 deletions
diff --git a/printer.cpp b/printer.cpp
index 6d4e4898b..5116521fa 100644
--- a/printer.cpp
+++ b/printer.cpp
@@ -9,9 +9,10 @@
#define A4_300DPI_WIDTH 2480
#define A4_300DPI_HIGHT 3508
-Printer::Printer(QPrinter *printer)
+Printer::Printer(QPrinter *printer, print_options *printOptions)
{
this->printer = printer;
+ this->printOptions = printOptions;
//override these settings for now.
printer->setFullPage(true);
@@ -112,7 +113,7 @@ void Printer::templateProgessUpdated(int value)
void Printer::print()
{
- TemplateLayout t;
+ TemplateLayout t(printOptions);
connect(&t, SIGNAL(progressUpdated(int)), this, SLOT(templateProgessUpdated(int)));
webView = new QWebView();
webView->setHtml(t.generate());
diff --git a/printer.h b/printer.h
index 75c256d91..5bb6e4169 100644
--- a/printer.h
+++ b/printer.h
@@ -7,6 +7,7 @@
#include <QPainter>
#include "profile/profilewidget2.h"
+#include "printoptions.h"
class Printer : public QObject {
Q_OBJECT
@@ -14,6 +15,7 @@ class Printer : public QObject {
private:
QPrinter *printer;
QWebView *webView;
+ print_options *printOptions;
void render();
void putProfileImage(QRect box, QRect viewPort, QPainter *painter, struct dive *dive, QPointer<ProfileWidget2> profile);
int done;
@@ -22,7 +24,7 @@ private slots:
void templateProgessUpdated(int value);
public:
- Printer(QPrinter *printer);
+ Printer(QPrinter *printer, print_options *printOptions);
void print();
signals:
diff --git a/qt-ui/printdialog.cpp b/qt-ui/printdialog.cpp
index 4f8a67da1..848183882 100644
--- a/qt-ui/printdialog.cpp
+++ b/qt-ui/printdialog.cpp
@@ -35,7 +35,7 @@ PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f
optionsWidget = new PrintOptions(this, &printOptions);
// create a new printer object
- printer = new Printer(&qprinter);
+ printer = new Printer(&qprinter, &printOptions);
QVBoxLayout *layout = new QVBoxLayout(this);
setLayout(layout);
diff --git a/templatelayout.cpp b/templatelayout.cpp
index 6083d7b91..33b96086e 100644
--- a/templatelayout.cpp
+++ b/templatelayout.cpp
@@ -16,8 +16,9 @@ int getTotalWork()
return dives;
}
-TemplateLayout::TemplateLayout()
+TemplateLayout::TemplateLayout(print_options *PrintOptions)
{
+ this->PrintOptions = PrintOptions;
}
TemplateLayout::~TemplateLayout()
diff --git a/templatelayout.h b/templatelayout.h
index d8ada1c86..21eae1b80 100644
--- a/templatelayout.h
+++ b/templatelayout.h
@@ -3,18 +3,20 @@
#include <grantlee_templates.h>
#include "mainwindow.h"
+#include "printoptions.h"
int getTotalWork();
class TemplateLayout : public QObject {
Q_OBJECT
public:
- TemplateLayout();
+ TemplateLayout(print_options *PrintOptions);
~TemplateLayout();
QString generate();
private:
Grantlee::Engine *m_engine;
+ print_options *PrintOptions;
signals:
void progressUpdated(int value);