Make the planner actually work.

This commit makes the planner actually work. There ar still
a few edges, but oh, joy - the new Profile gave a very unexpected
and nice addition to it - Grab the last handler of the initial
dive, and move it to the right, or get any handler, and move it
to the bottom to see what I mean.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2014-05-23 20:51:30 -03:00 committed by Dirk Hohndel
parent e1dcd8eac3
commit ea4d4ac020
4 changed files with 34 additions and 36 deletions

View file

@ -480,36 +480,6 @@ void DivePlannerGraphics::mouseMoveEvent(QMouseEvent *event)
#endif
}
void DivePlannerGraphics::moveActiveHandler(const QPointF &mappedPos, const int pos)
{
#if 0
divedatapoint data = plannerModel->at(pos);
int mintime = 0, maxtime = (timeLine->maximum() + 10) * 60;
if (pos > 0)
mintime = plannerModel->at(pos - 1).time;
if (pos < plannerModel->size() - 1)
maxtime = plannerModel->at(pos + 1).time;
int minutes = rint(timeLine->valueAt(mappedPos));
if (minutes * 60 <= mintime || minutes * 60 >= maxtime)
return;
int milimeters = rint(depthLine->valueAt(mappedPos) / M_OR_FT(1, 1)) * M_OR_FT(1, 1);
double xpos = timeLine->posAtValue(minutes);
double ypos = depthLine->posAtValue(milimeters);
data.depth = milimeters;
data.time = rint(timeLine->valueAt(mappedPos)) * 60;
plannerModel->editStop(pos, data);
activeDraggedHandler->setPos(QPointF(xpos, ypos));
qDeleteAll(lines);
lines.clear();
drawProfile();
#endif
}
void DivePlannerGraphics::mousePressEvent(QMouseEvent *event)
{
if (event->modifiers()) {
@ -586,12 +556,13 @@ void DiveHandler::changeGas()
plannerModel->setData(index, action->text());
}
QVariant DiveHandler::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
void DiveHandler::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
if (change == ItemPositionHasChanged && scene()) {
emit moved();
}
return QGraphicsItem::itemChange(change, value);
ProfileWidget2 *view = qobject_cast<ProfileWidget2*>(scene()->views().first());
if(view->isPointOutOfBoundaries(event->scenePos()))
return;
QGraphicsEllipseItem::mouseMoveEvent(event);
emit moved();
}
Button::Button(QObject *parent, QGraphicsItem *itemParent) : QObject(parent),