summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-ui/diveplanner.cpp25
-rw-r--r--qt-ui/diveplanner.h2
2 files changed, 20 insertions, 7 deletions
diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp
index 13f15a2e0..d4dd7d5bf 100644
--- a/qt-ui/diveplanner.cpp
+++ b/qt-ui/diveplanner.cpp
@@ -25,9 +25,13 @@ DivePlanner::DivePlanner(QWidget* parent): QGraphicsView(parent)
void DivePlanner::mouseDoubleClickEvent(QMouseEvent* event)
{
+ QPointF mappedPos = mapToScene(event->pos());
+ if(isPointOutOfBoundaries(mappedPos))
+ return;
+
QGraphicsEllipseItem *item = new QGraphicsEllipseItem(-5,-5,10,10);
item->setFlag(QGraphicsItem::ItemIgnoresTransformations);
- QPointF mappedPos = mapToScene(event->pos());
+
item->setPos( mappedPos );
scene()->addItem(item);
@@ -81,13 +85,20 @@ void DivePlanner::showEvent(QShowEvent* event)
void DivePlanner::mouseMoveEvent(QMouseEvent* event)
{
QPointF mappedPos = mapToScene(event->pos());
- if (mappedPos.x() > sceneRect().width()
- || mappedPos.x() < 0
- || mappedPos.y() < 0
- || mappedPos.y() > sceneRect().height())
- {
+ if (isPointOutOfBoundaries(mappedPos))
return;
- }
verticalLine->setLine(mappedPos.x(), 0, mappedPos.x(), 100);
horizontalLine->setLine(0, mappedPos.y(), 100, mappedPos.y());
}
+
+bool DivePlanner::isPointOutOfBoundaries(QPointF point)
+{
+ if (point.x() > sceneRect().width()
+ || point.x() < 0
+ || point.y() < 0
+ || point.y() > sceneRect().height())
+ {
+ return true;
+ }
+ return false;
+}
diff --git a/qt-ui/diveplanner.h b/qt-ui/diveplanner.h
index e66b50d57..7dca3bb85 100644
--- a/qt-ui/diveplanner.h
+++ b/qt-ui/diveplanner.h
@@ -15,6 +15,8 @@ protected:
virtual void mouseMoveEvent(QMouseEvent* event);
void clear_generated_deco();
void create_deco_stop();
+ bool isPointOutOfBoundaries(QPointF point);
+
private:
DivePlanner(QWidget* parent = 0);
QList<QGraphicsLineItem*> lines;