mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
QML UI: Enable cylinder edit
This adds the option to select a cylinder when adding or editing a dive. Due to limited screen size we restrict the editing to the first cylinder only. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
7b3665827a
commit
674d8331f5
6 changed files with 74 additions and 16 deletions
|
@ -22,6 +22,7 @@
|
|||
#include "core/cloudstorage.h"
|
||||
#include "core/subsurface-qt/SettingsObjectWrapper.h"
|
||||
#include "core/membuffer.h"
|
||||
#include "qt-models/tankinfomodel.h"
|
||||
|
||||
QMLManager *QMLManager::m_instance = NULL;
|
||||
|
||||
|
@ -778,7 +779,7 @@ bool QMLManager::checkDepth(DiveObjectHelper *myDive, dive *d, QString depth)
|
|||
// update the dive and return the notes field, stripped of the HTML junk
|
||||
void QMLManager::commitChanges(QString diveId, QString date, QString location, QString gps, QString duration, QString depth,
|
||||
QString airtemp, QString watertemp, QString suit, QString buddy, QString diveMaster, QString weight, QString notes,
|
||||
QString startpressure, QString endpressure, QString gasmix)
|
||||
QString startpressure, QString endpressure, QString gasmix, QString cylinder)
|
||||
{
|
||||
struct dive *d = get_dive_by_uniq_id(diveId.toInt());
|
||||
DiveObjectHelper *myDive = new DiveObjectHelper(d);
|
||||
|
@ -840,6 +841,27 @@ void QMLManager::commitChanges(QString diveId, QString date, QString location, Q
|
|||
d->cylinder[0].gasmix.he.permille = he;
|
||||
}
|
||||
}
|
||||
// info for first cylinder
|
||||
if (myDive->getCylinder() != cylinder) {
|
||||
diveChanged = true;
|
||||
int i, size, wp;
|
||||
for (i = 0; i < sizeof(tank_info) && tank_info[i].name != NULL; i++) {
|
||||
if (tank_info[i].name == cylinder ) {
|
||||
if (tank_info[i].ml > 0){
|
||||
size = tank_info[i].ml;
|
||||
wp = tank_info[i].bar * 1000;
|
||||
} else {
|
||||
size = cuft_to_l(tank_info[i].cuft) * 1000 / bar_to_atm(psi_to_bar(tank_info[i].psi));
|
||||
wp = psi_to_mbar(tank_info[i].psi);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
d->cylinder[0].type.description = strdup(qPrintable(cylinder));
|
||||
d->cylinder[0].type.size.mliter = size;
|
||||
d->cylinder[0].type.workingpressure.mbar = wp;
|
||||
}
|
||||
if (myDive->suit() != suit) {
|
||||
diveChanged = true;
|
||||
free(d->suit);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue