mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-10 20:33:58 -07:00
Merge branch 'master' into tooomm-qt5
This commit is contained in:
commit
9d4cf57c70
593 changed files with 12518 additions and 6581 deletions
|
|
@ -140,13 +140,15 @@ void ConnectionController::onConnectionClosedEvent(const Event_ConnectionClosed
|
|||
}
|
||||
case Event_ConnectionClosed::BANNED: {
|
||||
reasonStr = tr("Banned by moderator");
|
||||
if (event.has_end_time())
|
||||
if (event.has_end_time()) {
|
||||
reasonStr.append(
|
||||
"\n" + tr("Expected end time: %1").arg(QDateTime::fromSecsSinceEpoch(event.end_time()).toString()));
|
||||
else
|
||||
} else {
|
||||
reasonStr.append("\n" + tr("This ban lasts indefinitely."));
|
||||
if (event.has_reason_str())
|
||||
}
|
||||
if (event.has_reason_str()) {
|
||||
reasonStr.append("\n\n" + QString::fromStdString(event.reason_str()));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case Event_ConnectionClosed::SERVER_SHUTDOWN: {
|
||||
|
|
@ -240,8 +242,9 @@ void ConnectionController::onLoginError(int r,
|
|||
QString bannedStr =
|
||||
endTime ? tr("You are banned until %1.").arg(QDateTime::fromSecsSinceEpoch(endTime).toString())
|
||||
: tr("You are banned indefinitely.");
|
||||
if (!reasonStr.isEmpty())
|
||||
if (!reasonStr.isEmpty()) {
|
||||
bannedStr.append("\n\n" + reasonStr);
|
||||
}
|
||||
QMessageBox::critical(dialogParent, tr("Error"), bannedStr);
|
||||
break;
|
||||
}
|
||||
|
|
@ -354,8 +357,9 @@ void ConnectionController::onRegisterError(int r, QString reasonStr, quint32 end
|
|||
QString bannedStr =
|
||||
endTime ? tr("You are banned until %1.").arg(QDateTime::fromSecsSinceEpoch(endTime).toString())
|
||||
: tr("You are banned indefinitely.");
|
||||
if (!reasonStr.isEmpty())
|
||||
if (!reasonStr.isEmpty()) {
|
||||
bannedStr.append("\n\n" + reasonStr);
|
||||
}
|
||||
QMessageBox::critical(dialogParent, tr("Error"), bannedStr);
|
||||
break;
|
||||
}
|
||||
|
|
@ -545,8 +549,9 @@ QString ConnectionController::extractInvalidUsernameMessage(QString &in)
|
|||
out +=
|
||||
"<li>" + tr("can %1 contain numeric characters").arg((rules.at(4).toInt() > 0) ? "" : tr("NOT")) + "</li>";
|
||||
|
||||
if (rules.at(6).size() > 0)
|
||||
if (rules.at(6).size() > 0) {
|
||||
out += "<li>" + tr("can contain the following punctuation: %1").arg(rules.at(6).toHtmlEscaped()) + "</li>";
|
||||
}
|
||||
|
||||
out += "<li>" +
|
||||
tr("first character can %1 be a punctuation mark").arg((rules.at(5).toInt() > 0) ? "" : tr("NOT")) +
|
||||
|
|
@ -566,10 +571,11 @@ QString ConnectionController::extractInvalidUsernameMessage(QString &in)
|
|||
}
|
||||
}
|
||||
|
||||
if (rules.at(8).size() > 0)
|
||||
if (rules.at(8).size() > 0) {
|
||||
out += "<li>" +
|
||||
tr("can not match any of the following expressions: %1").arg(rules.at(8).toHtmlEscaped()) +
|
||||
"</li>";
|
||||
}
|
||||
}
|
||||
|
||||
out += "</ul>";
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/**
|
||||
* @file deck_stats_interface.h
|
||||
* @ingroup ApiInterfaces
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef DECKSTATS_INTERFACE_H
|
||||
#define DECKSTATS_INTERFACE_H
|
||||
|
|
|
|||
|
|
@ -99,14 +99,16 @@ void TappedOutInterface::copyDeckSplitMainAndSide(const DeckList &source, DeckLi
|
|||
{
|
||||
auto copyMainOrSide = [this, &mainboard, &sideboard](const auto node, const auto card) {
|
||||
CardInfoPtr dbCard = cardDatabase.query()->getCardInfo(card->getName());
|
||||
if (!dbCard || dbCard->getIsToken())
|
||||
if (!dbCard || dbCard->getIsToken()) {
|
||||
return;
|
||||
}
|
||||
|
||||
DecklistCardNode *addedCard;
|
||||
if (node->getName() == DECK_ZONE_SIDE)
|
||||
if (node->getName() == DECK_ZONE_SIDE) {
|
||||
addedCard = sideboard.addCard(card->getName(), node->getName(), -1);
|
||||
else
|
||||
} else {
|
||||
addedCard = mainboard.addCard(card->getName(), node->getName(), -1);
|
||||
}
|
||||
addedCard->setNumber(card->getNumber());
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/**
|
||||
* @file tapped_out_interface.h
|
||||
* @ingroup ApiInterfaces
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef TAPPEDOUT_INTERFACE_H
|
||||
#define TAPPEDOUT_INTERFACE_H
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/**
|
||||
* @file deck_link_to_api_transformer.h
|
||||
* @ingroup ApiInterfaces
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef DECK_LINK_TO_API_TRANSFORMER_H
|
||||
#define DECK_LINK_TO_API_TRANSFORMER_H
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/**
|
||||
* @file interface_json_deck_parser.h
|
||||
* @ingroup ApiInterfaces
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef INTERFACE_JSON_DECK_PARSER_H
|
||||
#define INTERFACE_JSON_DECK_PARSER_H
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/**
|
||||
* @file spoiler_background_updater.h
|
||||
* @ingroup Client
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef COCKATRICE_SPOILER_DOWNLOADER_H
|
||||
#define COCKATRICE_SPOILER_DOWNLOADER_H
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/**
|
||||
* @file client_update_checker.h
|
||||
* @ingroup ClientUpdate
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef CLIENT_UPDATE_CHECKER_H
|
||||
#define CLIENT_UPDATE_CHECKER_H
|
||||
|
|
|
|||
|
|
@ -129,8 +129,9 @@ void StableReleaseChannel::releaseListFinished()
|
|||
return;
|
||||
}
|
||||
|
||||
if (!lastRelease)
|
||||
if (!lastRelease) {
|
||||
lastRelease = new Release;
|
||||
}
|
||||
|
||||
lastRelease->setName(resultMap["name"].toString());
|
||||
lastRelease->setDescriptionUrl(resultMap["html_url"].toString());
|
||||
|
|
@ -246,8 +247,9 @@ void BetaReleaseChannel::releaseListFinished()
|
|||
return;
|
||||
}
|
||||
|
||||
if (lastRelease == nullptr)
|
||||
if (lastRelease == nullptr) {
|
||||
lastRelease = new Release;
|
||||
}
|
||||
|
||||
lastRelease->setCommitHash(resultMap["target_commitish"].toString());
|
||||
lastRelease->setPublishDate(resultMap["published_at"].toDate());
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/**
|
||||
* @file release_channel.h
|
||||
* @ingroup ClientUpdate
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef RELEASECHANNEL_H
|
||||
#define RELEASECHANNEL_H
|
||||
|
|
|
|||
|
|
@ -10,8 +10,9 @@ UpdateDownloader::UpdateDownloader(QObject *parent) : QObject(parent), response(
|
|||
void UpdateDownloader::beginDownload(QUrl downloadUrl)
|
||||
{
|
||||
// Save the original URL because we need it for the filename
|
||||
if (originalUrl.isEmpty())
|
||||
if (originalUrl.isEmpty()) {
|
||||
originalUrl = downloadUrl;
|
||||
}
|
||||
|
||||
response = netMan->get(QNetworkRequest(downloadUrl));
|
||||
connect(response, &QNetworkReply::finished, this, &UpdateDownloader::fileFinished);
|
||||
|
|
@ -21,8 +22,9 @@ void UpdateDownloader::beginDownload(QUrl downloadUrl)
|
|||
|
||||
void UpdateDownloader::downloadError(QNetworkReply::NetworkError)
|
||||
{
|
||||
if (response == nullptr)
|
||||
if (response == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
emit error(response->errorString().toUtf8());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/**
|
||||
* @file update_downloader.h
|
||||
* @ingroup ClientUpdate
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef COCKATRICE_UPDATEDOWNLOADER_H
|
||||
#define COCKATRICE_UPDATEDOWNLOADER_H
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
#include "cache_settings.h"
|
||||
|
||||
#include "../../interface/card_picture_loader/card_picture_loader_cache_method.h"
|
||||
#include "../../interface/card_picture_loader/card_picture_loader_local_schemes.h"
|
||||
#include "../network/update/client/release_channel.h"
|
||||
#include "card_counter_settings.h"
|
||||
#include "version_string.h"
|
||||
|
|
@ -24,10 +26,11 @@ SettingsCache &SettingsCache::instance()
|
|||
|
||||
QString SettingsCache::getDataPath()
|
||||
{
|
||||
if (isPortableBuild)
|
||||
if (isPortableBuild) {
|
||||
return qApp->applicationDirPath() + "/data";
|
||||
else
|
||||
} else {
|
||||
return QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation);
|
||||
}
|
||||
}
|
||||
|
||||
QString SettingsCache::getSettingsPath()
|
||||
|
|
@ -37,10 +40,11 @@ QString SettingsCache::getSettingsPath()
|
|||
|
||||
QString SettingsCache::getCachePath() const
|
||||
{
|
||||
if (isPortableBuild)
|
||||
if (isPortableBuild) {
|
||||
return qApp->applicationDirPath() + "/cache";
|
||||
else
|
||||
} else {
|
||||
return QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
|
||||
}
|
||||
}
|
||||
|
||||
QString SettingsCache::getNetworkCachePath() const
|
||||
|
|
@ -50,14 +54,17 @@ QString SettingsCache::getNetworkCachePath() const
|
|||
|
||||
void SettingsCache::translateLegacySettings()
|
||||
{
|
||||
if (isPortableBuild)
|
||||
if (isPortableBuild) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Layouts
|
||||
QFile layoutFile(getSettingsPath() + "layouts/deckLayout.ini");
|
||||
if (layoutFile.exists())
|
||||
if (layoutFile.copy(getSettingsPath() + "layouts.ini"))
|
||||
if (layoutFile.exists()) {
|
||||
if (layoutFile.copy(getSettingsPath() + "layouts.ini")) {
|
||||
layoutFile.remove();
|
||||
}
|
||||
}
|
||||
|
||||
QStringList usedKeys;
|
||||
QSettings legacySetting;
|
||||
|
|
@ -116,10 +123,11 @@ void SettingsCache::translateLegacySettings()
|
|||
gameFilters().setHideIgnoredUserGames(legacySetting.value("hide_ignored_user_games").toBool());
|
||||
gameFilters().setMinPlayers(legacySetting.value("min_players").toInt());
|
||||
|
||||
if (legacySetting.value("max_players").toInt() > 1)
|
||||
if (legacySetting.value("max_players").toInt() > 1) {
|
||||
gameFilters().setMaxPlayers(legacySetting.value("max_players").toInt());
|
||||
else
|
||||
} else {
|
||||
gameFilters().setMaxPlayers(99); // This prevents a bug where no games will show if max was not set before
|
||||
}
|
||||
|
||||
QStringList allFilters = legacySetting.allKeys();
|
||||
for (int i = 0; i < allFilters.size(); ++i) {
|
||||
|
|
@ -135,8 +143,9 @@ void SettingsCache::translateLegacySettings()
|
|||
|
||||
QStringList allLegacyKeys = legacySetting.allKeys();
|
||||
for (int i = 0; i < allLegacyKeys.size(); ++i) {
|
||||
if (usedKeys.contains(allLegacyKeys.at(i)))
|
||||
if (usedKeys.contains(allLegacyKeys.at(i))) {
|
||||
continue;
|
||||
}
|
||||
settings->setValue(allLegacyKeys.at(i), legacySetting.value(allLegacyKeys.at(i)));
|
||||
}
|
||||
}
|
||||
|
|
@ -147,8 +156,9 @@ QString SettingsCache::getSafeConfigPath(QString configEntry, QString defaultPat
|
|||
// if the config settings is empty or refers to a not-existing folder,
|
||||
// ensure that the defaut path exists and return it
|
||||
if (tmp.isEmpty() || !QDir(tmp).exists()) {
|
||||
if (!QDir().mkpath(defaultPath))
|
||||
if (!QDir().mkpath(defaultPath)) {
|
||||
qCInfo(SettingsCacheLog) << "[SettingsCache] Could not create folder:" << defaultPath;
|
||||
}
|
||||
tmp = defaultPath;
|
||||
}
|
||||
return tmp;
|
||||
|
|
@ -159,8 +169,9 @@ QString SettingsCache::getSafeConfigFilePath(QString configEntry, QString defaul
|
|||
QString tmp = settings->value(configEntry).toString();
|
||||
// if the config settings is empty or refers to a not-existing file,
|
||||
// return the default Path
|
||||
if (!QFile::exists(tmp) || tmp.isEmpty())
|
||||
if (!QFile::exists(tmp) || tmp.isEmpty()) {
|
||||
tmp = std::move(defaultPath);
|
||||
}
|
||||
return tmp;
|
||||
}
|
||||
|
||||
|
|
@ -168,8 +179,9 @@ SettingsCache::SettingsCache()
|
|||
{
|
||||
// first, figure out if we are running in portable mode
|
||||
isPortableBuild = QFile::exists(qApp->applicationDirPath() + "/portable.dat");
|
||||
if (isPortableBuild)
|
||||
if (isPortableBuild) {
|
||||
qCInfo(SettingsCacheLog) << "Portable mode enabled";
|
||||
}
|
||||
|
||||
// define a dummy context that will be used where needed
|
||||
QString dummy = QT_TRANSLATE_NOOP("i18n", "English");
|
||||
|
|
@ -189,8 +201,9 @@ SettingsCache::SettingsCache()
|
|||
|
||||
cardCounterSettings = new CardCounterSettings(settingsPath, this);
|
||||
|
||||
if (!QFile(settingsPath + "global.ini").exists())
|
||||
if (!QFile(settingsPath + "global.ini").exists()) {
|
||||
translateLegacySettings();
|
||||
}
|
||||
|
||||
// updates - don't reorder them or their index in the settings won't match
|
||||
// append channels one by one, or msvc will add them in the wrong order.
|
||||
|
|
@ -257,14 +270,26 @@ SettingsCache::SettingsCache()
|
|||
settings->setValue("personal/pixmapCacheSize", pixmapCacheSize);
|
||||
settings->setValue("personal/picturedownloadhq", false);
|
||||
settings->setValue("revert/pixmapCacheSize", true);
|
||||
} else
|
||||
} else {
|
||||
pixmapCacheSize = settings->value("personal/pixmapCacheSize", PIXMAPCACHE_SIZE_DEFAULT).toInt();
|
||||
}
|
||||
// sanity check
|
||||
if (pixmapCacheSize < PIXMAPCACHE_SIZE_MIN || pixmapCacheSize > PIXMAPCACHE_SIZE_MAX)
|
||||
if (pixmapCacheSize < PIXMAPCACHE_SIZE_MIN || pixmapCacheSize > PIXMAPCACHE_SIZE_MAX) {
|
||||
pixmapCacheSize = PIXMAPCACHE_SIZE_DEFAULT;
|
||||
}
|
||||
|
||||
networkCacheSize = settings->value("personal/networkCacheSize", NETWORK_CACHE_SIZE_DEFAULT).toInt();
|
||||
redirectCacheTtl = settings->value("personal/redirectCacheTtl", NETWORK_REDIRECT_CACHE_TTL_DEFAULT).toInt();
|
||||
cardPictureLoaderCacheMethod =
|
||||
settings
|
||||
->value("personal/cardPictureLoaderCacheMethod",
|
||||
static_cast<int>(CardPictureLoaderCacheMethod::CacheMethod::NETWORK_CACHE))
|
||||
.toInt();
|
||||
localCardImageStorageNamingScheme =
|
||||
settings
|
||||
->value("personal/localCardImageStorageNamingScheme",
|
||||
static_cast<int>(CardPictureLoaderLocalSchemes::NamingScheme::Set_Folder_Name_Set_Collector))
|
||||
.toInt();
|
||||
|
||||
picDownload = settings->value("personal/picturedownload", true).toBool();
|
||||
showStatusBar = settings->value("personal/showStatusBar", false).toBool();
|
||||
|
|
@ -770,8 +795,9 @@ void SettingsCache::setPrintingSelectorCardSize(int _printingSelectorCardSize)
|
|||
|
||||
void SettingsCache::setIncludeRebalancedCards(bool _includeRebalancedCards)
|
||||
{
|
||||
if (includeRebalancedCards == _includeRebalancedCards)
|
||||
if (includeRebalancedCards == _includeRebalancedCards) {
|
||||
return;
|
||||
}
|
||||
|
||||
includeRebalancedCards = _includeRebalancedCards;
|
||||
settings->setValue("cards/includerebalancedcards", includeRebalancedCards);
|
||||
|
|
@ -1098,6 +1124,13 @@ void SettingsCache::setPixmapCacheSize(const int _pixmapCacheSize)
|
|||
emit pixmapCacheSizeChanged(pixmapCacheSize);
|
||||
}
|
||||
|
||||
void SettingsCache::setCardImageCacheMethod(const CardPictureLoaderCacheMethod::CacheMethod _cardImageCachingMethod)
|
||||
{
|
||||
cardPictureLoaderCacheMethod = static_cast<int>(_cardImageCachingMethod);
|
||||
settings->setValue("personal/cardPictureLoaderCacheMethod", cardPictureLoaderCacheMethod);
|
||||
emit cardPictureLoaderCacheMethodChanged(cardPictureLoaderCacheMethod);
|
||||
}
|
||||
|
||||
void SettingsCache::setNetworkCacheSizeInMB(const int _networkCacheSize)
|
||||
{
|
||||
networkCacheSize = _networkCacheSize;
|
||||
|
|
@ -1112,6 +1145,14 @@ void SettingsCache::setNetworkRedirectCacheTtl(const int _redirectCacheTtl)
|
|||
emit redirectCacheTtlChanged(redirectCacheTtl);
|
||||
}
|
||||
|
||||
void SettingsCache::setLocalCardImageStorageNamingScheme(
|
||||
const CardPictureLoaderLocalSchemes::NamingScheme _localCardImageStorageNamingScheme)
|
||||
{
|
||||
localCardImageStorageNamingScheme = static_cast<int>(_localCardImageStorageNamingScheme);
|
||||
settings->setValue("personal/localCardImageStorageNamingScheme", localCardImageStorageNamingScheme);
|
||||
emit localCardImageStorageNamingSchemeChanged(localCardImageStorageNamingScheme);
|
||||
}
|
||||
|
||||
void SettingsCache::setClientID(const QString &_clientID)
|
||||
{
|
||||
clientID = _clientID;
|
||||
|
|
@ -1310,8 +1351,9 @@ void SettingsCache::setMaxFontSize(int _max)
|
|||
|
||||
void SettingsCache::setRoundCardCorners(bool _roundCardCorners)
|
||||
{
|
||||
if (_roundCardCorners == roundCardCorners)
|
||||
if (_roundCardCorners == roundCardCorners) {
|
||||
return;
|
||||
}
|
||||
|
||||
roundCardCorners = _roundCardCorners;
|
||||
settings->setValue("cards/roundcardcorners", _roundCardCorners);
|
||||
|
|
|
|||
|
|
@ -1,12 +1,14 @@
|
|||
/**
|
||||
* @file cache_settings.h
|
||||
* @ingroup Settings
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef SETTINGSCACHE_H
|
||||
#define SETTINGSCACHE_H
|
||||
|
||||
#include "../../interface/card_picture_loader/card_picture_loader_cache_method.h"
|
||||
#include "../../interface/card_picture_loader/card_picture_loader_local_schemes.h"
|
||||
#include "shortcuts_settings.h"
|
||||
|
||||
#include <QDate>
|
||||
|
|
@ -184,6 +186,8 @@ signals:
|
|||
void pixmapCacheSizeChanged(int newSizeInMBs);
|
||||
void networkCacheSizeChanged(int newSizeInMBs);
|
||||
void redirectCacheTtlChanged(int newTtl);
|
||||
void cardPictureLoaderCacheMethodChanged(int cardPictureLoaderCacheMethod);
|
||||
void localCardImageStorageNamingSchemeChanged(int localCardImageStorageNamingScheme);
|
||||
void masterVolumeChanged(int value);
|
||||
void chatMentionCompleterChanged();
|
||||
void downloadSpoilerTimeIndexChanged();
|
||||
|
|
@ -303,6 +307,8 @@ private:
|
|||
int pixmapCacheSize;
|
||||
int networkCacheSize;
|
||||
int redirectCacheTtl;
|
||||
int cardPictureLoaderCacheMethod;
|
||||
int localCardImageStorageNamingScheme;
|
||||
bool scaleCards;
|
||||
int verticalCardOverlapPercent;
|
||||
bool showMessagePopups;
|
||||
|
|
@ -786,6 +792,10 @@ public:
|
|||
{
|
||||
return pixmapCacheSize;
|
||||
}
|
||||
[[nodiscard]] CardPictureLoaderCacheMethod::CacheMethod getCardPictureLoaderCacheMethod() const
|
||||
{
|
||||
return static_cast<CardPictureLoaderCacheMethod::CacheMethod>(cardPictureLoaderCacheMethod);
|
||||
}
|
||||
[[nodiscard]] int getNetworkCacheSizeInMB() const
|
||||
{
|
||||
return networkCacheSize;
|
||||
|
|
@ -794,6 +804,10 @@ public:
|
|||
{
|
||||
return redirectCacheTtl;
|
||||
}
|
||||
[[nodiscard]] CardPictureLoaderLocalSchemes::NamingScheme getLocalCardImageStorageNamingScheme() const
|
||||
{
|
||||
return static_cast<CardPictureLoaderLocalSchemes::NamingScheme>(localCardImageStorageNamingScheme);
|
||||
}
|
||||
[[nodiscard]] bool getScaleCards() const
|
||||
{
|
||||
return scaleCards;
|
||||
|
|
@ -1098,8 +1112,11 @@ public slots:
|
|||
void setIgnoreUnregisteredUsers(QT_STATE_CHANGED_T _ignoreUnregisteredUsers);
|
||||
void setIgnoreUnregisteredUserMessages(QT_STATE_CHANGED_T _ignoreUnregisteredUserMessages);
|
||||
void setPixmapCacheSize(const int _pixmapCacheSize);
|
||||
void setCardImageCacheMethod(CardPictureLoaderCacheMethod::CacheMethod _cardImageCachingMethod);
|
||||
void setNetworkCacheSizeInMB(const int _networkCacheSize);
|
||||
void setNetworkRedirectCacheTtl(const int _redirectCacheTtl);
|
||||
void setLocalCardImageStorageNamingScheme(
|
||||
const CardPictureLoaderLocalSchemes::NamingScheme _localCardImageStorageNamingScheme);
|
||||
void setCardScaling(const QT_STATE_CHANGED_T _scaleCards);
|
||||
void setStackCardOverlapPercent(const int _verticalCardOverlapPercent);
|
||||
void setShowMessagePopups(const QT_STATE_CHANGED_T _showMessagePopups);
|
||||
|
|
|
|||
|
|
@ -15,8 +15,9 @@ void CardCounterSettings::setColor(int counterId, const QColor &color)
|
|||
|
||||
QString key = QString("cards/counters/%1/color").arg(counterId);
|
||||
|
||||
if (settings.value(key).value<QColor>() == color)
|
||||
if (settings.value(key).value<QColor>() == color) {
|
||||
return;
|
||||
}
|
||||
|
||||
settings.setValue(key, color);
|
||||
emit colorChanged(counterId, color);
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/**
|
||||
* @file card_counter_settings.h
|
||||
* @ingroup GameSettings
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef CARD_COUNTER_SETTINGS_H
|
||||
#define CARD_COUNTER_SETTINGS_H
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/**
|
||||
* @file shortcut_treeview.h
|
||||
* @ingroup CoreSettings
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef SHORTCUT_TREEVIEW_H
|
||||
#define SHORTCUT_TREEVIEW_H
|
||||
|
|
|
|||
|
|
@ -64,8 +64,13 @@ ShortcutsSettings::ShortcutsSettings(const QString &settingsPath, QObject *paren
|
|||
}
|
||||
}
|
||||
|
||||
/// PR 5079 changes Textbox/unfocusTextBox to Player/unfocusTextBox and tab_game/aFocusChat to Player/aFocusChat.
|
||||
/// A migration is necessary to let players keep their already configured shortcuts.
|
||||
/**
|
||||
* @brief Migrates legacy shortcut key names to current naming scheme.
|
||||
*
|
||||
* PR 5079 changed Textbox/unfocusTextBox to Player/unfocusTextBox and
|
||||
* tab_game/aFocusChat to Player/aFocusChat. This migration allows players
|
||||
* to keep their already configured shortcuts.
|
||||
*/
|
||||
void ShortcutsSettings::migrateShortcuts()
|
||||
{
|
||||
if (QFile(settingsFilePath).exists()) {
|
||||
|
|
@ -236,9 +241,7 @@ bool ShortcutsSettings::isValid(const QString &name, const QString &sequences) c
|
|||
return findOverlaps(name, sequences).isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the shortcut is a shortcut that is active in all windows
|
||||
*/
|
||||
/** @brief Checks if the shortcut is a shortcut that is active in all windows. */
|
||||
static bool isAlwaysActiveShortcut(const QString &shortcutName)
|
||||
{
|
||||
return shortcutName.startsWith("MainWindow") || shortcutName.startsWith("Tabs");
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/**
|
||||
* @file shortcuts_settings.h
|
||||
* @ingroup CoreSettings
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef SHORTCUTSSETTINGS_H
|
||||
#define SHORTCUTSSETTINGS_H
|
||||
|
|
@ -537,6 +537,9 @@ private:
|
|||
{"Player/aSetAnnotation", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set Annotation..."),
|
||||
parseSequenceString("Alt+N"),
|
||||
ShortcutGroup::Playing_Area)},
|
||||
{"Player/aReduceLifeByPower", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Reduce Life by Power"),
|
||||
parseSequenceString("Ctrl+Shift+L"),
|
||||
ShortcutGroup::Playing_Area)},
|
||||
{"Player/aSelectAll", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Select All Cards in Zone"),
|
||||
parseSequenceString("Ctrl+A"),
|
||||
ShortcutGroup::Playing_Area)},
|
||||
|
|
|
|||
|
|
@ -95,8 +95,9 @@ QStringMap &SoundEngine::getAvailableThemes()
|
|||
dir.setPath(SettingsCache::instance().getDataPath() + "/sounds");
|
||||
|
||||
for (const QString &themeName : dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot, QDir::Name)) {
|
||||
if (!availableThemes.contains(themeName))
|
||||
if (!availableThemes.contains(themeName)) {
|
||||
availableThemes.insert(themeName, dir.absoluteFilePath(themeName));
|
||||
}
|
||||
}
|
||||
|
||||
// load themes from cockatrice system dir
|
||||
|
|
@ -111,8 +112,9 @@ QStringMap &SoundEngine::getAvailableThemes()
|
|||
);
|
||||
|
||||
for (const QString &themeName : dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot, QDir::Name)) {
|
||||
if (!availableThemes.contains(themeName))
|
||||
if (!availableThemes.contains(themeName)) {
|
||||
availableThemes.insert(themeName, dir.absoluteFilePath(themeName));
|
||||
}
|
||||
}
|
||||
|
||||
return availableThemes;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/**
|
||||
* @file sound_engine.h
|
||||
* @ingroup Core
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef SOUNDENGINE_H
|
||||
#define SOUNDENGINE_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue