Printing: print all dives if 'print selected' is unchecked

User can choose either to print all dives or print selected dives only.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
This commit is contained in:
Gehad elrobey 2015-06-21 06:13:22 +02:00 committed by Lubomir I. Ivanov
parent bc0b443afd
commit 1faa198020
3 changed files with 16 additions and 8 deletions

View file

@ -56,7 +56,7 @@ void Printer::render()
divesPerPage = 2;
break;
}
int Pages = ceil(getTotalWork() / (float)divesPerPage);
int Pages = ceil(getTotalWork(printOptions) / (float)divesPerPage);
// get all refereces to diveprofile class in the Html template
QWebElementCollection collection = webView->page()->mainFrame()->findAllElements(".diveprofile");

View file

@ -4,11 +4,19 @@
#include "helpers.h"
#include "display.h"
int getTotalWork()
int getTotalWork(print_options *printOptions)
{
// return the correct number depending on all/selected dives
// but don't return 0 as we might divide by this number
return amount_selected ? amount_selected : 1;
if (printOptions->print_selected) {
// return the correct number depending on all/selected dives
// but don't return 0 as we might divide by this number
return amount_selected ? amount_selected : 1;
}
int dives = 0, i;
struct dive *dive;
for_each_dive (i, dive) {
dives++;
}
return dives;
}
TemplateLayout::TemplateLayout(print_options *PrintOptions) :
@ -25,7 +33,7 @@ TemplateLayout::~TemplateLayout()
QString TemplateLayout::generate()
{
int progress = 0;
int totalWork = getTotalWork();
int totalWork = getTotalWork(PrintOptions);
QString templateName;
QString htmlContent;
@ -45,7 +53,7 @@ QString TemplateLayout::generate()
int i;
for_each_dive (i, dive) {
//TODO check for exporting selected dives only
if (!dive->selected)
if (!dive->selected && PrintOptions->print_selected)
continue;
Dive d(dive);
diveList.append(QVariant::fromValue(d));

View file

@ -5,7 +5,7 @@
#include "mainwindow.h"
#include "printoptions.h"
int getTotalWork();
int getTotalWork(print_options *printOptions);
class TemplateLayout : public QObject {
Q_OBJECT