[PULL REQUEST] table print implementation
Lubomir I. Ivanov
neolit123 at gmail.com
Thu Jul 11 03:17:08 PDT 2013
this is a somehow working table print..it currently uses a print preview dialog
so that we don't have to export to a file or an actual device while testing.
the approach of doing the table print is by using the QTextDocument class
with HTML/CSS with table/tr/th tags. it allows some freedom of what can be done
in the table, but not as much as if you draw it manually with cairo/pango
or with QPainter and this HTML/CSS implementation REALLY is as subset.
but as you have already guessed it is much easier to maintain, which
perhaps can be seen in printlayout.cpp...
it detects a new page by a rather expensive (i think) operation, but it seems
to work OK, so far.
to test go to File->Print (all 'print types' modes do a table print for now),
'print selected' should work, press 'print'..
comments are welcome.
p.s. i think i saw a couple of divelist bugs, in the lines of dives were
reported as dive->selected, but weren't selected in the divelist.
will try to replicate again later.
----
The following changes since commit 74f989bc46a06c124283fa851a06dd093f817c96:
Print: connect all the options widgets to slots (2013-07-10 11:06:01 +0300)
are available in the git repository at:
git at github.com:neolit123/subsurface.git print
for you to fetch changes up to 3aae3ff5472d6deada4908fe599714ecdd7e6b61:
Print: mark some functions in PrintLayout as 'const' (2013-07-11 12:55:48 +0300)
----------------------------------------------------------------
Lubomir I. Ivanov (12):
Print: add a class for print layouting
Print: add a setup() method to PrintLayout
Print: add a print preview for testing purposes
Print: initial implementation of the table print
Print: use the actual dive table
Print: cleanup for PrintLayout::printTable()
Print: move some header includes to cpp files
Print: show column titles for table print
Models: move the declaration of DiveItem to the header
Models: add the DiveItem::displayDate() helper
Print: complete columns for the table print
Print: mark some functions in PrintLayout as 'const'
Makefile | 2 +
qt-ui/models.cpp | 25 +++----
qt-ui/models.h | 16 ++++
qt-ui/printdialog.cpp | 17 ++++-
qt-ui/printdialog.h | 5 ++
qt-ui/printlayout.cpp | 194 +++++++++++++++++++++++++++++++++++++++++++++++++
qt-ui/printlayout.h | 39 ++++++++++
qt-ui/printoptions.cpp | 3 +-
qt-ui/printoptions.h | 1 -
9 files changed, 283 insertions(+), 19 deletions(-)
create mode 100644 qt-ui/printlayout.cpp
create mode 100644 qt-ui/printlayout.h
More information about the subsurface
mailing list