mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
* remove dependency on deprecated qt5 libraries for qt6 removes the use of qt6-5compat for builds replaces use of QRegExp with QRegularExpression fixes incorrect usage of QRegExp removes use of QTextCodec fixes incorrect usage of QTextCodec sets qtlinguist as a required component for qt6 * fix anchoredPattern not existing in qt 5.11
50 lines
1.6 KiB
C++
50 lines
1.6 KiB
C++
#include "settingscache.h"
|
|
|
|
#include <QCoreApplication>
|
|
#include <QDebug>
|
|
#include <QFile>
|
|
#include <QStandardPaths>
|
|
|
|
SettingsCache::SettingsCache(const QString &fileName, QSettings::Format format, QObject *parent)
|
|
: QSettings(fileName, format, parent)
|
|
{
|
|
// first, figure out if we are running in portable mode
|
|
isPortableBuild = QFile::exists(qApp->applicationDirPath() + "/portable.dat");
|
|
|
|
QStringList disallowedRegExpStr =
|
|
#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0))
|
|
value("users/disallowedregexp", "").toString().split(",", Qt::SkipEmptyParts);
|
|
#else
|
|
value("users/disallowedregexp", "").toString().split(",", QString::SkipEmptyParts);
|
|
#endif
|
|
disallowedRegExpStr.removeDuplicates();
|
|
for (const QString ®ExpStr : disallowedRegExpStr) {
|
|
disallowedRegExp.append(QRegularExpression(QString("\\A%1\\z").arg(regExpStr)));
|
|
}
|
|
}
|
|
|
|
QString SettingsCache::guessConfigurationPath()
|
|
{
|
|
const QString fileName = "servatrice.ini";
|
|
if (QFile::exists(qApp->applicationDirPath() + "/portable.dat")) {
|
|
qDebug() << "Portable mode enabled";
|
|
return fileName;
|
|
}
|
|
|
|
QString guessFileName;
|
|
|
|
// application directory path
|
|
guessFileName = QCoreApplication::applicationDirPath() + "/" + fileName;
|
|
if (QFile::exists(guessFileName))
|
|
return guessFileName;
|
|
|
|
#ifdef Q_OS_UNIX
|
|
// /etc
|
|
guessFileName = "/etc/servatrice/" + fileName;
|
|
if (QFile::exists(guessFileName))
|
|
return guessFileName;
|
|
#endif
|
|
|
|
guessFileName = QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + "/" + fileName;
|
|
return guessFileName;
|
|
}
|