summaryrefslogtreecommitdiffstats
path: root/qt-models/weightmodel.cpp
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-06-08 08:49:12 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-06-19 13:11:10 -0700
commit38ba434966409987e5dfb894c27c8c03168cfdc6 (patch)
treee9e4d9721ada0f3c2040f49e3c062b49ba6824e0 /qt-models/weightmodel.cpp
parent54d6c3f004f27a813f4b0adf48927aca5cb79cd1 (diff)
downloadsubsurface-38ba434966409987e5dfb894c27c8c03168cfdc6.tar.gz
Cleanup: return directly from data() methods
There is this anti-pattern in QModel data() functions to assign to a "ret" variable and return at the end of the function. This is inefficient, as the object is not directly constructed at the space reserved by the caller. Change the functions in WeightModel and CylinderModel to return the objects directly. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'qt-models/weightmodel.cpp')
-rw-r--r--qt-models/weightmodel.cpp29
1 files changed, 10 insertions, 19 deletions
diff --git a/qt-models/weightmodel.cpp b/qt-models/weightmodel.cpp
index 8f3267359..7285e40cd 100644
--- a/qt-models/weightmodel.cpp
+++ b/qt-models/weightmodel.cpp
@@ -24,9 +24,8 @@ weightsystem_t *WeightModel::weightSystemAt(const QModelIndex &index)
void WeightModel::remove(const QModelIndex &index)
{
- if (index.column() != REMOVE) {
+ if (index.column() != REMOVE)
return;
- }
beginRemoveRows(QModelIndex(), index.row(), index.row()); // yah, know, ugly.
rows--;
remove_weightsystem(&displayed_dive, index.row());
@@ -44,44 +43,36 @@ void WeightModel::clear()
QVariant WeightModel::data(const QModelIndex &index, int role) const
{
- QVariant ret;
if (!index.isValid() || index.row() >= MAX_WEIGHTSYSTEMS)
- return ret;
+ return QVariant();
weightsystem_t *ws = &displayed_dive.weightsystem[index.row()];
switch (role) {
case Qt::FontRole:
- ret = defaultModelFont();
- break;
+ return defaultModelFont();
case Qt::TextAlignmentRole:
- ret = Qt::AlignCenter;
- break;
+ return Qt::AlignCenter;
case Qt::DisplayRole:
case Qt::EditRole:
switch (index.column()) {
case TYPE:
- ret = gettextFromC::tr(ws->description);
- break;
+ return gettextFromC::tr(ws->description);
case WEIGHT:
- ret = get_weight_string(ws->weight, true);
- break;
+ return get_weight_string(ws->weight, true);
}
break;
case Qt::DecorationRole:
if (index.column() == REMOVE)
- ret = trashIcon();
- break;
+ return trashIcon();
case Qt::SizeHintRole:
if (index.column() == REMOVE)
- ret = trashIcon().size();
- break;
+ return trashIcon().size();
case Qt::ToolTipRole:
if (index.column() == REMOVE)
- ret = tr("Clicking here will remove this weight system.");
- break;
+ return tr("Clicking here will remove this weight system.");
}
- return ret;
+ return QVariant();
}
// this is our magic 'pass data in' function that allows the delegate to get