diff --git a/ScreenPlay/src/util.cpp b/ScreenPlay/src/util.cpp index 0391a311..e5703d29 100644 --- a/ScreenPlay/src/util.cpp +++ b/ScreenPlay/src/util.cpp @@ -94,6 +94,24 @@ QString Util::generateRandomString(quint32 length) return randomString; } +std::optional Util::getVersionNumberFromString(const QString& str) +{ + // Must be: Major.Minor.Patch + bool okMajor { false }; + bool okMinor { false }; + bool okPatch { false }; + + int major = QString(str.at(0)).toInt(&okMajor); + int minor = QString(str.at(2)).toInt(&okMinor); + int patch = QString(str.at(4)).toInt(&okPatch); + + if (okMajor && okMinor && okPatch) { + return std::nullopt; + } + + return QVersionNumber(major, minor, patch); +} + void Util::setNavigation(QString nav) { emit requestNavigation(nav); @@ -272,14 +290,14 @@ void Util::logToGui(QtMsgType type, const QMessageLogContext& context, const QSt QByteArray line = "in line " + QByteArray::number(context.line) + ", "; QByteArray function = "function " + QByteArray(context.function) + ", Message: "; - QString log = "  "+ QDateTime::currentDateTime().toString() + "   " + localMsg + "

"; + QString log = "  " + QDateTime::currentDateTime().toString() + "   " + localMsg + "

"; switch (type) { case QtDebugMsg: log.prepend(" Debug:"); break; case QtInfoMsg: - log.prepend(" Info:"); + log.prepend(" Info:"); break; case QtWarningMsg: log.prepend(" Warning:"); @@ -288,7 +306,7 @@ void Util::logToGui(QtMsgType type, const QMessageLogContext& context, const QSt log.prepend(" Critical:"); break; case QtFatalMsg: - log.prepend(" Fatal:"); + log.prepend(" Fatal:"); break; } @@ -314,4 +332,5 @@ bool Util::saveExtractedByteArray(libzippp::ZipEntry& entry, std::string& absolu return true; } + } diff --git a/ScreenPlay/src/util.h b/ScreenPlay/src/util.h index 1f638df1..516dbb6a 100644 --- a/ScreenPlay/src/util.h +++ b/ScreenPlay/src/util.h @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -82,6 +83,9 @@ signals: public slots: static std::optional openJsonFileToObject(const QString& path); static std::optional openJsonFileToString(const QString& path); + + static std::optional getVersionNumberFromString(const QString& str); + static QString generateRandomString(quint32 length = 32); void setNavigation(QString nav);