mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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:
parent
e1dcd8eac3
commit
ea4d4ac020
4 changed files with 34 additions and 36 deletions
|
@ -964,6 +964,7 @@ void ProfileWidget2::pointInserted(const QModelIndex &parent, int start, int end
|
|||
scene()->addItem(item);
|
||||
handles << item;
|
||||
|
||||
connect(item, SIGNAL(moved()), this, SLOT(recreatePlannedDive()));
|
||||
QGraphicsSimpleTextItem *gasChooseBtn = new QGraphicsSimpleTextItem();
|
||||
scene()->addItem(gasChooseBtn);
|
||||
gasChooseBtn->setZValue(10);
|
||||
|
@ -1007,3 +1008,26 @@ void ProfileWidget2::repositionDiveHandlers()
|
|||
last = i;
|
||||
}
|
||||
}
|
||||
|
||||
void ProfileWidget2::recreatePlannedDive()
|
||||
{
|
||||
DiveHandler *activeHandler = qobject_cast<DiveHandler*>(sender());
|
||||
DivePlannerPointsModel *plannerModel = DivePlannerPointsModel::instance();
|
||||
int index = handles.indexOf(activeHandler);
|
||||
|
||||
int mintime = 0, maxtime = (timeAxis->maximum() + 10) * 60;
|
||||
if (index > 0)
|
||||
mintime = plannerModel->at(index - 1).time;
|
||||
if (index < plannerModel->size() - 1)
|
||||
maxtime = plannerModel->at(index + 1).time;
|
||||
|
||||
int minutes = rint(timeAxis->valueAt(activeHandler->pos()) / 60);
|
||||
if (minutes * 60 <= mintime || minutes * 60 >= maxtime)
|
||||
return;
|
||||
|
||||
divedatapoint data = plannerModel->at(index);
|
||||
data.depth = rint(profileYAxis->valueAt(activeHandler->pos()) / M_OR_FT(1, 1)) * M_OR_FT(1, 1);;
|
||||
data.time = rint(timeAxis->valueAt(activeHandler->pos()));
|
||||
|
||||
plannerModel->editStop(index, data);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue