diff options
author | Gehad elrobey <gehadelrobey@gmail.com> | 2015-08-21 19:12:33 +0200 |
---|---|---|
committer | Lubomir I. Ivanov <neolit123@gmail.com> | 2015-08-22 18:36:19 +0300 |
commit | 69f2921ffa856e93acb9bc920f3f761db2831880 (patch) | |
tree | d1d52b49b032e154780ab714e2fd93259c165a88 /printer.cpp | |
parent | 4553155cf319df3e06e8b29adcabe6125943335a (diff) | |
download | subsurface-69f2921ffa856e93acb9bc920f3f761db2831880.tar.gz |
Printing: use the same code for both statistics and divelist print
- use the same generic code for both types of templates
- check for the printing type before generating the template
- remove unused printStatistics() method
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Diffstat (limited to 'printer.cpp')
-rw-r--r-- | printer.cpp | 66 |
1 files changed, 10 insertions, 56 deletions
diff --git a/printer.cpp b/printer.cpp index 66fed7cf3..3068a6fef 100644 --- a/printer.cpp +++ b/printer.cpp @@ -213,7 +213,11 @@ void Printer::print() webView->page()->mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff); // export border width with at least 1 pixel templateOptions->border_width = std::max(1, pageSize.width() / 1000); - webView->setHtml(t.generate()); + if (printOptions->type == print_options::DIVELIST) { + webView->setHtml(t.generate()); + } else if (printOptions->type == print_options::STATISTICS ) { + webView->setHtml(t.generateStatistics()); + } if (printOptions->color_selected && printerPtr->colorMode()) { printerPtr->setColorMode(QPrinter::Color); } else { @@ -238,60 +242,6 @@ void Printer::print() } } -void Printer::print_statistics() -{ - QPrinter *printerPtr; - printerPtr = static_cast<QPrinter*>(paintDevice); - stats_t total_stats; - - total_stats.selection_size = 0; - total_stats.total_time.seconds = 0; - - QString html; - html += "<table border=1>"; - html += "<tr>"; - html += "<td>Year</td>"; - html += "<td>Dives</td>"; - html += "<td>Total Time</td>"; - html += "<td>Avg Time</td>"; - html += "<td>Shortest Time</td>"; - html += "<td>Longest Time</td>"; - html += "<td>Avg Depth</td>"; - html += "<td>Min Depth</td>"; - html += "<td>Max Depth</td>"; - html += "<td>Avg SAC</td>"; - html += "<td>Min SAC</td>"; - html += "<td>Max SAC</td>"; - html += "<td>Min Temp</td>"; - html += "<td>Max Temp</td>"; - html += "</tr>"; - int i = 0; - while (stats_yearly != NULL && stats_yearly[i].period) { - html += "<tr>"; - html += "<td>" + QString::number(stats_yearly[i].period) + "</td>"; - html += "<td>" + QString::number(stats_yearly[i].selection_size) + "</td>"; - html += "<td>" + QString::fromUtf8(get_time_string(stats_yearly[i].total_time.seconds, 0)) + "</td>"; - html += "<td>" + QString::fromUtf8(get_minutes(stats_yearly[i].total_time.seconds / stats_yearly[i].selection_size)) + "</td>"; - html += "<td>" + QString::fromUtf8(get_minutes(stats_yearly[i].shortest_time.seconds)) + "</td>"; - html += "<td>" + QString::fromUtf8(get_minutes(stats_yearly[i].longest_time.seconds)) + "</td>"; - html += "<td>" + get_depth_string(stats_yearly[i].avg_depth) + "</td>"; - html += "<td>" + get_depth_string(stats_yearly[i].min_depth) + "</td>"; - html += "<td>" + get_depth_string(stats_yearly[i].max_depth) + "</td>"; - html += "<td>" + get_volume_string(stats_yearly[i].avg_sac) + "</td>"; - html += "<td>" + get_volume_string(stats_yearly[i].min_sac) + "</td>"; - html += "<td>" + get_volume_string(stats_yearly[i].max_sac) + "</td>"; - html += "<td>" + QString::number(stats_yearly[i].min_temp == 0 ? 0 : get_temp_units(stats_yearly[i].min_temp, NULL)) + "</td>"; - html += "<td>" + QString::number(stats_yearly[i].max_temp == 0 ? 0 : get_temp_units(stats_yearly[i].max_temp, NULL)) + "</td>"; - html += "</tr>"; - total_stats.selection_size += stats_yearly[i].selection_size; - total_stats.total_time.seconds += stats_yearly[i].total_time.seconds; - i++; - } - html += "</table>"; - webView->setHtml(html); - webView->print(printerPtr); -} - void Printer::previewOnePage() { if (printMode == PREVIEW) { @@ -302,7 +252,11 @@ void Printer::previewOnePage() webView->page()->setViewportSize(pageSize); // initialize the border settings templateOptions->border_width = std::max(1, pageSize.width() / 1000); - webView->setHtml(t.generate()); + if (printOptions->type == print_options::DIVELIST) { + webView->setHtml(t.generate()); + } else if (printOptions->type == print_options::STATISTICS ) { + webView->setHtml(t.generateStatistics()); + } bool ok; int divesPerPage = webView->page()->mainFrame()->findFirstElement("body").attribute("data-numberofdives").toInt(&ok); |