summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2020-02-28 14:01:47 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-02-28 08:12:26 -0800
commitf1e1a9634a842f2d218b4aecee1cf18880baf2b8 (patch)
tree1d95b3357ca0dc9d145b7531da00cac1a19b1263
parentee1c438d4161ab6009781ff358bec922d5e811c2 (diff)
downloadsubsurface-f1e1a9634a842f2d218b4aecee1cf18880baf2b8.tar.gz
cleanup: simplify string-comparison in CylindersModel::setData()
Convert to QString instead of a QByteArray. Use qPrintable() instead of data(). This might do one more UTF16->UTF8 conversion. However, this is completely irrelevant, since we don't change the type of a cylinder in a tight loop. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
-rw-r--r--qt-models/cylindermodel.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/qt-models/cylindermodel.cpp b/qt-models/cylindermodel.cpp
index 554d81cc7..641fe3f18 100644
--- a/qt-models/cylindermodel.cpp
+++ b/qt-models/cylindermodel.cpp
@@ -8,6 +8,7 @@
#include "qt-models/diveplannermodel.h"
#include "core/gettextfromc.h"
#include "core/subsurface-qt/divelistnotifier.h"
+#include "core/subsurface-string.h"
CylindersModel::CylindersModel(QObject *parent) :
CleanerTableModel(parent),
@@ -317,13 +318,11 @@ bool CylindersModel::setData(const QModelIndex &index, const QVariant &value, in
}
switch (index.column()) {
- case TYPE:
- if (!value.isNull()) {
- QByteArray ba = value.toByteArray();
- const char *text = ba.constData();
- if (!cyl->type.description || strcmp(cyl->type.description, text)) {
+ case TYPE: {
+ QString type = value.toString();
+ if (!same_string(qPrintable(type), cyl->type.description)) {
free((void *)cyl->type.description);
- cyl->type.description = strdup(text);
+ cyl->type.description = strdup(qPrintable(type));
changed = true;
}
}