Skip to content

Commit

Permalink
Avoid sorting the variables when inserting them (#9273)
Browse files Browse the repository at this point in the history
  • Loading branch information
adeas31 committed Aug 1, 2022
1 parent 2eaaa77 commit 1f50000
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 35 deletions.
10 changes: 0 additions & 10 deletions OMEdit/OMEditLIB/Plotting/VariablesWidget.cpp
Expand Up @@ -776,16 +776,6 @@ bool VariablesTreeModel::insertVariablesItems(QString fileName, QString filePath
}
// create hash based VariableNode
VariableNode *pTopVariableNode = new VariableNode(variabledata);

// sort the variables using natural sort
#if defined(__APPLE__) // avoid crash on MacOS, see #9180
QMap<QString, QString> m;
for (auto variableName : variablesList)
m[StringHandler::cleanResultVariable(variableName)] = variableName;
variablesList = QStringList(m.values());
#endif
std::sort(variablesList.begin(), variablesList.end(), StringHandler::naturalSortForResultVariables);

// remove time from variables list
variablesList.removeOne("time");
/* Fixes issue #7551
Expand Down
23 changes: 0 additions & 23 deletions OMEdit/OMEditLIB/Util/StringHandler.cpp
Expand Up @@ -1649,29 +1649,6 @@ bool StringHandler::naturalSort(const QString &s1, const QString &s2) {
}
}

QString StringHandler::cleanResultVariable(const QString &variable)
{
QString str = variable;
if (str.startsWith("der(")) {
str.chop((str.lastIndexOf("der(")/4)+1);
str = str.mid(str.lastIndexOf("der(") + 4);
} else if (str.startsWith("previous(")) {
str.chop((str.lastIndexOf("previous(")/9)+1);
str = str.mid(str.lastIndexOf("previous(") + 9);
} else {
// do nothing
}
return str;
}

bool StringHandler::naturalSortForResultVariables(const QString &s1, const QString &s2)
{
QString s3 = StringHandler::cleanResultVariable(s1);
QString s4 = StringHandler::cleanResultVariable(s2);

return StringHandler::naturalSort(s3, s4);
}

#if defined(_WIN32)
/*!
* \brief StringHandler::simulationProcessEnvironment
Expand Down
2 changes: 0 additions & 2 deletions OMEdit/OMEditLIB/Util/StringHandler.h
Expand Up @@ -151,8 +151,6 @@ class StringHandler : public QObject
static QStringList makeVariableParts(QString variable);
static QStringList makeVariablePartsWithInd(QString variable);
static bool naturalSort(const QString &s1, const QString &s2);
static QString cleanResultVariable(const QString &variable);
static bool naturalSortForResultVariables(const QString &s1, const QString &s2);
#if defined(_WIN32)
static QProcessEnvironment simulationProcessEnvironment();
#endif
Expand Down

0 comments on commit 1f50000

Please sign in to comment.