aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2013-07-12 17:20:59 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-07-18 12:00:12 -0700
commit8ea849d0c29de3af33ca7a2354eeb30a34afe1f4 (patch)
tree539ecb31a5f974d37a7c1dd3b60868a2b94caec7
parentb722bf6931da3162b8c5c2608f477d9e9c4b5148 (diff)
downloadsubsurface-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.cpp11
-rw-r--r--qt-ui/profilegraphics.h2
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;