From 17470f68220902bc4acff8aa4e8f3ffa7472be46 Mon Sep 17 00:00:00 2001 From: Gehad elrobey Date: Thu, 11 Jun 2015 20:13:10 +0200 Subject: Printing: add a "one dive per page" option Add another printing option to the print dialog. Signed-off-by: Gehad elrobey Signed-off-by: Lubomir I. Ivanov --- qt-ui/printdialog.cpp | 3 +++ qt-ui/printoptions.cpp | 22 ++++++++++++++++++++++ qt-ui/printoptions.h | 5 +++++ qt-ui/printoptions.ui | 5 +++++ 4 files changed, 35 insertions(+) (limited to 'qt-ui') diff --git a/qt-ui/printdialog.cpp b/qt-ui/printdialog.cpp index e7d9099da..4f8a67da1 100644 --- a/qt-ui/printdialog.cpp +++ b/qt-ui/printdialog.cpp @@ -20,12 +20,14 @@ 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; } else { s.beginGroup(SETTINGS_GROUP); printOptions.type = (print_options::print_type)s.value("type").toInt(); 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(); qprinter.setOrientation((QPrinter::Orientation)printOptions.landscape); } @@ -85,6 +87,7 @@ void PrintDialog::onFinished() s.setValue("type", printOptions.type); s.setValue("print_selected", printOptions.print_selected); s.setValue("color_selected", printOptions.color_selected); + s.setValue("template_selected", printOptions.p_template); } void PrintDialog::previewClicked(void) diff --git a/qt-ui/printoptions.cpp b/qt-ui/printoptions.cpp index 50ca8b7c2..e2684b6ed 100644 --- a/qt-ui/printoptions.cpp +++ b/qt-ui/printoptions.cpp @@ -1,4 +1,5 @@ #include "printoptions.h" +#include PrintOptions::PrintOptions(QWidget *parent, struct print_options *printOpt) { @@ -26,6 +27,14 @@ void PrintOptions::setup(struct print_options *printOpt) 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; + } // general print option checkboxes if (printOptions->color_selected) @@ -75,3 +84,16 @@ void PrintOptions::printSelectedClicked(bool check) { printOptions->print_selected = 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; + } +} diff --git a/qt-ui/printoptions.h b/qt-ui/printoptions.h index 1e12efae7..13ef4e310 100644 --- a/qt-ui/printoptions.h +++ b/qt-ui/printoptions.h @@ -11,6 +11,10 @@ struct print_options { TABLE, STATISTICS } type; + enum print_template { + ONE_DIVE, + TWO_DIVE + } p_template; bool print_selected; bool color_selected; bool landscape; @@ -36,6 +40,7 @@ slots: void on_radioStatisticsPrint_clicked(bool check); void on_radioTablePrint_clicked(bool check); void on_radioDiveListPrint_clicked(bool check); + void on_printTemplate_currentIndexChanged(int index); }; #endif // PRINTOPTIONS_H diff --git a/qt-ui/printoptions.ui b/qt-ui/printoptions.ui index 8ec1718af..2d737d5ce 100644 --- a/qt-ui/printoptions.ui +++ b/qt-ui/printoptions.ui @@ -130,6 +130,11 @@ + + + 1 Dive per page + + 2 Dives per page -- cgit v1.2.3-70-g09d2 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(-) (limited to 'qt-ui') 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 From b039e1db8a4d8d745a455dd70b4434acffb5c1c4 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Fri, 19 Jun 2015 21:26:08 +0300 Subject: Printing: amend some texts capitalization wise Signed-off-by: Lubomir I. Ivanov --- qt-ui/printoptions.ui | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'qt-ui') diff --git a/qt-ui/printoptions.ui b/qt-ui/printoptions.ui index 2d737d5ce..632b9cdaf 100644 --- a/qt-ui/printoptions.ui +++ b/qt-ui/printoptions.ui @@ -38,7 +38,7 @@ - &Dive list Print + &Dive list print true @@ -54,7 +54,7 @@ - &Table Print + &Table print @@ -67,7 +67,7 @@ - &Statistics Print + &Statistics print @@ -132,12 +132,12 @@ - 1 Dive per page + One dive per page - 2 Dives per page + Two dives per page -- cgit v1.2.3-70-g09d2