diff options
author | Gehad elrobey <gehadelrobey@gmail.com> | 2015-06-14 06:34:58 +0200 |
---|---|---|
committer | Lubomir I. Ivanov <neolit123@gmail.com> | 2015-06-19 21:41:58 +0300 |
commit | 6c54781e170a2c6ec556834d18a2d951a4c75253 (patch) | |
tree | d71596bcd394ff6293d35a277a08b29092e9afd0 | |
parent | 60c5e3cf25e0966fa7ec5f90d5e04404e7fae81f (diff) | |
download | subsurface-6c54781e170a2c6ec556834d18a2d951a4c75253.tar.gz |
Printing: use selected print preferences while printing
Having a pointer to the printing_options struct, it should be
used to privide the selected options while printing.
Print options used ATM:
- number of dives per page
- template file name
- print in colors
Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
-rw-r--r-- | printer.cpp | 15 | ||||
-rw-r--r-- | templatelayout.cpp | 8 |
2 files changed, 19 insertions, 4 deletions
diff --git a/printer.cpp b/printer.cpp index 5116521fa..f21ff478d 100644 --- a/printer.cpp +++ b/printer.cpp @@ -44,7 +44,7 @@ void Printer::render() // apply printing settings to profile profile->setFrameStyle(QFrame::NoFrame); - profile->setPrintMode(true); + profile->setPrintMode(true, !printOptions->color_selected); profile->setFontPrintScale(0.6); profile->setToolTipVisibile(false); prefs.animation_speed = 0; @@ -56,9 +56,18 @@ void Printer::render() painter.begin(printer); painter.setRenderHint(QPainter::Antialiasing); painter.setRenderHint(QPainter::SmoothPixmapTransform); - webView->page()->setViewportSize(size); - int Pages = ceil(getTotalWork() / 2.0); + + int divesPerPage; + switch (printOptions->p_template) { + case print_options::ONE_DIVE: + divesPerPage = 1; + break; + case print_options::TWO_DIVE: + divesPerPage = 2; + break; + } + int Pages = ceil(getTotalWork() / (float)divesPerPage); // get all refereces to diveprofile class in the Html template QWebElementCollection collection = webView->page()->mainFrame()->findAllElements(".diveprofile"); diff --git a/templatelayout.cpp b/templatelayout.cpp index 33b96086e..2739b6d7e 100644 --- a/templatelayout.cpp +++ b/templatelayout.cpp @@ -30,6 +30,7 @@ QString TemplateLayout::generate() { int progress = 0; int totalWork = getTotalWork(); + QString templateName; QString htmlContent; m_engine = new Grantlee::Engine(this); @@ -59,7 +60,12 @@ QString TemplateLayout::generate() Grantlee::Context c(mapping); - Grantlee::Template t = m_engine->loadByName("base.html"); + if (PrintOptions->p_template == print_options::ONE_DIVE) { + templateName = "one_dive.html"; + } else if (PrintOptions->p_template == print_options::TWO_DIVE) { + templateName = "base.html"; + } + Grantlee::Template t = m_engine->loadByName(templateName); if (!t || t->error()) { qDebug() << "Can't load template"; return htmlContent; |