mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Print: small adjustments to table printing
PrintLayout::printTable(): - hide the QTableView widget border using a stylesheet - add a guard to fix the last column extending post the page width due to rounding - use 1 extra pixel instead of 2 when grabbing the page region Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
e727b899a6
commit
c79def40b1
1 changed files with 13 additions and 2 deletions
|
@ -266,6 +266,11 @@ void PrintLayout::printTable()
|
||||||
// fit table to one page initially
|
// fit table to one page initially
|
||||||
table.resize(scaledPageW, scaledPageH);
|
table.resize(scaledPageW, scaledPageH);
|
||||||
|
|
||||||
|
// don't show border
|
||||||
|
table.setStyleSheet(
|
||||||
|
"QTableView { border: none }"
|
||||||
|
);
|
||||||
|
|
||||||
// create and fill a table model
|
// create and fill a table model
|
||||||
TablePrintModel model;
|
TablePrintModel model;
|
||||||
struct dive *dive;
|
struct dive *dive;
|
||||||
|
@ -280,8 +285,14 @@ void PrintLayout::printTable()
|
||||||
}
|
}
|
||||||
table.setModel(&model); // set model to table
|
table.setModel(&model); // set model to table
|
||||||
// resize columns to percentages from page width
|
// resize columns to percentages from page width
|
||||||
|
int accW = 0;
|
||||||
|
int cols = model.columns;
|
||||||
|
int tableW = table.width();
|
||||||
for (int i = 0; i < model.columns; i++) {
|
for (int i = 0; i < model.columns; i++) {
|
||||||
int pw = qCeil((qreal)(tablePrintColumnWidths.at(i) * table.width()) / 100);
|
int pw = qCeil((qreal)(tablePrintColumnWidths.at(i) * table.width()) / 100.0);
|
||||||
|
accW += pw;
|
||||||
|
if (i == cols - 1 && accW > tableW) /* adjust last column */
|
||||||
|
pw -= accW - tableW;
|
||||||
table.horizontalHeader()->resizeSection(i, pw);
|
table.horizontalHeader()->resizeSection(i, pw);
|
||||||
}
|
}
|
||||||
// reset the model at this point
|
// reset the model at this point
|
||||||
|
@ -318,7 +329,7 @@ void PrintLayout::printTable()
|
||||||
printer->newPage();
|
printer->newPage();
|
||||||
QRegion region(0, pageIndexes.at(i) - 1,
|
QRegion region(0, pageIndexes.at(i) - 1,
|
||||||
table.width(),
|
table.width(),
|
||||||
pageIndexes.at(i + 1) - pageIndexes.at(i) + 2);
|
pageIndexes.at(i + 1) - pageIndexes.at(i) + 1);
|
||||||
table.render(&painter, QPoint(0, 0), region);
|
table.render(&painter, QPoint(0, 0), region);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue