diff options
author | Gehad elrobey <gehadelrobey@gmail.com> | 2015-06-14 06:25:35 +0200 |
---|---|---|
committer | Lubomir I. Ivanov <neolit123@gmail.com> | 2015-06-19 21:41:57 +0300 |
commit | 60c5e3cf25e0966fa7ec5f90d5e04404e7fae81f (patch) | |
tree | 88f6098cf5c402094d973a8cb16eb36ea232f4c6 | |
parent | 42b9d0d047abfa9b7816f59d00a0ed0f87368975 (diff) | |
download | subsurface-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.cpp | 5 | ||||
-rw-r--r-- | printer.h | 4 | ||||
-rw-r--r-- | qt-ui/printdialog.cpp | 2 | ||||
-rw-r--r-- | templatelayout.cpp | 3 | ||||
-rw-r--r-- | templatelayout.h | 4 |
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()); @@ -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); |