mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Enable adding cylinders in the dive planner
This is in preparation of using those to define the gases available for planning. Right now this doesn't seem to work quite right - I don't get the auto-completions for the cylinders that I was hoping for... This commit also corrects the tooltip for addint dive data points. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
aa4931e8c6
commit
55c127f7c3
2 changed files with 20 additions and 3 deletions
|
@ -439,8 +439,6 @@ void DivePlannerPointsModel::loadFromDive(dive* d)
|
|||
for(int i = 0; i < d->dc.samples-1; i++){
|
||||
backupSamples.push_back( d->dc.sample[i]);
|
||||
}
|
||||
save_dive(stdout, current_dive);
|
||||
save_dive(stdout, backupDive);
|
||||
Q_FOREACH(const sample &s, backupSamples){
|
||||
int o2 = 0, he = 0;
|
||||
get_gas_from_events(&backupDive->dc, s.time.seconds, &o2, &he);
|
||||
|
@ -880,8 +878,9 @@ DivePlannerWidget::DivePlannerWidget(QWidget* parent, Qt::WindowFlags f): QWidge
|
|||
ui.tableWidget->view()->setItemDelegateForColumn(DivePlannerPointsModel::GAS, new AirTypesDelegate(this));
|
||||
ui.cylinderTableWidget->setTitle(tr("Available Gases"));
|
||||
ui.cylinderTableWidget->setModel(CylindersModel::instance());
|
||||
// connect(ui.cylinderTableWidget, SIGNAL(addButtonClicked()), CylindersModel::instance(), SLOT(add()));
|
||||
connect(ui.cylinderTableWidget, SIGNAL(addButtonClicked()), DivePlannerPointsModel::instance(), SLOT(addCylinder_clicked()));
|
||||
connect(ui.tableWidget, SIGNAL(addButtonClicked()), DivePlannerPointsModel::instance(), SLOT(addStop()));
|
||||
ui.tableWidget->setBtnToolTip(tr("add dive data point"));
|
||||
connect(ui.startTime, SIGNAL(timeChanged(QTime)), this, SLOT(startTimeChanged(QTime)));
|
||||
connect(ui.ATMPressure, SIGNAL(textChanged(QString)), this, SLOT(atmPressureChanged(QString)));
|
||||
connect(ui.bottomSAC, SIGNAL(textChanged(QString)), this, SLOT(bottomSacChanged(QString)));
|
||||
|
@ -910,6 +909,15 @@ DivePlannerWidget::DivePlannerWidget(QWidget* parent, Qt::WindowFlags f): QWidge
|
|||
setMinimumHeight(0);
|
||||
}
|
||||
|
||||
void DivePlannerPointsModel::addCylinder_clicked()
|
||||
{
|
||||
qDebug() << "add Cylinder clicked";
|
||||
if (!stagingDive)
|
||||
stagingDive = alloc_dive();
|
||||
CylindersModel::instance()->setDive(stagingDive);
|
||||
CylindersModel::instance()->add();
|
||||
}
|
||||
|
||||
void DivePlannerWidget::startTimeChanged(const QTime& time)
|
||||
{
|
||||
plannerModel->setStartTime(time);
|
||||
|
@ -1192,6 +1200,9 @@ void DivePlannerPointsModel::cancelPlan()
|
|||
clear();
|
||||
emit planCanceled();
|
||||
setPlanMode(NOTHING);
|
||||
free(stagingDive);
|
||||
stagingDive = NULL;
|
||||
CylindersModel::instance()->setDive(current_dive);
|
||||
CylindersModel::instance()->update();
|
||||
}
|
||||
|
||||
|
@ -1205,6 +1216,7 @@ void DivePlannerPointsModel::clear()
|
|||
beginRemoveRows(QModelIndex(), 0, rowCount()-1);
|
||||
divepoints.clear();
|
||||
endRemoveRows();
|
||||
CylindersModel::instance()->clear();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1286,5 +1298,8 @@ void DivePlannerPointsModel::createPlan()
|
|||
clear();
|
||||
planCreated();
|
||||
setPlanMode(NOTHING);
|
||||
free(stagingDive);
|
||||
stagingDive = NULL;
|
||||
CylindersModel::instance()->setDive(current_dive);
|
||||
CylindersModel::instance()->update();
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@ public:
|
|||
struct diveplan getDiveplan();
|
||||
public slots:
|
||||
int addStop(int meters = 0, int minutes = 0, int o2 = 0, int he = 0, int ccpoint = 0 );
|
||||
void addCylinder_clicked();
|
||||
void setGFHigh(short gfhigh);
|
||||
void setGFLow(short ghflow);
|
||||
void setSurfacePressure(int pressure);
|
||||
|
@ -69,6 +70,7 @@ private:
|
|||
struct dive *tempDive;
|
||||
void deleteTemporaryPlan(struct divedatapoint *dp);
|
||||
QVector<sample> backupSamples; // For editing added dives.
|
||||
struct dive *stagingDive;
|
||||
};
|
||||
|
||||
class Button : public QObject, public QGraphicsRectItem {
|
||||
|
|
Loading…
Add table
Reference in a new issue