diff options
author | Lubomir I. Ivanov <neolit123@gmail.com> | 2013-07-12 17:20:59 +0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-07-18 12:00:12 -0700 |
commit | 8ea849d0c29de3af33ca7a2354eeb30a34afe1f4 (patch) | |
tree | 539ecb31a5f974d37a7c1dd3b60868a2b94caec7 | |
parent | b722bf6931da3162b8c5c2608f477d9e9c4b5148 (diff) | |
download | subsurface-8ea849d0c29de3af33ca7a2354eeb30a34afe1f4.tar.gz |
Profile: use a printMode flag in ProfileGraphicsView
When printing the profile there are certain features which
we want different (or disabled). This includes font scale ignoring
and showing a toolip. To achieve that we check for a printMode flag
in ProfileGraphicsView which can be set using setPrintMode(bool).
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
-rw-r--r-- | qt-ui/profilegraphics.cpp | 11 | ||||
-rw-r--r-- | qt-ui/profilegraphics.h | 2 |
2 files changed, 12 insertions, 1 deletions
diff --git a/qt-ui/profilegraphics.cpp b/qt-ui/profilegraphics.cpp index 264e02d96..1fe3fbe88 100644 --- a/qt-ui/profilegraphics.cpp +++ b/qt-ui/profilegraphics.cpp @@ -46,6 +46,7 @@ extern int evn_used; ProfileGraphicsView::ProfileGraphicsView(QWidget* parent) : QGraphicsView(parent), toolTip(0) , dive(0), diveDC(0) { + printMode = false; gc.printer = false; fill_profile_color(); setScene(new QGraphicsScene()); @@ -189,6 +190,11 @@ void ProfileGraphicsView::refresh() plot(current_dive, TRUE); } +void ProfileGraphicsView::setPrintMode(bool mode) +{ + printMode = mode; +} + void ProfileGraphicsView::plot(struct dive *d, bool forceRedraw) { struct divecomputer *dc; @@ -214,6 +220,8 @@ void ProfileGraphicsView::plot(struct dive *d, bool forceRedraw) toolTip = new ToolTipItem(); installEventFilter(toolTip); scene()->addItem(toolTip); + if (printMode) + toolTip->setVisible(false); // Fix this for printing / screen later. // plot_set_scale(scale_mode_t); @@ -1106,7 +1114,8 @@ QGraphicsItemGroup *ProfileGraphicsView::plot_text(text_render_options_t *tro,co textItem->setPen(Qt::NoPen); group->setPos(point.x() + dx, point.y() + dy); - group->setFlag(QGraphicsItem::ItemIgnoresTransformations); + if (!printMode) + group->setFlag(QGraphicsItem::ItemIgnoresTransformations); if (!parent) scene()->addItem(group); diff --git a/qt-ui/profilegraphics.h b/qt-ui/profilegraphics.h index b6df52dec..a0c0161a3 100644 --- a/qt-ui/profilegraphics.h +++ b/qt-ui/profilegraphics.h @@ -92,6 +92,7 @@ public: void plot(struct dive *d, bool forceRedraw = FALSE); bool eventFilter(QObject* obj, QEvent* event); void clear(); + void setPrintMode(bool); protected: void resizeEvent(QResizeEvent *event); @@ -134,6 +135,7 @@ private: struct dive *dive; struct divecomputer *diveDC; int zoomLevel; + bool printMode; // Top Level Items. QGraphicsItem* profileGrid; |