From 60c5e3cf25e0966fa7ec5f90d5e04404e7fae81f Mon Sep 17 00:00:00 2001 From: Gehad elrobey Date: Sun, 14 Jun 2015 06:25:35 +0200 Subject: 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 Signed-off-by: Lubomir I. Ivanov --- printer.cpp | 5 +++-- printer.h | 4 +++- qt-ui/printdialog.cpp | 2 +- templatelayout.cpp | 3 ++- 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()); diff --git a/printer.h b/printer.h index 75c256d91..5bb6e4169 100644 --- a/printer.h +++ b/printer.h @@ -7,6 +7,7 @@ #include #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 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 #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); -- cgit v1.2.3-70-g09d2