diff --git a/src/blackmisc/fileutils.cpp b/src/blackmisc/fileutils.cpp index 7e81bcba8..54224b9fe 100644 --- a/src/blackmisc/fileutils.cpp +++ b/src/blackmisc/fileutils.cpp @@ -169,7 +169,7 @@ namespace BlackMisc QString CFileUtils::lastPathSegment(const QString &path) { if (path.isEmpty()) { return {}; } - if (path.endsWith('/')) { return CFileUtils::lastPathSegment(path.left(path.length() - 1)); } + if (path.endsWith('/')) { return CFileUtils::lastPathSegment(path.left(path.length() - 1)); } if (!path.contains('/')) { return path; } return path.mid(path.lastIndexOf('/') + 1); } diff --git a/src/blackmisc/simulation/aircraftmodel.cpp b/src/blackmisc/simulation/aircraftmodel.cpp index b65831148..3e8fc0728 100644 --- a/src/blackmisc/simulation/aircraftmodel.cpp +++ b/src/blackmisc/simulation/aircraftmodel.cpp @@ -742,7 +742,9 @@ namespace BlackMisc { if (!this->hasFileName()) { return false; } const QFileInfo fi(CFileUtils::fixWindowsUncPath(this->getFileName())); - return (fi.exists() && fi.isReadable()); + if (!fi.exists()) { return false; } + const bool r = fi.isReadable(); + return r; } QDir CAircraftModel::getFileDirectory() const diff --git a/src/blackmisc/simulation/aircraftmodellist.cpp b/src/blackmisc/simulation/aircraftmodellist.cpp index 9f6af1f9d..7b22b2226 100644 --- a/src/blackmisc/simulation/aircraftmodellist.cpp +++ b/src/blackmisc/simulation/aircraftmodellist.cpp @@ -1325,7 +1325,11 @@ namespace BlackMisc if (!alreadySortedByFn) { sorted.sortByFileName(); } const bool caseSensitive = CFileUtils::isFileNameCaseSensitive(); - const QString rDir = caseSensitive ? rootDirectory : rootDirectory.toLower(); + const QString rDir = CFileUtils::normalizeFilePathToQtStandard( + CFileUtils::stripLeadingSlashOrDriveLetter( + caseSensitive ? rootDirectory : rootDirectory.toLower() + ) + ); for (const CAircraftModel &model : as_const(sorted)) { diff --git a/src/blackmisc/statusmessagelist.cpp b/src/blackmisc/statusmessagelist.cpp index 5d4a918f0..3a4bc4869 100644 --- a/src/blackmisc/statusmessagelist.cpp +++ b/src/blackmisc/statusmessagelist.cpp @@ -133,6 +133,12 @@ namespace BlackMisc this->sortBy(&CStatusMessage::getSeverity); } + void CStatusMessageList::sortBySeverityHighestFirst() + { + this->sortBy(&CStatusMessage::getSeverity); + this->reverse(); + } + void CStatusMessageList::removeWarningsAndBelow() { if (this->isEmpty()) { return; } diff --git a/src/blackmisc/statusmessagelist.h b/src/blackmisc/statusmessagelist.h index faa347563..f32fe50e5 100644 --- a/src/blackmisc/statusmessagelist.h +++ b/src/blackmisc/statusmessagelist.h @@ -95,6 +95,9 @@ namespace BlackMisc //! Sort by severity, lowest first void sortBySeverity(); + //! Sort by severity, highest first + void sortBySeverityHighestFirst(); + //! Remove warnings and below void removeWarningsAndBelow();