From 364254ed36d98ebe61385ddd7d2062c0f7214df3 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Thu, 20 Jun 2013 13:28:04 -0300 Subject: Better handling of the scene size for the dive Plan Better handling of the scene size for the dive plan, The scene can be resized and a transform will be applied, the handles will not resize however - they are 10x10px and that's it. Signed-off-by: Tomaz Canabrava --- qt-ui/diveplanner.cpp | 15 ++++++++++++++- qt-ui/diveplanner.h | 3 +++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp index 90d677177..a22efb200 100644 --- a/qt-ui/diveplanner.cpp +++ b/qt-ui/diveplanner.cpp @@ -16,7 +16,8 @@ DivePlanner::DivePlanner(QWidget* parent): QGraphicsView(parent) void DivePlanner::mouseDoubleClickEvent(QMouseEvent* event) { - QGraphicsEllipseItem *item = new QGraphicsEllipseItem(-10,-10,20,20); + QGraphicsEllipseItem *item = new QGraphicsEllipseItem(-5,-5,10,10); + item->setFlag(QGraphicsItem::ItemIgnoresTransformations); QPointF mappedPos = mapToScene(event->pos()); item->setPos( mappedPos ); @@ -52,3 +53,15 @@ void DivePlanner::create_deco_stop() lines << item; } +void DivePlanner::resizeEvent(QResizeEvent* event) +{ + QGraphicsView::resizeEvent(event); + fitInView(sceneRect(), Qt::KeepAspectRatio); +} + +void DivePlanner::showEvent(QShowEvent* event) +{ + QGraphicsView::showEvent(event); + fitInView(sceneRect(), Qt::KeepAspectRatio); +} + diff --git a/qt-ui/diveplanner.h b/qt-ui/diveplanner.h index fc9575cfa..682c56ae4 100644 --- a/qt-ui/diveplanner.h +++ b/qt-ui/diveplanner.h @@ -10,6 +10,9 @@ public: static DivePlanner *instance(); protected: virtual void mouseDoubleClickEvent(QMouseEvent* event); + virtual void showEvent(QShowEvent* event); + virtual void resizeEvent(QResizeEvent* event); + void clear_generated_deco(); void create_deco_stop(); -- cgit v1.2.3-70-g09d2