From 678425a7c5d887977221030aaadd08b546a5d7e8 Mon Sep 17 00:00:00 2001 From: Syping Date: Mon, 28 Sep 2020 05:33:04 +0200 Subject: [PATCH] Ported now to Qt 6 --- AppEnv.cpp | 6 +++++- DatabaseThread.cpp | 4 ++++ GlobalString.cpp | 8 ++++++-- PictureDialog.cpp | 13 +++++++++++- PictureExport.cpp | 8 ++++---- PictureWidget.cpp | 20 ++++++++++++++---- ProfileInterface.cpp | 45 +++++++++++++++++++++++++++++------------ SavegameData.cpp | 1 - SnapmaticEditor.cpp | 3 +-- SnapmaticPicture.cpp | 14 ++++++++++++- StringParser.cpp | 1 - TranslationClass.cpp | 24 ++++++++++++++++++++++ gta5view.pro | 5 ++++- main.cpp | 7 ++++++- uimod/JSHighlighter.cpp | 33 +++++++++++++++++++++++++++--- uimod/JSHighlighter.h | 13 ++++++++++-- uimod/UiModWidget.cpp | 4 ++++ 17 files changed, 172 insertions(+), 37 deletions(-) diff --git a/AppEnv.cpp b/AppEnv.cpp index ece650d..bee9b28 100644 --- a/AppEnv.cpp +++ b/AppEnv.cpp @@ -22,13 +22,17 @@ #include "StandardPaths.h" #include #include -#include #include #include #include #include #include #include + +#if QT_VERSION < 0x050000 +#include +#endif + #include using namespace std; diff --git a/DatabaseThread.cpp b/DatabaseThread.cpp index a944638..1d0e45b 100644 --- a/DatabaseThread.cpp +++ b/DatabaseThread.cpp @@ -62,7 +62,9 @@ void DatabaseThread::scanCrewReference(const QStringList &crewList, const int &r QNetworkAccessManager *netManager = new QNetworkAccessManager(); QNetworkRequest netRequest(AppEnv::getCrewFetchingUrl(crewID)); #if QT_VERSION >= 0x050600 +#if QT_VERSION < 0x060000 netRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true); +#endif #endif netRequest.setRawHeader("User-Agent", AppEnv::getUserAgent()); netRequest.setRawHeader("Accept", "text/html"); @@ -135,7 +137,9 @@ void DatabaseThread::scanCrewMembersList(const QStringList &crewList, const int QNetworkAccessManager *netManager = new QNetworkAccessManager(); QNetworkRequest netRequest(AppEnv::getPlayerFetchingUrl(crewID, currentPage)); #if QT_VERSION >= 0x050600 +#if QT_VERSION < 0x060000 netRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true); +#endif #endif netRequest.setRawHeader("User-Agent", AppEnv::getUserAgent()); netRequest.setRawHeader("Accept", "application/json"); diff --git a/GlobalString.cpp b/GlobalString.cpp index 2bb9690..9cc53e1 100644 --- a/GlobalString.cpp +++ b/GlobalString.cpp @@ -1,6 +1,6 @@ /***************************************************************************** * gta5view Grand Theft Auto V Profile Viewer -* Copyright (C) 2016-2018 Syping +* Copyright (C) 2016-2020 Syping * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -35,9 +35,11 @@ QMap GlobalString::getGlobalMap() { QMap globalMap; QSettings globalFile(getLanguageFile(), QSettings::IniFormat); +#if QT_VERSION < 0x060000 globalFile.setIniCodec("UTF-8"); +#endif globalFile.beginGroup("Global"); - for (QString globalStr : globalFile.childKeys()) + for (const QString &globalStr : globalFile.childKeys()) { globalMap[globalStr] = globalFile.value(globalStr, globalStr).toString(); } @@ -49,7 +51,9 @@ QString GlobalString::getString(QString valueStr, bool *ok) { QString globalString = valueStr; QSettings globalFile(getLanguageFile(), QSettings::IniFormat); +#if QT_VERSION < 0x060000 globalFile.setIniCodec("UTF-8"); +#endif globalFile.beginGroup("Global"); QStringList globalStrList = globalFile.childKeys(); if (globalStrList.contains(valueStr)) diff --git a/PictureDialog.cpp b/PictureDialog.cpp index 8597ebe..b25536a 100644 --- a/PictureDialog.cpp +++ b/PictureDialog.cpp @@ -33,6 +33,10 @@ #include "AppEnv.h" #include "config.h" +#if QT_VERSION < 0x060000 +#include +#endif + #ifdef Q_OS_WIN #if QT_VERSION >= 0x050200 #include @@ -41,7 +45,6 @@ #endif #include -#include #include #include #include @@ -81,7 +84,11 @@ #define picPath picture->getPictureFilePath() #define picTitl StringParser::escapeString(picture->getPictureTitle()) #define plyrsList picture->getSnapmaticProperties().playersList +#if QT_VERSION >= 0x060000 +#define created QLocale().toString(picture->getSnapmaticProperties().createdDateTime, QLocale::ShortFormat) +#else #define created picture->getSnapmaticProperties().createdDateTime.toString(Qt::DefaultLocaleShortDate) +#endif PictureDialog::PictureDialog(ProfileDatabase *profileDB, CrewDatabase *crewDB, QWidget *parent) : QDialog(parent), profileDB(profileDB), crewDB(crewDB), @@ -745,7 +752,11 @@ void PictureDialog::on_labPicture_mouseDoubleClicked(Qt::MouseButton button) { if (button == Qt::LeftButton) { +#if QT_VERSION >= 0x060000 + QRect desktopRect = QApplication::screenAt(pos())->geometry(); +#else QRect desktopRect = QApplication::desktop()->screenGeometry(this); +#endif PictureWidget *pictureWidget = new PictureWidget(this); // Work! pictureWidget->setObjectName("PictureWidget"); #if QT_VERSION >= 0x050600 diff --git a/PictureExport.cpp b/PictureExport.cpp index 2da47e1..914a113 100644 --- a/PictureExport.cpp +++ b/PictureExport.cpp @@ -23,19 +23,19 @@ #include "StandardPaths.h" #include "SidebarGenerator.h" #include -#include #include #include #include #include -#include #include +#if QT_VERSION < 0x050000 +#include +#endif + #if QT_VERSION >= 0x050000 #include #include -#else -#include #endif PictureExport::PictureExport() diff --git a/PictureWidget.cpp b/PictureWidget.cpp index ffadd18..75c5001 100644 --- a/PictureWidget.cpp +++ b/PictureWidget.cpp @@ -19,7 +19,6 @@ #include "PictureDialog.h" #include "PictureWidget.h" #include "UiModLabel.h" -#include #include #include #include @@ -27,6 +26,10 @@ #include #include +#if QT_VERSION < 0x060000 +#include +#endif + PictureWidget::PictureWidget(QWidget *parent) : QDialog(parent) { installEventFilter(this); @@ -98,12 +101,21 @@ void PictureWidget::setImage(QImage image_) void PictureWidget::updateWindowSize(int screenID) { +#if QT_VERSION >= 0x060000 + Q_UNUSED(screenID) + QRect desktopRect = QApplication::screenAt(pos())->geometry(); + move(desktopRect.x(), desktopRect.y()); + resize(desktopRect.width(), desktopRect.height()); + showFullScreen(); + pictureLabel->setPixmap(QPixmap::fromImage(image.scaled(desktopRect.width(), desktopRect.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation))); +#else if (screenID == QApplication::desktop()->screenNumber(this)) { QRect desktopRect = QApplication::desktop()->screenGeometry(this); - this->move(desktopRect.x(), desktopRect.y()); - this->resize(desktopRect.width(), desktopRect.height()); - this->showFullScreen(); + move(desktopRect.x(), desktopRect.y()); + resize(desktopRect.width(), desktopRect.height()); + showFullScreen(); pictureLabel->setPixmap(QPixmap::fromImage(image.scaled(desktopRect.width(), desktopRect.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation))); } +#endif } diff --git a/ProfileInterface.cpp b/ProfileInterface.cpp index 7daed3c..5c7685f 100644 --- a/ProfileInterface.cpp +++ b/ProfileInterface.cpp @@ -52,7 +52,6 @@ #include #include #include -#include #include #include #include @@ -272,10 +271,10 @@ void ProfileInterface::insertSnapmaticIPI(QWidget *widget) #else qSort(pictureKeyList.begin(), pictureKeyList.end(), qGreater()); #endif - int picIndex = pictureKeyList.indexOf(QRegExp(widgetKey)); + int picIndex = pictureKeyList.indexOf(widgetKey); ui->vlSnapmatic->insertWidget(picIndex, proWidget); - qApp->processEvents(); + QApplication::processEvents(); ui->saProfile->ensureWidgetVisible(proWidget, 0, 0); } } @@ -293,10 +292,10 @@ void ProfileInterface::insertSavegameIPI(QWidget *widget) #else qSort(savegameKeyList.begin(), savegameKeyList.end()); #endif - int sgdIndex = savegameKeyList.indexOf(QRegExp(widgetKey)); + int sgdIndex = savegameKeyList.indexOf(widgetKey); ui->vlSavegame->insertWidget(sgdIndex, proWidget); - qApp->processEvents(); + QApplication::processEvents(); ui->saProfile->ensureWidgetVisible(proWidget, 0, 0); } } @@ -326,7 +325,7 @@ void ProfileInterface::dialogNextPictureRequested(QWidget *dialog) } else { - picIndex = pictureKeyList.indexOf(QRegExp(widgetKey)); + picIndex = pictureKeyList.indexOf(widgetKey); } picIndex++; if (pictureKeyList.length() > picIndex) @@ -365,7 +364,7 @@ void ProfileInterface::dialogPreviousPictureRequested(QWidget *dialog) } else { - picIndex = pictureKeyList.indexOf(QRegExp(widgetKey)); + picIndex = pictureKeyList.indexOf(widgetKey); } if (picIndex > 0) { @@ -408,7 +407,7 @@ void ProfileInterface::sortingProfileInterface() ui->vlSavegame->setEnabled(true); ui->vlSnapmatic->setEnabled(true); - qApp->processEvents(); + QApplication::processEvents(); } void ProfileInterface::profileLoaded_p() @@ -772,7 +771,11 @@ bool ProfileInterface::importFile(QString selectedFile, QDateTime importDateTime cEnough++; } spJson.createdDateTime = importDateTime; +#if QT_VERSION >= 0x060000 + spJson.createdTimestamp = QString::number(spJson.createdDateTime.toSecsSinceEpoch()).toUInt(); +#else spJson.createdTimestamp = spJson.createdDateTime.toTime_t(); +#endif picture->setSnapmaticProperties(spJson); picture->setPicFileName(QString("PGTA5%1").arg(QString::number(spJson.uid))); picture->setPictureTitle(customImageTitle); @@ -826,7 +829,11 @@ bool ProfileInterface::importFile(QString selectedFile, QDateTime importDateTime cEnough++; } spJson.createdDateTime = importDateTime; +#if QT_VERSION >= 0x060000 + spJson.createdTimestamp = QString::number(spJson.createdDateTime.toSecsSinceEpoch()).toUInt(); +#else spJson.createdTimestamp = spJson.createdDateTime.toTime_t(); +#endif picture->setSnapmaticProperties(spJson); picture->setPicFileName(QString("PGTA5%1").arg(QString::number(spJson.uid))); picture->setPictureTitle(importDialog->getImageTitle()); @@ -1071,7 +1078,11 @@ bool ProfileInterface::importImage(QImage *snapmaticImage, QDateTime importDateT cEnough++; } spJson.createdDateTime = importDateTime; +#if QT_VERSION >= 0x060000 + spJson.createdTimestamp = QString::number(spJson.createdDateTime.toSecsSinceEpoch()).toUInt(); +#else spJson.createdTimestamp = spJson.createdDateTime.toTime_t(); +#endif picture->setSnapmaticProperties(spJson); picture->setPicFileName(QString("PGTA5%1").arg(QString::number(spJson.uid))); picture->setPictureTitle(importDialog->getImageTitle()); @@ -1115,7 +1126,11 @@ bool ProfileInterface::importSnapmaticPicture(SnapmaticPicture *picture, bool wa // Update Snapmatic uid snapmaticProperties.uid = getRandomUid(); snapmaticProperties.createdDateTime = QDateTime::currentDateTime(); +#if QT_VERSION >= 0x060000 + snapmaticProperties.createdTimestamp = QString::number(snapmaticProperties.createdDateTime.toSecsSinceEpoch()).toUInt(); +#else snapmaticProperties.createdTimestamp = snapmaticProperties.createdDateTime.toTime_t(); +#endif bool fExists = QFile::exists(profileFolder % "/PGTA5" % QString::number(snapmaticProperties.uid)); bool fExistsBackup = QFile::exists(profileFolder % "/PGTA5" % QString::number(snapmaticProperties.uid) % ".bak"); bool fExistsHidden = QFile::exists(profileFolder % "/PGTA5" % QString::number(snapmaticProperties.uid) % ".hidden"); @@ -1152,7 +1167,11 @@ bool ProfileInterface::importSnapmaticPicture(SnapmaticPicture *picture, bool wa // Update Snapmatic uid snapmaticProperties.uid = getRandomUid(); snapmaticProperties.createdDateTime = QDateTime::currentDateTime(); +#if QT_VERSION >= 0x060000 + snapmaticProperties.createdTimestamp = QString::number(snapmaticProperties.createdDateTime.toSecsSinceEpoch()).toUInt(); +#else snapmaticProperties.createdTimestamp = snapmaticProperties.createdDateTime.toTime_t(); +#endif bool fExists = QFile::exists(profileFolder % "/PGTA5" % QString::number(snapmaticProperties.uid)); bool fExistsBackup = QFile::exists(profileFolder % "/PGTA5" % QString::number(snapmaticProperties.uid) % ".bak"); bool fExistsHidden = QFile::exists(profileFolder % "/PGTA5" % QString::number(snapmaticProperties.uid) % ".hidden"); @@ -2046,7 +2065,7 @@ void ProfileInterface::massTool(MassTool tool) else { picture->emitUpdate(); - qApp->processEvents(); + QApplication::processEvents(); } } pbDialog.close(); @@ -2145,7 +2164,7 @@ void ProfileInterface::massTool(MassTool tool) else { picture->emitUpdate(); - qApp->processEvents(); + QApplication::processEvents(); } } pbDialog.close(); @@ -2198,7 +2217,7 @@ preSelectionCrewID: } if (crewList.contains(QString::number(crewID))) { - indexNum = crewList.indexOf(QRegExp(QString::number(crewID))); + indexNum = crewList.indexOf(QString::number(crewID)); } QString newCrew = QInputDialog::getItem(this, QApplication::translate("SnapmaticEditor", "Snapmatic Crew"), QApplication::translate("SnapmaticEditor", "New Snapmatic crew:"), itemList, indexNum, true, &ok, windowFlags()^Qt::Dialog^Qt::WindowMinMaxButtonsHint); if (ok && !newCrew.isEmpty()) @@ -2276,7 +2295,7 @@ preSelectionCrewID: else { picture->emitUpdate(); - qApp->processEvents(); + QApplication::processEvents(); } } pbDialog.close(); @@ -2379,7 +2398,7 @@ preSelectionTitle: else { picture->emitUpdate(); - qApp->processEvents(); + QApplication::processEvents(); } } pbDialog.close(); diff --git a/SavegameData.cpp b/SavegameData.cpp index 6345f29..42a9ae3 100644 --- a/SavegameData.cpp +++ b/SavegameData.cpp @@ -20,7 +20,6 @@ #include "StringParser.h" #include "SavegameData.h" #include -#include #include #include #include diff --git a/SnapmaticEditor.cpp b/SnapmaticEditor.cpp index f98e34d..ccb888c 100644 --- a/SnapmaticEditor.cpp +++ b/SnapmaticEditor.cpp @@ -23,7 +23,6 @@ #include "StringParser.h" #include "AppEnv.h" #include "config.h" -#include #include #include #include @@ -438,7 +437,7 @@ void SnapmaticEditor::on_labCrew_linkActivated(const QString &link) } if (crewList.contains(QString::number(crewID))) { - indexNum = crewList.indexOf(QRegExp(QString::number(crewID))); + indexNum = crewList.indexOf(QString::number(crewID)); } QString newCrew = QInputDialog::getItem(this, tr("Snapmatic Crew"), tr("New Snapmatic crew:"), itemList, indexNum, true, &ok, windowFlags()); if (ok && !newCrew.isEmpty()) diff --git a/SnapmaticPicture.cpp b/SnapmaticPicture.cpp index 795f66f..ed1098b 100644 --- a/SnapmaticPicture.cpp +++ b/SnapmaticPicture.cpp @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -33,6 +32,10 @@ #include #include +#if QT_VERSION < 0x060000 +#include +#endif + #if QT_VERSION >= 0x050000 #include #else @@ -994,7 +997,11 @@ void SnapmaticPicture::parseJsonContent() bool timestampOk; QDateTime createdTimestamp; localProperties.createdTimestamp = jsonMap["creat"].toUInt(×tampOk); +#if QT_VERSION >= 0x060000 + createdTimestamp.setSecsSinceEpoch(QString::number(localProperties.createdTimestamp).toLongLong()); +#else createdTimestamp.setTime_t(localProperties.createdTimestamp); +#endif localProperties.createdDateTime = createdTimestamp; if (!timestampOk) { jsonError = true; } } @@ -1418,7 +1425,12 @@ bool SnapmaticPicture::verifyTitleChar(const QChar &titleChar) QString SnapmaticPicture::parseTitleString(const QByteArray &commitBytes, int maxLength) { Q_UNUSED(maxLength) +#if QT_VERSION >= 0x060000 + QStringDecoder strDecoder = QStringDecoder(QStringDecoder::Utf16LE); + QString retStr = strDecoder(commitBytes); +#else QString retStr = QTextCodec::codecForName("UTF-16LE")->toUnicode(commitBytes).trimmed(); +#endif retStr.remove(QChar('\x00')); return retStr; } diff --git a/StringParser.cpp b/StringParser.cpp index 584a6ac..bf7743a 100644 --- a/StringParser.cpp +++ b/StringParser.cpp @@ -19,7 +19,6 @@ #include "StringParser.h" #include #include -#include #include #include #include diff --git a/TranslationClass.cpp b/TranslationClass.cpp index a3051d0..05e3b8c 100644 --- a/TranslationClass.cpp +++ b/TranslationClass.cpp @@ -63,7 +63,11 @@ void TranslationClass::loadTranslation(QApplication *app) { app->installTranslator(&inQtTranslator); } +#if QT_VERSION <= 0x060000 + QLocale::setDefault(QLocale(currentLanguage)); +#else QLocale::setDefault(currentLanguage); +#endif isLangLoaded = true; return; } @@ -147,7 +151,11 @@ void TranslationClass::loadTranslation(QApplication *app) { app->installTranslator(&inQtTranslator); } +#if QT_VERSION <= 0x060000 + QLocale::setDefault(QLocale(currentLanguage)); +#else QLocale::setDefault(currentLanguage); +#endif isLangLoaded = true; } } @@ -176,7 +184,11 @@ void TranslationClass::loadTranslation(QApplication *app) { app->installTranslator(&inQtTranslator); } +#if QT_VERSION <= 0x060000 + QLocale::setDefault(QLocale(currentLanguage)); +#else QLocale::setDefault(currentLanguage); +#endif isLangLoaded = true; } else @@ -195,7 +207,11 @@ void TranslationClass::loadTranslation(QApplication *app) { app->installTranslator(&inQtTranslator); } +#if QT_VERSION <= 0x060000 + QLocale::setDefault(QLocale(currentLanguage)); +#else QLocale::setDefault(currentLanguage); +#endif isLangLoaded = true; } } @@ -219,7 +235,11 @@ void TranslationClass::loadTranslation(QApplication *app) { app->installTranslator(&inQtTranslator); } +#if QT_VERSION <= 0x060000 + QLocale::setDefault(QLocale(currentLanguage)); +#else QLocale::setDefault(currentLanguage); +#endif isLangLoaded = true; } else if (!trLoadSuccess) @@ -236,7 +256,11 @@ void TranslationClass::loadTranslation(QApplication *app) { app->installTranslator(&inQtTranslator); } +#if QT_VERSION <= 0x060000 + QLocale::setDefault(QLocale(currentLanguage)); +#else QLocale::setDefault(currentLanguage); +#endif isLangLoaded = true; } } diff --git a/gta5view.pro b/gta5view.pro index 96f050d..95b2ed5 100644 --- a/gta5view.pro +++ b/gta5view.pro @@ -212,7 +212,10 @@ isEqual(QT_MAJOR_VERSION, 4): GTA5SYNC_RCC = $$[QT_INSTALL_BINS]/rcc # QT5 ONLY STUFF isEqual(QT_MAJOR_VERSION, 5): RESOURCES += res/tr_qt5.qrc -isEqual(QT_MAJOR_VERSION, 5): GTA5SYNC_RCC = $$[QT_HOST_BINS]/rcc + +# QT5+ ONLY STUFF + +greaterThan(QT_MAJOR_VERSION, 4): GTA5SYNC_RCC = $$[QT_HOST_BINS]/rcc # RESOURCE COMPILATION diff --git a/main.cpp b/main.cpp index ce0035a..02887d2 100644 --- a/main.cpp +++ b/main.cpp @@ -31,7 +31,6 @@ #include "IconLoader.h" #include "AppEnv.h" #include "config.h" -#include #include #include #include @@ -54,6 +53,10 @@ #include #include +#if QT_VERSION < 0x060000 +#include +#endif + #ifdef Q_OS_WIN #include "windows.h" #include @@ -70,8 +73,10 @@ int main(int argc, char *argv[]) { #if QT_VERSION >= 0x050600 +#if QT_VERSION < 0x060000 QApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true); QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps, true); +#endif #endif QApplication a(argc, argv); a.setApplicationName(GTA5SYNC_APPSTR); diff --git a/uimod/JSHighlighter.cpp b/uimod/JSHighlighter.cpp index 7b3aec0..42a988c 100644 --- a/uimod/JSHighlighter.cpp +++ b/uimod/JSHighlighter.cpp @@ -1,6 +1,6 @@ /***************************************************************************** * gta5view Grand Theft Auto V Profile Viewer -* Copyright (C) 2017 Syping +* Copyright (C) 2017-2020 Syping * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,7 +17,6 @@ *****************************************************************************/ #include "JSHighlighter.h" -#include JSHighlighter::JSHighlighter(QTextDocument *parent) : QSyntaxHighlighter(parent) @@ -31,34 +30,61 @@ JSHighlighter::JSHighlighter(QTextDocument *parent) : keywordPatterns << "\\btrue\\b" << "\\bfalse\\b"; for (QString pattern : keywordPatterns) { +#if QT_VERSION >= 0x050000 + rule.pattern = QRegularExpression(pattern); +#else rule.pattern = QRegExp(pattern); +#endif rule.format = keywordFormat; highlightingRules.append(rule); } QBrush doubleBrush(QColor::fromRgb(66, 137, 244)); doubleFormat.setForeground(doubleBrush); +#if QT_VERSION >= 0x050000 + rule.pattern = QRegularExpression("[+-]?\\d*\\.?\\d+"); +#else rule.pattern = QRegExp("[+-]?\\d*\\.?\\d+"); +#endif rule.format = doubleFormat; highlightingRules.append(rule); QBrush quotationBrush(QColor::fromRgb(66, 244, 104)); quotationFormat.setForeground(quotationBrush); +#if QT_VERSION >= 0x050000 + rule.pattern = QRegularExpression("\"[^\"]*\""); +#else rule.pattern = QRegExp("\"[^\"]*\""); +#endif rule.format = quotationFormat; highlightingRules.append(rule); QBrush objectBrush(QColor::fromRgb(255, 80, 80)); objectFormat.setForeground(objectBrush); +#if QT_VERSION >= 0x050000 + rule.pattern = QRegularExpression("\"[^\"]*\"(?=:)"); +#else rule.pattern = QRegExp("\"[^\"]*\"(?=:)"); +#endif rule.format = objectFormat; highlightingRules.append(rule); } void JSHighlighter::highlightBlock(const QString &text) { - for (HighlightingRule rule : highlightingRules) +#if QT_VERSION >= 0x050000 + for (const HighlightingRule &rule : qAsConst(highlightingRules)) +#else + for (const HighlightingRule &rule : highlightingRules) +#endif { +#if QT_VERSION >= 0x050000 + QRegularExpressionMatchIterator matchIterator = rule.pattern.globalMatch(text); + while (matchIterator.hasNext()) { + QRegularExpressionMatch match = matchIterator.next(); + setFormat(match.capturedStart(), match.capturedLength(), rule.format); + } +#else QRegExp expression(rule.pattern); int index = expression.indexIn(text); while (index >= 0) @@ -67,6 +93,7 @@ void JSHighlighter::highlightBlock(const QString &text) setFormat(index, length, rule.format); index = expression.indexIn(text, index + length); } +#endif } setCurrentBlockState(0); } diff --git a/uimod/JSHighlighter.h b/uimod/JSHighlighter.h index cad6453..d93bfa9 100644 --- a/uimod/JSHighlighter.h +++ b/uimod/JSHighlighter.h @@ -1,6 +1,6 @@ /***************************************************************************** * gta5view Grand Theft Auto V Profile Viewer -* Copyright (C) 2017 Syping +* Copyright (C) 2017-2020 Syping * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,10 +24,15 @@ #include #include #include -#include #include #include +#if QT_VERSION >= 0x050000 +#include +#else +#include +#endif + class QTextDocument; class JSHighlighter : public QSyntaxHighlighter @@ -37,7 +42,11 @@ class JSHighlighter : public QSyntaxHighlighter public: struct HighlightingRule { +#if QT_VERSION >= 0x050000 + QRegularExpression pattern; +#else QRegExp pattern; +#endif QTextCharFormat format; }; QVector highlightingRules; diff --git a/uimod/UiModWidget.cpp b/uimod/UiModWidget.cpp index ff8946c..ff852fc 100644 --- a/uimod/UiModWidget.cpp +++ b/uimod/UiModWidget.cpp @@ -80,7 +80,11 @@ void UiModWidget::paintEvent(QPaintEvent *paintEvent) { Q_UNUSED(paintEvent) QStyleOption opt; +#if QT_VERSION <= 0x060000 + opt.initFrom(this); +#else opt.init(this); +#endif QPainter p(this); style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); }