Browse Source

Cleanup headers

Move `class NaturalCompare` to .cpp file
adaptive-webui-19844
Chocobo1 9 years ago
parent
commit
d25430f377
  1. 46
      src/base/utils/string.cpp
  2. 18
      src/base/utils/string.h

46
src/base/utils/string.cpp

@ -27,24 +27,31 @@ @@ -27,24 +27,31 @@
* exception statement from your version.
*/
#include "string.h"
#include <cmath>
#include <QByteArray>
#include <QString>
#include <QtGlobal>
#include <QLocale>
#include <cmath>
#include "string.h"
#if (QT_VERSION >= QT_VERSION_CHECK(5, 2, 0))
#include <QCollator>
#endif
QString Utils::String::fromStdString(const std::string &str)
class NaturalCompare
{
return QString::fromUtf8(str.c_str());
}
public:
NaturalCompare();
bool operator()(const QString &left, const QString &right);
bool lessThan(const QString &left, const QString &right);
std::string Utils::String::toStdString(const QString &str)
{
QByteArray utf8 = str.toUtf8();
return std::string(utf8.constData(), utf8.length());
}
private:
#if (QT_VERSION >= QT_VERSION_CHECK(5, 2, 0))
QCollator m_collator;
#endif
};
Utils::String::NaturalCompare::NaturalCompare()
NaturalCompare::NaturalCompare()
{
#if (QT_VERSION >= QT_VERSION_CHECK(5, 2, 0))
#if defined(Q_OS_WIN)
@ -57,7 +64,7 @@ Utils::String::NaturalCompare::NaturalCompare() @@ -57,7 +64,7 @@ Utils::String::NaturalCompare::NaturalCompare()
#endif
}
bool Utils::String::NaturalCompare::operator()(const QString &left, const QString &right)
bool NaturalCompare::operator()(const QString &left, const QString &right)
{
// case-insensitive comparison
#if (QT_VERSION >= QT_VERSION_CHECK(5, 2, 0))
@ -72,7 +79,7 @@ bool Utils::String::NaturalCompare::operator()(const QString &left, const QStrin @@ -72,7 +79,7 @@ bool Utils::String::NaturalCompare::operator()(const QString &left, const QStrin
#endif
}
bool Utils::String::NaturalCompare::lessThan(const QString &left, const QString &right)
bool NaturalCompare::lessThan(const QString &left, const QString &right)
{
// Return value `false` indicates `right` should go before `left`, otherwise, after
// case-insensitive comparison
@ -123,6 +130,17 @@ bool Utils::String::NaturalCompare::lessThan(const QString &left, const QString @@ -123,6 +130,17 @@ bool Utils::String::NaturalCompare::lessThan(const QString &left, const QString
return false;
}
QString Utils::String::fromStdString(const std::string &str)
{
return QString::fromUtf8(str.c_str());
}
std::string Utils::String::toStdString(const QString &str)
{
QByteArray utf8 = str.toUtf8();
return std::string(utf8.constData(), utf8.length());
}
bool Utils::String::naturalCompare(const QString &left, const QString &right)
{
// provide a single `NaturalCompare` instance for easy use

18
src/base/utils/string.h

@ -31,13 +31,9 @@ @@ -31,13 +31,9 @@
#define UTILS_STRING_H
#include <string>
#include <QtGlobal>
#if (QT_VERSION >= QT_VERSION_CHECK(5, 2, 0))
#include <QCollator>
#endif
class QString;
class QByteArray;
class QString;
namespace Utils
{
@ -51,18 +47,6 @@ namespace Utils @@ -51,18 +47,6 @@ namespace Utils
// Taken from https://crackstation.net/hashing-security.htm
bool slowEquals(const QByteArray &a, const QByteArray &b);
class NaturalCompare
{
public:
NaturalCompare();
bool operator()(const QString &left, const QString &right);
bool lessThan(const QString &left, const QString &right);
#if (QT_VERSION >= QT_VERSION_CHECK(5, 2, 0))
private:
QCollator m_collator;
#endif
};
bool naturalCompare(const QString &left, const QString &right);
}
}

Loading…
Cancel
Save