refactor: move MMCStrings -> StringUtils

General utilities can go in here >:)

Signed-off-by: flow <flowlnlnln@gmail.com>
This commit is contained in:
flow 2022-11-03 16:41:55 -03:00
parent 76050880f1
commit 353b51f11e
No known key found for this signature in database
GPG Key ID: 8D0F221F0A59F469
15 changed files with 32 additions and 34 deletions

View File

@ -24,8 +24,8 @@ set(CORE_SOURCES
NullInstance.h NullInstance.h
MMCZip.h MMCZip.h
MMCZip.cpp MMCZip.cpp
MMCStrings.h StringUtils.h
MMCStrings.cpp StringUtils.cpp
RuntimeContext.h RuntimeContext.h
# Basic instance manipulation tasks (derived from InstanceTask) # Basic instance manipulation tasks (derived from InstanceTask)

View File

@ -36,7 +36,7 @@
#include "JavaCommon.h" #include "JavaCommon.h"
#include "java/JavaUtils.h" #include "java/JavaUtils.h"
#include "ui/dialogs/CustomMessageBox.h" #include "ui/dialogs/CustomMessageBox.h"
#include <MMCStrings.h>
#include <QRegularExpression> #include <QRegularExpression>
bool JavaCommon::checkJVMArgs(QString jvmargs, QWidget *parent) bool JavaCommon::checkJVMArgs(QString jvmargs, QWidget *parent)

View File

@ -1,8 +0,0 @@
#pragma once
#include <QString>
namespace Strings
{
int naturalCompare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs);
}

View File

@ -1,4 +1,4 @@
#include "MMCStrings.h" #include "StringUtils.h"
/// TAKEN FROM Qt, because it doesn't expose it intelligently /// TAKEN FROM Qt, because it doesn't expose it intelligently
static inline QChar getNextChar(const QString &s, int location) static inline QChar getNextChar(const QString &s, int location)
@ -7,7 +7,7 @@ static inline QChar getNextChar(const QString &s, int location)
} }
/// TAKEN FROM Qt, because it doesn't expose it intelligently /// TAKEN FROM Qt, because it doesn't expose it intelligently
int Strings::naturalCompare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs) int StringUtils::naturalCompare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs)
{ {
for (int l1 = 0, l2 = 0; l1 <= s1.count() && l2 <= s2.count(); ++l1, ++l2) for (int l1 = 0, l2 = 0; l1 <= s1.count() && l2 <= s2.count(); ++l1, ++l2)
{ {

7
launcher/StringUtils.h Normal file
View File

@ -0,0 +1,7 @@
#pragma once
#include <QString>
namespace StringUtils {
int naturalCompare(const QString& s1, const QString& s2, Qt::CaseSensitivity cs);
} // namespace StringUtils

View File

@ -1,9 +1,10 @@
#include "JavaInstall.h" #include "JavaInstall.h"
#include <MMCStrings.h>
#include "StringUtils.h"
bool JavaInstall::operator<(const JavaInstall &rhs) bool JavaInstall::operator<(const JavaInstall &rhs)
{ {
auto archCompare = Strings::naturalCompare(arch, rhs.arch, Qt::CaseInsensitive); auto archCompare = StringUtils::naturalCompare(arch, rhs.arch, Qt::CaseInsensitive);
if(archCompare != 0) if(archCompare != 0)
return archCompare < 0; return archCompare < 0;
if(id < rhs.id) if(id < rhs.id)
@ -14,7 +15,7 @@ bool JavaInstall::operator<(const JavaInstall &rhs)
{ {
return false; return false;
} }
return Strings::naturalCompare(path, rhs.path, Qt::CaseInsensitive) < 0; return StringUtils::naturalCompare(path, rhs.path, Qt::CaseInsensitive) < 0;
} }
bool JavaInstall::operator==(const JavaInstall &rhs) bool JavaInstall::operator==(const JavaInstall &rhs)

View File

@ -41,7 +41,6 @@
#include "java/JavaInstallList.h" #include "java/JavaInstallList.h"
#include "java/JavaCheckerJob.h" #include "java/JavaCheckerJob.h"
#include "java/JavaUtils.h" #include "java/JavaUtils.h"
#include "MMCStrings.h"
#include "minecraft/VersionFilterData.h" #include "minecraft/VersionFilterData.h"
JavaInstallList::JavaInstallList(QObject *parent) : BaseVersionList(parent) JavaInstallList::JavaInstallList(QObject *parent) : BaseVersionList(parent)

View File

@ -1,5 +1,6 @@
#include "JavaVersion.h" #include "JavaVersion.h"
#include <MMCStrings.h>
#include "StringUtils.h"
#include <QRegularExpression> #include <QRegularExpression>
#include <QString> #include <QString>
@ -98,12 +99,12 @@ bool JavaVersion::operator<(const JavaVersion &rhs)
else if(thisPre && rhsPre) else if(thisPre && rhsPre)
{ {
// both are prereleases - use natural compare... // both are prereleases - use natural compare...
return Strings::naturalCompare(m_prerelease, rhs.m_prerelease, Qt::CaseSensitive) < 0; return StringUtils::naturalCompare(m_prerelease, rhs.m_prerelease, Qt::CaseSensitive) < 0;
} }
// neither is prerelease, so they are the same -> this cannot be less than rhs // neither is prerelease, so they are the same -> this cannot be less than rhs
return false; return false;
} }
else return Strings::naturalCompare(m_string, rhs.m_string, Qt::CaseSensitive) < 0; else return StringUtils::naturalCompare(m_string, rhs.m_string, Qt::CaseSensitive) < 0;
} }
bool JavaVersion::operator==(const JavaVersion &rhs) bool JavaVersion::operator==(const JavaVersion &rhs)

View File

@ -37,7 +37,6 @@
#include "launch/LaunchTask.h" #include "launch/LaunchTask.h"
#include "MessageLevel.h" #include "MessageLevel.h"
#include "MMCStrings.h"
#include "java/JavaChecker.h" #include "java/JavaChecker.h"
#include "tasks/Task.h" #include "tasks/Task.h"
#include <QDebug> #include <QDebug>

View File

@ -43,7 +43,6 @@
#include "settings/SettingsObject.h" #include "settings/SettingsObject.h"
#include "Application.h" #include "Application.h"
#include "MMCStrings.h"
#include "pathmatcher/RegexpMatcher.h" #include "pathmatcher/RegexpMatcher.h"
#include "pathmatcher/MultiMatcher.h" #include "pathmatcher/MultiMatcher.h"
#include "FileSystem.h" #include "FileSystem.h"

View File

@ -39,13 +39,12 @@
#include <MMCZip.h> #include <MMCZip.h>
#include <QFileDialog> #include <QFileDialog>
#include <QMessageBox> #include <QMessageBox>
#include <qfilesystemmodel.h> #include <QFileSystemModel>
#include <QSortFilterProxyModel> #include <QSortFilterProxyModel>
#include <QDebug> #include <QDebug>
#include <qstack.h>
#include <QSaveFile> #include <QSaveFile>
#include "MMCStrings.h" #include "StringUtils.h"
#include "SeparatorPrefixTree.h" #include "SeparatorPrefixTree.h"
#include "Application.h" #include "Application.h"
#include <icons/IconList.h> #include <icons/IconList.h>
@ -85,7 +84,7 @@ public:
// sort and proxy model breaks the original model... // sort and proxy model breaks the original model...
if (sortColumn() == 0) if (sortColumn() == 0)
{ {
return Strings::naturalCompare(leftFileInfo.fileName(), rightFileInfo.fileName(), return StringUtils::naturalCompare(leftFileInfo.fileName(), rightFileInfo.fileName(),
Qt::CaseInsensitive) < 0; Qt::CaseInsensitive) < 0;
} }
if (sortColumn() == 1) if (sortColumn() == 1)
@ -94,7 +93,7 @@ public:
auto rightSize = rightFileInfo.size(); auto rightSize = rightFileInfo.size();
if ((leftSize == rightSize) || (leftFileInfo.isDir() && rightFileInfo.isDir())) if ((leftSize == rightSize) || (leftFileInfo.isDir() && rightFileInfo.isDir()))
{ {
return Strings::naturalCompare(leftFileInfo.fileName(), return StringUtils::naturalCompare(leftFileInfo.fileName(),
rightFileInfo.fileName(), rightFileInfo.fileName(),
Qt::CaseInsensitive) < 0 Qt::CaseInsensitive) < 0
? asc ? asc

View File

@ -20,7 +20,8 @@
#include <modplatform/atlauncher/ATLPackIndex.h> #include <modplatform/atlauncher/ATLPackIndex.h>
#include <Version.h> #include <Version.h>
#include <MMCStrings.h>
#include "StringUtils.h"
namespace Atl { namespace Atl {
@ -86,7 +87,7 @@ bool FilterModel::lessThan(const QModelIndex &left, const QModelIndex &right) co
return lv < rv; return lv < rv;
} }
else if (currentSorting == ByName) { else if (currentSorting == ByName) {
return Strings::naturalCompare(leftPack.name, rightPack.name, Qt::CaseSensitive) >= 0; return StringUtils::naturalCompare(leftPack.name, rightPack.name, Qt::CaseSensitive) >= 0;
} }
// Invalid sorting set, somehow... // Invalid sorting set, somehow...

View File

@ -3,7 +3,6 @@
#include "Application.h" #include "Application.h"
#include "ui/widgets/ProjectItem.h" #include "ui/widgets/ProjectItem.h"
#include <MMCStrings.h>
#include <Version.h> #include <Version.h>
#include <QtMath> #include <QtMath>

View File

@ -19,7 +19,8 @@
#include <QDebug> #include <QDebug>
#include "modplatform/modpacksch/FTBPackManifest.h" #include "modplatform/modpacksch/FTBPackManifest.h"
#include <MMCStrings.h>
#include "StringUtils.h"
namespace Ftb { namespace Ftb {
@ -81,7 +82,7 @@ bool FilterModel::lessThan(const QModelIndex &left, const QModelIndex &right) co
return leftPack.installs < rightPack.installs; return leftPack.installs < rightPack.installs;
} }
else if (currentSorting == ByName) { else if (currentSorting == ByName) {
return Strings::naturalCompare(leftPack.name, rightPack.name, Qt::CaseSensitive) >= 0; return StringUtils::naturalCompare(leftPack.name, rightPack.name, Qt::CaseSensitive) >= 0;
} }
// Invalid sorting set, somehow... // Invalid sorting set, somehow...

View File

@ -36,7 +36,7 @@
#include "ListModel.h" #include "ListModel.h"
#include "Application.h" #include "Application.h"
#include <MMCStrings.h> #include "StringUtils.h"
#include <Version.h> #include <Version.h>
#include <QtMath> #include <QtMath>
@ -66,7 +66,7 @@ bool FilterModel::lessThan(const QModelIndex &left, const QModelIndex &right) co
return lv < rv; return lv < rv;
} else if(currentSorting == Sorting::ByName) { } else if(currentSorting == Sorting::ByName) {
return Strings::naturalCompare(leftPack.name, rightPack.name, Qt::CaseSensitive) >= 0; return StringUtils::naturalCompare(leftPack.name, rightPack.name, Qt::CaseSensitive) >= 0;
} }
//UHM, some inavlid value set?! //UHM, some inavlid value set?!