mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Do not delete / new object that can be cached.
This way we will always have this object on screen, and as soon as the model changes, it's contents will change. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
629a1ea0f9
commit
f8a4f8de81
2 changed files with 11 additions and 13 deletions
|
@ -367,6 +367,8 @@ void DiveCalculatedCeiling::modelDataChanged()
|
|||
AbstractProfilePolygonItem::modelDataChanged();
|
||||
// Add 2 points to close the polygon.
|
||||
QPolygonF poly = polygon();
|
||||
if (poly.isEmpty())
|
||||
return;
|
||||
QPointF p1 = poly.first();
|
||||
QPointF p2 = poly.last();
|
||||
|
||||
|
|
|
@ -116,6 +116,15 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) :
|
|||
reportedCeiling->setZValue(1);
|
||||
scene()->addItem(reportedCeiling);
|
||||
|
||||
diveCeiling = new DiveCalculatedCeiling();
|
||||
diveCeiling->setHorizontalAxis(timeAxis);
|
||||
diveCeiling->setVerticalAxis(profileYAxis);
|
||||
diveCeiling->setModel(dataModel);
|
||||
diveCeiling->setVerticalDataColumn(DivePlotDataModel::CEILING);
|
||||
diveCeiling->setHorizontalDataColumn(DivePlotDataModel::TIME);
|
||||
diveCeiling->setZValue(1);
|
||||
scene()->addItem(diveCeiling);
|
||||
|
||||
background->setFlag(QGraphicsItem::ItemIgnoresTransformations);
|
||||
|
||||
//enum State{ EMPTY, PROFILE, EDIT, ADD, PLAN, INVALID };
|
||||
|
@ -373,19 +382,6 @@ void ProfileWidget2::plotDives(QList<dive*> dives)
|
|||
gasPressureItem->setZValue(1);
|
||||
scene()->addItem(gasPressureItem);
|
||||
|
||||
if(diveCeiling){
|
||||
scene()->removeItem(diveCeiling);
|
||||
delete diveCeiling;
|
||||
}
|
||||
diveCeiling = new DiveCalculatedCeiling();
|
||||
diveCeiling->setHorizontalAxis(timeAxis);
|
||||
diveCeiling->setVerticalAxis(profileYAxis);
|
||||
diveCeiling->setModel(dataModel);
|
||||
diveCeiling->setVerticalDataColumn(DivePlotDataModel::CEILING);
|
||||
diveCeiling->setHorizontalDataColumn(DivePlotDataModel::TIME);
|
||||
diveCeiling->setZValue(1);
|
||||
scene()->addItem(diveCeiling);
|
||||
|
||||
diveComputerText->setText(currentdc->model);
|
||||
diveComputerText->animateMoveTo(1 , sceneRect().height());
|
||||
|
||||
|
|
Loading…
Reference in a new issue