Skip to content
Snippets Groups Projects

Show ChangeLog

Merged Martin Straka requested to merge apk-show-changelog into develop
Files
4
@@ -31,6 +31,40 @@
#include "src/datovka_shared/app_version_info.h"
#include "src/datovka_shared/log/log.h"
/* Release version string. */
static const QRegularExpression releaseVerExpr(
QLatin1String("[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*"));
/* Test build version string. */
static const QRegularExpression gitAchiveVerExr(
QLatin1String("[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9a-f][0-9a-f]*"));
/*!
* @brief Check whether trimmed \a str contains exactly a string matching \a re.
*
* @param[in] str String to be checked for match.
* @param[in] re Regular expression.
* @return True if trimmed \a str matches \a re.
*/
static inline
bool trimmedMatchesRegExpr(const QString &str, const QRegularExpression &re)
{
const QString trimmedStr = str.trimmed();
QRegularExpressionMatch match(re.match(trimmedStr));
return match.hasMatch() && (match.capturedLength() == trimmedStr.length());
}
bool AppVersionInfo::isReleaseVersionString(const QString &vStr)
{
return trimmedMatchesRegExpr(vStr, releaseVerExpr);
}
bool AppVersionInfo::isGitArchiveString(const QString &vStr)
{
return trimmedMatchesRegExpr(vStr, gitAchiveVerExr);
}
/*!
* @brief Strip unwanted data from version string.
*
@@ -46,9 +80,7 @@ bool stripVersionString(QString &vStr)
vStr.remove(QRegularExpression(QLatin1String("^[.]*")));
vStr.remove(QRegularExpression(QLatin1String("[.]*$")));
QRegularExpression verExpr(
QLatin1String("[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*"));
QRegularExpressionMatch match(verExpr.match(vStr));
QRegularExpressionMatch match(releaseVerExpr.match(vStr));
return match.hasMatch() && (match.capturedLength() == vStr.length());
}