Allow the CylindersModel delegate to pass data in without unit conversions

With this we should have tank editing mostly done.

See #122

(it's not quite fixed, we need the equivalent code for weight systems)

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2013-05-23 13:31:46 -07:00
parent 87d3cd5234
commit d273694954
3 changed files with 27 additions and 4 deletions

View file

@ -77,16 +77,16 @@ void TankInfoDelegate::setEditorData(QWidget* editor, const QModelIndex& index)
void TankInfoDelegate::setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const
{
QComboBox *c = static_cast<QComboBox*>(editor);
CylindersModel *mymodel = qobject_cast<CylindersModel *>(model);
TankInfoModel *tanks = TankInfoModel::instance();
QModelIndex tankIndex = tanks->match(tanks->index(0,0), Qt::DisplayRole, c->currentText()).first();
int tankSize = tanks->data(tanks->index(tankIndex.row(), TankInfoModel::ML)).toInt();
int tankPressure = tanks->data(tanks->index(tankIndex.row(), TankInfoModel::BAR)).toInt();
model->setData(index, c->currentText(), Qt::EditRole);
model->setData(model->index(index.row(), CylindersModel:: SIZE), tankSize );
model->setData(model->index(index.row(), CylindersModel::WORKINGPRESS), tankPressure);
mymodel->setData(index, c->currentText(), Qt::EditRole);
mymodel->passInData(model->index(index.row(), CylindersModel::WORKINGPRESS), tankPressure);
mymodel->passInData(model->index(index.row(), CylindersModel::SIZE), tankSize);
}
TankInfoDelegate::TankInfoDelegate(QObject* parent): QStyledItemDelegate(parent)