aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-ui/printlayout.cpp25
-rw-r--r--qt-ui/printlayout.h3
2 files changed, 17 insertions, 11 deletions
diff --git a/qt-ui/printlayout.cpp b/qt-ui/printlayout.cpp
index 0571f30d3..daec82af2 100644
--- a/qt-ui/printlayout.cpp
+++ b/qt-ui/printlayout.cpp
@@ -3,9 +3,9 @@
#include <QDesktopWidget>
#include <QApplication>
#include <QTextDocument>
-#include <QAbstractTextDocumentLayout>
#include "mainwindow.h"
#include "printlayout.h"
+#include "../dive.h"
/*
struct options {
@@ -86,25 +86,30 @@ void PrintLayout::printTable()
// setDefaultStyleSheet() doesn't work here?
QString htmlText = styleSheet + "<table cellspacing='0' width='100%'>";
QString htmlTextPrev;
- int pageCountNew = 1, pageCount = 1;
+ int pageCountNew = 1, pageCount;
bool insertHeading = true;
- while (pageCount < 3) { // should go trough dives (or selected) instead
+ int i;
+ struct dive *dive;
+ for_each_dive(i, dive) {
+ pageCount = pageCountNew;
+ if (!dive->selected && printOptions->print_selected) {
+ continue;
+ }
if (insertHeading) {
htmlText += insertTableHeadingRow();
insertHeading = false;
}
- doc.setHtml(htmlText);
- pageCount = doc.pageCount();
htmlTextPrev = htmlText;
- htmlText += insertTableDataRow();
+ htmlText += insertTableDataRow(dive);
doc.setHtml(htmlText);
pageCountNew = doc.pageCount();
- // if the page count increases here we revert and add a heading instead
+ /* if the page count increases after adding this row we 'revert'
+ * and add a heading instead. */
if (pageCountNew > pageCount) {
htmlText = htmlTextPrev;
- doc.setHtml(htmlText);
insertHeading = true;
+ i--;
}
}
htmlText += "</table>";
@@ -117,7 +122,7 @@ QString PrintLayout::insertTableHeadingRow()
return "<tr><th>TITLE</th><th>TITLE 2</th></tr>";
}
-QString PrintLayout::insertTableDataRow()
+QString PrintLayout::insertTableDataRow(struct dive *dive)
{
- return "<tr><td>hello</td></tr><tr><td>hello</td></tr>";
+ return "<tr><td>" + QString::number(dive->number) + "</td><td>hello2</td></tr>";
}
diff --git a/qt-ui/printlayout.h b/qt-ui/printlayout.h
index 9328030f4..0b9bbc146 100644
--- a/qt-ui/printlayout.h
+++ b/qt-ui/printlayout.h
@@ -6,6 +6,7 @@
#include "../display.h"
class PrintDialog;
+struct dive;
class PrintLayout : public QObject {
Q_OBJECT
@@ -29,7 +30,7 @@ private:
void printTwoDives();
void printTable();
QString insertTableHeadingRow();
- QString insertTableDataRow();
+ QString insertTableDataRow(struct dive *dive);
};
#endif