diff --git a/cockatrice/src/client/network/update/card_spoiler/spoiler_background_updater.cpp b/cockatrice/src/client/network/update/card_spoiler/spoiler_background_updater.cpp index b75102df9..cfd4cbbf8 100644 --- a/cockatrice/src/client/network/update/card_spoiler/spoiler_background_updater.cpp +++ b/cockatrice/src/client/network/update/card_spoiler/spoiler_background_updater.cpp @@ -22,7 +22,7 @@ SpoilerBackgroundUpdater::SpoilerBackgroundUpdater(QObject *apParent) : QObject(apParent), cardUpdateProcess(nullptr) { - isSpoilerDownloadEnabled = SettingsCache::instance()->getDownloadSpoilersStatus(); + isSpoilerDownloadEnabled = SettingsCache::instance().getDownloadSpoilersStatus(); if (isSpoilerDownloadEnabled) { // Start the process of checking if we're in spoiler season // File exists means we're in spoiler season @@ -74,7 +74,7 @@ void SpoilerBackgroundUpdater::actDownloadFinishedSpoilersFile() bool SpoilerBackgroundUpdater::deleteSpoilerFile() { - QString fileName = SettingsCache::instance()->getSpoilerCardDatabasePath(); + QString fileName = SettingsCache::instance().getSpoilerCardDatabasePath(); QFileInfo fi(fileName); QDir fileDir(fi.path()); QFile file(fileName); @@ -125,7 +125,7 @@ void SpoilerBackgroundUpdater::actCheckIfSpoilerSeasonEnabled() bool SpoilerBackgroundUpdater::saveDownloadedFile(QByteArray data) { - QString fileName = SettingsCache::instance()->getSpoilerCardDatabasePath(); + QString fileName = SettingsCache::instance().getSpoilerCardDatabasePath(); QFileInfo fi(fileName); QDir fileDir(fi.path()); diff --git a/cockatrice/src/client/network/update/client/client_update_checker.cpp b/cockatrice/src/client/network/update/client/client_update_checker.cpp index 139e4e94d..64709113a 100644 --- a/cockatrice/src/client/network/update/client/client_update_checker.cpp +++ b/cockatrice/src/client/network/update/client/client_update_checker.cpp @@ -9,7 +9,7 @@ ClientUpdateChecker::ClientUpdateChecker(QObject *parent) : QObject(parent) void ClientUpdateChecker::check() { - auto releaseChannel = SettingsCache::instance()->getUpdateReleaseChannel(); + auto releaseChannel = SettingsCache::instance().getUpdateReleaseChannel(); finishedCheckConnection = connect(releaseChannel, &ReleaseChannel::finishedCheck, this, &ClientUpdateChecker::actFinishedCheck); diff --git a/cockatrice/src/client/settings/cache_settings.cpp b/cockatrice/src/client/settings/cache_settings.cpp index c032d3ca0..0c6091a35 100644 --- a/cockatrice/src/client/settings/cache_settings.cpp +++ b/cockatrice/src/client/settings/cache_settings.cpp @@ -14,19 +14,11 @@ #include #include -QSharedPointer SettingsCache::settingsInstance = nullptr; +Q_GLOBAL_STATIC(SettingsCache, settingsCache) -QSharedPointer SettingsCache::instance() +SettingsCache &SettingsCache::instance() { - if (!settingsInstance) { - settingsInstance.reset(new SettingsCache()); // default real instance - } - return settingsInstance; -} - -void SettingsCache::setInstance(QSharedPointer newInstance) -{ - settingsInstance = newInstance; + return *settingsCache; // returns a QT managed singleton reference } QString SettingsCache::getDataPath() @@ -184,7 +176,7 @@ SettingsCache::SettingsCache() QString settingsPath = getSettingsPath(); settings = new QSettings(settingsPath + "global.ini", QSettings::IniFormat, this); shortcutsSettings = new ShortcutsSettings(settingsPath, this); - cardDatabaseSettings = QSharedPointer(new CardDatabaseSettings(settingsPath, this)); + cardDatabaseSettings = new CardDatabaseSettings(settingsPath, this); serversSettings = new ServersSettings(settingsPath, this); messageSettings = new MessageSettings(settingsPath, this); gameFiltersSettings = new GameFiltersSettings(settingsPath, this); diff --git a/cockatrice/src/client/settings/cache_settings.h b/cockatrice/src/client/settings/cache_settings.h index 5f08a8945..cf0daff69 100644 --- a/cockatrice/src/client/settings/cache_settings.h +++ b/cockatrice/src/client/settings/cache_settings.h @@ -188,7 +188,7 @@ signals: private: QSettings *settings; ShortcutsSettings *shortcutsSettings; - QSharedPointer cardDatabaseSettings; + CardDatabaseSettings *cardDatabaseSettings; ServersSettings *serversSettings; MessageSettings *messageSettings; GameFiltersSettings *gameFiltersSettings; @@ -325,11 +325,8 @@ private: bool roundCardCorners; bool showStatusBar; - explicit SettingsCache(); - - static QSharedPointer settingsInstance; - public: + SettingsCache(); QString getDataPath(); QString getSettingsPath(); QString getCachePath() const; @@ -895,7 +892,7 @@ public: { return *shortcutsSettings; } - QSharedPointer cardDatabase() const + CardDatabaseSettings *cardDatabase() const { return cardDatabaseSettings; } @@ -946,8 +943,7 @@ public: return roundCardCorners; } - static QSharedPointer instance(); - static void setInstance(QSharedPointer newInstance); + static SettingsCache &instance(); void resetPaths(); public slots: diff --git a/cockatrice/src/client/settings/shortcut_treeview.cpp b/cockatrice/src/client/settings/shortcut_treeview.cpp index 1e0423880..6b329b23d 100644 --- a/cockatrice/src/client/settings/shortcut_treeview.cpp +++ b/cockatrice/src/client/settings/shortcut_treeview.cpp @@ -59,7 +59,7 @@ ShortcutTreeView::ShortcutTreeView(QWidget *parent) : QTreeView(parent) expandAll(); - connect(&SettingsCache::instance()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &ShortcutTreeView::refreshShortcuts); } @@ -67,10 +67,10 @@ void ShortcutTreeView::populateShortcutsModel() { QHash parentItems; QStandardItem *curParent = nullptr; - for (const auto &key : SettingsCache::instance()->shortcuts().getAllShortcutKeys()) { - QString name = SettingsCache::instance()->shortcuts().getShortcut(key).getName(); - QString group = SettingsCache::instance()->shortcuts().getShortcut(key).getGroupName(); - QString shortcut = SettingsCache::instance()->shortcuts().getShortcutString(key); + for (const auto &key : SettingsCache::instance().shortcuts().getAllShortcutKeys()) { + QString name = SettingsCache::instance().shortcuts().getShortcut(key).getName(); + QString group = SettingsCache::instance().shortcuts().getShortcut(key).getGroupName(); + QString shortcut = SettingsCache::instance().shortcuts().getShortcutString(key); if (parentItems.contains(group)) { curParent = parentItems.value(group); @@ -110,7 +110,7 @@ static void loopOverModel(QAbstractItemModel *model, const QModelIndex &parent = if (model->hasChildren(friendlyNameIndex)) { const auto childIndex = model->index(0, 2, friendlyNameIndex); const auto key = model->data(childIndex).toString(); - const auto shortcutGroupName = SettingsCache::instance()->shortcuts().getShortcut(key).getGroupName(); + const auto shortcutGroupName = SettingsCache::instance().shortcuts().getShortcut(key).getGroupName(); model->setData(friendlyNameIndex, shortcutGroupName); loopOverModel(model, friendlyNameIndex); @@ -119,8 +119,8 @@ static void loopOverModel(QAbstractItemModel *model, const QModelIndex &parent = const auto keyIndex = model->index(r, 2, parent); const auto key = model->data(keyIndex).toString(); - const auto shortcutKey = SettingsCache::instance()->shortcuts().getShortcut(key).getName(); - const auto shortcutSequence = SettingsCache::instance()->shortcuts().getShortcutString(key); + const auto shortcutKey = SettingsCache::instance().shortcuts().getShortcut(key).getName(); + const auto shortcutSequence = SettingsCache::instance().shortcuts().getShortcutString(key); model->setData(friendlyNameIndex, shortcutKey); model->setData(shortcutSequenceIndex, shortcutSequence); } diff --git a/cockatrice/src/client/sound_engine.cpp b/cockatrice/src/client/sound_engine.cpp index d6d29b47d..31cb2a35e 100644 --- a/cockatrice/src/client/sound_engine.cpp +++ b/cockatrice/src/client/sound_engine.cpp @@ -15,9 +15,8 @@ SoundEngine::SoundEngine(QObject *parent) : QObject(parent), audioOutput(nullptr), player(nullptr) { ensureThemeDirectoryExists(); - connect(SettingsCache::instance().get(), &SettingsCache::soundThemeChanged, this, &SoundEngine::themeChangedSlot); - connect(SettingsCache::instance().get(), &SettingsCache::soundEnabledChanged, this, - &SoundEngine::soundEnabledChanged); + connect(&SettingsCache::instance(), &SettingsCache::soundThemeChanged, this, &SoundEngine::themeChangedSlot); + connect(&SettingsCache::instance(), &SettingsCache::soundEnabledChanged, this, &SoundEngine::soundEnabledChanged); soundEnabledChanged(); themeChangedSlot(); @@ -37,7 +36,7 @@ SoundEngine::~SoundEngine() void SoundEngine::soundEnabledChanged() { - if (SettingsCache::instance()->getSoundEnabled()) { + if (SettingsCache::instance().getSoundEnabled()) { qCInfo(SoundEngineLog) << "SoundEngine: enabling sound with" << audioData.size() << "sounds"; if (!player) { player = new QMediaPlayer; @@ -71,7 +70,7 @@ void SoundEngine::playSound(const QString &fileName) } player->stop(); - int volumeSliderValue = SettingsCache::instance()->getMasterVolume(); + int volumeSliderValue = SettingsCache::instance().getMasterVolume(); #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) player->audioOutput()->setVolume(qreal(volumeSliderValue) / 100); player->setSource(QUrl::fromLocalFile(audioData[fileName])); @@ -89,10 +88,10 @@ void SoundEngine::testSound() void SoundEngine::ensureThemeDirectoryExists() { - if (SettingsCache::instance()->getSoundThemeName().isEmpty() || - !getAvailableThemes().contains(SettingsCache::instance()->getSoundThemeName())) { + if (SettingsCache::instance().getSoundThemeName().isEmpty() || + !getAvailableThemes().contains(SettingsCache::instance().getSoundThemeName())) { qCInfo(SoundEngineLog) << "Sounds theme name not set, setting default value"; - SettingsCache::instance()->setSoundThemeName(DEFAULT_THEME_NAME); + SettingsCache::instance().setSoundThemeName(DEFAULT_THEME_NAME); } } @@ -103,7 +102,7 @@ QStringMap &SoundEngine::getAvailableThemes() // load themes from user profile dir - dir.setPath(SettingsCache::instance()->getDataPath() + "/sounds"); + dir.setPath(SettingsCache::instance().getDataPath() + "/sounds"); for (const QString &themeName : dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot, QDir::Name)) { if (!availableThemes.contains(themeName)) @@ -131,7 +130,7 @@ QStringMap &SoundEngine::getAvailableThemes() void SoundEngine::themeChangedSlot() { - QString themeName = SettingsCache::instance()->getSoundThemeName(); + QString themeName = SettingsCache::instance().getSoundThemeName(); qCInfo(SoundEngineLog) << "Sound theme changed:" << themeName; QDir dir = getAvailableThemes().value(themeName); diff --git a/cockatrice/src/database/interface/settings_card_preference_provider.h b/cockatrice/src/database/interface/settings_card_preference_provider.h index 72c240e5f..2901c4206 100644 --- a/cockatrice/src/database/interface/settings_card_preference_provider.h +++ b/cockatrice/src/database/interface/settings_card_preference_provider.h @@ -9,7 +9,7 @@ class SettingsCardPreferenceProvider : public ICardPreferenceProvider public: QString getCardPreferenceOverride(const QString &cardName) const override { - return SettingsCache::instance()->cardOverrides().getCardPreferenceOverride(cardName); + return SettingsCache::instance().cardOverrides().getCardPreferenceOverride(cardName); } }; diff --git a/cockatrice/src/game/board/abstract_card_drag_item.cpp b/cockatrice/src/game/board/abstract_card_drag_item.cpp index c540d6e2f..c961cbcb6 100644 --- a/cockatrice/src/game/board/abstract_card_drag_item.cpp +++ b/cockatrice/src/game/board/abstract_card_drag_item.cpp @@ -34,13 +34,12 @@ AbstractCardDragItem::AbstractCardDragItem(AbstractCardItem *_item, setCacheMode(DeviceCoordinateCache); - connect(SettingsCache::instance().get(), &SettingsCache::roundCardCornersChanged, this, - [this](bool _roundCardCorners) { - Q_UNUSED(_roundCardCorners); + connect(&SettingsCache::instance(), &SettingsCache::roundCardCornersChanged, this, [this](bool _roundCardCorners) { + Q_UNUSED(_roundCardCorners); - prepareGeometryChange(); - update(); - }); + prepareGeometryChange(); + update(); + }); connect(item, &QObject::destroyed, this, &AbstractCardDragItem::deleteLater); } @@ -48,7 +47,7 @@ AbstractCardDragItem::AbstractCardDragItem(AbstractCardItem *_item, QPainterPath AbstractCardDragItem::shape() const { QPainterPath shape; - qreal cardCornerRadius = SettingsCache::instance()->getRoundCardCorners() ? 0.05 * CARD_WIDTH : 0.0; + qreal cardCornerRadius = SettingsCache::instance().getRoundCardCorners() ? 0.05 * CARD_WIDTH : 0.0; shape.addRoundedRect(boundingRect(), cardCornerRadius, cardCornerRadius); return shape; } diff --git a/cockatrice/src/game/board/abstract_card_item.cpp b/cockatrice/src/game/board/abstract_card_item.cpp index 1045654b8..48720aa96 100644 --- a/cockatrice/src/game/board/abstract_card_item.cpp +++ b/cockatrice/src/game/board/abstract_card_item.cpp @@ -20,16 +20,15 @@ AbstractCardItem::AbstractCardItem(QGraphicsItem *parent, const CardRef &cardRef setFlag(ItemIsSelectable); setCacheMode(DeviceCoordinateCache); - connect(SettingsCache::instance().get(), &SettingsCache::displayCardNamesChanged, this, [this] { update(); }); + connect(&SettingsCache::instance(), &SettingsCache::displayCardNamesChanged, this, [this] { update(); }); refreshCardInfo(); - connect(SettingsCache::instance().get(), &SettingsCache::roundCardCornersChanged, this, - [this](bool _roundCardCorners) { - Q_UNUSED(_roundCardCorners); + connect(&SettingsCache::instance(), &SettingsCache::roundCardCornersChanged, this, [this](bool _roundCardCorners) { + Q_UNUSED(_roundCardCorners); - prepareGeometryChange(); - update(); - }); + prepareGeometryChange(); + update(); + }); } AbstractCardItem::~AbstractCardItem() @@ -45,7 +44,7 @@ QRectF AbstractCardItem::boundingRect() const QPainterPath AbstractCardItem::shape() const { QPainterPath shape; - qreal cardCornerRadius = SettingsCache::instance()->getRoundCardCorners() ? 0.05 * CARD_WIDTH : 0.0; + qreal cardCornerRadius = SettingsCache::instance().getRoundCardCorners() ? 0.05 * CARD_WIDTH : 0.0; shape.addRoundedRect(boundingRect(), cardCornerRadius, cardCornerRadius); return shape; } @@ -95,7 +94,7 @@ QSizeF AbstractCardItem::getTranslatedSize(QPainter *painter) const void AbstractCardItem::transformPainter(QPainter *painter, const QSizeF &translatedSize, int angle) { - const int MAX_FONT_SIZE = SettingsCache::instance()->getMaxFontSize(); + const int MAX_FONT_SIZE = SettingsCache::instance().getMaxFontSize(); const int fontSize = std::max(9, MAX_FONT_SIZE); QRectF totalBoundingRect = painter->combinedTransform().mapRect(boundingRect()); @@ -144,7 +143,7 @@ void AbstractCardItem::paintPicture(QPainter *painter, const QSizeF &translatedS painter->drawPath(shape()); } - if (translatedPixmap.isNull() || SettingsCache::instance()->getDisplayCardNames() || facedown) { + if (translatedPixmap.isNull() || SettingsCache::instance().getDisplayCardNames() || facedown) { painter->save(); transformPainter(painter, translatedSize, angle); painter->setPen(Qt::white); @@ -155,7 +154,7 @@ void AbstractCardItem::paintPicture(QPainter *painter, const QSizeF &translatedS nameStr = "# " + QString::number(id); else { QString prefix = ""; - if (SettingsCache::instance()->debug().getShowCardId()) { + if (SettingsCache::instance().debug().getShowCardId()) { prefix = "#" + QString::number(id) + " "; } nameStr = prefix + cardRef.name; @@ -216,7 +215,7 @@ void AbstractCardItem::setHovered(bool _hovered) processHoverEvent(); isHovered = _hovered; setZValue(_hovered ? 2000000004 : realZValue); - setScale(_hovered && SettingsCache::instance()->getScaleCards() ? 1.1 : 1); + setScale(_hovered && SettingsCache::instance().getScaleCards() ? 1.1 : 1); setTransformOriginPoint(_hovered ? CARD_WIDTH / 2 : 0, _hovered ? CARD_HEIGHT / 2 : 0); update(); } @@ -268,7 +267,7 @@ void AbstractCardItem::setTapped(bool _tapped, bool canAnimate) return; tapped = _tapped; - if (SettingsCache::instance()->getTapAnimation() && canAnimate) + if (SettingsCache::instance().getTapAnimation() && canAnimate) static_cast(scene())->registerAnimationItem(this); else { tapAngle = tapped ? 90 : 0; diff --git a/cockatrice/src/game/board/abstract_counter.cpp b/cockatrice/src/game/board/abstract_counter.cpp index 62a64c553..8ca593ace 100644 --- a/cockatrice/src/game/board/abstract_counter.cpp +++ b/cockatrice/src/game/board/abstract_counter.cpp @@ -57,7 +57,7 @@ AbstractCounter::AbstractCounter(Player *_player, menu = nullptr; } - connect(&SettingsCache::instance().get()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &AbstractCounter::refreshShortcuts); refreshShortcuts(); retranslateUi(); @@ -88,7 +88,7 @@ void AbstractCounter::setShortcutsActive() if (!player->getPlayerInfo()->getLocal()) { return; } - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); if (name == "life") { shortcutActive = true; aSet->setShortcuts(shortcuts.getShortcut("Player/aSet")); diff --git a/cockatrice/src/game/board/arrow_item.cpp b/cockatrice/src/game/board/arrow_item.cpp index 6d261d33f..fd044d042 100644 --- a/cockatrice/src/game/board/arrow_item.cpp +++ b/cockatrice/src/game/board/arrow_item.cpp @@ -238,12 +238,12 @@ void ArrowDragItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) if (startZone->getName().compare("hand") == 0) { startCard->playCard(false); CardInfoPtr ci = startCard->getCard().getCardPtr(); - if (ci && ((!SettingsCache::instance()->getPlayToStack() && ci->getTableRow() == 3) || - (SettingsCache::instance()->getPlayToStack() && ci->getTableRow() != 0 && + if (ci && ((!SettingsCache::instance().getPlayToStack() && ci->getTableRow() == 3) || + (SettingsCache::instance().getPlayToStack() && ci->getTableRow() != 0 && startCard->getZone()->getName().toStdString() != "stack"))) cmd.set_start_zone("stack"); else - cmd.set_start_zone(SettingsCache::instance()->getPlayToStack() ? "stack" : "table"); + cmd.set_start_zone(SettingsCache::instance().getPlayToStack() ? "stack" : "table"); } player->getPlayerActions()->sendGameCommand(cmd); } diff --git a/cockatrice/src/game/board/card_item.cpp b/cockatrice/src/game/board/card_item.cpp index 32265a0f1..52e237897 100644 --- a/cockatrice/src/game/board/card_item.cpp +++ b/cockatrice/src/game/board/card_item.cpp @@ -25,11 +25,10 @@ CardItem::CardItem(Player *_owner, QGraphicsItem *parent, const CardRef &cardRef { owner->addCard(this); - connect(&SettingsCache::instance().get()->cardCounters(), &CardCounterSettings::colorChanged, this, - [this](int counterId) { - if (counters.contains(counterId)) - update(); - }); + connect(&SettingsCache::instance().cardCounters(), &CardCounterSettings::colorChanged, this, [this](int counterId) { + if (counters.contains(counterId)) + update(); + }); } void CardItem::prepareDelete() @@ -72,7 +71,7 @@ void CardItem::retranslateUi() void CardItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { - auto &cardCounterSettings = SettingsCache::instance()->cardCounters(); + auto &cardCounterSettings = SettingsCache::instance().cardCounters(); painter->save(); AbstractCardItem::paint(painter, option, widget); @@ -380,7 +379,7 @@ void CardItem::playCard(bool faceDown) if (tz) emit tz->toggleTapped(); else { - if (SettingsCache::instance()->getClickPlaysAllSelected()) { + if (SettingsCache::instance().getClickPlaysAllSelected()) { faceDown ? zone->getPlayer()->getPlayerActions()->actPlayFacedown() : zone->getPlayer()->getPlayerActions()->actPlay(); } else { @@ -410,7 +409,7 @@ static bool isUnwritableRevealZone(CardZoneLogic *zone) void CardItem::handleClickedToPlay(bool shiftHeld) { if (isUnwritableRevealZone(zone)) { - if (SettingsCache::instance()->getClickPlaysAllSelected()) { + if (SettingsCache::instance().getClickPlaysAllSelected()) { zone->getPlayer()->getPlayerActions()->actHide(); } else { zone->removeCard(this); @@ -432,7 +431,7 @@ void CardItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) } } } else if ((event->modifiers() != Qt::AltModifier) && (event->button() == Qt::LeftButton) && - (!SettingsCache::instance()->getDoubleClickToPlay())) { + (!SettingsCache::instance().getDoubleClickToPlay())) { handleClickedToPlay(event->modifiers().testFlag(Qt::ShiftModifier)); } @@ -445,7 +444,7 @@ void CardItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) void CardItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) { if ((event->modifiers() != Qt::AltModifier) && (event->buttons() == Qt::LeftButton) && - (SettingsCache::instance()->getDoubleClickToPlay())) { + (SettingsCache::instance().getDoubleClickToPlay())) { handleClickedToPlay(event->modifiers().testFlag(Qt::ShiftModifier)); } event->accept(); diff --git a/cockatrice/src/game/deckview/deck_view.cpp b/cockatrice/src/game/deckview/deck_view.cpp index dddab8e3b..6c5e51fc4 100644 --- a/cockatrice/src/game/deckview/deck_view.cpp +++ b/cockatrice/src/game/deckview/deck_view.cpp @@ -73,12 +73,11 @@ DeckViewCard::DeckViewCard(QGraphicsItem *parent, const CardRef &cardRef, const { setAcceptHoverEvents(true); - connect(SettingsCache::instance().get(), &SettingsCache::roundCardCornersChanged, this, - [this](bool _roundCardCorners) { - Q_UNUSED(_roundCardCorners); + connect(&SettingsCache::instance(), &SettingsCache::roundCardCornersChanged, this, [this](bool _roundCardCorners) { + Q_UNUSED(_roundCardCorners); - update(); - }); + update(); + }); } DeckViewCard::~DeckViewCard() @@ -96,7 +95,7 @@ void DeckViewCard::paint(QPainter *painter, const QStyleOptionGraphicsItem *opti pen.setJoinStyle(Qt::MiterJoin); pen.setColor(originZone == DECK_ZONE_MAIN ? Qt::green : Qt::red); painter->setPen(pen); - qreal cardRadius = SettingsCache::instance()->getRoundCardCorners() ? 0.05 * (CARD_WIDTH - 3) : 0.0; + qreal cardRadius = SettingsCache::instance().getRoundCardCorners() ? 0.05 * (CARD_WIDTH - 3) : 0.0; painter->drawRoundedRect(QRectF(1.5, 1.5, CARD_WIDTH - 3., CARD_HEIGHT - 3.), cardRadius, cardRadius); painter->restore(); } diff --git a/cockatrice/src/game/deckview/deck_view_container.cpp b/cockatrice/src/game/deckview/deck_view_container.cpp index abf51b3c3..6a01467d1 100644 --- a/cockatrice/src/game/deckview/deck_view_container.cpp +++ b/cockatrice/src/game/deckview/deck_view_container.cpp @@ -95,11 +95,11 @@ DeckViewContainer::DeckViewContainer(int _playerId, TabGame *parent) setLayout(deckViewLayout); retranslateUi(); - connect(&SettingsCache::instance().get()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &DeckViewContainer::refreshShortcuts); refreshShortcuts(); - connect(SettingsCache::instance().get(), &SettingsCache::visualDeckStorageInGameChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::visualDeckStorageInGameChanged, this, &DeckViewContainer::setVisualDeckStorageExists); switchToDeckSelectView(); @@ -142,7 +142,7 @@ static void setVisibility(QPushButton *button, bool visible) void DeckViewContainer::switchToDeckSelectView() { - if (SettingsCache::instance()->getVisualDeckStorageInGame()) { + if (SettingsCache::instance().getVisualDeckStorageInGame()) { deckView->setHidden(true); tryCreateVisualDeckStorageWidget(); @@ -203,13 +203,13 @@ void DeckViewContainer::updateSideboardLockButtonText() sideboardLockButton->setText(tr("Sideboard locked")); } // setting text on a button removes its shortcut - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); sideboardLockButton->setShortcut(shortcuts.getSingleShortcut("DeckViewContainer/sideboardLockButton")); } void DeckViewContainer::refreshShortcuts() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); loadLocalButton->setShortcut(shortcuts.getSingleShortcut("DeckViewContainer/loadLocalButton")); loadRemoteButton->setShortcut(shortcuts.getSingleShortcut("DeckViewContainer/loadRemoteButton")); loadFromClipboardButton->setShortcut(shortcuts.getSingleShortcut("DeckViewContainer/loadFromClipboardButton")); diff --git a/cockatrice/src/game/dialogs/dlg_create_token.cpp b/cockatrice/src/game/dialogs/dlg_create_token.cpp index 9ef844bd2..7cafc3219 100644 --- a/cockatrice/src/game/dialogs/dlg_create_token.cpp +++ b/cockatrice/src/game/dialogs/dlg_create_token.cpp @@ -91,7 +91,7 @@ DlgCreateToken::DlgCreateToken(const QStringList &_predefinedTokens, QWidget *pa chooseTokenFromDeckRadioButton = new QRadioButton(tr("Show tokens from this &deck")); connect(chooseTokenFromDeckRadioButton, &QRadioButton::toggled, this, &DlgCreateToken::actChooseTokenFromDeck); - QByteArray deckHeaderState = SettingsCache::instance()->layouts().getDeckEditorDbHeaderState(); + QByteArray deckHeaderState = SettingsCache::instance().layouts().getDeckEditorDbHeaderState(); chooseTokenView = new QTreeView; chooseTokenView->setModel(cardDatabaseDisplayModel); chooseTokenView->setUniformRowHeights(true); @@ -151,13 +151,13 @@ DlgCreateToken::DlgCreateToken(const QStringList &_predefinedTokens, QWidget *pa setWindowTitle(tr("Create token")); resize(600, 500); - restoreGeometry(SettingsCache::instance()->getTokenDialogGeometry()); + restoreGeometry(SettingsCache::instance().getTokenDialogGeometry()); } void DlgCreateToken::closeEvent(QCloseEvent *event) { event->accept(); - SettingsCache::instance()->setTokenDialogGeometry(saveGeometry()); + SettingsCache::instance().setTokenDialogGeometry(saveGeometry()); } void DlgCreateToken::faceDownCheckBoxToggled(bool checked) @@ -190,7 +190,7 @@ void DlgCreateToken::tokenSelectionChanged(const QModelIndex ¤t, const QMo const QChar cardColor = cardInfo->getColorChar(); colorEdit->setCurrentIndex(colorEdit->findData(cardColor, Qt::UserRole, Qt::MatchFixedString)); ptEdit->setText(cardInfo->getPowTough()); - if (SettingsCache::instance()->getAnnotateTokens()) + if (SettingsCache::instance().getAnnotateTokens()) annotationEdit->setText(cardInfo->getText()); } else { nameEdit->setText(""); @@ -234,13 +234,13 @@ void DlgCreateToken::actChooseTokenFromDeck(bool checked) void DlgCreateToken::actOk() { - SettingsCache::instance()->setTokenDialogGeometry(saveGeometry()); + SettingsCache::instance().setTokenDialogGeometry(saveGeometry()); accept(); } void DlgCreateToken::actReject() { - SettingsCache::instance()->setTokenDialogGeometry(saveGeometry()); + SettingsCache::instance().setTokenDialogGeometry(saveGeometry()); reject(); } @@ -252,5 +252,5 @@ TokenInfo DlgCreateToken::getTokenInfo() const .annotation = annotationEdit->text(), .destroy = destroyCheckBox->isChecked(), .faceDown = faceDownCheckBox->isChecked(), - .providerId = SettingsCache::instance()->cardOverrides().getCardPreferenceOverride(nameEdit->text())}; + .providerId = SettingsCache::instance().cardOverrides().getCardPreferenceOverride(nameEdit->text())}; } diff --git a/cockatrice/src/game/game_scene.cpp b/cockatrice/src/game/game_scene.cpp index 784b0bd9b..2175f4aa2 100644 --- a/cockatrice/src/game/game_scene.cpp +++ b/cockatrice/src/game/game_scene.cpp @@ -31,7 +31,7 @@ GameScene::GameScene(PhasesToolbar *_phasesToolbar, QObject *parent) { animationTimer = new QBasicTimer; addItem(phasesToolbar); - connect(SettingsCache::instance().get(), &SettingsCache::minPlayersForMultiColumnLayoutChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::minPlayersForMultiColumnLayoutChanged, this, &GameScene::rearrange); rearrange(); @@ -206,7 +206,7 @@ QList GameScene::rotatePlayers(const QList &activePlayers, i int GameScene::determineColumnCount(int playerCount) { - return playerCount < SettingsCache::instance()->getMinPlayersForMultiColumnLayout() ? 1 : 2; + return playerCount < SettingsCache::instance().getMinPlayersForMultiColumnLayout() ? 1 : 2; } /** diff --git a/cockatrice/src/game/game_view.cpp b/cockatrice/src/game/game_view.cpp index 9597a56e2..dd5cc70c1 100644 --- a/cockatrice/src/game/game_view.cpp +++ b/cockatrice/src/game/game_view.cpp @@ -24,7 +24,7 @@ GameView::GameView(GameScene *scene, QWidget *parent) : QGraphicsView(scene, par connect(aCloseMostRecentZoneView, &QAction::triggered, scene, &GameScene::closeMostRecentZoneView); addAction(aCloseMostRecentZoneView); - connect(&SettingsCache::instance()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &GameView::refreshShortcuts); refreshShortcuts(); rubberBand = new QRubberBand(QRubberBand::Rectangle, this); @@ -67,5 +67,5 @@ void GameView::stopRubberBand() void GameView::refreshShortcuts() { aCloseMostRecentZoneView->setShortcuts( - SettingsCache::instance()->shortcuts().getShortcut("Player/aCloseMostRecentZoneView")); + SettingsCache::instance().shortcuts().getShortcut("Player/aCloseMostRecentZoneView")); } diff --git a/cockatrice/src/game/log/message_log_widget.cpp b/cockatrice/src/game/log/message_log_widget.cpp index 69d3cc4f7..d4af5d00d 100644 --- a/cockatrice/src/game/log/message_log_widget.cpp +++ b/cockatrice/src/game/log/message_log_widget.cpp @@ -645,7 +645,7 @@ void MessageLogWidget::logSetCardCounter(Player *player, QString cardName, int c finalStr = tr("%1 removes %2 \"%3\" counter(s) from %4 (now %5).", "", delta); } - auto &cardCounterSettings = SettingsCache::instance()->cardCounters(); + auto &cardCounterSettings = SettingsCache::instance().cardCounters(); appendHtmlServerMessage(finalStr.arg(sanitizeHtml(player->getPlayerInfo()->getName())) .arg("" + QString::number(delta) + "") .arg(cardCounterSettings.displayName(counterId)) diff --git a/cockatrice/src/game/player/menu/card_menu.cpp b/cockatrice/src/game/player/menu/card_menu.cpp index 49d55fa94..ed7854df2 100644 --- a/cockatrice/src/game/player/menu/card_menu.cpp +++ b/cockatrice/src/game/player/menu/card_menu.cpp @@ -414,7 +414,7 @@ void CardMenu::addRelatedCardActions() if (createRelatedCards) { if (shortcutsActive) { createRelatedCards->setShortcuts( - SettingsCache::instance()->shortcuts().getShortcut("Player/aCreateRelatedTokens")); + SettingsCache::instance().shortcuts().getShortcut("Player/aCreateRelatedTokens")); } connect(createRelatedCards, &QAction::triggered, player->getPlayerActions(), &PlayerActions::actCreateAllRelatedCards); @@ -447,7 +447,7 @@ void CardMenu::retranslateUi() mCardCounters->setTitle(tr("Ca&rd counters")); - auto &cardCounterSettings = SettingsCache::instance()->cardCounters(); + auto &cardCounterSettings = SettingsCache::instance().cardCounters(); for (int i = 0; i < aAddCounter.size(); ++i) { aAddCounter[i]->setText(tr("&Add counter (%1)").arg(cardCounterSettings.displayName(i))); @@ -462,7 +462,7 @@ void CardMenu::retranslateUi() void CardMenu::setShortcutsActive() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aHide->setShortcuts(shortcuts.getShortcut("Player/aHide")); aPlay->setShortcuts(shortcuts.getShortcut("Player/aPlay")); diff --git a/cockatrice/src/game/player/menu/grave_menu.cpp b/cockatrice/src/game/player/menu/grave_menu.cpp index e78b9d62a..47d01bc77 100644 --- a/cockatrice/src/game/player/menu/grave_menu.cpp +++ b/cockatrice/src/game/player/menu/grave_menu.cpp @@ -112,7 +112,7 @@ void GraveyardMenu::retranslateUi() void GraveyardMenu::setShortcutsActive() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aViewGraveyard->setShortcuts(shortcuts.getShortcut("Player/aViewGraveyard")); } diff --git a/cockatrice/src/game/player/menu/hand_menu.cpp b/cockatrice/src/game/player/menu/hand_menu.cpp index fbf8ce859..dc5fd0e2a 100644 --- a/cockatrice/src/game/player/menu/hand_menu.cpp +++ b/cockatrice/src/game/player/menu/hand_menu.cpp @@ -89,7 +89,7 @@ void HandMenu::retranslateUi() void HandMenu::setShortcutsActive() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aViewHand->setShortcuts(shortcuts.getShortcut("Player/aViewHand")); aSortHand->setShortcuts(shortcuts.getShortcut("Player/aSortHand")); aMulligan->setShortcuts(shortcuts.getShortcut("Player/aMulligan")); diff --git a/cockatrice/src/game/player/menu/library_menu.cpp b/cockatrice/src/game/player/menu/library_menu.cpp index 7879fd6f6..749439558 100644 --- a/cockatrice/src/game/player/menu/library_menu.cpp +++ b/cockatrice/src/game/player/menu/library_menu.cpp @@ -318,7 +318,7 @@ void LibraryMenu::onRevealTopCardTriggered() void LibraryMenu::setShortcutsActive() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aViewLibrary->setShortcuts(shortcuts.getShortcut("Player/aViewLibrary")); aViewTopCards->setShortcuts(shortcuts.getShortcut("Player/aViewTopCards")); diff --git a/cockatrice/src/game/player/menu/move_menu.cpp b/cockatrice/src/game/player/menu/move_menu.cpp index cec8f55e4..d27e16009 100644 --- a/cockatrice/src/game/player/menu/move_menu.cpp +++ b/cockatrice/src/game/player/menu/move_menu.cpp @@ -43,7 +43,7 @@ MoveMenu::MoveMenu(Player *player) : QMenu(tr("Move to")) void MoveMenu::setShortcutsActive() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aMoveToTopLibrary->setShortcuts(shortcuts.getShortcut("Player/aMoveToTopLibrary")); aMoveToBottomLibrary->setShortcuts(shortcuts.getShortcut("Player/aMoveToBottomLibrary")); diff --git a/cockatrice/src/game/player/menu/player_menu.cpp b/cockatrice/src/game/player/menu/player_menu.cpp index a84227e91..f1c461435 100644 --- a/cockatrice/src/game/player/menu/player_menu.cpp +++ b/cockatrice/src/game/player/menu/player_menu.cpp @@ -57,7 +57,7 @@ PlayerMenu::PlayerMenu(Player *_player) : player(_player) sayMenu = nullptr; } - connect(&SettingsCache::instance().get()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &PlayerMenu::refreshShortcuts); refreshShortcuts(); diff --git a/cockatrice/src/game/player/menu/pt_menu.cpp b/cockatrice/src/game/player/menu/pt_menu.cpp index 90899549b..dae03e07f 100644 --- a/cockatrice/src/game/player/menu/pt_menu.cpp +++ b/cockatrice/src/game/player/menu/pt_menu.cpp @@ -63,7 +63,7 @@ void PtMenu::retranslateUi() void PtMenu::setShortcutsActive() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aIncP->setShortcuts(shortcuts.getShortcut("Player/aIncP")); aDecP->setShortcuts(shortcuts.getShortcut("Player/aDecP")); diff --git a/cockatrice/src/game/player/menu/say_menu.cpp b/cockatrice/src/game/player/menu/say_menu.cpp index f120922da..3c4802aa5 100644 --- a/cockatrice/src/game/player/menu/say_menu.cpp +++ b/cockatrice/src/game/player/menu/say_menu.cpp @@ -6,8 +6,7 @@ SayMenu::SayMenu(Player *_player) : player(_player) { - connect(&SettingsCache::instance().get()->messages(), &MessageSettings::messageMacrosChanged, this, - &SayMenu::initSayMenu); + connect(&SettingsCache::instance().messages(), &MessageSettings::messageMacrosChanged, this, &SayMenu::initSayMenu); initSayMenu(); } @@ -15,11 +14,11 @@ void SayMenu::initSayMenu() { clear(); - int count = SettingsCache::instance()->messages().getCount(); + int count = SettingsCache::instance().messages().getCount(); setEnabled(count > 0); for (int i = 0; i < count; ++i) { - auto *newAction = new QAction(SettingsCache::instance()->messages().getMessageAt(i), this); + auto *newAction = new QAction(SettingsCache::instance().messages().getMessageAt(i), this); if (i < 10) { newAction->setShortcut(QKeySequence("Ctrl+" + QString::number((i + 1) % 10))); } diff --git a/cockatrice/src/game/player/menu/sideboard_menu.cpp b/cockatrice/src/game/player/menu/sideboard_menu.cpp index cd9364da8..bfc40cfd3 100644 --- a/cockatrice/src/game/player/menu/sideboard_menu.cpp +++ b/cockatrice/src/game/player/menu/sideboard_menu.cpp @@ -22,7 +22,7 @@ void SideboardMenu::retranslateUi() void SideboardMenu::setShortcutsActive() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aViewSideboard->setShortcuts(shortcuts.getShortcut("Player/aViewSideboard")); } diff --git a/cockatrice/src/game/player/menu/utility_menu.cpp b/cockatrice/src/game/player/menu/utility_menu.cpp index 7da8b133d..fa41579a5 100644 --- a/cockatrice/src/game/player/menu/utility_menu.cpp +++ b/cockatrice/src/game/player/menu/utility_menu.cpp @@ -94,7 +94,7 @@ void UtilityMenu::retranslateUi() void UtilityMenu::setShortcutsActive() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); if (player->getPlayerInfo()->getLocalOrJudge()) { aIncrementAllCardCounters->setShortcuts(shortcuts.getShortcut("Player/aIncrementAllCardCounters")); diff --git a/cockatrice/src/game/player/player_actions.cpp b/cockatrice/src/game/player/player_actions.cpp index 946fc78f5..e37b34604 100644 --- a/cockatrice/src/game/player/player_actions.cpp +++ b/cockatrice/src/game/player/player_actions.cpp @@ -60,7 +60,7 @@ void PlayerActions::playCard(CardItem *card, bool faceDown) const CardInfo &info = exactCard.getInfo(); int tableRow = info.getTableRow(); - bool playToStack = SettingsCache::instance()->getPlayToStack(); + bool playToStack = SettingsCache::instance().getPlayToStack(); QString currentZone = card->getZone()->getName(); if (currentZone == "stack" && tableRow == 3) { cmd.set_target_zone("grave"); @@ -280,7 +280,7 @@ void PlayerActions::actDrawCard() void PlayerActions::actMulligan() { - int startSize = SettingsCache::instance()->getStartingHandSize(); + int startSize = SettingsCache::instance().getStartingHandSize(); int handSize = player->getHandZone()->getCards().size(); int deckSize = player->getDeckZone()->getCards().size() + handSize; // hand is shuffled back into the deck bool ok; @@ -302,7 +302,7 @@ void PlayerActions::actMulligan() } sendGameCommand(cmd); if (startSize != number) { - SettingsCache::instance()->setStartingHandSize(number); + SettingsCache::instance().setStartingHandSize(number); } } @@ -878,10 +878,10 @@ void PlayerActions::setLastToken(CardInfoPtr cardInfo) lastTokenInfo = {.name = cardInfo->getName(), .color = cardInfo->getColors().isEmpty() ? QString() : cardInfo->getColors().left(1).toLower(), .pt = cardInfo->getPowTough(), - .annotation = SettingsCache::instance()->getAnnotateTokens() ? cardInfo->getText() : "", + .annotation = SettingsCache::instance().getAnnotateTokens() ? cardInfo->getText() : "", .destroy = true, .providerId = - SettingsCache::instance()->cardOverrides().getCardPreferenceOverride(cardInfo->getName())}; + SettingsCache::instance().cardOverrides().getCardPreferenceOverride(cardInfo->getName())}; lastTokenTableRow = TableZone::clampValidTableRow(2 - cardInfo->getTableRow()); @@ -1072,7 +1072,7 @@ void PlayerActions::createCard(const CardItem *sourceCard, } cmd.set_pt(cardInfo->getPowTough().toStdString()); - if (SettingsCache::instance()->getAnnotateTokens()) { + if (SettingsCache::instance().getAnnotateTokens()) { cmd.set_annotation(cardInfo->getText().toStdString()); } else { cmd.set_annotation(""); diff --git a/cockatrice/src/game/player/player_graphics_item.cpp b/cockatrice/src/game/player/player_graphics_item.cpp index 8d06fc392..e609591b3 100644 --- a/cockatrice/src/game/player/player_graphics_item.cpp +++ b/cockatrice/src/game/player/player_graphics_item.cpp @@ -5,9 +5,9 @@ PlayerGraphicsItem::PlayerGraphicsItem(Player *_player) : player(_player) { - connect(SettingsCache::instance().get(), &SettingsCache::horizontalHandChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::horizontalHandChanged, this, &PlayerGraphicsItem::rearrangeZones); - connect(SettingsCache::instance().get(), &SettingsCache::handJustificationChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::handJustificationChanged, this, &PlayerGraphicsItem::rearrangeZones); connect(player, &Player::rearrangeCounters, this, &PlayerGraphicsItem::rearrangeCounters); @@ -92,7 +92,7 @@ qreal PlayerGraphicsItem::getMinimumWidth() const { qreal result = tableZoneGraphicsItem->getMinimumWidth() + CARD_HEIGHT + 15 + counterAreaWidth + stackZoneGraphicsItem->boundingRect().width(); - if (!SettingsCache::instance()->getHorizontalHand()) { + if (!SettingsCache::instance().getHorizontalHand()) { result += handZoneGraphicsItem->boundingRect().width(); } return result; @@ -109,7 +109,7 @@ void PlayerGraphicsItem::processSceneSizeChange(int newPlayerWidth) // Extend table (and hand, if horizontal) to accommodate the new player width. qreal tableWidth = newPlayerWidth - CARD_HEIGHT - 15 - counterAreaWidth - stackZoneGraphicsItem->boundingRect().width(); - if (!SettingsCache::instance()->getHorizontalHand()) { + if (!SettingsCache::instance().getHorizontalHand()) { tableWidth -= handZoneGraphicsItem->boundingRect().width(); } @@ -148,7 +148,7 @@ void PlayerGraphicsItem::rearrangeCounters() void PlayerGraphicsItem::rearrangeZones() { QPointF base = QPointF(CARD_HEIGHT + counterAreaWidth + 15, 0); - if (SettingsCache::instance()->getHorizontalHand()) { + if (SettingsCache::instance().getHorizontalHand()) { if (mirrored) { if (player->getHandZone()->contentsKnown()) { player->getPlayerInfo()->setHandVisible(true); @@ -199,7 +199,7 @@ void PlayerGraphicsItem::updateBoundingRect() { prepareGeometryChange(); qreal width = CARD_HEIGHT + 15 + counterAreaWidth + stackZoneGraphicsItem->boundingRect().width(); - if (SettingsCache::instance()->getHorizontalHand()) { + if (SettingsCache::instance().getHorizontalHand()) { qreal handHeight = player->getPlayerInfo()->getHandVisible() ? handZoneGraphicsItem->boundingRect().height() : 0; bRect = QRectF(0, 0, width + tableZoneGraphicsItem->boundingRect().width(), diff --git a/cockatrice/src/game/zones/hand_zone.cpp b/cockatrice/src/game/zones/hand_zone.cpp index 15a6ba6b0..eb52f8f3b 100644 --- a/cockatrice/src/game/zones/hand_zone.cpp +++ b/cockatrice/src/game/zones/hand_zone.cpp @@ -28,7 +28,7 @@ void HandZone::handleDropEvent(const QList &dragItems, { QPoint point = dropPoint + scenePos().toPoint(); int x = -1; - if (SettingsCache::instance()->getHorizontalHand()) { + if (SettingsCache::instance().getHorizontalHand()) { for (x = 0; x < getLogic()->getCards().size(); x++) if (point.x() < static_cast(getLogic()->getCards().at(x))->scenePos().x()) break; @@ -54,7 +54,7 @@ void HandZone::handleDropEvent(const QList &dragItems, QRectF HandZone::boundingRect() const { - if (SettingsCache::instance()->getHorizontalHand()) + if (SettingsCache::instance().getHorizontalHand()) return QRectF(0, 0, width, CARD_HEIGHT + 10); else return QRectF(0, 0, 100, zoneHeight); @@ -70,8 +70,8 @@ void HandZone::reorganizeCards() { if (!getLogic()->getCards().isEmpty()) { const int cardCount = getLogic()->getCards().size(); - if (SettingsCache::instance()->getHorizontalHand()) { - bool leftJustified = SettingsCache::instance()->getLeftJustified(); + if (SettingsCache::instance().getHorizontalHand()) { + bool leftJustified = SettingsCache::instance().getLeftJustified(); qreal cardWidth = getLogic()->getCards().at(0)->boundingRect().width(); const int xPadding = leftJustified ? cardWidth * 1.4 : 5; qreal totalWidth = @@ -122,7 +122,7 @@ void HandZone::sortHand() void HandZone::setWidth(qreal _width) { - if (SettingsCache::instance()->getHorizontalHand()) { + if (SettingsCache::instance().getHorizontalHand()) { prepareGeometryChange(); width = _width; reorganizeCards(); diff --git a/cockatrice/src/game/zones/logic/view_zone_logic.cpp b/cockatrice/src/game/zones/logic/view_zone_logic.cpp index 3cf7487ed..5a4db3163 100644 --- a/cockatrice/src/game/zones/logic/view_zone_logic.cpp +++ b/cockatrice/src/game/zones/logic/view_zone_logic.cpp @@ -57,7 +57,7 @@ bool ZoneViewZoneLogic::prepareAddCard(int x) // autoclose check is done both here and in removeCard - if (cards.isEmpty() && !doInsert && SettingsCache::instance()->getCloseEmptyCardView()) { + if (cards.isEmpty() && !doInsert && SettingsCache::instance().getCloseEmptyCardView()) { emit closeView(); } @@ -144,7 +144,7 @@ void ZoneViewZoneLogic::removeCard(int position, bool toNewZone) // card gets dragged within the view. // Another autoclose check is done in prepareAddCard so that the view autocloses if the last card was moved to an // unrevealed portion of the same zone. - if (cards.isEmpty() && SettingsCache::instance()->getCloseEmptyCardView() && toNewZone) { + if (cards.isEmpty() && SettingsCache::instance().getCloseEmptyCardView() && toNewZone) { emit closeView(); return; } diff --git a/cockatrice/src/game/zones/pile_zone.cpp b/cockatrice/src/game/zones/pile_zone.cpp index db9710e55..cafb29038 100644 --- a/cockatrice/src/game/zones/pile_zone.cpp +++ b/cockatrice/src/game/zones/pile_zone.cpp @@ -22,13 +22,12 @@ PileZone::PileZone(PileZoneLogic *_logic, QGraphicsItem *parent) : CardZone(_log .rotate(90) .translate((float)-CARD_WIDTH / 2, (float)-CARD_HEIGHT / 2)); - connect(SettingsCache::instance().get(), &SettingsCache::roundCardCornersChanged, this, - [this](bool _roundCardCorners) { - Q_UNUSED(_roundCardCorners); + connect(&SettingsCache::instance(), &SettingsCache::roundCardCornersChanged, this, [this](bool _roundCardCorners) { + Q_UNUSED(_roundCardCorners); - prepareGeometryChange(); - update(); - }); + prepareGeometryChange(); + update(); + }); } QRectF PileZone::boundingRect() const @@ -39,7 +38,7 @@ QRectF PileZone::boundingRect() const QPainterPath PileZone::shape() const { QPainterPath shape; - qreal cardCornerRadius = SettingsCache::instance()->getRoundCardCorners() ? 0.05 * CARD_WIDTH : 0.0; + qreal cardCornerRadius = SettingsCache::instance().getRoundCardCorners() ? 0.05 * CARD_WIDTH : 0.0; shape.addRoundedRect(boundingRect(), cardCornerRadius, cardCornerRadius); return shape; } diff --git a/cockatrice/src/game/zones/select_zone.cpp b/cockatrice/src/game/zones/select_zone.cpp index 577f06853..719eec148 100644 --- a/cockatrice/src/game/zones/select_zone.cpp +++ b/cockatrice/src/game/zones/select_zone.cpp @@ -9,7 +9,7 @@ qreal divideCardSpaceInZone(qreal index, int cardCount, qreal totalHeight, qreal cardHeight, bool reverse) { - qreal cardMinOverlap = cardHeight * SettingsCache::instance()->getStackCardOverlapPercent() / 100; + qreal cardMinOverlap = cardHeight * SettingsCache::instance().getStackCardOverlapPercent() / 100; qreal desiredHeight = cardHeight * cardCount - cardMinOverlap * (cardCount - 1); qreal y; if (desiredHeight > totalHeight) { diff --git a/cockatrice/src/game/zones/table_zone.cpp b/cockatrice/src/game/zones/table_zone.cpp index a51550506..55aaeaa39 100644 --- a/cockatrice/src/game/zones/table_zone.cpp +++ b/cockatrice/src/game/zones/table_zone.cpp @@ -25,7 +25,7 @@ TableZone::TableZone(TableZoneLogic *_logic, QGraphicsItem *parent) : SelectZone connect(_logic, &TableZoneLogic::contentSizeChanged, this, &TableZone::resizeToContents); connect(_logic, &TableZoneLogic::toggleTapped, this, &TableZone::toggleTapped); connect(themeManager, &ThemeManager::themeChanged, this, &TableZone::updateBg); - connect(SettingsCache::instance().get(), &SettingsCache::invertVerticalCoordinateChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::invertVerticalCoordinateChanged, this, &TableZone::reorganizeCards); updateBg(); @@ -51,9 +51,9 @@ QRectF TableZone::boundingRect() const bool TableZone::isInverted() const { return ((getLogic()->getPlayer()->getGraphicsItem()->getMirrored() && - !SettingsCache::instance()->getInvertVerticalCoordinate()) || + !SettingsCache::instance().getInvertVerticalCoordinate()) || (!getLogic()->getPlayer()->getGraphicsItem()->getMirrored() && - SettingsCache::instance()->getInvertVerticalCoordinate())); + SettingsCache::instance().getInvertVerticalCoordinate())); } void TableZone::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/) diff --git a/cockatrice/src/game/zones/view_zone_widget.cpp b/cockatrice/src/game/zones/view_zone_widget.cpp index 9dbb16247..e2f242883 100644 --- a/cockatrice/src/game/zones/view_zone_widget.cpp +++ b/cockatrice/src/game/zones/view_zone_widget.cpp @@ -56,7 +56,7 @@ ZoneViewWidget::ZoneViewWidget(Player *_player, connect(help, &QAction::triggered, this, [this] { createSearchSyntaxHelpWindow(&searchEdit); }); - if (SettingsCache::instance()->getFocusCardViewSearchBar()) { + if (SettingsCache::instance().getFocusCardViewSearchBar()) { this->setActive(true); searchEdit.setFocus(); } @@ -144,9 +144,9 @@ ZoneViewWidget::ZoneViewWidget(Player *_player, connect(&sortBySelector, static_cast(&QComboBox::currentIndexChanged), this, &ZoneViewWidget::processSortBy); connect(&pileViewCheckBox, &QCheckBox::QT_STATE_CHANGED, this, &ZoneViewWidget::processSetPileView); - groupBySelector.setCurrentIndex(SettingsCache::instance()->getZoneViewGroupByIndex()); - sortBySelector.setCurrentIndex(SettingsCache::instance()->getZoneViewSortByIndex()); - pileViewCheckBox.setChecked(SettingsCache::instance()->getZoneViewPileView()); + groupBySelector.setCurrentIndex(SettingsCache::instance().getZoneViewGroupByIndex()); + sortBySelector.setCurrentIndex(SettingsCache::instance().getZoneViewSortByIndex()); + pileViewCheckBox.setChecked(SettingsCache::instance().getZoneViewPileView()); if (CardList::NoSort == static_cast(groupBySelector.currentData().toInt())) { pileViewCheckBox.setEnabled(false); @@ -176,7 +176,7 @@ ZoneViewWidget::ZoneViewWidget(Player *_player, void ZoneViewWidget::processGroupBy(int index) { auto option = static_cast(groupBySelector.itemData(index).toInt()); - SettingsCache::instance()->setZoneViewGroupByIndex(index); + SettingsCache::instance().setZoneViewGroupByIndex(index); zone->setGroupBy(option); // disable pile view checkbox if we're not grouping by anything @@ -200,13 +200,13 @@ void ZoneViewWidget::processSortBy(int index) return; } - SettingsCache::instance()->setZoneViewSortByIndex(index); + SettingsCache::instance().setZoneViewSortByIndex(index); zone->setSortBy(option); } void ZoneViewWidget::processSetPileView(QT_STATE_CHANGED_T value) { - SettingsCache::instance()->setZoneViewPileView(value); + SettingsCache::instance().setZoneViewPileView(value); zone->setPileView(value); } @@ -301,7 +301,7 @@ static qreal rowsToHeight(int rows) **/ static qreal calcMaxInitialHeight() { - return rowsToHeight(SettingsCache::instance()->getCardViewInitialRowsMax()); + return rowsToHeight(SettingsCache::instance().getCardViewInitialRowsMax()); } /** @@ -379,7 +379,7 @@ void ZoneViewWidget::initStyleOption(QStyleOption *option) const void ZoneViewWidget::expandWindow() { qreal maxInitialHeight = calcMaxInitialHeight(); - qreal maxExpandedHeight = rowsToHeight(SettingsCache::instance()->getCardViewExpandedRowsMax()); + qreal maxExpandedHeight = rowsToHeight(SettingsCache::instance().getCardViewExpandedRowsMax()); qreal height = rect().height() - extraHeight - 10; qreal maxHeight = maximumHeight() - extraHeight - 10; diff --git a/cockatrice/src/interface/card_picture_loader/card_picture_loader.cpp b/cockatrice/src/interface/card_picture_loader/card_picture_loader.cpp index ce6005b74..aebb09f0f 100644 --- a/cockatrice/src/interface/card_picture_loader/card_picture_loader.cpp +++ b/cockatrice/src/interface/card_picture_loader/card_picture_loader.cpp @@ -25,9 +25,8 @@ CardPictureLoader::CardPictureLoader() : QObject(nullptr) { worker = new CardPictureLoaderWorker; - connect(SettingsCache::instance().get(), &SettingsCache::picsPathChanged, this, - &CardPictureLoader::picsPathChanged); - connect(SettingsCache::instance().get(), &SettingsCache::picDownloadChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::picsPathChanged, this, &CardPictureLoader::picsPathChanged); + connect(&SettingsCache::instance(), &SettingsCache::picDownloadChanged, this, &CardPictureLoader::picDownloadChanged); connect(worker, &CardPictureLoaderWorker::imageLoaded, this, &CardPictureLoader::imageLoaded); @@ -217,7 +216,7 @@ void CardPictureLoader::picsPathChanged() bool CardPictureLoader::hasCustomArt() { - auto picsPath = SettingsCache::instance()->getPicsPath(); + auto picsPath = SettingsCache::instance().getPicsPath(); QDirIterator it(picsPath, QDir::Dirs | QDir::NoDotAndDotDot); // Check if there is at least one non-directory file in the pics path, other diff --git a/cockatrice/src/interface/card_picture_loader/card_picture_loader_local.cpp b/cockatrice/src/interface/card_picture_loader/card_picture_loader_local.cpp index d200bc0a2..33a78ddaf 100644 --- a/cockatrice/src/interface/card_picture_loader/card_picture_loader_local.cpp +++ b/cockatrice/src/interface/card_picture_loader/card_picture_loader_local.cpp @@ -10,11 +10,11 @@ static constexpr int REFRESH_INTERVAL_MS = 10 * 1000; CardPictureLoaderLocal::CardPictureLoaderLocal(QObject *parent) - : QObject(parent), picsPath(SettingsCache::instance()->getPicsPath()), - customPicsPath(SettingsCache::instance()->getCustomPicsPath()) + : QObject(parent), picsPath(SettingsCache::instance().getPicsPath()), + customPicsPath(SettingsCache::instance().getCustomPicsPath()) { // Hook up signals to settings - connect(SettingsCache::instance().get(), &SettingsCache::picsPathChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::picsPathChanged, this, &CardPictureLoaderLocal::picsPathChanged); refreshIndex(); @@ -150,6 +150,6 @@ QImage CardPictureLoaderLocal::tryLoadCardImageFromDisk(const QString &setName, void CardPictureLoaderLocal::picsPathChanged() { - picsPath = SettingsCache::instance()->getPicsPath(); - customPicsPath = SettingsCache::instance()->getCustomPicsPath(); + picsPath = SettingsCache::instance().getPicsPath(); + customPicsPath = SettingsCache::instance().getCustomPicsPath(); } diff --git a/cockatrice/src/interface/card_picture_loader/card_picture_loader_worker.cpp b/cockatrice/src/interface/card_picture_loader/card_picture_loader_worker.cpp index 3deea4e60..4a831c24a 100644 --- a/cockatrice/src/interface/card_picture_loader/card_picture_loader_worker.cpp +++ b/cockatrice/src/interface/card_picture_loader/card_picture_loader_worker.cpp @@ -15,7 +15,7 @@ static constexpr int MAX_REQUESTS_PER_SEC = 10; CardPictureLoaderWorker::CardPictureLoaderWorker() - : QObject(nullptr), picDownload(SettingsCache::instance()->getPicDownload()), requestQuota(MAX_REQUESTS_PER_SEC) + : QObject(nullptr), picDownload(SettingsCache::instance().getPicDownload()), requestQuota(MAX_REQUESTS_PER_SEC) { networkManager = new QNetworkAccessManager(this); // We need a timeout to ensure requests don't hang indefinitely in case of @@ -25,18 +25,18 @@ CardPictureLoaderWorker::CardPictureLoaderWorker() networkManager->setTransferTimeout(); #endif cache = new QNetworkDiskCache(this); - cache->setCacheDirectory(SettingsCache::instance()->getNetworkCachePath()); + cache->setCacheDirectory(SettingsCache::instance().getNetworkCachePath()); cache->setMaximumCacheSize(1024L * 1024L * - static_cast(SettingsCache::instance()->getNetworkCacheSizeInMB())); + static_cast(SettingsCache::instance().getNetworkCacheSizeInMB())); // Note: the settings is in MB, but QNetworkDiskCache uses bytes - connect(SettingsCache::instance().get(), &SettingsCache::networkCacheSizeChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::networkCacheSizeChanged, this, [this](int newSizeInMB) { cache->setMaximumCacheSize(1024L * 1024L * static_cast(newSizeInMB)); }); networkManager->setCache(cache); // Use a ManualRedirectPolicy since we keep track of redirects in picDownloadFinished // We can't use NoLessSafeRedirectPolicy because it is not applied with AlwaysCache networkManager->setRedirectPolicy(QNetworkRequest::ManualRedirectPolicy); - cacheFilePath = SettingsCache::instance()->getRedirectCachePath() + REDIRECT_CACHE_FILENAME; + cacheFilePath = SettingsCache::instance().getRedirectCachePath() + REDIRECT_CACHE_FILENAME; loadRedirectCache(); cleanStaleEntries(); @@ -223,7 +223,7 @@ void CardPictureLoaderWorker::cleanStaleEntries() auto it = redirectCache.begin(); while (it != redirectCache.end()) { - if (it.value().second.addDays(SettingsCache::instance()->getRedirectCacheTtl()) < now) { + if (it.value().second.addDays(SettingsCache::instance().getRedirectCacheTtl()) < now) { it = redirectCache.erase(it); // Remove stale entry } else { ++it; diff --git a/cockatrice/src/interface/card_picture_loader/card_picture_loader_worker_work.cpp b/cockatrice/src/interface/card_picture_loader/card_picture_loader_worker_work.cpp index 29097517e..07478ee70 100644 --- a/cockatrice/src/interface/card_picture_loader/card_picture_loader_worker_work.cpp +++ b/cockatrice/src/interface/card_picture_loader/card_picture_loader_worker_work.cpp @@ -18,7 +18,7 @@ static const QStringList MD5_BLACKLIST = {"db0c48db407a907c16ade38de048a441"}; CardPictureLoaderWorkerWork::CardPictureLoaderWorkerWork(const CardPictureLoaderWorker *worker, const ExactCard &toLoad) : QObject(nullptr), cardToDownload(CardPictureToLoad(toLoad)), - picDownload(SettingsCache::instance()->getPicDownload()) + picDownload(SettingsCache::instance().getPicDownload()) { // Hook up signals to the orchestrator connect(this, &CardPictureLoaderWorkerWork::requestImageDownload, worker, &CardPictureLoaderWorker::queueRequest); @@ -30,7 +30,7 @@ CardPictureLoaderWorkerWork::CardPictureLoaderWorkerWork(const CardPictureLoader &CardPictureLoaderWorker::imageRequestSucceeded); // Hook up signals to settings - connect(SettingsCache::instance().get(), SIGNAL(picDownloadChanged()), this, SLOT(picDownloadChanged())); + connect(&SettingsCache::instance(), SIGNAL(picDownloadChanged()), this, SLOT(picDownloadChanged())); startNextPicDownload(); } @@ -219,5 +219,5 @@ void CardPictureLoaderWorkerWork::concludeImageLoad(const QImage &image) void CardPictureLoaderWorkerWork::picDownloadChanged() { - picDownload = SettingsCache::instance()->getPicDownload(); + picDownload = SettingsCache::instance().getPicDownload(); } diff --git a/cockatrice/src/interface/card_picture_loader/card_picture_to_load.cpp b/cockatrice/src/interface/card_picture_loader/card_picture_to_load.cpp index 90cbe154a..c5caa7e34 100644 --- a/cockatrice/src/interface/card_picture_loader/card_picture_to_load.cpp +++ b/cockatrice/src/interface/card_picture_loader/card_picture_to_load.cpp @@ -10,7 +10,7 @@ #include CardPictureToLoad::CardPictureToLoad(const ExactCard &_card) - : card(_card), urlTemplates(SettingsCache::instance()->downloads().getAllURLs()) + : card(_card), urlTemplates(SettingsCache::instance().downloads().getAllURLs()) { if (card) { sortedSets = extractSetsSorted(card); @@ -34,12 +34,12 @@ QList CardPictureToLoad::extractSetsSorted(const ExactCard &card) } } if (sortedSets.empty()) { - sortedSets << CardSet::newInstance(SettingsCache::instance()->cardDatabase(), "", "", "", QDate()); + sortedSets << CardSet::newInstance(SettingsCache::instance().cardDatabase(), "", "", "", QDate()); } std::sort(sortedSets.begin(), sortedSets.end(), SetPriorityComparator()); // If the user hasn't disabled arts other than their personal preference... - if (!SettingsCache::instance()->getOverrideAllCardArtWithPersonalPreference()) { + if (!SettingsCache::instance().getOverrideAllCardArtWithPersonalPreference()) { // If the pixmapCacheKey corresponds to a specific set, we have to try to load it first. qsizetype setIndex = sortedSets.indexOf(card.getPrinting().getSet()); if (setIndex > 0) { // we don't need to move the set if it's already first diff --git a/cockatrice/src/interface/theme_manager.cpp b/cockatrice/src/interface/theme_manager.cpp index aba64da76..ec52a0f6e 100644 --- a/cockatrice/src/interface/theme_manager.cpp +++ b/cockatrice/src/interface/theme_manager.cpp @@ -24,16 +24,16 @@ static const QStringList DEFAULT_RESOURCE_PATHS = {":/resources"}; ThemeManager::ThemeManager(QObject *parent) : QObject(parent) { ensureThemeDirectoryExists(); - connect(SettingsCache::instance().get(), &SettingsCache::themeChanged, this, &ThemeManager::themeChangedSlot); + connect(&SettingsCache::instance(), &SettingsCache::themeChanged, this, &ThemeManager::themeChangedSlot); themeChangedSlot(); } void ThemeManager::ensureThemeDirectoryExists() { - if (SettingsCache::instance()->getThemeName().isEmpty() || - !getAvailableThemes().contains(SettingsCache::instance()->getThemeName())) { + if (SettingsCache::instance().getThemeName().isEmpty() || + !getAvailableThemes().contains(SettingsCache::instance().getThemeName())) { qCInfo(ThemeManagerLog) << "Theme name not set, setting default value"; - SettingsCache::instance()->setThemeName(NONE_THEME_NAME); + SettingsCache::instance().setThemeName(NONE_THEME_NAME); } } @@ -46,7 +46,7 @@ QStringMap &ThemeManager::getAvailableThemes() availableThemes.insert(NONE_THEME_NAME, QString()); // load themes from user profile dir - dir.setPath(SettingsCache::instance()->getThemesPath()); + dir.setPath(SettingsCache::instance().getThemesPath()); for (QString themeName : dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot, QDir::Name)) { if (!availableThemes.contains(themeName)) { @@ -104,7 +104,7 @@ QBrush ThemeManager::loadExtraBrush(QString fileName, QBrush &fallbackBrush) void ThemeManager::themeChangedSlot() { - QString themeName = SettingsCache::instance()->getThemeName(); + QString themeName = SettingsCache::instance().getThemeName(); qCInfo(ThemeManagerLog) << "Theme changed:" << themeName; QString dirPath = getAvailableThemes().value(themeName); diff --git a/cockatrice/src/interface/widgets/cards/additional_info/color_identity_widget.cpp b/cockatrice/src/interface/widgets/cards/additional_info/color_identity_widget.cpp index 485526f71..20f4b29df 100644 --- a/cockatrice/src/interface/widgets/cards/additional_info/color_identity_widget.cpp +++ b/cockatrice/src/interface/widgets/cards/additional_info/color_identity_widget.cpp @@ -27,7 +27,7 @@ ColorIdentityWidget::ColorIdentityWidget(QWidget *parent, CardInfoPtr _card) : Q populateManaSymbolWidgets(); } - connect(SettingsCache::instance().get(), &SettingsCache::visualDeckStorageDrawUnusedColorIdentitiesChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::visualDeckStorageDrawUnusedColorIdentitiesChanged, this, &ColorIdentityWidget::toggleUnusedVisibility); } @@ -42,7 +42,7 @@ ColorIdentityWidget::ColorIdentityWidget(QWidget *parent, QString _manaCost) populateManaSymbolWidgets(); - connect(SettingsCache::instance().get(), &SettingsCache::visualDeckStorageDrawUnusedColorIdentitiesChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::visualDeckStorageDrawUnusedColorIdentitiesChanged, this, &ColorIdentityWidget::toggleUnusedVisibility); } @@ -52,7 +52,7 @@ void ColorIdentityWidget::populateManaSymbolWidgets() QString fullColorIdentity = "WUBRG"; QStringList symbols = parseColorIdentity(manaCost); // Parse mana cost string - if (SettingsCache::instance()->getVisualDeckStorageDrawUnusedColorIdentities()) { + if (SettingsCache::instance().getVisualDeckStorageDrawUnusedColorIdentities()) { for (const QString symbol : fullColorIdentity) { auto *manaSymbol = new ManaSymbolWidget(this, symbol, symbols.contains(symbol)); layout->addWidget(manaSymbol); diff --git a/cockatrice/src/interface/widgets/cards/additional_info/mana_symbol_widget.cpp b/cockatrice/src/interface/widgets/cards/additional_info/mana_symbol_widget.cpp index b42bf44a3..07cc382ad 100644 --- a/cockatrice/src/interface/widgets/cards/additional_info/mana_symbol_widget.cpp +++ b/cockatrice/src/interface/widgets/cards/additional_info/mana_symbol_widget.cpp @@ -16,7 +16,7 @@ ManaSymbolWidget::ManaSymbolWidget(QWidget *parent, QString _symbol, bool _isAct setGraphicsEffect(opacityEffect); updateOpacity(); - connect(SettingsCache::instance().get(), &SettingsCache::visualDeckStorageUnusedColorIdentitiesOpacityChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::visualDeckStorageUnusedColorIdentitiesOpacityChanged, this, &ManaSymbolWidget::updateOpacity); } @@ -42,8 +42,7 @@ void ManaSymbolWidget::updateOpacity() opacity = isActive ? 1.0 : 0.5; } else { // It's just for display, they can do whatever they want. - opacity = - isActive ? 1.0 : SettingsCache::instance()->getVisualDeckStorageUnusedColorIdentitiesOpacity() / 100.0; + opacity = isActive ? 1.0 : SettingsCache::instance().getVisualDeckStorageUnusedColorIdentitiesOpacity() / 100.0; } opacityEffect->setOpacity(opacity); } diff --git a/cockatrice/src/interface/widgets/cards/card_info_frame_widget.cpp b/cockatrice/src/interface/widgets/cards/card_info_frame_widget.cpp index 4d0b99c5d..9fea41076 100644 --- a/cockatrice/src/interface/widgets/cards/card_info_frame_widget.cpp +++ b/cockatrice/src/interface/widgets/cards/card_info_frame_widget.cpp @@ -61,7 +61,7 @@ CardInfoFrameWidget::CardInfoFrameWidget(QWidget *parent) tab3Layout->addWidget(splitter); tab3->setLayout(tab3Layout); - setViewMode(SettingsCache::instance()->getCardInfoViewMode()); + setViewMode(SettingsCache::instance().getCardInfoViewMode()); } void CardInfoFrameWidget::retranslateUi() @@ -128,7 +128,7 @@ void CardInfoFrameWidget::setViewMode(int mode) refreshLayout(); - SettingsCache::instance()->setCardInfoViewMode(mode); + SettingsCache::instance().setCardInfoViewMode(mode); } static bool hasTransformation(const CardInfo &info) diff --git a/cockatrice/src/interface/widgets/cards/card_info_picture_enlarged_widget.cpp b/cockatrice/src/interface/widgets/cards/card_info_picture_enlarged_widget.cpp index 826bb1af4..9a79bd32f 100644 --- a/cockatrice/src/interface/widgets/cards/card_info_picture_enlarged_widget.cpp +++ b/cockatrice/src/interface/widgets/cards/card_info_picture_enlarged_widget.cpp @@ -18,12 +18,11 @@ CardInfoPictureEnlargedWidget::CardInfoPictureEnlargedWidget(QWidget *parent) : setWindowFlags(Qt::ToolTip); // Keeps this widget on top of everything setAttribute(Qt::WA_TranslucentBackground); - connect(SettingsCache::instance().get(), &SettingsCache::roundCardCornersChanged, this, - [this](bool _roundCardCorners) { - Q_UNUSED(_roundCardCorners); + connect(&SettingsCache::instance(), &SettingsCache::roundCardCornersChanged, this, [this](bool _roundCardCorners) { + Q_UNUSED(_roundCardCorners); - update(); - }); + update(); + }); } /** @@ -87,7 +86,7 @@ void CardInfoPictureEnlargedWidget::paintEvent(QPaintEvent *event) // Define the radius for rounded corners // Adjust the radius as needed for rounded corners - qreal radius = SettingsCache::instance()->getRoundCardCorners() ? 0.05 * scaledSize.width() : 0.; + qreal radius = SettingsCache::instance().getRoundCardCorners() ? 0.05 * scaledSize.width() : 0.; QStylePainter painter(this); // Fill the background with transparent color to ensure rounded corners are rendered properly diff --git a/cockatrice/src/interface/widgets/cards/card_info_picture_widget.cpp b/cockatrice/src/interface/widgets/cards/card_info_picture_widget.cpp index 440490770..8ad86eadc 100644 --- a/cockatrice/src/interface/widgets/cards/card_info_picture_widget.cpp +++ b/cockatrice/src/interface/widgets/cards/card_info_picture_widget.cpp @@ -58,12 +58,11 @@ CardInfoPictureWidget::CardInfoPictureWidget(QWidget *parent, const bool _hoverT animation->setStartValue(originalPos); animation->setEndValue(originalPos - QPoint(0, animationOffset)); - connect(SettingsCache::instance().get(), &SettingsCache::roundCardCornersChanged, this, - [this](bool _roundCardCorners) { - Q_UNUSED(_roundCardCorners); + connect(&SettingsCache::instance(), &SettingsCache::roundCardCornersChanged, this, [this](bool _roundCardCorners) { + Q_UNUSED(_roundCardCorners); - update(); - }); + update(); + }); } /** @@ -183,7 +182,7 @@ void CardInfoPictureWidget::paintEvent(QPaintEvent *event) } QPixmap transformedPixmap = resizedPixmap; // Default pixmap - if (SettingsCache::instance()->getAutoRotateSidewaysLayoutCards()) { + if (SettingsCache::instance().getAutoRotateSidewaysLayoutCards()) { if (exactCard.getInfo().getLandscapeOrientation()) { // Rotate pixmap 90 degrees to the left QTransform transform; @@ -213,8 +212,7 @@ void CardInfoPictureWidget::paintEvent(QPaintEvent *event) // Compute rounded corner radius // Ensure consistent rounding - qreal radius = - SettingsCache::instance()->getRoundCardCorners() ? 0.05 * static_cast(targetRect.width()) : 0.; + qreal radius = SettingsCache::instance().getRoundCardCorners() ? 0.05 * static_cast(targetRect.width()) : 0.; // Draw the pixmap with rounded corners QStylePainter painter(this); diff --git a/cockatrice/src/interface/widgets/cards/deck_preview_card_picture_widget.cpp b/cockatrice/src/interface/widgets/cards/deck_preview_card_picture_widget.cpp index e5c0707d3..8f4e1a115 100644 --- a/cockatrice/src/interface/widgets/cards/deck_preview_card_picture_widget.cpp +++ b/cockatrice/src/interface/widgets/cards/deck_preview_card_picture_widget.cpp @@ -40,7 +40,7 @@ DeckPreviewCardPictureWidget::DeckPreviewCardPictureWidget(QWidget *parent, singleClickTimer = new QTimer(this); singleClickTimer->setSingleShot(true); connect(singleClickTimer, &QTimer::timeout, this, [this]() { emit imageClicked(lastMouseEvent, this); }); - connect(SettingsCache::instance().get(), &SettingsCache::visualDeckStorageSelectionAnimationChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::visualDeckStorageSelectionAnimationChanged, this, &CardInfoPictureWidget::setRaiseOnEnterEnabled); } diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_editor_database_display_widget.cpp b/cockatrice/src/interface/widgets/deck_editor/deck_editor_database_display_widget.cpp index 4b33d129e..b5aa007f0 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_editor_database_display_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_editor/deck_editor_database_display_widget.cpp @@ -83,7 +83,7 @@ DeckEditorDatabaseDisplayWidget::DeckEditorDatabaseDisplayWidget(AbstractTabDeck &DeckEditorDatabaseDisplayWidget::updateCard); connect(databaseView, &QTreeView::doubleClicked, this, &DeckEditorDatabaseDisplayWidget::actAddCardToMainDeck); - QByteArray dbHeaderState = SettingsCache::instance()->layouts().getDeckEditorDbHeaderState(); + QByteArray dbHeaderState = SettingsCache::instance().layouts().getDeckEditorDbHeaderState(); if (dbHeaderState.isNull()) { // first run databaseView->setColumnWidth(0, 200); @@ -189,7 +189,7 @@ void DeckEditorDatabaseDisplayWidget::databaseCustomMenu(QPoint point) QAction *addToDeck, *addToSideboard, *selectPrinting, *edhRecCommander, *edhRecCard; addToDeck = menu.addAction(tr("Add to Deck")); addToSideboard = menu.addAction(tr("Add to Sideboard")); - if (!SettingsCache::instance()->getOverrideAllCardArtWithPersonalPreference()) { + if (!SettingsCache::instance().getOverrideAllCardArtWithPersonalPreference()) { selectPrinting = menu.addAction(tr("Select Printing")); connect(selectPrinting, &QAction::triggered, this, [this, card] { deckEditor->showPrintingSelector(); }); } @@ -232,7 +232,7 @@ void DeckEditorDatabaseDisplayWidget::copyDatabaseCellContents() void DeckEditorDatabaseDisplayWidget::saveDbHeaderState() { - SettingsCache::instance()->layouts().setDeckEditorDbHeaderState(databaseView->header()->saveState()); + SettingsCache::instance().layouts().setDeckEditorDbHeaderState(databaseView->header()->saveState()); } void DeckEditorDatabaseDisplayWidget::setFilterTree(FilterTree *filterTree) diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp b/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp index c36e6bbe4..0e6b535bf 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp @@ -63,18 +63,18 @@ void DeckEditorDeckDockWidget::createDeckDock() showBannerCardCheckBox = new QCheckBox(); showBannerCardCheckBox->setObjectName("showBannerCardCheckBox"); - showBannerCardCheckBox->setChecked(SettingsCache::instance()->getDeckEditorBannerCardComboBoxVisible()); - connect(showBannerCardCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + showBannerCardCheckBox->setChecked(SettingsCache::instance().getDeckEditorBannerCardComboBoxVisible()); + connect(showBannerCardCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setDeckEditorBannerCardComboBoxVisible); - connect(SettingsCache::instance().get(), &SettingsCache::deckEditorBannerCardComboBoxVisibleChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::deckEditorBannerCardComboBoxVisibleChanged, this, &DeckEditorDeckDockWidget::updateShowBannerCardComboBox); showTagsWidgetCheckBox = new QCheckBox(); showTagsWidgetCheckBox->setObjectName("showTagsWidgetCheckBox"); - showTagsWidgetCheckBox->setChecked(SettingsCache::instance()->getDeckEditorTagsWidgetVisible()); - connect(showTagsWidgetCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + showTagsWidgetCheckBox->setChecked(SettingsCache::instance().getDeckEditorTagsWidgetVisible()); + connect(showTagsWidgetCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setDeckEditorTagsWidgetVisible); - connect(SettingsCache::instance().get(), &SettingsCache::deckEditorTagsWidgetVisibleChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::deckEditorTagsWidgetVisibleChanged, this, &DeckEditorDeckDockWidget::updateShowTagsWidget); quickSettingsWidget->addSettingsWidget(showBannerCardCheckBox); @@ -91,7 +91,7 @@ void DeckEditorDeckDockWidget::createDeckDock() bannerCardLabel = new QLabel(); bannerCardLabel->setObjectName("bannerCardLabel"); bannerCardLabel->setText(tr("Banner Card")); - bannerCardLabel->setHidden(!SettingsCache::instance()->getDeckEditorBannerCardComboBoxVisible()); + bannerCardLabel->setHidden(!SettingsCache::instance().getDeckEditorBannerCardComboBoxVisible()); bannerCardComboBox = new QComboBox(this); connect(deckModel, &DeckListModel::dataChanged, this, [this]() { // Delay the update to avoid race conditions @@ -99,10 +99,10 @@ void DeckEditorDeckDockWidget::createDeckDock() }); connect(bannerCardComboBox, QOverload::of(&QComboBox::currentIndexChanged), this, &DeckEditorDeckDockWidget::setBannerCard); - bannerCardComboBox->setHidden(!SettingsCache::instance()->getDeckEditorBannerCardComboBoxVisible()); + bannerCardComboBox->setHidden(!SettingsCache::instance().getDeckEditorBannerCardComboBoxVisible()); deckTagsDisplayWidget = new DeckPreviewDeckTagsDisplayWidget(this, deckModel->getDeckList()); - deckTagsDisplayWidget->setHidden(!SettingsCache::instance()->getDeckEditorTagsWidgetVisible()); + deckTagsDisplayWidget->setHidden(!SettingsCache::instance().getDeckEditorTagsWidgetVisible()); activeGroupCriteriaLabel = new QLabel(this); @@ -577,7 +577,7 @@ void DeckEditorDeckDockWidget::offsetCountAtIndex(const QModelIndex &idx, int of void DeckEditorDeckDockWidget::decklistCustomMenu(QPoint point) { - if (!SettingsCache::instance()->getOverrideAllCardArtWithPersonalPreference()) { + if (!SettingsCache::instance().getOverrideAllCardArtWithPersonalPreference()) { QMenu menu; QAction *selectPrinting = menu.addAction(tr("Select Printing")); @@ -589,7 +589,7 @@ void DeckEditorDeckDockWidget::decklistCustomMenu(QPoint point) void DeckEditorDeckDockWidget::refreshShortcuts() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aRemoveCard->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aRemoveCard")); aIncrement->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aIncrement")); aDecrement->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aDecrement")); diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_editor_filter_dock_widget.cpp b/cockatrice/src/interface/widgets/deck_editor/deck_editor_filter_dock_widget.cpp index 40915de8c..4957e24ec 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_editor_filter_dock_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_editor/deck_editor_filter_dock_widget.cpp @@ -128,7 +128,7 @@ void DeckEditorFilterDockWidget::actClearFilterOne() void DeckEditorFilterDockWidget::refreshShortcuts() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aClearFilterAll->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aClearFilterAll")); aClearFilterOne->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aClearFilterOne")); diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_connect.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_connect.cpp index fed7f3695..ed32b356c 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_connect.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_connect.cpp @@ -75,7 +75,7 @@ DlgConnect::DlgConnect(QWidget *parent) : QDialog(parent) autoConnectCheckBox = new QCheckBox(tr("A&uto connect")); autoConnectCheckBox->setToolTip(tr("Automatically connect to the most recent login when Cockatrice opens")); - auto &servers = SettingsCache::instance()->servers(); + auto &servers = SettingsCache::instance().servers(); if (servers.getSavePassword()) { autoConnectCheckBox->setChecked(servers.getAutoConnect() > 0); autoConnectCheckBox->setEnabled(true); @@ -213,7 +213,7 @@ void DlgConnect::rebuildComboBoxList(int failure) UserConnection_Information uci; savedHostList = uci.getServerInfo(); - auto &servers = SettingsCache::instance()->servers(); + auto &servers = SettingsCache::instance().servers(); bool autoConnectEnabled = servers.getAutoConnect() > 0; QString previousHostName = servers.getPrevioushostName(); QString autoConnectSaveName = servers.getSaveName(); @@ -330,7 +330,7 @@ void DlgConnect::passwordSaved(QT_STATE_CHANGED_T state) void DlgConnect::actOk() { - ServersSettings &servers = SettingsCache::instance()->servers(); + ServersSettings &servers = SettingsCache::instance().servers(); if (newHostButton->isChecked()) { if (saveEdit->text().isEmpty()) { @@ -363,7 +363,7 @@ QString DlgConnect::getHost() const void DlgConnect::actForgotPassword() { - ServersSettings &servers = SettingsCache::instance()->servers(); + ServersSettings &servers = SettingsCache::instance().servers(); servers.setFPHostName(hostEdit->text()); servers.setFPPort(portEdit->text()); servers.setFPPlayerName(playernameEdit->text().trimmed()); @@ -373,6 +373,6 @@ void DlgConnect::actForgotPassword() void DlgConnect::actRemoveSavedServer() { - SettingsCache::instance()->servers().removeServer(hostEdit->text()); + SettingsCache::instance().servers().removeServer(hostEdit->text()); previousHosts->removeItem(previousHosts->currentIndex()); } \ No newline at end of file diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_create_game.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_create_game.cpp index 21acfbde3..d69c7a08a 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_create_game.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_create_game.cpp @@ -50,7 +50,7 @@ void DlgCreateGame::sharedCtor() QRadioButton *gameTypeRadioButton = new QRadioButton(gameTypeIterator.value(), this); gameTypeLayout->addWidget(gameTypeRadioButton); gameTypeCheckBoxes.insert(gameTypeIterator.key(), gameTypeRadioButton); - bool isChecked = SettingsCache::instance()->getGameTypes().contains(gameTypeIterator.value() + ", "); + bool isChecked = SettingsCache::instance().getGameTypes().contains(gameTypeIterator.value() + ", "); gameTypeCheckBoxes[gameTypeIterator.key()]->setChecked(isChecked); } QGroupBox *gameTypeGroupBox = new QGroupBox(tr("Game type")); @@ -150,23 +150,23 @@ DlgCreateGame::DlgCreateGame(TabRoom *_room, const QMap &_gameType { sharedCtor(); - rememberGameSettings->setChecked(SettingsCache::instance()->getRememberGameSettings()); - descriptionEdit->setText(SettingsCache::instance()->getGameDescription()); - maxPlayersEdit->setValue(SettingsCache::instance()->getMaxPlayers()); + rememberGameSettings->setChecked(SettingsCache::instance().getRememberGameSettings()); + descriptionEdit->setText(SettingsCache::instance().getGameDescription()); + maxPlayersEdit->setValue(SettingsCache::instance().getMaxPlayers()); if (room && room->getUserInfo()->user_level() & ServerInfo_User::IsRegistered) { - onlyBuddiesCheckBox->setChecked(SettingsCache::instance()->getOnlyBuddies()); - onlyRegisteredCheckBox->setChecked(SettingsCache::instance()->getOnlyRegistered()); + onlyBuddiesCheckBox->setChecked(SettingsCache::instance().getOnlyBuddies()); + onlyRegisteredCheckBox->setChecked(SettingsCache::instance().getOnlyRegistered()); } else { onlyBuddiesCheckBox->setEnabled(false); onlyRegisteredCheckBox->setEnabled(false); } - spectatorsAllowedCheckBox->setChecked(SettingsCache::instance()->getSpectatorsAllowed()); - spectatorsNeedPasswordCheckBox->setChecked(SettingsCache::instance()->getSpectatorsNeedPassword()); - spectatorsCanTalkCheckBox->setChecked(SettingsCache::instance()->getSpectatorsCanTalk()); - spectatorsSeeEverythingCheckBox->setChecked(SettingsCache::instance()->getSpectatorsCanSeeEverything()); - createGameAsSpectatorCheckBox->setChecked(SettingsCache::instance()->getCreateGameAsSpectator()); - startingLifeTotalEdit->setValue(SettingsCache::instance()->getDefaultStartingLifeTotal()); - shareDecklistsOnLoadCheckBox->setChecked(SettingsCache::instance()->getShareDecklistsOnLoad()); + spectatorsAllowedCheckBox->setChecked(SettingsCache::instance().getSpectatorsAllowed()); + spectatorsNeedPasswordCheckBox->setChecked(SettingsCache::instance().getSpectatorsNeedPassword()); + spectatorsCanTalkCheckBox->setChecked(SettingsCache::instance().getSpectatorsCanTalk()); + spectatorsSeeEverythingCheckBox->setChecked(SettingsCache::instance().getSpectatorsCanSeeEverything()); + createGameAsSpectatorCheckBox->setChecked(SettingsCache::instance().getCreateGameAsSpectator()); + startingLifeTotalEdit->setValue(SettingsCache::instance().getDefaultStartingLifeTotal()); + shareDecklistsOnLoadCheckBox->setChecked(SettingsCache::instance().getShareDecklistsOnLoad()); if (!rememberGameSettings->isChecked()) { actReset(); @@ -285,20 +285,20 @@ void DlgCreateGame::actOK() } } - SettingsCache::instance()->setRememberGameSettings(rememberGameSettings->isChecked()); + SettingsCache::instance().setRememberGameSettings(rememberGameSettings->isChecked()); if (rememberGameSettings->isChecked()) { - SettingsCache::instance()->setGameDescription(descriptionEdit->text()); - SettingsCache::instance()->setMaxPlayers(maxPlayersEdit->value()); - SettingsCache::instance()->setOnlyBuddies(onlyBuddiesCheckBox->isChecked()); - SettingsCache::instance()->setOnlyRegistered(onlyRegisteredCheckBox->isChecked()); - SettingsCache::instance()->setSpectatorsAllowed(spectatorsAllowedCheckBox->isChecked()); - SettingsCache::instance()->setSpectatorsNeedPassword(spectatorsNeedPasswordCheckBox->isChecked()); - SettingsCache::instance()->setSpectatorsCanTalk(spectatorsCanTalkCheckBox->isChecked()); - SettingsCache::instance()->setSpectatorsCanSeeEverything(spectatorsSeeEverythingCheckBox->isChecked()); - SettingsCache::instance()->setCreateGameAsSpectator(createGameAsSpectatorCheckBox->isChecked()); - SettingsCache::instance()->setDefaultStartingLifeTotal(startingLifeTotalEdit->value()); - SettingsCache::instance()->setShareDecklistsOnLoad(shareDecklistsOnLoadCheckBox->isChecked()); - SettingsCache::instance()->setGameTypes(_gameTypes); + SettingsCache::instance().setGameDescription(descriptionEdit->text()); + SettingsCache::instance().setMaxPlayers(maxPlayersEdit->value()); + SettingsCache::instance().setOnlyBuddies(onlyBuddiesCheckBox->isChecked()); + SettingsCache::instance().setOnlyRegistered(onlyRegisteredCheckBox->isChecked()); + SettingsCache::instance().setSpectatorsAllowed(spectatorsAllowedCheckBox->isChecked()); + SettingsCache::instance().setSpectatorsNeedPassword(spectatorsNeedPasswordCheckBox->isChecked()); + SettingsCache::instance().setSpectatorsCanTalk(spectatorsCanTalkCheckBox->isChecked()); + SettingsCache::instance().setSpectatorsCanSeeEverything(spectatorsSeeEverythingCheckBox->isChecked()); + SettingsCache::instance().setCreateGameAsSpectator(createGameAsSpectatorCheckBox->isChecked()); + SettingsCache::instance().setDefaultStartingLifeTotal(startingLifeTotalEdit->value()); + SettingsCache::instance().setShareDecklistsOnLoad(shareDecklistsOnLoadCheckBox->isChecked()); + SettingsCache::instance().setGameTypes(_gameTypes); } PendingCommand *pend = room->prepareRoomCommand(cmd); connect(pend, &PendingCommand::finished, this, &DlgCreateGame::checkResponse); diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_default_tags_editor.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_default_tags_editor.cpp index 5c969114b..5b120b1e2 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_default_tags_editor.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_default_tags_editor.cpp @@ -53,7 +53,7 @@ void DlgDefaultTagsEditor::retranslateUi() void DlgDefaultTagsEditor::loadStringList() { listWidget->clear(); - QStringList tags = SettingsCache::instance()->getVisualDeckStorageDefaultTagsList(); + QStringList tags = SettingsCache::instance().getVisualDeckStorageDefaultTagsList(); for (const QString &tag : tags) { auto *item = new QListWidgetItem(); // Create item but don't insert yet @@ -144,6 +144,6 @@ void DlgDefaultTagsEditor::confirmChanges() updatedList.append(lineEdit->text()); } } - SettingsCache::instance()->setVisualDeckStorageDefaultTagsList(updatedList); + SettingsCache::instance().setVisualDeckStorageDefaultTagsList(updatedList); accept(); // Close dialog and confirm changes } diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_edit_password.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_edit_password.cpp index eabad0d4d..998dafb66 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_edit_password.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_edit_password.cpp @@ -15,7 +15,7 @@ DlgEditPassword::DlgEditPassword(QWidget *parent) : QDialog(parent) oldPasswordEdit = new QLineEdit(); oldPasswordEdit->setMaxLength(MAX_NAME_LENGTH); - auto &servers = SettingsCache::instance()->servers(); + auto &servers = SettingsCache::instance().servers(); if (servers.getSavePassword()) { oldPasswordEdit->setText(servers.getPassword()); } diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_edit_user.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_edit_user.cpp index 4937f7432..c39c87d4a 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_edit_user.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_edit_user.cpp @@ -23,7 +23,7 @@ DlgEditUser::DlgEditUser(QWidget *parent, QString email, QString country, QStrin countryEdit->insertItem(0, tr("Undefined")); countryEdit->setCurrentIndex(0); - QStringList countries = SettingsCache::instance()->getCountries(); + QStringList countries = SettingsCache::instance().getCountries(); int i = 1; for (const QString &c : countries) { countryEdit->addItem(QPixmap("theme:countries/" + c.toLower()), c); diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_challenge.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_challenge.cpp index 62d74ad53..c8c86d1f1 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_challenge.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_challenge.cpp @@ -16,7 +16,7 @@ DlgForgotPasswordChallenge::DlgForgotPasswordChallenge(QWidget *parent) : QDialo QString lastfphost; QString lastfpport; QString lastfpplayername; - ServersSettings &servers = SettingsCache::instance()->servers(); + ServersSettings &servers = SettingsCache::instance().servers(); lastfphost = servers.getHostname(); lastfpport = servers.getPort(); lastfpplayername = servers.getPlayerName(); @@ -98,7 +98,7 @@ void DlgForgotPasswordChallenge::actOk() return; } - ServersSettings &servers = SettingsCache::instance()->servers(); + ServersSettings &servers = SettingsCache::instance().servers(); servers.setFPHostName(hostEdit->text()); servers.setFPPort(portEdit->text()); servers.setFPPlayerName(playernameEdit->text()); diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_request.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_request.cpp index 8157804a1..4921630f3 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_request.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_request.cpp @@ -16,7 +16,7 @@ DlgForgotPasswordRequest::DlgForgotPasswordRequest(QWidget *parent) : QDialog(pa QString lastfphost; QString lastfpport; QString lastfpplayername; - ServersSettings &servers = SettingsCache::instance()->servers(); + ServersSettings &servers = SettingsCache::instance().servers(); lastfphost = servers.getHostname(); lastfpport = servers.getPort(); lastfpplayername = servers.getPlayerName(); @@ -75,7 +75,7 @@ void DlgForgotPasswordRequest::actOk() return; } - ServersSettings &servers = SettingsCache::instance()->servers(); + ServersSettings &servers = SettingsCache::instance().servers(); servers.setFPHostName(hostEdit->text()); servers.setFPPort(portEdit->text()); servers.setFPPlayerName(playernameEdit->text()); diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_reset.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_reset.cpp index ffd685972..f08347879 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_reset.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_reset.cpp @@ -16,7 +16,7 @@ DlgForgotPasswordReset::DlgForgotPasswordReset(QWidget *parent) : QDialog(parent QString lastfphost; QString lastfpport; QString lastfpplayername; - ServersSettings &servers = SettingsCache::instance()->servers(); + ServersSettings &servers = SettingsCache::instance().servers(); lastfphost = servers.getHostname(); lastfpport = servers.getPort(); lastfpplayername = servers.getPlayerName(); @@ -132,7 +132,7 @@ void DlgForgotPasswordReset::actOk() return; } - ServersSettings &servers = SettingsCache::instance()->servers(); + ServersSettings &servers = SettingsCache::instance().servers(); servers.setFPHostName(hostEdit->text()); servers.setFPPort(portEdit->text()); servers.setFPPlayerName(playernameEdit->text()); diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_load_deck.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_load_deck.cpp index 48f57c8ba..4f21d7543 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_load_deck.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_load_deck.cpp @@ -6,9 +6,9 @@ DlgLoadDeck::DlgLoadDeck(QWidget *parent) : QFileDialog(parent, tr("Load Deck")) { - QString startingDir = SettingsCache::instance()->recents().getLatestDeckDirPath(); + QString startingDir = SettingsCache::instance().recents().getLatestDeckDirPath(); if (startingDir.isEmpty()) { - startingDir = SettingsCache::instance()->getDeckPath(); + startingDir = SettingsCache::instance().getDeckPath(); } setDirectory(startingDir); @@ -19,5 +19,5 @@ DlgLoadDeck::DlgLoadDeck(QWidget *parent) : QFileDialog(parent, tr("Load Deck")) void DlgLoadDeck::actAccepted() { - SettingsCache::instance()->recents().setLatestDeckDirPath(directory().absolutePath()); + SettingsCache::instance().recents().setLatestDeckDirPath(directory().absolutePath()); } \ No newline at end of file diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_clipboard.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_clipboard.cpp index 063d1163a..cfd99872a 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_clipboard.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_clipboard.cpp @@ -44,7 +44,7 @@ AbstractDlgDeckTextEdit::AbstractDlgDeckTextEdit(QWidget *parent) : QDialog(pare resize(500, 500); - connect(&SettingsCache::instance().get()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &AbstractDlgDeckTextEdit::refreshShortcuts); refreshShortcuts(); } @@ -52,7 +52,7 @@ AbstractDlgDeckTextEdit::AbstractDlgDeckTextEdit(QWidget *parent) : QDialog(pare void AbstractDlgDeckTextEdit::refreshShortcuts() { refreshButton->setShortcut( - SettingsCache::instance()->shortcuts().getSingleShortcut("DlgLoadDeckFromClipboard/refreshButton")); + SettingsCache::instance().shortcuts().getSingleShortcut("DlgLoadDeckFromClipboard/refreshButton")); } /** diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_manage_sets.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_manage_sets.cpp index 0ccbb51de..2d3bc08a4 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_manage_sets.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_manage_sets.cpp @@ -158,7 +158,7 @@ WndSets::WndSets(QWidget *parent) : QMainWindow(parent) sortWarning->setLayout(sortWarningLayout); sortWarning->setVisible(false); - includeRebalancedCards = SettingsCache::instance()->getIncludeRebalancedCards(); + includeRebalancedCards = SettingsCache::instance().getIncludeRebalancedCards(); QCheckBox *includeRebalancedCardsCheckBox = new QCheckBox(tr("Include cards rebalanced for Alchemy [requires restart]")); includeRebalancedCardsCheckBox->setChecked(includeRebalancedCards); @@ -192,11 +192,11 @@ WndSets::WndSets(QWidget *parent) : QMainWindow(parent) setWindowTitle(tr("Manage sets")); setMinimumSize(800, 500); - auto &geometry = SettingsCache::instance()->getSetsDialogGeometry(); + auto &geometry = SettingsCache::instance().getSetsDialogGeometry(); if (!geometry.isEmpty()) { restoreGeometry(geometry); } - auto &headerState = SettingsCache::instance()->layouts().getSetsDialogHeaderState(); + auto &headerState = SettingsCache::instance().layouts().getSetsDialogHeaderState(); if (!headerState.isEmpty()) { view->header()->restoreState(headerState); view->header()->setSortIndicator(SORT_RESET, Qt::DescendingOrder); @@ -212,12 +212,12 @@ WndSets::~WndSets() void WndSets::closeEvent(QCloseEvent * /*ev*/) { - SettingsCache::instance()->setSetsDialogGeometry(saveGeometry()); + SettingsCache::instance().setSetsDialogGeometry(saveGeometry()); } void WndSets::saveHeaderState() { - SettingsCache::instance()->layouts().setSetsDialogHeaderState(view->header()->saveState()); + SettingsCache::instance().layouts().setSetsDialogHeaderState(view->header()->saveState()); } void WndSets::rebuildMainLayout(int actionToTake) @@ -250,7 +250,7 @@ void WndSets::includeRebalancedCardsChanged(bool _includeRebalancedCards) void WndSets::actSave() { model->save(CardDatabaseManager::getInstance()); - SettingsCache::instance()->setIncludeRebalancedCards(includeRebalancedCards); + SettingsCache::instance().setIncludeRebalancedCards(includeRebalancedCards); CardPictureLoader::clearPixmapCache(); close(); } diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_register.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_register.cpp index 6a1f90983..dff99e4d8 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_register.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_register.cpp @@ -14,7 +14,7 @@ DlgRegister::DlgRegister(QWidget *parent) : QDialog(parent) { - ServersSettings &servers = SettingsCache::instance()->servers(); + ServersSettings &servers = SettingsCache::instance().servers(); infoLabel = new QLabel(tr("Enter your information and the information of the server you'd like to register to.\n" "Your email will be used to verify your account.")); infoLabel->setWordWrap(true); @@ -312,7 +312,7 @@ DlgRegister::DlgRegister(QWidget *parent) : QDialog(parent) countryEdit->addItem(QPixmap("theme:countries/zm"), "zm"); countryEdit->addItem(QPixmap("theme:countries/zw"), "zw"); countryEdit->setCurrentIndex(0); - QStringList countries = SettingsCache::instance()->getCountries(); + QStringList countries = SettingsCache::instance().getCountries(); for (const QString &c : countries) countryEdit->addItem(QPixmap("theme:countries/" + c.toLower()), c); diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_settings.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_settings.cpp index 925a87773..d825a2125 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_settings.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_settings.cpp @@ -77,15 +77,15 @@ GeneralSettingsPage::GeneralSettingsPage() } // updates - QSharedPointer settings = SettingsCache::instance(); - startupUpdateCheckCheckBox.setChecked(settings->getCheckUpdatesOnStartup()); + SettingsCache &settings = SettingsCache::instance(); + startupUpdateCheckCheckBox.setChecked(settings.getCheckUpdatesOnStartup()); startupCardUpdateCheckBehaviorSelector.addItem(""); // these will be set in retranslateUI startupCardUpdateCheckBehaviorSelector.addItem(""); startupCardUpdateCheckBehaviorSelector.addItem(""); - if (SettingsCache::instance()->getStartupCardUpdateCheckPromptForUpdate()) { + if (SettingsCache::instance().getStartupCardUpdateCheckPromptForUpdate()) { startupCardUpdateCheckBehaviorSelector.setCurrentIndex(startupCardUpdateCheckBehaviorIndexPrompt); - } else if (SettingsCache::instance()->getStartupCardUpdateCheckAlwaysUpdate()) { + } else if (SettingsCache::instance().getStartupCardUpdateCheckAlwaysUpdate()) { startupCardUpdateCheckBehaviorSelector.setCurrentIndex(startupCardUpdateCheckBehaviorIndexAlways); } else { startupCardUpdateCheckBehaviorSelector.setCurrentIndex(startupCardUpdateCheckBehaviorIndexNone); @@ -93,33 +93,32 @@ GeneralSettingsPage::GeneralSettingsPage() cardUpdateCheckIntervalSpinBox.setMinimum(1); cardUpdateCheckIntervalSpinBox.setMaximum(30); - cardUpdateCheckIntervalSpinBox.setValue(settings->getCardUpdateCheckInterval()); - updateNotificationCheckBox.setChecked(settings->getNotifyAboutUpdates()); - newVersionOracleCheckBox.setChecked(settings->getNotifyAboutNewVersion()); + cardUpdateCheckIntervalSpinBox.setValue(settings.getCardUpdateCheckInterval()); + updateNotificationCheckBox.setChecked(settings.getNotifyAboutUpdates()); + newVersionOracleCheckBox.setChecked(settings.getNotifyAboutNewVersion()); - showTipsOnStartup.setChecked(settings->getShowTipsOnStartup()); + showTipsOnStartup.setChecked(settings.getShowTipsOnStartup()); advertiseTranslationPageLabel.setTextInteractionFlags(Qt::LinksAccessibleByMouse); advertiseTranslationPageLabel.setOpenExternalLinks(true); connect(&languageBox, qOverload(&QComboBox::currentIndexChanged), this, &GeneralSettingsPage::languageBoxChanged); - connect(&startupUpdateCheckCheckBox, &QCheckBox::QT_STATE_CHANGED, settings.get(), + connect(&startupUpdateCheckCheckBox, &QCheckBox::QT_STATE_CHANGED, &settings, &SettingsCache::setCheckUpdatesOnStartup); connect(&startupCardUpdateCheckBehaviorSelector, QOverload::of(&QComboBox::currentIndexChanged), this, [](int index) { - SettingsCache::instance()->setStartupCardUpdateCheckPromptForUpdate( + SettingsCache::instance().setStartupCardUpdateCheckPromptForUpdate( index == startupCardUpdateCheckBehaviorIndexPrompt); - SettingsCache::instance()->setStartupCardUpdateCheckAlwaysUpdate( + SettingsCache::instance().setStartupCardUpdateCheckAlwaysUpdate( index == startupCardUpdateCheckBehaviorIndexAlways); }); - connect(&cardUpdateCheckIntervalSpinBox, qOverload(&QSpinBox::valueChanged), settings.get(), + connect(&cardUpdateCheckIntervalSpinBox, qOverload(&QSpinBox::valueChanged), &settings, &SettingsCache::setCardUpdateCheckInterval); - connect(&updateNotificationCheckBox, &QCheckBox::QT_STATE_CHANGED, settings.get(), - &SettingsCache::setNotifyAboutUpdate); - connect(&newVersionOracleCheckBox, &QCheckBox::QT_STATE_CHANGED, settings.get(), + connect(&updateNotificationCheckBox, &QCheckBox::QT_STATE_CHANGED, &settings, &SettingsCache::setNotifyAboutUpdate); + connect(&newVersionOracleCheckBox, &QCheckBox::QT_STATE_CHANGED, &settings, &SettingsCache::setNotifyAboutNewVersion); - connect(&showTipsOnStartup, &QCheckBox::clicked, settings.get(), &SettingsCache::setShowTipsOnStartup); + connect(&showTipsOnStartup, &QCheckBox::clicked, &settings, &SettingsCache::setShowTipsOnStartup); auto *personalGrid = new QGridLayout; personalGrid->addWidget(&languageLabel, 0, 0); @@ -140,38 +139,38 @@ GeneralSettingsPage::GeneralSettingsPage() personalGroupBox = new QGroupBox; personalGroupBox->setLayout(personalGrid); - deckPathEdit = new QLineEdit(settings->getDeckPath()); + deckPathEdit = new QLineEdit(settings.getDeckPath()); deckPathEdit->setReadOnly(true); QPushButton *deckPathButton = new QPushButton("..."); connect(deckPathButton, &QPushButton::clicked, this, &GeneralSettingsPage::deckPathButtonClicked); - filtersPathEdit = new QLineEdit(settings->getFiltersPath()); + filtersPathEdit = new QLineEdit(settings.getFiltersPath()); filtersPathEdit->setReadOnly(true); QPushButton *filtersPathButton = new QPushButton("..."); connect(filtersPathButton, &QPushButton::clicked, this, &GeneralSettingsPage::filtersPathButtonClicked); - replaysPathEdit = new QLineEdit(settings->getReplaysPath()); + replaysPathEdit = new QLineEdit(settings.getReplaysPath()); replaysPathEdit->setReadOnly(true); QPushButton *replaysPathButton = new QPushButton("..."); connect(replaysPathButton, &QPushButton::clicked, this, &GeneralSettingsPage::replaysPathButtonClicked); - picsPathEdit = new QLineEdit(settings->getPicsPath()); + picsPathEdit = new QLineEdit(settings.getPicsPath()); picsPathEdit->setReadOnly(true); QPushButton *picsPathButton = new QPushButton("..."); connect(picsPathButton, &QPushButton::clicked, this, &GeneralSettingsPage::picsPathButtonClicked); - cardDatabasePathEdit = new QLineEdit(settings->getCardDatabasePath()); + cardDatabasePathEdit = new QLineEdit(settings.getCardDatabasePath()); cardDatabasePathEdit->setReadOnly(true); QPushButton *cardDatabasePathButton = new QPushButton("..."); connect(cardDatabasePathButton, &QPushButton::clicked, this, &GeneralSettingsPage::cardDatabasePathButtonClicked); - customCardDatabasePathEdit = new QLineEdit(settings->getCustomCardDatabasePath()); + customCardDatabasePathEdit = new QLineEdit(settings.getCustomCardDatabasePath()); customCardDatabasePathEdit->setReadOnly(true); QPushButton *customCardDatabasePathButton = new QPushButton("..."); connect(customCardDatabasePathButton, &QPushButton::clicked, this, &GeneralSettingsPage::customCardDatabaseButtonClicked); - tokenDatabasePathEdit = new QLineEdit(settings->getTokenDatabasePath()); + tokenDatabasePathEdit = new QLineEdit(settings.getTokenDatabasePath()); tokenDatabasePathEdit->setReadOnly(true); QPushButton *tokenDatabasePathButton = new QPushButton("..."); connect(tokenDatabasePathButton, &QPushButton::clicked, this, &GeneralSettingsPage::tokenDatabasePathButtonClicked); @@ -179,7 +178,7 @@ GeneralSettingsPage::GeneralSettingsPage() // Required init here to avoid crashing on Portable builds resetAllPathsButton = new QPushButton; - bool isPortable = settings->getIsPortableBuild(); + bool isPortable = settings.getIsPortableBuild(); if (isPortable) { deckPathEdit->setEnabled(false); filtersPathEdit->setEnabled(false); @@ -238,13 +237,13 @@ GeneralSettingsPage::GeneralSettingsPage() GeneralSettingsPage::retranslateUi(); // connect the ReleaseChannel combo box only after the entries are inserted in retranslateUi - connect(&updateReleaseChannelBox, qOverload(&QComboBox::currentIndexChanged), settings.get(), + connect(&updateReleaseChannelBox, qOverload(&QComboBox::currentIndexChanged), &settings, &SettingsCache::setUpdateReleaseChannelIndex); - updateReleaseChannelBox.setCurrentIndex(settings->getUpdateReleaseChannelIndex()); + updateReleaseChannelBox.setCurrentIndex(settings.getUpdateReleaseChannelIndex()); setLayout(mainLayout); - connect(SettingsCache::instance().get(), &SettingsCache::langChanged, this, &GeneralSettingsPage::retranslateUi); + connect(&SettingsCache::instance(), &SettingsCache::langChanged, this, &GeneralSettingsPage::retranslateUi); retranslateUi(); } @@ -277,7 +276,7 @@ void GeneralSettingsPage::deckPathButtonClicked() return; deckPathEdit->setText(path); - SettingsCache::instance()->setDeckPath(path); + SettingsCache::instance().setDeckPath(path); } void GeneralSettingsPage::filtersPathButtonClicked() @@ -287,7 +286,7 @@ void GeneralSettingsPage::filtersPathButtonClicked() return; filtersPathEdit->setText(path); - SettingsCache::instance()->setFiltersPath(path); + SettingsCache::instance().setFiltersPath(path); } void GeneralSettingsPage::replaysPathButtonClicked() @@ -297,7 +296,7 @@ void GeneralSettingsPage::replaysPathButtonClicked() return; replaysPathEdit->setText(path); - SettingsCache::instance()->setReplaysPath(path); + SettingsCache::instance().setReplaysPath(path); } void GeneralSettingsPage::picsPathButtonClicked() @@ -307,7 +306,7 @@ void GeneralSettingsPage::picsPathButtonClicked() return; picsPathEdit->setText(path); - SettingsCache::instance()->setPicsPath(path); + SettingsCache::instance().setPicsPath(path); } void GeneralSettingsPage::cardDatabasePathButtonClicked() @@ -317,7 +316,7 @@ void GeneralSettingsPage::cardDatabasePathButtonClicked() return; cardDatabasePathEdit->setText(path); - SettingsCache::instance()->setCardDatabasePath(path); + SettingsCache::instance().setCardDatabasePath(path); } void GeneralSettingsPage::customCardDatabaseButtonClicked() @@ -327,7 +326,7 @@ void GeneralSettingsPage::customCardDatabaseButtonClicked() return; customCardDatabasePathEdit->setText(path); - SettingsCache::instance()->setCustomCardDatabasePath(path); + SettingsCache::instance().setCustomCardDatabasePath(path); } void GeneralSettingsPage::tokenDatabasePathButtonClicked() @@ -337,25 +336,25 @@ void GeneralSettingsPage::tokenDatabasePathButtonClicked() return; tokenDatabasePathEdit->setText(path); - SettingsCache::instance()->setTokenDatabasePath(path); + SettingsCache::instance().setTokenDatabasePath(path); } void GeneralSettingsPage::resetAllPathsClicked() { - QSharedPointer settings = SettingsCache::instance(); - settings->resetPaths(); - deckPathEdit->setText(settings->getDeckPath()); - replaysPathEdit->setText(settings->getReplaysPath()); - picsPathEdit->setText(settings->getPicsPath()); - cardDatabasePathEdit->setText(settings->getCardDatabasePath()); - customCardDatabasePathEdit->setText(settings->getCustomCardDatabasePath()); - tokenDatabasePathEdit->setText(settings->getTokenDatabasePath()); + SettingsCache &settings = SettingsCache::instance(); + settings.resetPaths(); + deckPathEdit->setText(settings.getDeckPath()); + replaysPathEdit->setText(settings.getReplaysPath()); + picsPathEdit->setText(settings.getPicsPath()); + cardDatabasePathEdit->setText(settings.getCardDatabasePath()); + customCardDatabasePathEdit->setText(settings.getCustomCardDatabasePath()); + tokenDatabasePathEdit->setText(settings.getTokenDatabasePath()); allPathsResetLabel->setVisible(true); } void GeneralSettingsPage::languageBoxChanged(int index) { - SettingsCache::instance()->setLang(languageBox.itemData(index).toString()); + SettingsCache::instance().setLang(languageBox.itemData(index).toString()); } void GeneralSettingsPage::retranslateUi() @@ -363,7 +362,7 @@ void GeneralSettingsPage::retranslateUi() personalGroupBox->setTitle(tr("Personal settings")); languageLabel.setText(tr("Language:")); - if (SettingsCache::instance()->getIsPortableBuild()) { + if (SettingsCache::instance().getIsPortableBuild()) { pathsGroupBox->setTitle(tr("Paths (editing disabled in portable mode)")); } else { pathsGroupBox->setTitle(tr("Paths")); @@ -394,7 +393,7 @@ void GeneralSettingsPage::retranslateUi() const auto &settings = SettingsCache::instance(); - QDate lastCheckDate = settings->getLastCardUpdateCheck(); + QDate lastCheckDate = settings.getLastCardUpdateCheck(); int daysAgo = lastCheckDate.daysTo(QDate::currentDate()); lastCardUpdateCheckDateLabel.setText( @@ -403,7 +402,7 @@ void GeneralSettingsPage::retranslateUi() // We can't change the strings after they're put into the QComboBox, so this is our workaround int oldIndex = updateReleaseChannelBox.currentIndex(); updateReleaseChannelBox.clear(); - for (ReleaseChannel *chan : settings->getUpdateReleaseChannels()) { + for (ReleaseChannel *chan : settings.getUpdateReleaseChannels()) { updateReleaseChannelBox.addItem(tr(chan->getName().toUtf8())); } updateReleaseChannelBox.setCurrentIndex(oldIndex); @@ -411,10 +410,10 @@ void GeneralSettingsPage::retranslateUi() AppearanceSettingsPage::AppearanceSettingsPage() { - QSharedPointer settings = SettingsCache::instance(); + SettingsCache &settings = SettingsCache::instance(); // Theme settings - QString themeName = SettingsCache::instance()->getThemeName(); + QString themeName = SettingsCache::instance().getThemeName(); QStringList themeDirs = themeManager->getAvailableThemes().keys(); for (int i = 0; i < themeDirs.size(); i++) { @@ -430,7 +429,7 @@ AppearanceSettingsPage::AppearanceSettingsPage() homeTabBackgroundSourceBox.addItem(QObject::tr(entry.trKey), QVariant::fromValue(entry.type)); } - QString homeTabBackgroundSource = SettingsCache::instance()->getHomeTabBackgroundSource(); + QString homeTabBackgroundSource = SettingsCache::instance().getHomeTabBackgroundSource(); int homeTabBackgroundSourceId = homeTabBackgroundSourceBox.findData(BackgroundSources::fromId(homeTabBackgroundSource)); if (homeTabBackgroundSourceId != -1) { @@ -439,15 +438,14 @@ AppearanceSettingsPage::AppearanceSettingsPage() connect(&homeTabBackgroundSourceBox, QOverload::of(&QComboBox::currentIndexChanged), this, [this]() { auto type = homeTabBackgroundSourceBox.currentData().value(); - SettingsCache::instance()->setHomeTabBackgroundSource(BackgroundSources::toId(type)); + SettingsCache::instance().setHomeTabBackgroundSource(BackgroundSources::toId(type)); }); homeTabBackgroundShuffleFrequencySpinBox.setRange(0, 3600); homeTabBackgroundShuffleFrequencySpinBox.setSuffix(tr(" seconds")); - homeTabBackgroundShuffleFrequencySpinBox.setValue( - SettingsCache::instance()->getHomeTabBackgroundShuffleFrequency()); - connect(&homeTabBackgroundShuffleFrequencySpinBox, qOverload(&QSpinBox::valueChanged), settings.get(), - &SettingsCache::setHomeTabBackgroundShuffleFrequency); + homeTabBackgroundShuffleFrequencySpinBox.setValue(SettingsCache::instance().getHomeTabBackgroundShuffleFrequency()); + connect(&homeTabBackgroundShuffleFrequencySpinBox, qOverload(&QSpinBox::valueChanged), + &SettingsCache::instance(), &SettingsCache::setHomeTabBackgroundShuffleFrequency); auto *themeGrid = new QGridLayout; themeGrid->addWidget(&themeLabel, 0, 0); @@ -462,7 +460,7 @@ AppearanceSettingsPage::AppearanceSettingsPage() themeGroupBox->setLayout(themeGrid); // Menu settings - showShortcutsCheckBox.setChecked(settings->getShowShortcuts()); + showShortcutsCheckBox.setChecked(settings.getShowShortcuts()); connect(&showShortcutsCheckBox, &QCheckBox::QT_STATE_CHANGED, this, &AppearanceSettingsPage::showShortcutsChanged); auto *menuGrid = new QGridLayout; @@ -472,41 +470,39 @@ AppearanceSettingsPage::AppearanceSettingsPage() menuGroupBox->setLayout(menuGrid); // Card rendering - displayCardNamesCheckBox.setChecked(settings->getDisplayCardNames()); - connect(&displayCardNamesCheckBox, &QCheckBox::QT_STATE_CHANGED, settings.get(), - &SettingsCache::setDisplayCardNames); + displayCardNamesCheckBox.setChecked(settings.getDisplayCardNames()); + connect(&displayCardNamesCheckBox, &QCheckBox::QT_STATE_CHANGED, &settings, &SettingsCache::setDisplayCardNames); - autoRotateSidewaysLayoutCardsCheckBox.setChecked(settings->getAutoRotateSidewaysLayoutCards()); - connect(&autoRotateSidewaysLayoutCardsCheckBox, &QCheckBox::QT_STATE_CHANGED, settings.get(), + autoRotateSidewaysLayoutCardsCheckBox.setChecked(settings.getAutoRotateSidewaysLayoutCards()); + connect(&autoRotateSidewaysLayoutCardsCheckBox, &QCheckBox::QT_STATE_CHANGED, &settings, &SettingsCache::setAutoRotateSidewaysLayoutCards); - overrideAllCardArtWithPersonalPreferenceCheckBox.setChecked( - settings->getOverrideAllCardArtWithPersonalPreference()); + overrideAllCardArtWithPersonalPreferenceCheckBox.setChecked(settings.getOverrideAllCardArtWithPersonalPreference()); connect(&overrideAllCardArtWithPersonalPreferenceCheckBox, &QCheckBox::QT_STATE_CHANGED, this, &AppearanceSettingsPage::overrideAllCardArtWithPersonalPreferenceToggled); - bumpSetsWithCardsInDeckToTopCheckBox.setChecked(settings->getBumpSetsWithCardsInDeckToTop()); - connect(&bumpSetsWithCardsInDeckToTopCheckBox, &QCheckBox::QT_STATE_CHANGED, settings.get(), + bumpSetsWithCardsInDeckToTopCheckBox.setChecked(settings.getBumpSetsWithCardsInDeckToTop()); + connect(&bumpSetsWithCardsInDeckToTopCheckBox, &QCheckBox::QT_STATE_CHANGED, &settings, &SettingsCache::setBumpSetsWithCardsInDeckToTop); - cardScalingCheckBox.setChecked(settings->getScaleCards()); - connect(&cardScalingCheckBox, &QCheckBox::QT_STATE_CHANGED, settings.get(), &SettingsCache::setCardScaling); + cardScalingCheckBox.setChecked(settings.getScaleCards()); + connect(&cardScalingCheckBox, &QCheckBox::QT_STATE_CHANGED, &settings, &SettingsCache::setCardScaling); - roundCardCornersCheckBox.setChecked(settings->getRoundCardCorners()); - connect(&roundCardCornersCheckBox, &QAbstractButton::toggled, settings.get(), &SettingsCache::setRoundCardCorners); + roundCardCornersCheckBox.setChecked(settings.getRoundCardCorners()); + connect(&roundCardCornersCheckBox, &QAbstractButton::toggled, &settings, &SettingsCache::setRoundCardCorners); - verticalCardOverlapPercentBox.setValue(settings->getStackCardOverlapPercent()); + verticalCardOverlapPercentBox.setValue(settings.getStackCardOverlapPercent()); verticalCardOverlapPercentBox.setRange(0, 80); - connect(&verticalCardOverlapPercentBox, qOverload(&QSpinBox::valueChanged), settings.get(), + connect(&verticalCardOverlapPercentBox, qOverload(&QSpinBox::valueChanged), &settings, &SettingsCache::setStackCardOverlapPercent); cardViewInitialRowsMaxBox.setRange(1, 999); - cardViewInitialRowsMaxBox.setValue(SettingsCache::instance()->getCardViewInitialRowsMax()); + cardViewInitialRowsMaxBox.setValue(SettingsCache::instance().getCardViewInitialRowsMax()); connect(&cardViewInitialRowsMaxBox, qOverload(&QSpinBox::valueChanged), this, &AppearanceSettingsPage::cardViewInitialRowsMaxChanged); cardViewExpandedRowsMaxBox.setRange(1, 999); - cardViewExpandedRowsMaxBox.setValue(SettingsCache::instance()->getCardViewExpandedRowsMax()); + cardViewExpandedRowsMaxBox.setValue(SettingsCache::instance().getCardViewExpandedRowsMax()); connect(&cardViewExpandedRowsMaxBox, qOverload(&QSpinBox::valueChanged), this, &AppearanceSettingsPage::cardViewExpandedRowsMaxChanged); @@ -534,12 +530,12 @@ AppearanceSettingsPage::AppearanceSettingsPage() cardCounterColorsLayout->setColumnStretch(3, 1); cardCounterColorsLayout->setColumnStretch(5, 1); - auto &cardCounterSettings = SettingsCache::instance()->cardCounters(); + auto &cardCounterSettings = SettingsCache::instance().cardCounters(); for (int index = 0; index < 6; ++index) { auto *pushButton = new QPushButton; pushButton->setStyleSheet(QString("background-color: %1").arg(cardCounterSettings.color(index).name())); - connect(&SettingsCache::instance().get()->cardCounters(), &CardCounterSettings::colorChanged, pushButton, + connect(&SettingsCache::instance().cardCounters(), &CardCounterSettings::colorChanged, pushButton, [index, pushButton](int changedIndex, const QColor &color) { if (index == changedIndex) { pushButton->setStyleSheet(QString("background-color: %1").arg(color.name())); @@ -547,7 +543,7 @@ AppearanceSettingsPage::AppearanceSettingsPage() }); connect(pushButton, &QPushButton::clicked, this, [index, this]() { - auto &cardCounterSettings = SettingsCache::instance()->cardCounters(); + auto &cardCounterSettings = SettingsCache::instance().cardCounters(); auto newColor = QColorDialog::getColor(cardCounterSettings.color(index), this); if (!newColor.isValid()) @@ -573,11 +569,11 @@ AppearanceSettingsPage::AppearanceSettingsPage() cardCountersGroupBox->setLayout(cardCountersLayout); // Hand layout - horizontalHandCheckBox.setChecked(settings->getHorizontalHand()); - connect(&horizontalHandCheckBox, &QCheckBox::QT_STATE_CHANGED, settings.get(), &SettingsCache::setHorizontalHand); + horizontalHandCheckBox.setChecked(settings.getHorizontalHand()); + connect(&horizontalHandCheckBox, &QCheckBox::QT_STATE_CHANGED, &settings, &SettingsCache::setHorizontalHand); - leftJustifiedHandCheckBox.setChecked(settings->getLeftJustified()); - connect(&leftJustifiedHandCheckBox, &QCheckBox::QT_STATE_CHANGED, settings.get(), &SettingsCache::setLeftJustified); + leftJustifiedHandCheckBox.setChecked(settings.getLeftJustified()); + connect(&leftJustifiedHandCheckBox, &QCheckBox::QT_STATE_CHANGED, &settings, &SettingsCache::setLeftJustified); auto *handGrid = new QGridLayout; handGrid->addWidget(&horizontalHandCheckBox, 0, 0, 1, 2); @@ -587,19 +583,19 @@ AppearanceSettingsPage::AppearanceSettingsPage() handGroupBox->setLayout(handGrid); // table grid layout - invertVerticalCoordinateCheckBox.setChecked(settings->getInvertVerticalCoordinate()); - connect(&invertVerticalCoordinateCheckBox, &QCheckBox::QT_STATE_CHANGED, settings.get(), + invertVerticalCoordinateCheckBox.setChecked(settings.getInvertVerticalCoordinate()); + connect(&invertVerticalCoordinateCheckBox, &QCheckBox::QT_STATE_CHANGED, &settings, &SettingsCache::setInvertVerticalCoordinate); minPlayersForMultiColumnLayoutEdit.setMinimum(2); - minPlayersForMultiColumnLayoutEdit.setValue(settings->getMinPlayersForMultiColumnLayout()); - connect(&minPlayersForMultiColumnLayoutEdit, qOverload(&QSpinBox::valueChanged), settings.get(), + minPlayersForMultiColumnLayoutEdit.setValue(settings.getMinPlayersForMultiColumnLayout()); + connect(&minPlayersForMultiColumnLayoutEdit, qOverload(&QSpinBox::valueChanged), &settings, &SettingsCache::setMinPlayersForMultiColumnLayout); minPlayersForMultiColumnLayoutLabel.setBuddy(&minPlayersForMultiColumnLayoutEdit); - connect(&maxFontSizeForCardsEdit, qOverload(&QSpinBox::valueChanged), settings.get(), + connect(&maxFontSizeForCardsEdit, qOverload(&QSpinBox::valueChanged), &settings, &SettingsCache::setMaxFontSize); - maxFontSizeForCardsEdit.setValue(settings->getMaxFontSize()); + maxFontSizeForCardsEdit.setValue(settings.getMaxFontSize()); maxFontSizeForCardsLabel.setBuddy(&maxFontSizeForCardsEdit); maxFontSizeForCardsEdit.setMinimum(9); maxFontSizeForCardsEdit.setMaximum(100); @@ -626,7 +622,7 @@ AppearanceSettingsPage::AppearanceSettingsPage() setLayout(mainLayout); - connect(SettingsCache::instance().get(), &SettingsCache::langChanged, this, &AppearanceSettingsPage::retranslateUi); + connect(&SettingsCache::instance(), &SettingsCache::langChanged, this, &AppearanceSettingsPage::retranslateUi); retranslateUi(); } @@ -634,12 +630,12 @@ void AppearanceSettingsPage::themeBoxChanged(int index) { QStringList themeDirs = themeManager->getAvailableThemes().keys(); if (index >= 0 && index < themeDirs.count()) - SettingsCache::instance()->setThemeName(themeDirs.at(index)); + SettingsCache::instance().setThemeName(themeDirs.at(index)); } void AppearanceSettingsPage::openThemeLocation() { - QString dir = SettingsCache::instance()->getThemesPath(); + QString dir = SettingsCache::instance().getThemesPath(); QDir dirDir = dir; dirDir.cdUp(); // open if dir exists, create if parent dir does exist @@ -652,7 +648,7 @@ void AppearanceSettingsPage::openThemeLocation() void AppearanceSettingsPage::showShortcutsChanged(QT_STATE_CHANGED_T value) { - SettingsCache::instance()->setShowShortcuts(value); + SettingsCache::instance().setShowShortcuts(value); qApp->setAttribute(Qt::AA_DontShowShortcutsInContextMenus, value == 0); // 0 = unchecked } @@ -681,7 +677,7 @@ void AppearanceSettingsPage::overrideAllCardArtWithPersonalPreferenceToggled(QT_ QMessageBox::question(this, tr("Confirm Change"), message, QMessageBox::Yes | QMessageBox::No); if (result == QMessageBox::Yes) { - SettingsCache::instance()->setOverrideAllCardArtWithPersonalPreference(value); + SettingsCache::instance().setOverrideAllCardArtWithPersonalPreference(value); // Caches are now invalid. CardPictureLoader::clearPixmapCache(); CardPictureLoader::clearNetworkCache(); @@ -702,7 +698,7 @@ void AppearanceSettingsPage::overrideAllCardArtWithPersonalPreferenceToggled(QT_ */ void AppearanceSettingsPage::cardViewInitialRowsMaxChanged(int value) { - SettingsCache::instance()->setCardViewInitialRowsMax(value); + SettingsCache::instance().setCardViewInitialRowsMax(value); if (cardViewExpandedRowsMaxBox.value() < value) { cardViewExpandedRowsMaxBox.setValue(value); } @@ -715,7 +711,7 @@ void AppearanceSettingsPage::cardViewInitialRowsMaxChanged(int value) */ void AppearanceSettingsPage::cardViewExpandedRowsMaxChanged(int value) { - SettingsCache::instance()->setCardViewExpandedRowsMax(value); + SettingsCache::instance().setCardViewExpandedRowsMax(value); if (cardViewInitialRowsMaxBox.value() > value) { cardViewInitialRowsMaxBox.setValue(value); } @@ -751,7 +747,7 @@ void AppearanceSettingsPage::retranslateUi() cardCountersGroupBox->setTitle(tr("Card counters")); - auto &cardCounterSettings = SettingsCache::instance()->cardCounters(); + auto &cardCounterSettings = SettingsCache::instance().cardCounters(); for (int index = 0; index < cardCounterNames.size(); ++index) { cardCounterNames[index]->setText(tr("Counter %1").arg(cardCounterSettings.displayName(index))); } @@ -776,51 +772,50 @@ enum visualDeckStoragePromptForConversionIndex UserInterfaceSettingsPage::UserInterfaceSettingsPage() { // general settings and notification settings - notificationsEnabledCheckBox.setChecked(SettingsCache::instance()->getNotificationsEnabled()); - connect(¬ificationsEnabledCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + notificationsEnabledCheckBox.setChecked(SettingsCache::instance().getNotificationsEnabled()); + connect(¬ificationsEnabledCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setNotificationsEnabled); connect(¬ificationsEnabledCheckBox, &QCheckBox::QT_STATE_CHANGED, this, &UserInterfaceSettingsPage::setNotificationEnabled); - specNotificationsEnabledCheckBox.setChecked(SettingsCache::instance()->getSpectatorNotificationsEnabled()); - specNotificationsEnabledCheckBox.setEnabled(SettingsCache::instance()->getNotificationsEnabled()); - connect(&specNotificationsEnabledCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + specNotificationsEnabledCheckBox.setChecked(SettingsCache::instance().getSpectatorNotificationsEnabled()); + specNotificationsEnabledCheckBox.setEnabled(SettingsCache::instance().getNotificationsEnabled()); + connect(&specNotificationsEnabledCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setSpectatorNotificationsEnabled); buddyConnectNotificationsEnabledCheckBox.setChecked( - SettingsCache::instance()->getBuddyConnectNotificationsEnabled()); - buddyConnectNotificationsEnabledCheckBox.setEnabled(SettingsCache::instance()->getNotificationsEnabled()); - connect(&buddyConnectNotificationsEnabledCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + SettingsCache::instance().getBuddyConnectNotificationsEnabled()); + buddyConnectNotificationsEnabledCheckBox.setEnabled(SettingsCache::instance().getNotificationsEnabled()); + connect(&buddyConnectNotificationsEnabledCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setBuddyConnectNotificationsEnabled); - doubleClickToPlayCheckBox.setChecked(SettingsCache::instance()->getDoubleClickToPlay()); - connect(&doubleClickToPlayCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + doubleClickToPlayCheckBox.setChecked(SettingsCache::instance().getDoubleClickToPlay()); + connect(&doubleClickToPlayCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setDoubleClickToPlay); - clickPlaysAllSelectedCheckBox.setChecked(SettingsCache::instance()->getClickPlaysAllSelected()); - connect(&clickPlaysAllSelectedCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + clickPlaysAllSelectedCheckBox.setChecked(SettingsCache::instance().getClickPlaysAllSelected()); + connect(&clickPlaysAllSelectedCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setClickPlaysAllSelected); - playToStackCheckBox.setChecked(SettingsCache::instance()->getPlayToStack()); - connect(&playToStackCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + playToStackCheckBox.setChecked(SettingsCache::instance().getPlayToStack()); + connect(&playToStackCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setPlayToStack); - closeEmptyCardViewCheckBox.setChecked(SettingsCache::instance()->getCloseEmptyCardView()); - connect(&closeEmptyCardViewCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + closeEmptyCardViewCheckBox.setChecked(SettingsCache::instance().getCloseEmptyCardView()); + connect(&closeEmptyCardViewCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setCloseEmptyCardView); - focusCardViewSearchBarCheckBox.setChecked(SettingsCache::instance()->getFocusCardViewSearchBar()); - connect(&focusCardViewSearchBarCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + focusCardViewSearchBarCheckBox.setChecked(SettingsCache::instance().getFocusCardViewSearchBar()); + connect(&focusCardViewSearchBarCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setFocusCardViewSearchBar); - annotateTokensCheckBox.setChecked(SettingsCache::instance()->getAnnotateTokens()); - connect(&annotateTokensCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + annotateTokensCheckBox.setChecked(SettingsCache::instance().getAnnotateTokens()); + connect(&annotateTokensCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setAnnotateTokens); - useTearOffMenusCheckBox.setChecked(SettingsCache::instance()->getUseTearOffMenus()); - connect( - &useTearOffMenusCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), - [](const QT_STATE_CHANGED_T state) { SettingsCache::instance()->setUseTearOffMenus(state == Qt::Checked); }); + useTearOffMenusCheckBox.setChecked(SettingsCache::instance().getUseTearOffMenus()); + connect(&useTearOffMenusCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), + [](const QT_STATE_CHANGED_T state) { SettingsCache::instance().setUseTearOffMenus(state == Qt::Checked); }); auto *generalGrid = new QGridLayout; generalGrid->addWidget(&doubleClickToPlayCheckBox, 0, 0); @@ -843,8 +838,8 @@ UserInterfaceSettingsPage::UserInterfaceSettingsPage() notificationsGroupBox->setLayout(notificationsGrid); // animation settings - tapAnimationCheckBox.setChecked(SettingsCache::instance()->getTapAnimation()); - connect(&tapAnimationCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + tapAnimationCheckBox.setChecked(SettingsCache::instance().getTapAnimation()); + connect(&tapAnimationCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setTapAnimation); auto *animationGrid = new QGridLayout; @@ -854,42 +849,42 @@ UserInterfaceSettingsPage::UserInterfaceSettingsPage() animationGroupBox->setLayout(animationGrid); // deck editor settings - openDeckInNewTabCheckBox.setChecked(SettingsCache::instance()->getOpenDeckInNewTab()); - connect(&openDeckInNewTabCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + openDeckInNewTabCheckBox.setChecked(SettingsCache::instance().getOpenDeckInNewTab()); + connect(&openDeckInNewTabCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setOpenDeckInNewTab); - visualDeckStorageInGameCheckBox.setChecked(SettingsCache::instance()->getVisualDeckStorageInGame()); - connect(&visualDeckStorageInGameCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + visualDeckStorageInGameCheckBox.setChecked(SettingsCache::instance().getVisualDeckStorageInGame()); + connect(&visualDeckStorageInGameCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setVisualDeckStorageInGame); visualDeckStorageSelectionAnimationCheckBox.setChecked( - SettingsCache::instance()->getVisualDeckStorageSelectionAnimation()); - connect(&visualDeckStorageSelectionAnimationCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + SettingsCache::instance().getVisualDeckStorageSelectionAnimation()); + connect(&visualDeckStorageSelectionAnimationCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setVisualDeckStorageSelectionAnimation); visualDeckStoragePromptForConversionSelector.addItem(""); // these will be set in retranslateUI visualDeckStoragePromptForConversionSelector.addItem(""); visualDeckStoragePromptForConversionSelector.addItem(""); - if (SettingsCache::instance()->getVisualDeckStoragePromptForConversion()) { + if (SettingsCache::instance().getVisualDeckStoragePromptForConversion()) { visualDeckStoragePromptForConversionSelector.setCurrentIndex(visualDeckStoragePromptForConversionIndexPrompt); - } else if (SettingsCache::instance()->getVisualDeckStorageAlwaysConvert()) { + } else if (SettingsCache::instance().getVisualDeckStorageAlwaysConvert()) { visualDeckStoragePromptForConversionSelector.setCurrentIndex(visualDeckStoragePromptForConversionIndexAlways); } else { visualDeckStoragePromptForConversionSelector.setCurrentIndex(visualDeckStoragePromptForConversionIndexNone); } connect(&visualDeckStoragePromptForConversionSelector, QOverload::of(&QComboBox::currentIndexChanged), this, [](int index) { - SettingsCache::instance()->setVisualDeckStoragePromptForConversion( + SettingsCache::instance().setVisualDeckStoragePromptForConversion( index == visualDeckStoragePromptForConversionIndexPrompt); - SettingsCache::instance()->setVisualDeckStorageAlwaysConvert( + SettingsCache::instance().setVisualDeckStorageAlwaysConvert( index == visualDeckStoragePromptForConversionIndexAlways); }); defaultDeckEditorTypeSelector.addItem(""); // these will be set in retranslateUI defaultDeckEditorTypeSelector.addItem(""); - defaultDeckEditorTypeSelector.setCurrentIndex(SettingsCache::instance()->getDefaultDeckEditorType()); + defaultDeckEditorTypeSelector.setCurrentIndex(SettingsCache::instance().getDefaultDeckEditorType()); connect(&defaultDeckEditorTypeSelector, QOverload::of(&QComboBox::currentIndexChanged), - SettingsCache::instance().get(), &SettingsCache::setDefaultDeckEditorType); + &SettingsCache::instance(), &SettingsCache::setDefaultDeckEditorType); auto *deckEditorGrid = new QGridLayout; deckEditorGrid->addWidget(&openDeckInNewTabCheckBox, 0, 0); @@ -905,8 +900,8 @@ UserInterfaceSettingsPage::UserInterfaceSettingsPage() // replay settings rewindBufferingMsBox.setRange(0, 9999); - rewindBufferingMsBox.setValue(SettingsCache::instance()->getRewindBufferingMs()); - connect(&rewindBufferingMsBox, qOverload(&QSpinBox::valueChanged), SettingsCache::instance().get(), + rewindBufferingMsBox.setValue(SettingsCache::instance().getRewindBufferingMs()); + connect(&rewindBufferingMsBox, qOverload(&QSpinBox::valueChanged), &SettingsCache::instance(), &SettingsCache::setRewindBufferingMs); auto *replayGrid = new QGridLayout; @@ -927,8 +922,7 @@ UserInterfaceSettingsPage::UserInterfaceSettingsPage() setLayout(mainLayout); - connect(SettingsCache::instance().get(), &SettingsCache::langChanged, this, - &UserInterfaceSettingsPage::retranslateUi); + connect(&SettingsCache::instance(), &SettingsCache::langChanged, this, &UserInterfaceSettingsPage::retranslateUi); retranslateUi(); } @@ -980,8 +974,8 @@ void UserInterfaceSettingsPage::retranslateUi() DeckEditorSettingsPage::DeckEditorSettingsPage() { - picDownloadCheckBox.setChecked(SettingsCache::instance()->getPicDownload()); - connect(&picDownloadCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + picDownloadCheckBox.setChecked(SettingsCache::instance().getPicDownload()); + connect(&picDownloadCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setPicDownload); urlLinkLabel.setTextInteractionFlags(Qt::LinksAccessibleByMouse); @@ -994,9 +988,9 @@ DeckEditorSettingsPage::DeckEditorSettingsPage() auto *lpGeneralGrid = new QGridLayout; auto *lpSpoilerGrid = new QGridLayout; - mcDownloadSpoilersCheckBox.setChecked(SettingsCache::instance()->getDownloadSpoilersStatus()); + mcDownloadSpoilersCheckBox.setChecked(SettingsCache::instance().getDownloadSpoilersStatus()); - mpSpoilerSavePathLineEdit = new QLineEdit(SettingsCache::instance()->getSpoilerCardDatabasePath()); + mpSpoilerSavePathLineEdit = new QLineEdit(SettingsCache::instance().getSpoilerCardDatabasePath()); mpSpoilerSavePathLineEdit->setReadOnly(true); mpSpoilerPathButton = new QPushButton("..."); connect(mpSpoilerPathButton, &QPushButton::clicked, this, &DeckEditorSettingsPage::spoilerPathButtonClicked); @@ -1015,7 +1009,7 @@ DeckEditorSettingsPage::DeckEditorSettingsPage() urlList->setDragDropMode(QAbstractItemView::InternalMove); connect(urlList->model(), &QAbstractItemModel::rowsMoved, this, &DeckEditorSettingsPage::urlListChanged); - urlList->addItems(SettingsCache::instance()->downloads().getAllURLs()); + urlList->addItems(SettingsCache::instance().downloads().getAllURLs()); aAdd = new QAction(this); aAdd->setIcon(QPixmap("theme:icons/increment")); @@ -1045,19 +1039,19 @@ DeckEditorSettingsPage::DeckEditorSettingsPage() // 2047 is the max value to avoid overflowing of QPixmapCache::setCacheLimit(int size) pixmapCacheEdit.setMaximum(PIXMAPCACHE_SIZE_MAX); pixmapCacheEdit.setSingleStep(64); - pixmapCacheEdit.setValue(SettingsCache::instance()->getPixmapCacheSize()); + pixmapCacheEdit.setValue(SettingsCache::instance().getPixmapCacheSize()); pixmapCacheEdit.setSuffix(" MB"); networkCacheEdit.setMinimum(NETWORK_CACHE_SIZE_MIN); networkCacheEdit.setMaximum(NETWORK_CACHE_SIZE_MAX); networkCacheEdit.setSingleStep(1); - networkCacheEdit.setValue(SettingsCache::instance()->getNetworkCacheSizeInMB()); + networkCacheEdit.setValue(SettingsCache::instance().getNetworkCacheSizeInMB()); networkCacheEdit.setSuffix(" MB"); networkRedirectCacheTtlEdit.setMinimum(NETWORK_REDIRECT_CACHE_TTL_MIN); networkRedirectCacheTtlEdit.setMaximum(NETWORK_REDIRECT_CACHE_TTL_MAX); networkRedirectCacheTtlEdit.setSingleStep(1); - networkRedirectCacheTtlEdit.setValue(SettingsCache::instance()->getRedirectCacheTtl()); + networkRedirectCacheTtlEdit.setValue(SettingsCache::instance().getRedirectCacheTtl()); auto networkCacheLayout = new QHBoxLayout; networkCacheLayout->addStretch(); @@ -1094,14 +1088,14 @@ DeckEditorSettingsPage::DeckEditorSettingsPage() lpSpoilerGrid->addWidget(&infoOnSpoilersLabel, 3, 0, 1, 3, Qt::AlignTop); // On a change to the checkbox, hide/un-hide the other fields - connect(&mcDownloadSpoilersCheckBox, &QCheckBox::toggled, SettingsCache::instance().get(), + connect(&mcDownloadSpoilersCheckBox, &QCheckBox::toggled, &SettingsCache::instance(), &SettingsCache::setDownloadSpoilerStatus); connect(&mcDownloadSpoilersCheckBox, &QCheckBox::toggled, this, &DeckEditorSettingsPage::setSpoilersEnabled); - connect(&pixmapCacheEdit, qOverload(&QSpinBox::valueChanged), SettingsCache::instance().get(), + connect(&pixmapCacheEdit, qOverload(&QSpinBox::valueChanged), &SettingsCache::instance(), &SettingsCache::setPixmapCacheSize); - connect(&networkCacheEdit, qOverload(&QSpinBox::valueChanged), SettingsCache::instance().get(), + connect(&networkCacheEdit, qOverload(&QSpinBox::valueChanged), &SettingsCache::instance(), &SettingsCache::setNetworkCacheSizeInMB); - connect(&networkRedirectCacheTtlEdit, qOverload(&QSpinBox::valueChanged), SettingsCache::instance().get(), + connect(&networkRedirectCacheTtlEdit, qOverload(&QSpinBox::valueChanged), &SettingsCache::instance(), &SettingsCache::setNetworkRedirectCacheTtl); mpGeneralGroupBox = new QGroupBox; @@ -1116,15 +1110,15 @@ DeckEditorSettingsPage::DeckEditorSettingsPage() setLayout(lpMainLayout); - connect(SettingsCache::instance().get(), &SettingsCache::langChanged, this, &DeckEditorSettingsPage::retranslateUi); + connect(&SettingsCache::instance(), &SettingsCache::langChanged, this, &DeckEditorSettingsPage::retranslateUi); retranslateUi(); } void DeckEditorSettingsPage::resetDownloadedURLsButtonClicked() { - SettingsCache::instance()->downloads().resetToDefaultURLs(); + SettingsCache::instance().downloads().resetToDefaultURLs(); urlList->clear(); - urlList->addItems(SettingsCache::instance()->downloads().getAllURLs()); + urlList->addItems(SettingsCache::instance().downloads().getAllURLs()); QMessageBox::information(this, tr("Success"), tr("Download URLs have been reset.")); } @@ -1135,7 +1129,7 @@ void DeckEditorSettingsPage::clearDownloadedPicsButtonClicked() // These are not used anymore, but we don't delete them automatically, so // we should do it here lest we leave pictures hanging around on users' // machines. - QString picsPath = SettingsCache::instance()->getPicsPath() + "/downloadedPics/"; + QString picsPath = SettingsCache::instance().getPicsPath() + "/downloadedPics/"; QStringList dirs = QDir(picsPath).entryList(QDir::AllDirs | QDir::NoDotAndDotDot); bool outerSuccessRemove = true; for (const auto &dir : dirs) { @@ -1162,7 +1156,7 @@ void DeckEditorSettingsPage::clearDownloadedPicsButtonClicked() } if (outerSuccessRemove) { QMessageBox::information(this, tr("Success"), tr("Downloaded card pictures have been reset.")); - QDir(SettingsCache::instance()->getPicsPath()).rmdir("downloadedPics"); + QDir(SettingsCache::instance().getPicsPath()).rmdir("downloadedPics"); } else { QMessageBox::critical(this, tr("Error"), tr("One or more downloaded card pictures could not be cleared.")); } @@ -1208,7 +1202,7 @@ void DeckEditorSettingsPage::storeSettings() qInfo() << "Priority" << i << ":" << urlList->item(i)->text(); downloadUrls << urlList->item(i)->text(); } - SettingsCache::instance()->downloads().setDownloadUrls(downloadUrls); + SettingsCache::instance().downloads().setDownloadUrls(downloadUrls); } void DeckEditorSettingsPage::urlListChanged(const QModelIndex &, int, int, const QModelIndex &, int) @@ -1236,7 +1230,7 @@ void DeckEditorSettingsPage::unlockSettings() QString DeckEditorSettingsPage::getLastUpdateTime() { - QString fileName = SettingsCache::instance()->getSpoilerCardDatabasePath(); + QString fileName = SettingsCache::instance().getSpoilerCardDatabasePath(); QFileInfo fi(fileName); QDir fileDir(fi.path()); QFile file(fileName); @@ -1256,7 +1250,7 @@ void DeckEditorSettingsPage::spoilerPathButtonClicked() } mpSpoilerSavePathLineEdit->setText(lsPath + "/spoiler.xml"); - SettingsCache::instance()->setSpoilerDatabasePath(lsPath + "/spoiler.xml"); + SettingsCache::instance().setSpoilerDatabasePath(lsPath + "/spoiler.xml"); } void DeckEditorSettingsPage::setSpoilersEnabled(bool anInput) @@ -1303,52 +1297,50 @@ void DeckEditorSettingsPage::retranslateUi() MessagesSettingsPage::MessagesSettingsPage() { - chatMentionCheckBox.setChecked(SettingsCache::instance()->getChatMention()); - connect(&chatMentionCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + chatMentionCheckBox.setChecked(SettingsCache::instance().getChatMention()); + connect(&chatMentionCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setChatMention); - chatMentionCompleterCheckbox.setChecked(SettingsCache::instance()->getChatMentionCompleter()); - connect(&chatMentionCompleterCheckbox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + chatMentionCompleterCheckbox.setChecked(SettingsCache::instance().getChatMentionCompleter()); + connect(&chatMentionCompleterCheckbox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setChatMentionCompleter); explainMessagesLabel.setTextInteractionFlags(Qt::LinksAccessibleByMouse); explainMessagesLabel.setOpenExternalLinks(true); - ignoreUnregUsersMainChat.setChecked(SettingsCache::instance()->getIgnoreUnregisteredUsers()); - ignoreUnregUserMessages.setChecked(SettingsCache::instance()->getIgnoreUnregisteredUserMessages()); - connect(&ignoreUnregUsersMainChat, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + ignoreUnregUsersMainChat.setChecked(SettingsCache::instance().getIgnoreUnregisteredUsers()); + ignoreUnregUserMessages.setChecked(SettingsCache::instance().getIgnoreUnregisteredUserMessages()); + connect(&ignoreUnregUsersMainChat, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setIgnoreUnregisteredUsers); - connect(&ignoreUnregUserMessages, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + connect(&ignoreUnregUserMessages, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setIgnoreUnregisteredUserMessages); - invertMentionForeground.setChecked(SettingsCache::instance()->getChatMentionForeground()); + invertMentionForeground.setChecked(SettingsCache::instance().getChatMentionForeground()); connect(&invertMentionForeground, &QCheckBox::QT_STATE_CHANGED, this, &MessagesSettingsPage::updateTextColor); - invertHighlightForeground.setChecked(SettingsCache::instance()->getChatHighlightForeground()); + invertHighlightForeground.setChecked(SettingsCache::instance().getChatHighlightForeground()); connect(&invertHighlightForeground, &QCheckBox::QT_STATE_CHANGED, this, &MessagesSettingsPage::updateTextHighlightColor); mentionColor = new QLineEdit(); - mentionColor->setText(SettingsCache::instance()->getChatMentionColor()); + mentionColor->setText(SettingsCache::instance().getChatMentionColor()); updateMentionPreview(); connect(mentionColor, &QLineEdit::textChanged, this, &MessagesSettingsPage::updateColor); - messagePopups.setChecked(SettingsCache::instance()->getShowMessagePopup()); - connect(&messagePopups, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + messagePopups.setChecked(SettingsCache::instance().getShowMessagePopup()); + connect(&messagePopups, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setShowMessagePopups); - mentionPopups.setChecked(SettingsCache::instance()->getShowMentionPopup()); - connect(&mentionPopups, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + mentionPopups.setChecked(SettingsCache::instance().getShowMentionPopup()); + connect(&mentionPopups, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setShowMentionPopups); - roomHistory.setChecked(SettingsCache::instance()->getRoomHistory()); - connect(&roomHistory, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), - &SettingsCache::setRoomHistory); + roomHistory.setChecked(SettingsCache::instance().getRoomHistory()); + connect(&roomHistory, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setRoomHistory); customAlertString = new QLineEdit(); - customAlertString->setText(SettingsCache::instance()->getHighlightWords()); - connect(customAlertString, &QLineEdit::textChanged, SettingsCache::instance().get(), - &SettingsCache::setHighlightWords); + customAlertString->setText(SettingsCache::instance().getHighlightWords()); + connect(customAlertString, &QLineEdit::textChanged, &SettingsCache::instance(), &SettingsCache::setHighlightWords); auto *chatGrid = new QGridLayout; chatGrid->addWidget(&chatMentionCheckBox, 0, 0); @@ -1365,7 +1357,7 @@ MessagesSettingsPage::MessagesSettingsPage() chatGroupBox->setLayout(chatGrid); highlightColor = new QLineEdit(); - highlightColor->setText(SettingsCache::instance()->getChatHighlightColor()); + highlightColor->setText(SettingsCache::instance().getChatHighlightColor()); updateHighlightPreview(); connect(highlightColor, &QLineEdit::textChanged, this, &MessagesSettingsPage::updateHighlightColor); @@ -1380,9 +1372,9 @@ MessagesSettingsPage::MessagesSettingsPage() messageList = new QListWidget; - int count = SettingsCache::instance()->messages().getCount(); + int count = SettingsCache::instance().messages().getCount(); for (int i = 0; i < count; i++) - messageList->addItem(SettingsCache::instance()->messages().getMessageAt(i)); + messageList->addItem(SettingsCache::instance().messages().getMessageAt(i)); aAdd = new QAction(this); aAdd->setIcon(QPixmap("theme:icons/increment")); @@ -1421,7 +1413,7 @@ MessagesSettingsPage::MessagesSettingsPage() setLayout(mainLayout); - connect(SettingsCache::instance().get(), &SettingsCache::langChanged, this, &MessagesSettingsPage::retranslateUi); + connect(&SettingsCache::instance(), &SettingsCache::langChanged, this, &MessagesSettingsPage::retranslateUi); retranslateUi(); } @@ -1434,7 +1426,7 @@ void MessagesSettingsPage::updateColor(const QString &value) colorToSet.setNamedColor("#" + value); #endif if (colorToSet.isValid()) { - SettingsCache::instance()->setChatMentionColor(value); + SettingsCache::instance().setChatMentionColor(value); updateMentionPreview(); } } @@ -1448,43 +1440,43 @@ void MessagesSettingsPage::updateHighlightColor(const QString &value) colorToSet.setNamedColor("#" + value); #endif if (colorToSet.isValid()) { - SettingsCache::instance()->setChatHighlightColor(value); + SettingsCache::instance().setChatHighlightColor(value); updateHighlightPreview(); } } void MessagesSettingsPage::updateTextColor(QT_STATE_CHANGED_T value) { - SettingsCache::instance()->setChatMentionForeground(value); + SettingsCache::instance().setChatMentionForeground(value); updateMentionPreview(); } void MessagesSettingsPage::updateTextHighlightColor(QT_STATE_CHANGED_T value) { - SettingsCache::instance()->setChatHighlightForeground(value); + SettingsCache::instance().setChatHighlightForeground(value); updateHighlightPreview(); } void MessagesSettingsPage::updateMentionPreview() { mentionColor->setStyleSheet( - "QLineEdit{background:#" + SettingsCache::instance()->getChatMentionColor() + - ";color: " + (SettingsCache::instance()->getChatMentionForeground() ? "white" : "black") + ";}"); + "QLineEdit{background:#" + SettingsCache::instance().getChatMentionColor() + + ";color: " + (SettingsCache::instance().getChatMentionForeground() ? "white" : "black") + ";}"); } void MessagesSettingsPage::updateHighlightPreview() { highlightColor->setStyleSheet( - "QLineEdit{background:#" + SettingsCache::instance()->getChatHighlightColor() + - ";color: " + (SettingsCache::instance()->getChatHighlightForeground() ? "white" : "black") + ";}"); + "QLineEdit{background:#" + SettingsCache::instance().getChatHighlightColor() + + ";color: " + (SettingsCache::instance().getChatHighlightForeground() ? "white" : "black") + ";}"); } void MessagesSettingsPage::storeSettings() { - SettingsCache::instance()->messages().setCount(messageList->count()); + SettingsCache::instance().messages().setCount(messageList->count()); for (int i = 0; i < messageList->count(); i++) - SettingsCache::instance()->messages().setMessageAt(i, messageList->item(i)->text()); - emit SettingsCache::instance()->messages().messageMacrosChanged(); + SettingsCache::instance().messages().setMessageAt(i, messageList->item(i)->text()); + emit SettingsCache::instance().messages().messageMacrosChanged(); } void MessagesSettingsPage::actAdd() @@ -1547,11 +1539,11 @@ void MessagesSettingsPage::retranslateUi() SoundSettingsPage::SoundSettingsPage() { - soundEnabledCheckBox.setChecked(SettingsCache::instance()->getSoundEnabled()); - connect(&soundEnabledCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + soundEnabledCheckBox.setChecked(SettingsCache::instance().getSoundEnabled()); + connect(&soundEnabledCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setSoundEnabled); - QString themeName = SettingsCache::instance()->getSoundThemeName(); + QString themeName = SettingsCache::instance().getSoundThemeName(); QStringList themeDirs = soundEngine->getAvailableThemes().keys(); for (int i = 0; i < themeDirs.size(); i++) { @@ -1566,18 +1558,17 @@ SoundSettingsPage::SoundSettingsPage() masterVolumeSlider = new QSlider(Qt::Horizontal); masterVolumeSlider->setMinimum(0); masterVolumeSlider->setMaximum(100); - masterVolumeSlider->setValue(SettingsCache::instance()->getMasterVolume()); - masterVolumeSlider->setToolTip(QString::number(SettingsCache::instance()->getMasterVolume())); - connect(SettingsCache::instance().get(), &SettingsCache::masterVolumeChanged, this, + masterVolumeSlider->setValue(SettingsCache::instance().getMasterVolume()); + masterVolumeSlider->setToolTip(QString::number(SettingsCache::instance().getMasterVolume())); + connect(&SettingsCache::instance(), &SettingsCache::masterVolumeChanged, this, &SoundSettingsPage::masterVolumeChanged); connect(masterVolumeSlider, &QSlider::sliderReleased, soundEngine, &SoundEngine::testSound); - connect(masterVolumeSlider, &QSlider::valueChanged, SettingsCache::instance().get(), - &SettingsCache::setMasterVolume); + connect(masterVolumeSlider, &QSlider::valueChanged, &SettingsCache::instance(), &SettingsCache::setMasterVolume); masterVolumeSpinBox = new QSpinBox(); masterVolumeSpinBox->setMinimum(0); masterVolumeSpinBox->setMaximum(100); - masterVolumeSpinBox->setValue(SettingsCache::instance()->getMasterVolume()); + masterVolumeSpinBox->setValue(SettingsCache::instance().getMasterVolume()); connect(masterVolumeSlider, &QSlider::valueChanged, masterVolumeSpinBox, &QSpinBox::setValue); connect(masterVolumeSpinBox, qOverload(&QSpinBox::valueChanged), masterVolumeSlider, &QSlider::setValue); @@ -1599,7 +1590,7 @@ SoundSettingsPage::SoundSettingsPage() setLayout(mainLayout); - connect(SettingsCache::instance().get(), &SettingsCache::langChanged, this, &SoundSettingsPage::retranslateUi); + connect(&SettingsCache::instance(), &SettingsCache::langChanged, this, &SoundSettingsPage::retranslateUi); retranslateUi(); } @@ -1607,7 +1598,7 @@ void SoundSettingsPage::themeBoxChanged(int index) { QStringList themeDirs = soundEngine->getAvailableThemes().keys(); if (index >= 0 && index < themeDirs.count()) - SettingsCache::instance()->setSoundThemeName(themeDirs.at(index)); + SettingsCache::instance().setSoundThemeName(themeDirs.at(index)); } void SoundSettingsPage::masterVolumeChanged(int value) @@ -1694,7 +1685,7 @@ ShortcutSettingsPage::ShortcutSettingsPage() connect(shortcutsTable, &ShortcutTreeView::currentItemChanged, this, &ShortcutSettingsPage::currentItemChanged); - connect(SettingsCache::instance().get(), &SettingsCache::langChanged, this, &ShortcutSettingsPage::retranslateUi); + connect(&SettingsCache::instance(), &SettingsCache::langChanged, this, &ShortcutSettingsPage::retranslateUi); retranslateUi(); } @@ -1705,8 +1696,8 @@ void ShortcutSettingsPage::currentItemChanged(const QString &key) currentActionName->setText(""); editTextBox->setShortcutName(""); } else { - QString group = SettingsCache::instance()->shortcuts().getShortcut(key).getGroupName(); - QString action = SettingsCache::instance()->shortcuts().getShortcut(key).getName(); + QString group = SettingsCache::instance().shortcuts().getShortcut(key).getGroupName(); + QString action = SettingsCache::instance().shortcuts().getShortcut(key).getName(); currentActionGroupName->setText(group); currentActionName->setText(action); editTextBox->setShortcutName(key); @@ -1717,7 +1708,7 @@ void ShortcutSettingsPage::resetShortcuts() { if (QMessageBox::question(this, tr("Restore all default shortcuts"), tr("Do you really want to restore all default shortcuts?")) == QMessageBox::Yes) { - SettingsCache::instance()->shortcuts().resetAllShortcuts(); + SettingsCache::instance().shortcuts().resetAllShortcuts(); } } @@ -1725,7 +1716,7 @@ void ShortcutSettingsPage::clearShortcuts() { if (QMessageBox::question(this, tr("Clear all default shortcuts"), tr("Do you really want to clear all shortcuts?")) == QMessageBox::Yes) { - SettingsCache::instance()->shortcuts().clearAllShortcuts(); + SettingsCache::instance().shortcuts().clearAllShortcuts(); } } @@ -1761,7 +1752,7 @@ DlgSettings::DlgSettings(QWidget *parent) : QDialog(parent) auto rec = QGuiApplication::primaryScreen()->availableGeometry(); this->setMinimumSize(qMin(700, rec.width()), qMin(700, rec.height())); - connect(SettingsCache::instance().get(), &SettingsCache::langChanged, this, &DlgSettings::updateLanguage); + connect(&SettingsCache::instance(), &SettingsCache::langChanged, this, &DlgSettings::updateLanguage); contentsWidget = new QListWidget; contentsWidget->setViewMode(QListView::IconMode); @@ -1796,7 +1787,7 @@ DlgSettings::DlgSettings(QWidget *parent) : QDialog(parent) mainLayout->addWidget(buttonBox); setLayout(mainLayout); - connect(SettingsCache::instance().get(), &SettingsCache::langChanged, this, &DlgSettings::retranslateUi); + connect(&SettingsCache::instance(), &SettingsCache::langChanged, this, &DlgSettings::retranslateUi); retranslateUi(); adjustSize(); @@ -1916,8 +1907,7 @@ void DlgSettings::closeEvent(QCloseEvent *event) } } - if (!QDir(SettingsCache::instance()->getDeckPath()).exists() || - SettingsCache::instance()->getDeckPath().isEmpty()) { + if (!QDir(SettingsCache::instance().getDeckPath()).exists() || SettingsCache::instance().getDeckPath().isEmpty()) { // TODO: Prompt to create it if (QMessageBox::critical( this, tr("Error"), @@ -1928,8 +1918,7 @@ void DlgSettings::closeEvent(QCloseEvent *event) } } - if (!QDir(SettingsCache::instance()->getPicsPath()).exists() || - SettingsCache::instance()->getPicsPath().isEmpty()) { + if (!QDir(SettingsCache::instance().getPicsPath()).exists() || SettingsCache::instance().getPicsPath().isEmpty()) { // TODO: Prompt to create it if (QMessageBox::critical(this, tr("Error"), tr("The path to your card pictures directory is invalid. Would you like to go back " diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_startup_card_check.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_startup_card_check.cpp index 92369f041..ac1922a9d 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_startup_card_check.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_startup_card_check.cpp @@ -10,7 +10,7 @@ DlgStartupCardCheck::DlgStartupCardCheck(QWidget *parent) : QDialog(parent) layout = new QVBoxLayout(this); - QDate lastCheckDate = SettingsCache::instance()->getLastCardUpdateCheck(); + QDate lastCheckDate = SettingsCache::instance().getLastCardUpdateCheck(); int daysAgo = lastCheckDate.daysTo(QDate::currentDate()); instructionLabel = new QLabel( diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_tip_of_the_day.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_tip_of_the_day.cpp index 1a53ee6a1..0197d3dbf 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_tip_of_the_day.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_tip_of_the_day.cpp @@ -42,7 +42,7 @@ DlgTipOfTheDay::DlgTipOfTheDay(QWidget *parent) : QDialog(parent) tipNumber = new QLabel(); tipNumber->setAlignment(Qt::AlignCenter); - QList seenTips = SettingsCache::instance()->getSeenTips(); + QList seenTips = SettingsCache::instance().getSeenTips(); newTipsAvailable = false; currentTip = 0; for (int i = 0; i < tipDatabase->rowCount(); i++) { @@ -74,8 +74,8 @@ DlgTipOfTheDay::DlgTipOfTheDay(QWidget *parent) : QDialog(parent) connect(previousButton, &QPushButton::clicked, this, &DlgTipOfTheDay::previousClicked); showTipsOnStartupCheck = new QCheckBox("Show tips on startup"); - showTipsOnStartupCheck->setChecked(SettingsCache::instance()->getShowTipsOnStartup()); - connect(showTipsOnStartupCheck, &QCheckBox::clicked, SettingsCache::instance().get(), + showTipsOnStartupCheck->setChecked(SettingsCache::instance().getShowTipsOnStartup()); + connect(showTipsOnStartupCheck, &QCheckBox::clicked, &SettingsCache::instance(), &SettingsCache::setShowTipsOnStartup); buttonBar = new QHBoxLayout(); buttonBar->addWidget(showTipsOnStartupCheck); @@ -131,10 +131,10 @@ void DlgTipOfTheDay::updateTip(int tipId) } // Store tip id as seen - QList seenTips = SettingsCache::instance()->getSeenTips(); + QList seenTips = SettingsCache::instance().getSeenTips(); if (!seenTips.contains(tipId)) { seenTips.append(tipId); - SettingsCache::instance()->setSeenTips(seenTips); + SettingsCache::instance().setSeenTips(seenTips); } TipOfTheDay tip = tipDatabase->getTip(tipId); diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_update.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_update.cpp index 891b1656d..19182c55b 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_update.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_update.cpp @@ -23,10 +23,10 @@ DlgUpdate::DlgUpdate(QWidget *parent) : QDialog(parent) statusLabel = new QLabel(this); statusLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Fixed); statusLabel->setWordWrap(true); - descriptionLabel = new QLabel( - tr("Current release channel") + - QString(": %1").arg(tr(SettingsCache::instance()->getUpdateReleaseChannel()->getName().toUtf8())), - this); + descriptionLabel = + new QLabel(tr("Current release channel") + + QString(": %1").arg(tr(SettingsCache::instance().getUpdateReleaseChannel()->getName().toUtf8())), + this); progress = new QProgressBar(this); buttonBox = new QDialogButtonBox(this); @@ -84,7 +84,7 @@ void DlgUpdate::closeDialog() void DlgUpdate::gotoDownloadPage() { - QDesktopServices::openUrl(SettingsCache::instance()->getUpdateReleaseChannel()->getManualDownloadUrl()); + QDesktopServices::openUrl(SettingsCache::instance().getUpdateReleaseChannel()->getManualDownloadUrl()); } void DlgUpdate::downloadUpdate(const QString &releaseName) @@ -141,7 +141,7 @@ void DlgUpdate::finishedUpdateCheck(bool needToUpdate, bool isCompatible, Releas tr("You are already running the latest version available in the chosen release channel.") + "
" + "" + tr("Current version") + QString(": %1
").arg(VERSION_STRING) + "" + tr("Selected release channel") + - QString(": %1").arg(tr(SettingsCache::instance()->getUpdateReleaseChannel()->getName().toUtf8()))); + QString(": %1").arg(tr(SettingsCache::instance().getUpdateReleaseChannel()->getName().toUtf8()))); return; } diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_view_log.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_view_log.cpp index 99ee9cd27..3dd0fedb3 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_view_log.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_view_log.cpp @@ -24,7 +24,7 @@ DlgViewLog::DlgViewLog(QWidget *parent) : QDialog(parent) coClearLog = new QCheckBox; coClearLog->setText(tr("Clear log when closing")); - coClearLog->setChecked(SettingsCache::instance()->servers().getClearDebugLogStatus(false)); + coClearLog->setChecked(SettingsCache::instance().servers().getClearDebugLogStatus(false)); connect(coClearLog, &QCheckBox::toggled, this, &DlgViewLog::actCheckBoxChanged); copyToClipboardButton = new QPushButton; @@ -49,7 +49,7 @@ DlgViewLog::DlgViewLog(QWidget *parent) : QDialog(parent) void DlgViewLog::actCheckBoxChanged(bool abNewValue) { - SettingsCache::instance()->servers().setClearDebugLogStatus(abNewValue); + SettingsCache::instance().servers().setClearDebugLogStatus(abNewValue); } void DlgViewLog::actCopyToClipboard() diff --git a/cockatrice/src/interface/widgets/general/home_widget.cpp b/cockatrice/src/interface/widgets/general/home_widget.cpp index 6302173fa..17283f035 100644 --- a/cockatrice/src/interface/widgets/general/home_widget.cpp +++ b/cockatrice/src/interface/widgets/general/home_widget.cpp @@ -21,7 +21,7 @@ HomeWidget::HomeWidget(QWidget *parent, TabSupervisor *_tabSupervisor) backgroundSourceCard = new CardInfoPictureArtCropWidget(this); backgroundSourceDeck = new DeckLoader(); - backgroundSourceDeck->loadFromFile(SettingsCache::instance()->getDeckPath() + "background.cod", + backgroundSourceDeck->loadFromFile(SettingsCache::instance().getDeckPath() + "background.cod", DeckLoader::CockatriceFormat, false); gradientColors = extractDominantColors(background); @@ -43,9 +43,9 @@ HomeWidget::HomeWidget(QWidget *parent, TabSupervisor *_tabSupervisor) updateConnectButton(tabSupervisor->getClient()->getStatus()); connect(tabSupervisor->getClient(), &RemoteClient::statusChanged, this, &HomeWidget::updateConnectButton); - connect(SettingsCache::instance().get(), &SettingsCache::homeTabBackgroundSourceChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::homeTabBackgroundSourceChanged, this, &HomeWidget::initializeBackgroundFromSource); - connect(SettingsCache::instance().get(), &SettingsCache::homeTabBackgroundShuffleFrequencyChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::homeTabBackgroundShuffleFrequencyChanged, this, &HomeWidget::onBackgroundShuffleFrequencyChanged); } @@ -57,7 +57,7 @@ void HomeWidget::initializeBackgroundFromSource() return; } - auto backgroundSourceType = BackgroundSources::fromId(SettingsCache::instance()->getHomeTabBackgroundSource()); + auto backgroundSourceType = BackgroundSources::fromId(SettingsCache::instance().getHomeTabBackgroundSource()); cardChangeTimer->stop(); @@ -68,19 +68,19 @@ void HomeWidget::initializeBackgroundFromSource() update(); break; case BackgroundSources::RandomCardArt: - cardChangeTimer->start(SettingsCache::instance()->getHomeTabBackgroundShuffleFrequency() * 1000); + cardChangeTimer->start(SettingsCache::instance().getHomeTabBackgroundShuffleFrequency() * 1000); break; case BackgroundSources::DeckFileArt: - backgroundSourceDeck->loadFromFile(SettingsCache::instance()->getDeckPath() + "background.cod", + backgroundSourceDeck->loadFromFile(SettingsCache::instance().getDeckPath() + "background.cod", DeckLoader::CockatriceFormat, false); - cardChangeTimer->start(SettingsCache::instance()->getHomeTabBackgroundShuffleFrequency() * 1000); + cardChangeTimer->start(SettingsCache::instance().getHomeTabBackgroundShuffleFrequency() * 1000); break; } } void HomeWidget::updateRandomCard() { - auto backgroundSourceType = BackgroundSources::fromId(SettingsCache::instance()->getHomeTabBackgroundSource()); + auto backgroundSourceType = BackgroundSources::fromId(SettingsCache::instance().getHomeTabBackgroundSource()); ExactCard newCard; @@ -121,7 +121,7 @@ void HomeWidget::updateRandomCard() backgroundSourceCard->setCard(newCard); background = backgroundSourceCard->getProcessedBackground(size()); - if (SettingsCache::instance()->getHomeTabBackgroundShuffleFrequency() <= 0) { + if (SettingsCache::instance().getHomeTabBackgroundShuffleFrequency() <= 0) { cardChangeTimer->stop(); } } @@ -129,10 +129,10 @@ void HomeWidget::updateRandomCard() void HomeWidget::onBackgroundShuffleFrequencyChanged() { cardChangeTimer->stop(); - if (SettingsCache::instance()->getHomeTabBackgroundShuffleFrequency() <= 0) { + if (SettingsCache::instance().getHomeTabBackgroundShuffleFrequency() <= 0) { return; } - cardChangeTimer->start(SettingsCache::instance()->getHomeTabBackgroundShuffleFrequency() * 1000); + cardChangeTimer->start(SettingsCache::instance().getHomeTabBackgroundShuffleFrequency() * 1000); } void HomeWidget::updateBackgroundProperties() @@ -236,8 +236,8 @@ void HomeWidget::updateConnectButton(const ClientStatus status) QPair HomeWidget::extractDominantColors(const QPixmap &pixmap) { - if (SettingsCache::instance()->getThemeName() == "Default" && - SettingsCache::instance()->getHomeTabBackgroundSource() == BackgroundSources::toId(BackgroundSources::Theme)) { + if (SettingsCache::instance().getThemeName() == "Default" && + SettingsCache::instance().getHomeTabBackgroundSource() == BackgroundSources::toId(BackgroundSources::Theme)) { return QPair(QColor::fromRgb(20, 140, 60), QColor::fromRgb(120, 200, 80)); } diff --git a/cockatrice/src/interface/widgets/menus/deck_editor_menu.cpp b/cockatrice/src/interface/widgets/menus/deck_editor_menu.cpp index dc3cb78c1..775efafbd 100644 --- a/cockatrice/src/interface/widgets/menus/deck_editor_menu.cpp +++ b/cockatrice/src/interface/widgets/menus/deck_editor_menu.cpp @@ -12,7 +12,7 @@ DeckEditorMenu::DeckEditorMenu(AbstractTabDeckEditor *parent) : QMenu(parent), d connect(aLoadDeck, &QAction::triggered, deckEditor, &AbstractTabDeckEditor::actLoadDeck); loadRecentDeckMenu = new QMenu(this); - connect(&SettingsCache::instance().get()->recents(), &RecentsSettings::recentlyOpenedDeckPathsChanged, this, + connect(&SettingsCache::instance().recents(), &RecentsSettings::recentlyOpenedDeckPathsChanged, this, &DeckEditorMenu::updateRecentlyOpened); aClearRecents = new QAction(QString(), this); @@ -109,7 +109,7 @@ DeckEditorMenu::DeckEditorMenu(AbstractTabDeckEditor *parent) : QMenu(parent), d addAction(aClose); retranslateUi(); - connect(&SettingsCache::instance().get()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &DeckEditorMenu::refreshShortcuts); refreshShortcuts(); } @@ -130,7 +130,7 @@ void DeckEditorMenu::setSaveStatus(bool newStatus) void DeckEditorMenu::updateRecentlyOpened() { loadRecentDeckMenu->clear(); - for (const auto &deckPath : SettingsCache::instance()->recents().getRecentlyOpenedDeckPaths()) { + for (const auto &deckPath : SettingsCache::instance().recents().getRecentlyOpenedDeckPaths()) { QAction *aRecentlyOpenedDeck = new QAction(deckPath, this); loadRecentDeckMenu->addAction(aRecentlyOpenedDeck); connect(aRecentlyOpenedDeck, &QAction::triggered, deckEditor, @@ -138,12 +138,12 @@ void DeckEditorMenu::updateRecentlyOpened() } loadRecentDeckMenu->addSeparator(); loadRecentDeckMenu->addAction(aClearRecents); - aClearRecents->setEnabled(SettingsCache::instance()->recents().getRecentlyOpenedDeckPaths().length() > 0); + aClearRecents->setEnabled(SettingsCache::instance().recents().getRecentlyOpenedDeckPaths().length() > 0); } void DeckEditorMenu::actClearRecents() { - SettingsCache::instance()->recents().clearRecentlyOpenedDeckPaths(); + SettingsCache::instance().recents().clearRecentlyOpenedDeckPaths(); } void DeckEditorMenu::retranslateUi() @@ -182,7 +182,7 @@ void DeckEditorMenu::retranslateUi() void DeckEditorMenu::refreshShortcuts() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aNewDeck->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aNewDeck")); aLoadDeck->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aLoadDeck")); aSaveDeck->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aSaveDeck")); diff --git a/cockatrice/src/interface/widgets/menus/tearoff_menu.h b/cockatrice/src/interface/widgets/menus/tearoff_menu.h index 1b0fb4709..3e6c47012 100644 --- a/cockatrice/src/interface/widgets/menus/tearoff_menu.h +++ b/cockatrice/src/interface/widgets/menus/tearoff_menu.h @@ -15,16 +15,16 @@ class TearOffMenu : public QMenu public: explicit TearOffMenu(const QString &title, QWidget *parent = nullptr) : QMenu(title, parent) { - connect(SettingsCache::instance().get(), &SettingsCache::useTearOffMenusChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::useTearOffMenusChanged, this, [this](const bool state) { setTearOffEnabled(state); }); - setTearOffEnabled(SettingsCache::instance()->getUseTearOffMenus()); + setTearOffEnabled(SettingsCache::instance().getUseTearOffMenus()); } explicit TearOffMenu(QWidget *parent = nullptr) : QMenu(parent) { - connect(SettingsCache::instance().get(), &SettingsCache::useTearOffMenusChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::useTearOffMenusChanged, this, [this](const bool state) { setTearOffEnabled(state); }); - setTearOffEnabled(SettingsCache::instance()->getUseTearOffMenus()); + setTearOffEnabled(SettingsCache::instance().getUseTearOffMenus()); } TearOffMenu *addTearOffMenu(const QString &title) diff --git a/cockatrice/src/interface/widgets/printing_selector/printing_selector.cpp b/cockatrice/src/interface/widgets/printing_selector/printing_selector.cpp index f0f3eeedd..1a47c56a6 100644 --- a/cockatrice/src/interface/widgets/printing_selector/printing_selector.cpp +++ b/cockatrice/src/interface/widgets/printing_selector/printing_selector.cpp @@ -45,15 +45,15 @@ PrintingSelector::PrintingSelector(QWidget *parent, AbstractTabDeckEditor *_deck // Create the checkbox for navigation buttons visibility navigationCheckBox = new QCheckBox(this); - navigationCheckBox->setChecked(SettingsCache::instance()->getPrintingSelectorNavigationButtonsVisible()); + navigationCheckBox->setChecked(SettingsCache::instance().getPrintingSelectorNavigationButtonsVisible()); connect(navigationCheckBox, &QCheckBox::QT_STATE_CHANGED, this, &PrintingSelector::toggleVisibilityNavigationButtons); - connect(navigationCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + connect(navigationCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setPrintingSelectorNavigationButtonsVisible); cardSizeWidget = - new CardSizeWidget(displayOptionsWidget, flowWidget, SettingsCache::instance()->getPrintingSelectorCardSize()); - connect(cardSizeWidget, &CardSizeWidget::cardSizeSettingUpdated, SettingsCache::instance().get(), + new CardSizeWidget(displayOptionsWidget, flowWidget, SettingsCache::instance().getPrintingSelectorCardSize()); + connect(cardSizeWidget, &CardSizeWidget::cardSizeSettingUpdated, &SettingsCache::instance(), &SettingsCache::setPrintingSelectorCardSize); displayOptionsWidget->addSettingsWidget(sortToolBar); @@ -76,7 +76,7 @@ PrintingSelector::PrintingSelector(QWidget *parent, AbstractTabDeckEditor *_deck layout->addWidget(flowWidget); cardSelectionBar = new PrintingSelectorCardSelectionWidget(this); - cardSelectionBar->setVisible(SettingsCache::instance()->getPrintingSelectorNavigationButtonsVisible()); + cardSelectionBar->setVisible(SettingsCache::instance().getPrintingSelectorNavigationButtonsVisible()); layout->addWidget(cardSelectionBar); // Connect deck model data change signal to update display @@ -206,7 +206,7 @@ void PrintingSelector::getAllSetsForCurrentCard() sortToolBar->filterSets(sortedPrintings, searchBar->getSearchText().trimmed().toLower()); QList printingsToUse; - if (SettingsCache::instance()->getBumpSetsWithCardsInDeckToTop()) { + if (SettingsCache::instance().getBumpSetsWithCardsInDeckToTop()) { printingsToUse = sortToolBar->prependPrintingsInDeck(filteredPrintings, selectedCard, deckModel); } else { printingsToUse = filteredPrintings; diff --git a/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.cpp b/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.cpp index b7b8133dc..40f38ac43 100644 --- a/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.cpp +++ b/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.cpp @@ -168,20 +168,20 @@ void PrintingSelectorCardOverlayWidget::customMenu(QPoint point) menu.addMenu(preferenceMenu); const auto &preferredProviderId = - SettingsCache::instance()->cardOverrides().getCardPreferenceOverride(rootCard.getName()); + SettingsCache::instance().cardOverrides().getCardPreferenceOverride(rootCard.getName()); const auto &cardProviderId = rootCard.getPrinting().getUuid(); if (preferredProviderId.isEmpty() || preferredProviderId != cardProviderId) { auto *pinAction = preferenceMenu->addAction(tr("Pin Printing")); connect(pinAction, &QAction::triggered, this, [this] { - SettingsCache::instance()->cardOverrides().setCardPreferenceOverride( + SettingsCache::instance().cardOverrides().setCardPreferenceOverride( {rootCard.getName(), rootCard.getPrinting().getUuid()}); emit cardPreferenceChanged(); }); } else { auto *unpinAction = preferenceMenu->addAction(tr("Unpin Printing")); connect(unpinAction, &QAction::triggered, this, [this] { - SettingsCache::instance()->cardOverrides().deleteCardPreferenceOverride(rootCard.getName()); + SettingsCache::instance().cardOverrides().deleteCardPreferenceOverride(rootCard.getName()); emit cardPreferenceChanged(); }); } diff --git a/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_sorting_widget.cpp b/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_sorting_widget.cpp index 0bb350d4d..af7cedbeb 100644 --- a/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_sorting_widget.cpp +++ b/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_sorting_widget.cpp @@ -25,7 +25,7 @@ PrintingSelectorCardSortingWidget::PrintingSelectorCardSortingWidget(PrintingSel sortOptionsSelector = new QComboBox(this); sortOptionsSelector->setFocusPolicy(Qt::StrongFocus); sortOptionsSelector->addItems(SORT_OPTIONS); - sortOptionsSelector->setCurrentIndex(SettingsCache::instance()->getPrintingSelectorSortOrder()); + sortOptionsSelector->setCurrentIndex(SettingsCache::instance().getPrintingSelectorSortOrder()); connect(sortOptionsSelector, &QComboBox::currentTextChanged, this, &PrintingSelectorCardSortingWidget::updateSortSetting); connect(sortOptionsSelector, &QComboBox::currentTextChanged, parent, &PrintingSelector::updateDisplay); @@ -61,7 +61,7 @@ void PrintingSelectorCardSortingWidget::updateSortOrder() */ void PrintingSelectorCardSortingWidget::updateSortSetting() { - SettingsCache::instance()->setPrintingSelectorSortOrder(sortOptionsSelector->currentIndex()); + SettingsCache::instance().setPrintingSelectorSortOrder(sortOptionsSelector->currentIndex()); } /** @@ -89,7 +89,7 @@ QList PrintingSelectorCardSortingWidget::sortSets(const SetToPrint } if (sortedSets.empty()) { - sortedSets << CardSet::newInstance(SettingsCache::instance()->cardDatabase(), "", "", "", QDate()); + sortedSets << CardSet::newInstance(SettingsCache::instance().cardDatabase(), "", "", "", QDate()); } if (sortOptionsSelector->currentText() == SORT_OPTIONS_PREFERENCE) { @@ -156,7 +156,7 @@ QList PrintingSelectorCardSortingWidget::prependPinnedPrintings(co const QString &cardName) { auto printingsToUse = printings; - const auto &cardProviderId = SettingsCache::instance()->cardOverrides().getCardPreferenceOverride(cardName); + const auto &cardProviderId = SettingsCache::instance().cardOverrides().getCardPreferenceOverride(cardName); if (!cardProviderId.isEmpty()) { for (int i = 0; i < printingsToUse.size(); ++i) { const auto &card = printingsToUse[i]; diff --git a/cockatrice/src/interface/widgets/replay/replay_manager.cpp b/cockatrice/src/interface/widgets/replay/replay_manager.cpp index a137e9517..fac3576f2 100644 --- a/cockatrice/src/interface/widgets/replay/replay_manager.cpp +++ b/cockatrice/src/interface/widgets/replay/replay_manager.cpp @@ -88,7 +88,7 @@ ReplayManager::ReplayManager(TabGame *parent, GameReplay *_replay) connect(this, &ReplayManager::requestChatAndPhaseReset, game, &TabGame::resetChatAndPhase); - connect(&SettingsCache::instance().get()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &ReplayManager::refreshShortcuts); refreshShortcuts(); } @@ -128,7 +128,7 @@ void ReplayManager::replayRewind() void ReplayManager::refreshShortcuts() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); if (aReplaySkipForward) { aReplaySkipForward->setShortcuts(shortcuts.getShortcut("Replays/aSkipForward")); } diff --git a/cockatrice/src/interface/widgets/replay/replay_timeline_widget.cpp b/cockatrice/src/interface/widgets/replay/replay_timeline_widget.cpp index f54e148ad..fb5936cae 100644 --- a/cockatrice/src/interface/widgets/replay/replay_timeline_widget.cpp +++ b/cockatrice/src/interface/widgets/replay/replay_timeline_widget.cpp @@ -109,7 +109,7 @@ void ReplayTimelineWidget::handleBackwardsSkip(bool doRewindBuffering) // The rewind only happens once the timer runs out. // If another backwards skip happens, the timer will just get reset instead of rewinding. rewindBufferingTimer->stop(); - rewindBufferingTimer->start(SettingsCache::instance()->getRewindBufferingMs()); + rewindBufferingTimer->start(SettingsCache::instance().getRewindBufferingMs()); } else { // otherwise, process the rewind immediately processRewind(); diff --git a/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp b/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp index 2eb798fe0..c97d32d44 100644 --- a/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp +++ b/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp @@ -235,11 +235,11 @@ void ChatView::appendMessage(QString message, } cursor.setCharFormat(defaultFormat); - bool mentionEnabled = SettingsCache::instance()->getChatMention(); + bool mentionEnabled = SettingsCache::instance().getChatMention(); #if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)) - highlightedWords = SettingsCache::instance()->getHighlightWords().split(' ', Qt::SkipEmptyParts); + highlightedWords = SettingsCache::instance().getHighlightWords().split(' ', Qt::SkipEmptyParts); #else - highlightedWords = SettingsCache::instance()->getHighlightWords().split(' ', QString::SkipEmptyParts); + highlightedWords = SettingsCache::instance().getHighlightWords().split(' ', QString::SkipEmptyParts); #endif // parse the message @@ -338,8 +338,8 @@ void ChatView::checkMention(QTextCursor &cursor, QString &message, const QString // You have received a valid mention!! soundEngine->playSound("chat_mention"); mentionFormat.setBackground(QBrush(getCustomMentionColor())); - mentionFormat.setForeground(SettingsCache::instance()->getChatMentionForeground() ? QBrush(Qt::white) - : QBrush(Qt::black)); + mentionFormat.setForeground(SettingsCache::instance().getChatMentionForeground() ? QBrush(Qt::white) + : QBrush(Qt::black)); cursor.insertText(mention, mentionFormat); message = message.mid(mention.size()); showSystemPopup(userName); @@ -360,8 +360,8 @@ void ChatView::checkMention(QTextCursor &cursor, QString &message, const QString // Moderator Sending Global Message soundEngine->playSound("all_mention"); mentionFormat.setBackground(QBrush(getCustomMentionColor())); - mentionFormat.setForeground(SettingsCache::instance()->getChatMentionForeground() ? QBrush(Qt::white) - : QBrush(Qt::black)); + mentionFormat.setForeground(SettingsCache::instance().getChatMentionForeground() ? QBrush(Qt::white) + : QBrush(Qt::black)); cursor.insertText("@" + fullMentionUpToSpaceOrEnd, mentionFormat); message = message.mid(fullMentionUpToSpaceOrEnd.size() + 1); showSystemPopup(userName); @@ -408,8 +408,8 @@ void ChatView::checkWord(QTextCursor &cursor, QString &message) if (fullWordUpToSpaceOrEnd.compare(word, Qt::CaseInsensitive) == 0) { // You have received a valid mention of custom word!! highlightFormat.setBackground(QBrush(getCustomHighlightColor())); - highlightFormat.setForeground(SettingsCache::instance()->getChatHighlightForeground() ? QBrush(Qt::white) - : QBrush(Qt::black)); + highlightFormat.setForeground(SettingsCache::instance().getChatHighlightForeground() ? QBrush(Qt::white) + : QBrush(Qt::black)); cursor.insertText(fullWordUpToSpaceOrEnd, highlightFormat); cursor.insertText(rest, defaultFormat); QApplication::alert(this); @@ -465,7 +465,7 @@ void ChatView::actMessageClicked() void ChatView::showSystemPopup(const QString &userName) { QApplication::alert(this); - if (SettingsCache::instance()->getShowMentionPopup()) { + if (SettingsCache::instance().getShowMentionPopup()) { emit showMentionPopup(userName); } } @@ -473,10 +473,10 @@ void ChatView::showSystemPopup(const QString &userName) QColor ChatView::getCustomMentionColor() { #if (QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)) - QColor customColor = QColor::fromString("#" + SettingsCache::instance()->getChatMentionColor()); + QColor customColor = QColor::fromString("#" + SettingsCache::instance().getChatMentionColor()); #else QColor customColor; - customColor.setNamedColor("#" + SettingsCache::instance()->getChatMentionColor()); + customColor.setNamedColor("#" + SettingsCache::instance().getChatMentionColor()); #endif return customColor.isValid() ? customColor : DEFAULT_MENTION_COLOR; } @@ -484,10 +484,10 @@ QColor ChatView::getCustomMentionColor() QColor ChatView::getCustomHighlightColor() { #if (QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)) - QColor customColor = QColor::fromString("#" + SettingsCache::instance()->getChatMentionColor()); + QColor customColor = QColor::fromString("#" + SettingsCache::instance().getChatMentionColor()); #else QColor customColor; - customColor.setNamedColor("#" + SettingsCache::instance()->getChatMentionColor()); + customColor.setNamedColor("#" + SettingsCache::instance().getChatMentionColor()); #endif return customColor.isValid() ? customColor : DEFAULT_MENTION_COLOR; } diff --git a/cockatrice/src/interface/widgets/server/games_model.cpp b/cockatrice/src/interface/widgets/server/games_model.cpp index de9ba6c78..1da92cdad 100644 --- a/cockatrice/src/interface/widgets/server/games_model.cpp +++ b/cockatrice/src/interface/widgets/server/games_model.cpp @@ -364,7 +364,7 @@ bool GamesProxyModel::areFilterParametersSetToDefaults() const void GamesProxyModel::loadFilterParameters(const QMap &allGameTypes) { - GameFiltersSettings &gameFilters = SettingsCache::instance()->gameFilters(); + GameFiltersSettings &gameFilters = SettingsCache::instance().gameFilters(); QSet newGameTypeFilter; QMapIterator gameTypesIterator(allGameTypes); @@ -387,7 +387,7 @@ void GamesProxyModel::loadFilterParameters(const QMap &allGameType void GamesProxyModel::saveFilterParameters(const QMap &allGameTypes) { - GameFiltersSettings &gameFilters = SettingsCache::instance()->gameFilters(); + GameFiltersSettings &gameFilters = SettingsCache::instance().gameFilters(); gameFilters.setHideBuddiesOnlyGames(hideBuddiesOnlyGames); gameFilters.setHideFullGames(hideFullGames); gameFilters.setHideGamesThatStarted(hideGamesThatStarted); diff --git a/cockatrice/src/interface/widgets/server/handle_public_servers.cpp b/cockatrice/src/interface/widgets/server/handle_public_servers.cpp index e456b708a..6a8754a79 100644 --- a/cockatrice/src/interface/widgets/server/handle_public_servers.cpp +++ b/cockatrice/src/interface/widgets/server/handle_public_servers.cpp @@ -87,11 +87,11 @@ void HandlePublicServers::updateServerINISettings(QMap jsonMa } if (serverFound) { - SettingsCache::instance()->servers().updateExistingServerWithoutLoss(serverName, serverAddress, serverPort, - serverSite); + SettingsCache::instance().servers().updateExistingServerWithoutLoss(serverName, serverAddress, serverPort, + serverSite); } else { - SettingsCache::instance()->servers().addNewServer(serverName, serverAddress, serverPort, "", "", false, - serverSite); + SettingsCache::instance().servers().addNewServer(serverName, serverAddress, serverPort, "", "", false, + serverSite); } } @@ -102,7 +102,7 @@ void HandlePublicServers::updateServerINISettings(QMap jsonMa QString serverAddr = pair.first; if (publicServersToRemove.indexOf(serverAddr) != -1) { - SettingsCache::instance()->servers().removeServer(serverAddr); + SettingsCache::instance().servers().removeServer(serverAddr); } } diff --git a/cockatrice/src/interface/widgets/server/user/user_info_connection.cpp b/cockatrice/src/interface/widgets/server/user/user_info_connection.cpp index b3f3057a0..069e438a9 100644 --- a/cockatrice/src/interface/widgets/server/user/user_info_connection.cpp +++ b/cockatrice/src/interface/widgets/server/user/user_info_connection.cpp @@ -23,7 +23,7 @@ QMap> UserConnection_Inf { QMap> serverList; - ServersSettings &servers = SettingsCache::instance()->servers(); + ServersSettings &servers = SettingsCache::instance().servers(); int size = servers.getValue("totalServers", "server", "server_details").toInt() + 1; @@ -47,7 +47,7 @@ QStringList UserConnection_Information::getServerInfo(const QString &find) { QStringList _server; - ServersSettings &servers = SettingsCache::instance()->servers(); + ServersSettings &servers = SettingsCache::instance().servers(); int size = servers.getValue("totalServers", "server", "server_details").toInt() + 1; for (int i = 0; i < size; i++) { diff --git a/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp b/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp index 03675050e..4236c3858 100644 --- a/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp +++ b/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp @@ -49,11 +49,9 @@ AbstractTabDeckEditor::AbstractTabDeckEditor(TabSupervisor *_tabSupervisor) : Ta cardInfoDockWidget = new DeckEditorCardInfoDockWidget(this); filterDockWidget = new DeckEditorFilterDockWidget(this); printingSelectorDockWidget = new DeckEditorPrintingSelectorDockWidget(this); - connect(SettingsCache::instance().get(), &SettingsCache::overrideAllCardArtWithPersonalPreferenceChanged, this, - [this] { - printingSelectorDockWidget->setHidden( - SettingsCache::instance()->getOverrideAllCardArtWithPersonalPreference()); - }); + connect(&SettingsCache::instance(), &SettingsCache::overrideAllCardArtWithPersonalPreferenceChanged, this, [this] { + printingSelectorDockWidget->setHidden(SettingsCache::instance().getOverrideAllCardArtWithPersonalPreference()); + }); connect(deckDockWidget, &DeckEditorDeckDockWidget::deckChanged, this, &AbstractTabDeckEditor::onDeckChanged); connect(deckDockWidget, &DeckEditorDeckDockWidget::deckModified, this, &AbstractTabDeckEditor::onDeckModified); @@ -73,7 +71,7 @@ AbstractTabDeckEditor::AbstractTabDeckEditor(TabSupervisor *_tabSupervisor) : Ta connect(filterDockWidget, &DeckEditorFilterDockWidget::clearAllDatabaseFilters, databaseDisplayDockWidget, &DeckEditorDatabaseDisplayWidget::clearAllDatabaseFilters); - connect(&SettingsCache::instance().get()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &AbstractTabDeckEditor::refreshShortcuts); } @@ -155,7 +153,7 @@ void AbstractTabDeckEditor::openDeck(DeckLoader *deck) setDeck(deck); if (!deck->getLastFileName().isEmpty()) { - SettingsCache::instance()->recents().updateRecentlyOpenedDeckPaths(deck->getLastFileName()); + SettingsCache::instance().recents().updateRecentlyOpenedDeckPaths(deck->getLastFileName()); } } @@ -229,7 +227,7 @@ void AbstractTabDeckEditor::cleanDeckAndResetModified() AbstractTabDeckEditor::DeckOpenLocation AbstractTabDeckEditor::confirmOpen(const bool openInSameTabIfBlank) { // handle `openDeckInNewTab` setting - if (SettingsCache::instance()->getOpenDeckInNewTab()) { + if (SettingsCache::instance().getOpenDeckInNewTab()) { if (openInSameTabIfBlank && isBlankNewDeck()) { return SAME_TAB; } else { @@ -368,7 +366,7 @@ bool AbstractTabDeckEditor::actSaveDeck() bool AbstractTabDeckEditor::actSaveDeckAs() { QFileDialog dialog(this, tr("Save deck")); - dialog.setDirectory(SettingsCache::instance()->getDeckPath()); + dialog.setDirectory(SettingsCache::instance().getDeckPath()); dialog.setAcceptMode(QFileDialog::AcceptSave); dialog.setDefaultSuffix("cod"); dialog.setNameFilters(DeckLoader::FILE_NAME_FILTERS); @@ -388,7 +386,7 @@ bool AbstractTabDeckEditor::actSaveDeckAs() } setModified(false); - SettingsCache::instance()->recents().updateRecentlyOpenedDeckPaths(fileName); + SettingsCache::instance().recents().updateRecentlyOpenedDeckPaths(fileName); return true; } @@ -579,7 +577,7 @@ bool AbstractTabDeckEditor::eventFilter(QObject *o, QEvent *e) } } if (o == this && e->type() == QEvent::Hide) { - LayoutsSettings &layouts = SettingsCache::instance()->layouts(); + LayoutsSettings &layouts = SettingsCache::instance().layouts(); layouts.setDeckEditorLayoutState(saveState()); layouts.setDeckEditorGeometry(saveGeometry()); layouts.setDeckEditorCardSize(cardInfoDockWidget->size()); diff --git a/cockatrice/src/interface/widgets/tabs/tab_deck_editor.cpp b/cockatrice/src/interface/widgets/tabs/tab_deck_editor.cpp index 9cad09fcc..4bb4ffcda 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_deck_editor.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_deck_editor.cpp @@ -93,11 +93,11 @@ void TabDeckEditor::createMenus() aPrintingSelectorDockFloating->setCheckable(true); connect(aPrintingSelectorDockFloating, &QAction::triggered, this, &TabDeckEditor::dockFloatingTriggered); - if (SettingsCache::instance()->getOverrideAllCardArtWithPersonalPreference()) { + if (SettingsCache::instance().getOverrideAllCardArtWithPersonalPreference()) { printingSelectorDockMenu->setEnabled(false); } - connect(SettingsCache::instance().get(), &SettingsCache::overrideAllCardArtWithPersonalPreferenceChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::overrideAllCardArtWithPersonalPreferenceChanged, this, [this](bool enabled) { printingSelectorDockMenu->setEnabled(!enabled); }); viewMenu->addSeparator(); @@ -151,7 +151,7 @@ void TabDeckEditor::retranslateUi() void TabDeckEditor::refreshShortcuts() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aResetLayout->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aResetLayout")); } @@ -166,7 +166,7 @@ void TabDeckEditor::showPrintingSelector() void TabDeckEditor::loadLayout() { - LayoutsSettings &layouts = SettingsCache::instance()->layouts(); + LayoutsSettings &layouts = SettingsCache::instance().layouts(); setCentralWidget(databaseDisplayDockWidget); @@ -178,7 +178,7 @@ void TabDeckEditor::loadLayout() restoreGeometry(layouts.getDeckEditorGeometry()); } - if (SettingsCache::instance()->getOverrideAllCardArtWithPersonalPreference()) { + if (SettingsCache::instance().getOverrideAllCardArtWithPersonalPreference()) { if (!printingSelectorDockWidget->isHidden()) { printingSelectorDockWidget->setHidden(true); aPrintingSelectorDockVisible->setChecked(false); @@ -221,7 +221,7 @@ void TabDeckEditor::restartLayout() aCardInfoDockVisible->setChecked(true); aDeckDockVisible->setChecked(true); aFilterDockVisible->setChecked(true); - aPrintingSelectorDockVisible->setChecked(!SettingsCache::instance()->getOverrideAllCardArtWithPersonalPreference()); + aPrintingSelectorDockVisible->setChecked(!SettingsCache::instance().getOverrideAllCardArtWithPersonalPreference()); aCardInfoDockFloating->setChecked(false); aDeckDockFloating->setChecked(false); @@ -242,7 +242,7 @@ void TabDeckEditor::restartLayout() deckDockWidget->setVisible(true); cardInfoDockWidget->setVisible(true); filterDockWidget->setVisible(true); - printingSelectorDockWidget->setVisible(!SettingsCache::instance()->getOverrideAllCardArtWithPersonalPreference()); + printingSelectorDockWidget->setVisible(!SettingsCache::instance().getOverrideAllCardArtWithPersonalPreference()); splitDockWidget(cardInfoDockWidget, printingSelectorDockWidget, Qt::Horizontal); splitDockWidget(printingSelectorDockWidget, deckDockWidget, Qt::Horizontal); @@ -362,7 +362,7 @@ bool TabDeckEditor::eventFilter(QObject *o, QEvent *e) } } if (o == this && e->type() == QEvent::Hide) { - LayoutsSettings &layouts = SettingsCache::instance()->layouts(); + LayoutsSettings &layouts = SettingsCache::instance().layouts(); layouts.setDeckEditorLayoutState(saveState()); layouts.setDeckEditorGeometry(saveGeometry()); layouts.setDeckEditorCardSize(cardInfoDockWidget->size()); diff --git a/cockatrice/src/interface/widgets/tabs/tab_deck_storage.cpp b/cockatrice/src/interface/widgets/tabs/tab_deck_storage.cpp index 4d55cad33..cf8acec5a 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_deck_storage.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_deck_storage.cpp @@ -36,7 +36,7 @@ TabDeckStorage::TabDeckStorage(TabSupervisor *_tabSupervisor, : Tab(_tabSupervisor), client(_client) { localDirModel = new QFileSystemModel(this); - localDirModel->setRootPath(SettingsCache::instance()->getDeckPath()); + localDirModel->setRootPath(SettingsCache::instance().getDeckPath()); localDirModel->sort(0, Qt::AscendingOrder); localDirView = new QTreeView; diff --git a/cockatrice/src/interface/widgets/tabs/tab_game.cpp b/cockatrice/src/interface/widgets/tabs/tab_game.cpp index 0382f71ba..9206c61a8 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_game.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_game.cpp @@ -80,7 +80,7 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor, GameReplay *_replay) connectMessageLogToGameEventHandler(); retranslateUi(); - connect(&SettingsCache::instance().get()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &TabGame::refreshShortcuts); refreshShortcuts(); messageLog->logReplayStarted(game->getGameMetaInfo()->gameId()); @@ -125,7 +125,7 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor, connectMessageLogToGameEventHandler(); retranslateUi(); - connect(&SettingsCache::instance().get()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &TabGame::refreshShortcuts); refreshShortcuts(); @@ -254,7 +254,7 @@ void TabGame::resetChatAndPhase() void TabGame::emitUserEvent() { bool globalEvent = - !game->getPlayerManager()->isSpectator() || SettingsCache::instance()->getSpectatorNotificationsEnabled(); + !game->getPlayerManager()->isSpectator() || SettingsCache::instance().getSpectatorNotificationsEnabled(); emit userEvent(globalEvent); updatePlayerListDockTitle(); } @@ -377,7 +377,7 @@ void TabGame::retranslateUi() void TabGame::refreshShortcuts() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); for (int i = 0; i < phaseActions.size(); ++i) { QAction *temp = phaseActions.at(i); switch (i) { @@ -625,8 +625,8 @@ void TabGame::actRotateViewCCW() void TabGame::actCompleterChanged() { - SettingsCache::instance()->getChatMentionCompleter() ? completer->setCompletionRole(2) - : completer->setCompletionRole(1); + SettingsCache::instance().getChatMentionCompleter() ? completer->setCompletionRole(2) + : completer->setCompletionRole(1); } void TabGame::notifyPlayerJoin(QString playerName) @@ -688,7 +688,7 @@ void TabGame::addLocalPlayer(Player *newPlayer, int playerId) deckViewContainerLayout->addWidget(deckView); // auto load deck for player if that debug setting is enabled - QString deckPath = SettingsCache::instance()->debug().getDeckPathForPlayer(newPlayer->getPlayerInfo()->getName()); + QString deckPath = SettingsCache::instance().debug().getDeckPathForPlayer(newPlayer->getPlayerInfo()->getName()); if (!deckPath.isEmpty()) { QTimer::singleShot(0, this, [deckView, deckPath] { deckView->playerDeckView->loadDeckFromFile(deckPath); @@ -1089,7 +1089,7 @@ void TabGame::createViewMenuItems() void TabGame::loadLayout() { - LayoutsSettings &layouts = SettingsCache::instance()->layouts(); + LayoutsSettings &layouts = SettingsCache::instance().layouts(); if (replayManager->replay) { restoreGeometry(layouts.getReplayPlayAreaGeometry()); restoreState(layouts.getReplayPlayAreaLayoutState()); @@ -1323,7 +1323,7 @@ void TabGame::createMessageDock(bool bReplay) if (!bReplay) { connect(messageLog, &MessageLogWidget::openMessageDialog, this, &TabGame::openMessageDialog); connect(messageLog, &MessageLogWidget::addMentionTag, this, &TabGame::addMentionTag); - connect(SettingsCache::instance().get(), &SettingsCache::chatMentionCompleterChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::chatMentionCompleterChanged, this, &TabGame::actCompleterChanged); } @@ -1384,7 +1384,7 @@ void TabGame::createMessageDock(bool bReplay) void TabGame::hideEvent(QHideEvent *event) { - LayoutsSettings &layouts = SettingsCache::instance()->layouts(); + LayoutsSettings &layouts = SettingsCache::instance().layouts(); if (replayManager->replay) { layouts.setReplayPlayAreaState(saveState()); layouts.setReplayPlayAreaGeometry(saveGeometry()); diff --git a/cockatrice/src/interface/widgets/tabs/tab_message.cpp b/cockatrice/src/interface/widgets/tabs/tab_message.cpp index ee930a465..f1a942f16 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_message.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_message.cpp @@ -122,7 +122,7 @@ void TabMessage::processUserMessageEvent(const Event_UserMessage &event) chatView->appendMessage(QString::fromStdString(event.message()), {}, *userInfo, true); if (tabSupervisor->currentIndex() != tabSupervisor->indexOf(this)) soundEngine->playSound("private_message"); - if (SettingsCache::instance()->getShowMessagePopup() && shouldShowSystemPopup(event)) + if (SettingsCache::instance().getShowMessagePopup() && shouldShowSystemPopup(event)) showSystemPopup(event); if (QString::fromStdString(event.sender_name()).toLower().simplified() == "servatrice") sayEdit->setDisabled(true); diff --git a/cockatrice/src/interface/widgets/tabs/tab_replays.cpp b/cockatrice/src/interface/widgets/tabs/tab_replays.cpp index 3338a28da..8d7081407 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_replays.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_replays.cpp @@ -58,7 +58,7 @@ TabReplays::TabReplays(TabSupervisor *_tabSupervisor, AbstractClient *_client, c QGroupBox *TabReplays::createLeftLayout() { localDirModel = new QFileSystemModel(this); - localDirModel->setRootPath(SettingsCache::instance()->getReplaysPath()); + localDirModel->setRootPath(SettingsCache::instance().getReplaysPath()); localDirModel->sort(0, Qt::AscendingOrder); localDirView = new QTreeView; diff --git a/cockatrice/src/interface/widgets/tabs/tab_room.cpp b/cockatrice/src/interface/widgets/tabs/tab_room.cpp index 2ee9c18d1..e1fcca216 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_room.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_room.cpp @@ -59,7 +59,7 @@ TabRoom::TabRoom(TabSupervisor *_tabSupervisor, connect(chatView, &ChatView::showCardInfoPopup, this, &TabRoom::showCardInfoPopup); connect(chatView, &ChatView::deleteCardInfoPopup, this, &TabRoom::deleteCardInfoPopup); connect(chatView, &ChatView::addMentionTag, this, &TabRoom::addMentionTag); - connect(SettingsCache::instance().get(), &SettingsCache::chatMentionCompleterChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::chatMentionCompleterChanged, this, &TabRoom::actCompleterChanged); sayLabel = new QLabel; sayEdit = new LineEditCompleter; @@ -127,7 +127,7 @@ TabRoom::TabRoom(TabSupervisor *_tabSupervisor, sayEdit->setCompleter(completer); actCompleterChanged(); - connect(&SettingsCache::instance().get()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &TabRoom::refreshShortcuts); refreshShortcuts(); @@ -229,8 +229,8 @@ void TabRoom::actOpenChatSettings() void TabRoom::actCompleterChanged() { - SettingsCache::instance()->getChatMentionCompleter() ? completer->setCompletionRole(2) - : completer->setCompletionRole(1); + SettingsCache::instance().getChatMentionCompleter() ? completer->setCompletionRole(2) + : completer->setCompletionRole(1); } void TabRoom::processRoomEvent(const RoomEvent &event) @@ -291,12 +291,12 @@ void TabRoom::processRoomSayEvent(const Event_RoomSay &event) ServerInfo_User userInfo = {}; if (twi) { userInfo = twi->getUserInfo(); - if (SettingsCache::instance()->getIgnoreUnregisteredUsers() && + if (SettingsCache::instance().getIgnoreUnregisteredUsers() && !UserLevelFlags(userInfo.user_level()).testFlag(ServerInfo_User::IsRegistered)) return; } - if (event.message_type() == Event_RoomSay::ChatHistory && !SettingsCache::instance()->getRoomHistory()) + if (event.message_type() == Event_RoomSay::ChatHistory && !SettingsCache::instance().getRoomHistory()) return; if (event.message_type() == Event_RoomSay::ChatHistory) @@ -318,7 +318,7 @@ void TabRoom::processRemoveMessagesEvent(const Event_RemoveMessages &event) void TabRoom::refreshShortcuts() { - aClearChat->setShortcuts(SettingsCache::instance()->shortcuts().getShortcut("tab_room/aClearChat")); + aClearChat->setShortcuts(SettingsCache::instance().shortcuts().getShortcut("tab_room/aClearChat")); } void TabRoom::addMentionTag(QString mentionTag) diff --git a/cockatrice/src/interface/widgets/tabs/tab_supervisor.cpp b/cockatrice/src/interface/widgets/tabs/tab_supervisor.cpp index 790508918..db6bc1151 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_supervisor.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_supervisor.cpp @@ -176,7 +176,7 @@ TabSupervisor::TabSupervisor(AbstractClient *_client, QMenu *tabsMenu, QWidget * aTabLog->setCheckable(true); connect(aTabLog, &QAction::triggered, this, &TabSupervisor::actTabLog); - connect(&SettingsCache::instance().get()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &TabSupervisor::refreshShortcuts); refreshShortcuts(); @@ -252,7 +252,7 @@ void TabSupervisor::retranslateUi() void TabSupervisor::refreshShortcuts() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aTabDeckEditor->setShortcuts(shortcuts.getShortcut("Tabs/aTabDeckEditor")); aTabVisualDeckEditor->setShortcuts(shortcuts.getShortcut("Tabs/aTabVisualDeckEditor")); @@ -323,13 +323,13 @@ void TabSupervisor::initStartupTabs() openTabHome(); setCurrentWidget(tabHome); - if (SettingsCache::instance()->getTabVisualDeckStorageOpen()) { + if (SettingsCache::instance().getTabVisualDeckStorageOpen()) { openTabVisualDeckStorage(); } - if (SettingsCache::instance()->getTabDeckStorageOpen()) { + if (SettingsCache::instance().getTabDeckStorageOpen()) { openTabDeckStorage(); } - if (SettingsCache::instance()->getTabReplaysOpen()) { + if (SettingsCache::instance().getTabReplaysOpen()) { openTabReplays(); } } @@ -408,10 +408,10 @@ void TabSupervisor::start(const ServerInfo_User &_userInfo) tabsMenu->addAction(aTabServer); tabsMenu->addAction(aTabAccount); - if (SettingsCache::instance()->getTabServerOpen()) { + if (SettingsCache::instance().getTabServerOpen()) { openTabServer(); } - if (SettingsCache::instance()->getTabAccountOpen()) { + if (SettingsCache::instance().getTabAccountOpen()) { openTabAccount(); } @@ -422,10 +422,10 @@ void TabSupervisor::start(const ServerInfo_User &_userInfo) tabsMenu->addAction(aTabAdmin); tabsMenu->addAction(aTabLog); - if (SettingsCache::instance()->getTabAdminOpen()) { + if (SettingsCache::instance().getTabAdminOpen()) { openTabAdmin(); } - if (SettingsCache::instance()->getTabLogOpen()) { + if (SettingsCache::instance().getTabLogOpen()) { openTabLog(); } } @@ -528,7 +528,7 @@ void TabSupervisor::openTabHome() void TabSupervisor::actTabVisualDeckStorage(bool checked) { - SettingsCache::instance()->setTabVisualDeckStorageOpen(checked); + SettingsCache::instance().setTabVisualDeckStorageOpen(checked); if (checked && !tabVisualDeckStorage) { openTabVisualDeckStorage(); setCurrentWidget(tabVisualDeckStorage); @@ -552,7 +552,7 @@ void TabSupervisor::openTabVisualDeckStorage() void TabSupervisor::actTabServer(bool checked) { - SettingsCache::instance()->setTabServerOpen(checked); + SettingsCache::instance().setTabServerOpen(checked); if (checked && !tabServer) { openTabServer(); setCurrentWidget(tabServer); @@ -575,7 +575,7 @@ void TabSupervisor::openTabServer() void TabSupervisor::actTabAccount(bool checked) { - SettingsCache::instance()->setTabAccountOpen(checked); + SettingsCache::instance().setTabAccountOpen(checked); if (checked && !tabAccount) { openTabAccount(); setCurrentWidget(tabAccount); @@ -600,7 +600,7 @@ void TabSupervisor::openTabAccount() void TabSupervisor::actTabDeckStorage(bool checked) { - SettingsCache::instance()->setTabDeckStorageOpen(checked); + SettingsCache::instance().setTabDeckStorageOpen(checked); if (checked && !tabDeckStorage) { openTabDeckStorage(); setCurrentWidget(tabDeckStorage); @@ -623,7 +623,7 @@ void TabSupervisor::openTabDeckStorage() void TabSupervisor::actTabReplays(bool checked) { - SettingsCache::instance()->setTabReplaysOpen(checked); + SettingsCache::instance().setTabReplaysOpen(checked); if (checked && !tabReplays) { openTabReplays(); setCurrentWidget(tabReplays); @@ -648,7 +648,7 @@ void TabSupervisor::openTabReplays() void TabSupervisor::actTabAdmin(bool checked) { - SettingsCache::instance()->setTabAdminOpen(checked); + SettingsCache::instance().setTabAdminOpen(checked); if (checked && !tabAdmin) { openTabAdmin(); setCurrentWidget(tabAdmin); @@ -671,7 +671,7 @@ void TabSupervisor::openTabAdmin() void TabSupervisor::actTabLog(bool checked) { - SettingsCache::instance()->setTabLogOpen(checked); + SettingsCache::instance().setTabLogOpen(checked); if (checked && !tabLog) { openTabLog(); setCurrentWidget(tabLog); @@ -849,7 +849,7 @@ void TabSupervisor::talkLeft(TabMessage *tab) */ void TabSupervisor::openDeckInNewTab(const DeckLoader *deckToOpen) { - int type = SettingsCache::instance()->getDefaultDeckEditorType(); + int type = SettingsCache::instance().getDefaultDeckEditorType(); switch (type) { case ClassicDeckEditor: addDeckEditorTab(deckToOpen); @@ -940,7 +940,7 @@ void TabSupervisor::tabUserEvent(bool globalEvent) tab->setContentsChanged(true); setTabIcon(indexOf(tab), QPixmap("theme:icons/tab_changed")); } - if (globalEvent && SettingsCache::instance()->getNotificationsEnabled()) + if (globalEvent && SettingsCache::instance().getNotificationsEnabled()) QApplication::alert(this); } @@ -978,7 +978,7 @@ void TabSupervisor::processUserMessageEvent(const Event_UserMessage &event) const ServerInfo_User *onlineUserInfo = userListManager->getOnlineUser(senderName); if (onlineUserInfo) { auto userLevel = UserLevelFlags(onlineUserInfo->user_level()); - if (SettingsCache::instance()->getIgnoreUnregisteredUserMessages() && + if (SettingsCache::instance().getIgnoreUnregisteredUserMessages() && !userLevel.testFlag(ServerInfo_User::IsRegistered)) // Flags are additive, so reg/mod/admin are all IsRegistered return; @@ -1022,7 +1022,7 @@ void TabSupervisor::processUserJoined(const ServerInfo_User &userInfoJoined) } } - if (SettingsCache::instance()->getBuddyConnectNotificationsEnabled()) { + if (SettingsCache::instance().getBuddyConnectNotificationsEnabled()) { QApplication::alert(this); this->actShowPopup(tr("Your buddy %1 has signed on!").arg(userName)); } diff --git a/cockatrice/src/interface/widgets/tabs/visual_deck_editor/tab_deck_editor_visual.cpp b/cockatrice/src/interface/widgets/tabs/visual_deck_editor/tab_deck_editor_visual.cpp index a2112ac83..90b08f1af 100644 --- a/cockatrice/src/interface/widgets/tabs/visual_deck_editor/tab_deck_editor_visual.cpp +++ b/cockatrice/src/interface/widgets/tabs/visual_deck_editor/tab_deck_editor_visual.cpp @@ -45,7 +45,7 @@ TabDeckEditorVisual::TabDeckEditorVisual(TabSupervisor *_tabSupervisor) : Abstra installEventFilter(this); TabDeckEditorVisual::retranslateUi(); - connect(&SettingsCache::instance().get()->shortcuts(), SIGNAL(shortCutChanged()), this, SLOT(refreshShortcuts())); + connect(&SettingsCache::instance().shortcuts(), SIGNAL(shortCutChanged()), this, SLOT(refreshShortcuts())); TabDeckEditorVisual::refreshShortcuts(); TabDeckEditorVisual::loadLayout(); @@ -126,11 +126,11 @@ void TabDeckEditorVisual::createMenus() aPrintingSelectorDockFloating->setCheckable(true); connect(aPrintingSelectorDockFloating, SIGNAL(triggered()), this, SLOT(dockFloatingTriggered())); - if (SettingsCache::instance()->getOverrideAllCardArtWithPersonalPreference()) { + if (SettingsCache::instance().getOverrideAllCardArtWithPersonalPreference()) { printingSelectorDockMenu->setEnabled(false); } - connect(SettingsCache::instance().get(), &SettingsCache::overrideAllCardArtWithPersonalPreferenceChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::overrideAllCardArtWithPersonalPreferenceChanged, this, [this](bool enabled) { printingSelectorDockMenu->setEnabled(!enabled); }); viewMenu->addSeparator(); @@ -228,13 +228,13 @@ void TabDeckEditorVisual::freeDocksSize() void TabDeckEditorVisual::refreshShortcuts() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aResetLayout->setShortcuts(shortcuts.getShortcut("TabDeckEditorVisual/aResetLayout")); } void TabDeckEditorVisual::loadLayout() { - LayoutsSettings &layouts = SettingsCache::instance()->layouts(); + LayoutsSettings &layouts = SettingsCache::instance().layouts(); auto &layoutState = layouts.getDeckEditorLayoutState(); if (layoutState.isNull()) { restartLayout(); @@ -243,7 +243,7 @@ void TabDeckEditorVisual::loadLayout() restoreGeometry(layouts.getDeckEditorGeometry()); } - if (SettingsCache::instance()->getOverrideAllCardArtWithPersonalPreference()) { + if (SettingsCache::instance().getOverrideAllCardArtWithPersonalPreference()) { if (!printingSelectorDockWidget->isHidden()) { printingSelectorDockWidget->setHidden(true); aPrintingSelectorDockVisible->setChecked(false); @@ -285,7 +285,7 @@ void TabDeckEditorVisual::restartLayout() aCardInfoDockVisible->setChecked(true); aDeckDockVisible->setChecked(true); aFilterDockVisible->setChecked(false); - aPrintingSelectorDockVisible->setChecked(!SettingsCache::instance()->getOverrideAllCardArtWithPersonalPreference()); + aPrintingSelectorDockVisible->setChecked(!SettingsCache::instance().getOverrideAllCardArtWithPersonalPreference()); aCardInfoDockFloating->setChecked(false); aDeckDockFloating->setChecked(false); @@ -301,7 +301,7 @@ void TabDeckEditorVisual::restartLayout() deckDockWidget->setVisible(true); cardInfoDockWidget->setVisible(true); filterDockWidget->setVisible(false); - printingSelectorDockWidget->setVisible(!SettingsCache::instance()->getOverrideAllCardArtWithPersonalPreference()); + printingSelectorDockWidget->setVisible(!SettingsCache::instance().getOverrideAllCardArtWithPersonalPreference()); deckDockWidget->setFloating(false); cardInfoDockWidget->setFloating(false); @@ -363,7 +363,7 @@ bool TabDeckEditorVisual::eventFilter(QObject *o, QEvent *e) } } if (o == this && e->type() == QEvent::Hide) { - LayoutsSettings &layouts = SettingsCache::instance()->layouts(); + LayoutsSettings &layouts = SettingsCache::instance().layouts(); layouts.setDeckEditorLayoutState(saveState()); layouts.setDeckEditorGeometry(saveGeometry()); layouts.setDeckEditorCardSize(cardInfoDockWidget->size()); diff --git a/cockatrice/src/interface/widgets/utility/custom_line_edit.cpp b/cockatrice/src/interface/widgets/utility/custom_line_edit.cpp index 91e6cd86b..c137b4f35 100644 --- a/cockatrice/src/interface/widgets/utility/custom_line_edit.cpp +++ b/cockatrice/src/interface/widgets/utility/custom_line_edit.cpp @@ -36,7 +36,7 @@ bool LineEditUnfocusable::isUnfocusShortcut(QKeyEvent *event) keyNoMod = QKeySequence(event->key()).toString(); QKeySequence key(modifier + keyNoMod); - QList unfocusShortcut = SettingsCache::instance()->shortcuts().getShortcut("Player/unfocusTextBox"); + QList unfocusShortcut = SettingsCache::instance().shortcuts().getShortcut("Player/unfocusTextBox"); for (const auto &unfocusKey : unfocusShortcut) { if (key.matches(unfocusKey) == QKeySequence::ExactMatch) diff --git a/cockatrice/src/interface/widgets/utility/sequence_edit.cpp b/cockatrice/src/interface/widgets/utility/sequence_edit.cpp index 569cb2041..7e14d4335 100644 --- a/cockatrice/src/interface/widgets/utility/sequence_edit.cpp +++ b/cockatrice/src/interface/widgets/utility/sequence_edit.cpp @@ -46,7 +46,7 @@ void SequenceEdit::setShortcutName(const QString &_shortcutName) clearButton->setEnabled(true); defaultButton->setEnabled(true); lineEdit->setEnabled(true); - lineEdit->setText(SettingsCache::instance()->shortcuts().getShortcutString(shortcutName)); + lineEdit->setText(SettingsCache::instance().shortcuts().getShortcutString(shortcutName)); // Correct as in-line translation lineEdit->setPlaceholderText(tr("Hit the key/combination of keys you want to set for this action")); } @@ -74,13 +74,13 @@ void SequenceEdit::removeLastShortcut() void SequenceEdit::restoreDefault() { - lineEdit->setText(SettingsCache::instance()->shortcuts().getDefaultShortcutString(shortcutName)); + lineEdit->setText(SettingsCache::instance().shortcuts().getDefaultShortcutString(shortcutName)); updateSettings(); } void SequenceEdit::refreshShortcut() { - lineEdit->setText(SettingsCache::instance()->shortcuts().getShortcutString(shortcutName)); + lineEdit->setText(SettingsCache::instance().shortcuts().getShortcutString(shortcutName)); } void SequenceEdit::clear() @@ -169,7 +169,7 @@ bool SequenceEdit::validateShortcut(const QKeySequence &sequence) return true; } - const auto &shortcutsSettings = SettingsCache::instance()->shortcuts(); + const auto &shortcutsSettings = SettingsCache::instance().shortcuts(); const QString sequenceString = sequence.toString(); if (!shortcutsSettings.isKeyAllowed(shortcutName, sequenceString)) { @@ -209,7 +209,7 @@ void SequenceEdit::finishShortcut() void SequenceEdit::updateSettings() { - SettingsCache::instance()->shortcuts().setShortcuts(shortcutName, lineEdit->text()); + SettingsCache::instance().shortcuts().setShortcuts(shortcutName, lineEdit->text()); } void SequenceEdit::retranslateUi() diff --git a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_filter_save_load_widget.cpp b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_filter_save_load_widget.cpp index 402b70454..6a85dfcb1 100644 --- a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_filter_save_load_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_filter_save_load_widget.cpp @@ -49,7 +49,7 @@ void VisualDatabaseDisplayFilterSaveLoadWidget::saveFilter() if (filename.isEmpty()) return; - QString filePath = SettingsCache::instance()->getFiltersPath() + QDir::separator() + filename + ".json"; + QString filePath = SettingsCache::instance().getFiltersPath() + QDir::separator() + filename + ".json"; // Serialize the filter model to JSON QJsonArray filtersArray; @@ -74,7 +74,7 @@ void VisualDatabaseDisplayFilterSaveLoadWidget::saveFilter() void VisualDatabaseDisplayFilterSaveLoadWidget::loadFilter(const QString &filename) { - QString filePath = SettingsCache::instance()->getFiltersPath() + QDir::separator() + filename; + QString filePath = SettingsCache::instance().getFiltersPath() + QDir::separator() + filename; QFile file(filePath); if (!file.open(QIODevice::ReadOnly)) @@ -124,7 +124,7 @@ void VisualDatabaseDisplayFilterSaveLoadWidget::refreshFilterList() fileButtons.clear(); // Clear the list of buttons // Refresh the filter file list - QDir dir(SettingsCache::instance()->getFiltersPath()); + QDir dir(SettingsCache::instance().getFiltersPath()); QStringList filterFiles = dir.entryList(QStringList() << "*.json", QDir::Files, QDir::Name); // Loop through the filter files and create widgets for them diff --git a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_set_filter_widget.cpp b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_set_filter_widget.cpp index 894152e2e..06844121e 100644 --- a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_set_filter_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_set_filter_widget.cpp @@ -18,16 +18,16 @@ VisualDatabaseDisplayRecentSetFilterSettingsWidget::VisualDatabaseDisplayRecentS filterToMostRecentSetsCheckBox = new QCheckBox(this); filterToMostRecentSetsCheckBox->setChecked( - SettingsCache::instance()->getVisualDatabaseDisplayFilterToMostRecentSetsEnabled()); - connect(filterToMostRecentSetsCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + SettingsCache::instance().getVisualDatabaseDisplayFilterToMostRecentSetsEnabled()); + connect(filterToMostRecentSetsCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setVisualDatabaseDisplayFilterToMostRecentSetsEnabled); filterToMostRecentSetsAmount = new QSpinBox(this); filterToMostRecentSetsAmount->setMinimum(1); filterToMostRecentSetsAmount->setMaximum(100); filterToMostRecentSetsAmount->setValue( - SettingsCache::instance()->getVisualDatabaseDisplayFilterToMostRecentSetsAmount()); - connect(filterToMostRecentSetsAmount, QOverload::of(&QSpinBox::valueChanged), SettingsCache::instance().get(), + SettingsCache::instance().getVisualDatabaseDisplayFilterToMostRecentSetsAmount()); + connect(filterToMostRecentSetsAmount, QOverload::of(&QSpinBox::valueChanged), &SettingsCache::instance(), &SettingsCache::setVisualDatabaseDisplayFilterToMostRecentSetsAmount); layout->addWidget(filterToMostRecentSetsCheckBox); @@ -54,10 +54,10 @@ VisualDatabaseDisplaySetFilterWidget::VisualDatabaseDisplaySetFilterWidget(QWidg recentSetsSettingsWidget = new VisualDatabaseDisplayRecentSetFilterSettingsWidget(this); layout->addWidget(recentSetsSettingsWidget); - connect(SettingsCache::instance().get(), &SettingsCache::visualDatabaseDisplayFilterToMostRecentSetsEnabledChanged, - this, &VisualDatabaseDisplaySetFilterWidget::filterToRecentSets); - connect(SettingsCache::instance().get(), &SettingsCache::visualDatabaseDisplayFilterToMostRecentSetsAmountChanged, - this, &VisualDatabaseDisplaySetFilterWidget::filterToRecentSets); + connect(&SettingsCache::instance(), &SettingsCache::visualDatabaseDisplayFilterToMostRecentSetsEnabledChanged, this, + &VisualDatabaseDisplaySetFilterWidget::filterToRecentSets); + connect(&SettingsCache::instance(), &SettingsCache::visualDatabaseDisplayFilterToMostRecentSetsAmountChanged, this, + &VisualDatabaseDisplaySetFilterWidget::filterToRecentSets); searchBox = new QLineEdit(this); searchBox->setPlaceholderText(tr("Search sets...")); @@ -115,7 +115,7 @@ void VisualDatabaseDisplaySetFilterWidget::createSetButtons() void VisualDatabaseDisplaySetFilterWidget::filterToRecentSets() { - if (SettingsCache::instance()->getVisualDatabaseDisplayFilterToMostRecentSetsEnabled()) { + if (SettingsCache::instance().getVisualDatabaseDisplayFilterToMostRecentSetsEnabled()) { for (auto set : activeSets.keys()) { activeSets[set] = false; } @@ -126,7 +126,7 @@ void VisualDatabaseDisplaySetFilterWidget::filterToRecentSets() std::sort(allSets.begin(), allSets.end(), [](const auto &a, const auto &b) { return a->getReleaseDate() > b->getReleaseDate(); }); - int setsToPreactivate = SettingsCache::instance()->getVisualDatabaseDisplayFilterToMostRecentSetsAmount(); + int setsToPreactivate = SettingsCache::instance().getVisualDatabaseDisplayFilterToMostRecentSetsAmount(); int setsActivated = 0; for (const auto &set : allSets) { diff --git a/cockatrice/src/interface/widgets/visual_database_display/visual_database_filter_display_widget.cpp b/cockatrice/src/interface/widgets/visual_database_display/visual_database_filter_display_widget.cpp index c3ccc2df6..5364fa813 100644 --- a/cockatrice/src/interface/widgets/visual_database_display/visual_database_filter_display_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_database_display/visual_database_filter_display_widget.cpp @@ -68,7 +68,7 @@ void FilterDisplayWidget::deleteFilter() QMessageBox::Yes | QMessageBox::No); if (reply == QMessageBox::Yes) { // If confirmed, delete the filter - QString filePath = SettingsCache::instance()->getFiltersPath() + QDir::separator() + filterFilename; + QString filePath = SettingsCache::instance().getFiltersPath() + QDir::separator() + filterFilename; QFile file(filePath); if (file.remove()) { emit filterDeleted(filterFilename); // Emit signal for deletion diff --git a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_sample_hand_widget.cpp b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_sample_hand_widget.cpp index b4531cb76..7e4e2407d 100644 --- a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_sample_hand_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_sample_hand_widget.cpp @@ -22,9 +22,9 @@ VisualDeckEditorSampleHandWidget::VisualDeckEditorSampleHandWidget(QWidget *pare resetAndHandSizeLayout->addWidget(resetButton); handSizeSpinBox = new QSpinBox(this); - handSizeSpinBox->setValue(SettingsCache::instance()->getVisualDeckEditorSampleHandSize()); + handSizeSpinBox->setValue(SettingsCache::instance().getVisualDeckEditorSampleHandSize()); handSizeSpinBox->setMinimum(1); - connect(handSizeSpinBox, QOverload::of(&QSpinBox::valueChanged), SettingsCache::instance().get(), + connect(handSizeSpinBox, QOverload::of(&QSpinBox::valueChanged), &SettingsCache::instance(), &SettingsCache::setVisualDeckEditorSampleHandSize); connect(handSizeSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &VisualDeckEditorSampleHandWidget::updateDisplay); diff --git a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.cpp b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.cpp index 77729bd1f..fbff6c434 100644 --- a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.cpp @@ -105,8 +105,8 @@ void DeckPreviewDeckTagsDisplayWidget::openTagEditDlg() if (DeckLoader::getFormatFromName(deckPreviewWidget->filePath) != DeckLoader::CockatriceFormat) { canAddTags = false; // Retrieve saved preference if the prompt is disabled - if (!SettingsCache::instance()->getVisualDeckStoragePromptForConversion()) { - if (SettingsCache::instance()->getVisualDeckStorageAlwaysConvert()) { + if (!SettingsCache::instance().getVisualDeckStoragePromptForConversion()) { + if (SettingsCache::instance().getVisualDeckStorageAlwaysConvert()) { if (!confirmOverwriteIfExists(this, deckPreviewWidget->filePath)) return; @@ -130,16 +130,16 @@ void DeckPreviewDeckTagsDisplayWidget::openTagEditDlg() canAddTags = true; if (conversionDialog.dontAskAgain()) { - SettingsCache::instance()->setVisualDeckStoragePromptForConversion(false); - SettingsCache::instance()->setVisualDeckStorageAlwaysConvert(true); + SettingsCache::instance().setVisualDeckStoragePromptForConversion(false); + SettingsCache::instance().setVisualDeckStorageAlwaysConvert(true); } } else { - SettingsCache::instance()->setVisualDeckStorageAlwaysConvert(false); + SettingsCache::instance().setVisualDeckStorageAlwaysConvert(false); if (conversionDialog.dontAskAgain()) { - SettingsCache::instance()->setVisualDeckStoragePromptForConversion(false); + SettingsCache::instance().setVisualDeckStoragePromptForConversion(false); } else { - SettingsCache::instance()->setVisualDeckStoragePromptForConversion(true); + SettingsCache::instance().setVisualDeckStoragePromptForConversion(true); } } } @@ -166,7 +166,7 @@ void DeckPreviewDeckTagsDisplayWidget::openTagEditDlg() if (qobject_cast(currentParent)) { auto *deckEditor = qobject_cast(currentParent); QStringList knownTags; - QStringList allFiles = getAllFiles(SettingsCache::instance()->getDeckPath()); + QStringList allFiles = getAllFiles(SettingsCache::instance().getDeckPath()); DeckLoader loader; for (const QString &file : allFiles) { loader.loadFromFile(file, DeckLoader::getFormatFromName(file), false); diff --git a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_tag_dialog.cpp b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_tag_dialog.cpp index 19ab78694..df7f9738d 100644 --- a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_tag_dialog.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_tag_dialog.cpp @@ -20,7 +20,7 @@ DeckPreviewTagDialog::DeckPreviewTagDialog(const QStringList &knownTags, { resize(400, 500); - QStringList defaultTags = SettingsCache::instance()->getVisualDeckStorageDefaultTagsList(); + QStringList defaultTags = SettingsCache::instance().getVisualDeckStorageDefaultTagsList(); // Merge knownTags with defaultTags, ensuring no duplicates QStringList combinedTags = defaultTags + knownTags + activeTags; @@ -91,7 +91,7 @@ DeckPreviewTagDialog::DeckPreviewTagDialog(const QStringList &knownTags, connect(okButton, &QPushButton::clicked, this, &DeckPreviewTagDialog::accept); connect(cancelButton, &QPushButton::clicked, this, &DeckPreviewTagDialog::reject); - connect(SettingsCache::instance().get(), &SettingsCache::visualDeckStorageDefaultTagsListChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::visualDeckStorageDefaultTagsListChanged, this, &DeckPreviewTagDialog::refreshTagList); retranslateUi(); @@ -115,7 +115,7 @@ void DeckPreviewTagDialog::refreshTagList() tagListView->clear(); // Get the updated list of tags from SettingsCache - QStringList defaultTags = SettingsCache::instance()->getVisualDeckStorageDefaultTagsList(); + QStringList defaultTags = SettingsCache::instance().getVisualDeckStorageDefaultTagsList(); QStringList combinedTags = defaultTags + knownTags_ + activeTags; combinedTags.removeDuplicates(); diff --git a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp index e030a128a..21e85bdbd 100644 --- a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp @@ -42,9 +42,9 @@ DeckPreviewWidget::DeckPreviewWidget(QWidget *_parent, connect(bannerCardDisplayWidget, &DeckPreviewCardPictureWidget::imageDoubleClicked, this, &DeckPreviewWidget::imageDoubleClickedEvent); - connect(SettingsCache::instance().get(), &SettingsCache::visualDeckStorageShowTagsOnDeckPreviewsChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::visualDeckStorageShowTagsOnDeckPreviewsChanged, this, &DeckPreviewWidget::updateTagsVisibility); - connect(SettingsCache::instance().get(), &SettingsCache::visualDeckStorageShowBannerCardComboBoxChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::visualDeckStorageShowBannerCardComboBoxChanged, this, &DeckPreviewWidget::updateBannerCardComboBoxVisibility); connect(visualDeckStorageWidget->settings(), &VisualDeckStorageQuickSettingsWidget::deckPreviewTooltipChanged, this, &DeckPreviewWidget::refreshBannerCardToolTip); @@ -96,8 +96,8 @@ void DeckPreviewWidget::initializeUi(const bool deckLoadSuccess) &DeckPreviewWidget::setBannerCard); updateBannerCardComboBox(); - updateBannerCardComboBoxVisibility(SettingsCache::instance()->getVisualDeckStorageShowBannerCardComboBox()); - updateTagsVisibility(SettingsCache::instance()->getVisualDeckStorageShowTagsOnDeckPreviews()); + updateBannerCardComboBoxVisibility(SettingsCache::instance().getVisualDeckStorageShowBannerCardComboBox()); + updateTagsVisibility(SettingsCache::instance().getVisualDeckStorageShowTagsOnDeckPreviews()); layout->addWidget(colorIdentityWidget); layout->addWidget(deckTagsDisplayWidget); diff --git a/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp b/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp index 11ca2f7cb..c628a15aa 100644 --- a/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp @@ -42,7 +42,7 @@ VisualDeckStorageFolderDisplayWidget::VisualDeckStorageFolderDisplayWidget( void VisualDeckStorageFolderDisplayWidget::refreshUi() { QString bannerText = tr("Deck Storage"); - QString deckPath = SettingsCache::instance()->getDeckPath(); + QString deckPath = SettingsCache::instance().getDeckPath(); if (filePath != deckPath) { QString relativePath = filePath; diff --git a/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_quick_settings_widget.cpp b/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_quick_settings_widget.cpp index 8caf170f1..c1e9bfa6a 100644 --- a/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_quick_settings_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_quick_settings_widget.cpp @@ -12,43 +12,43 @@ VisualDeckStorageQuickSettingsWidget::VisualDeckStorageQuickSettingsWidget(QWidg { // show folders checkbox showFoldersCheckBox = new QCheckBox(this); - showFoldersCheckBox->setChecked(SettingsCache::instance()->getVisualDeckStorageShowFolders()); + showFoldersCheckBox->setChecked(SettingsCache::instance().getVisualDeckStorageShowFolders()); connect(showFoldersCheckBox, &QCheckBox::QT_STATE_CHANGED, this, &VisualDeckStorageQuickSettingsWidget::showFoldersChanged); - connect(showFoldersCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + connect(showFoldersCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setVisualDeckStorageShowFolders); // show tag filter widget checkbox showTagFilterCheckBox = new QCheckBox(this); - showTagFilterCheckBox->setChecked(SettingsCache::instance()->getVisualDeckStorageShowTagFilter()); + showTagFilterCheckBox->setChecked(SettingsCache::instance().getVisualDeckStorageShowTagFilter()); connect(showTagFilterCheckBox, &QCheckBox::QT_STATE_CHANGED, this, &VisualDeckStorageQuickSettingsWidget::showTagFilterChanged); - connect(showTagFilterCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + connect(showTagFilterCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setVisualDeckStorageShowTagFilter); // show tags on DeckPreviewWidget checkbox showTagsOnDeckPreviewsCheckBox = new QCheckBox(this); - showTagsOnDeckPreviewsCheckBox->setChecked(SettingsCache::instance()->getVisualDeckStorageShowTagsOnDeckPreviews()); + showTagsOnDeckPreviewsCheckBox->setChecked(SettingsCache::instance().getVisualDeckStorageShowTagsOnDeckPreviews()); connect(showTagsOnDeckPreviewsCheckBox, &QCheckBox::QT_STATE_CHANGED, this, &VisualDeckStorageQuickSettingsWidget::showTagsOnDeckPreviewsChanged); - connect(showTagsOnDeckPreviewsCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + connect(showTagsOnDeckPreviewsCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setVisualDeckStorageShowTagsOnDeckPreviews); // show banner card selector checkbox showBannerCardComboBoxCheckBox = new QCheckBox(this); - showBannerCardComboBoxCheckBox->setChecked(SettingsCache::instance()->getVisualDeckStorageShowBannerCardComboBox()); + showBannerCardComboBoxCheckBox->setChecked(SettingsCache::instance().getVisualDeckStorageShowBannerCardComboBox()); connect(showBannerCardComboBoxCheckBox, &QCheckBox::QT_STATE_CHANGED, this, &VisualDeckStorageQuickSettingsWidget::showBannerCardComboBoxChanged); - connect(showBannerCardComboBoxCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + connect(showBannerCardComboBoxCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setVisualDeckStorageShowBannerCardComboBox); // draw unused color identities checkbox drawUnusedColorIdentitiesCheckBox = new QCheckBox(this); drawUnusedColorIdentitiesCheckBox->setChecked( - SettingsCache::instance()->getVisualDeckStorageDrawUnusedColorIdentities()); + SettingsCache::instance().getVisualDeckStorageDrawUnusedColorIdentities()); connect(drawUnusedColorIdentitiesCheckBox, &QCheckBox::QT_STATE_CHANGED, this, &VisualDeckStorageQuickSettingsWidget::drawUnusedColorIdentitiesChanged); - connect(drawUnusedColorIdentitiesCheckBox, &QCheckBox::QT_STATE_CHANGED, SettingsCache::instance().get(), + connect(drawUnusedColorIdentitiesCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setVisualDeckStorageDrawUnusedColorIdentities); // color identity opacity selector @@ -60,11 +60,11 @@ VisualDeckStorageQuickSettingsWidget::VisualDeckStorageQuickSettingsWidget(QWidg unusedColorIdentitiesOpacitySpinBox->setMinimum(0); unusedColorIdentitiesOpacitySpinBox->setMaximum(100); unusedColorIdentitiesOpacitySpinBox->setValue( - SettingsCache::instance()->getVisualDeckStorageUnusedColorIdentitiesOpacity()); + SettingsCache::instance().getVisualDeckStorageUnusedColorIdentitiesOpacity()); connect(unusedColorIdentitiesOpacitySpinBox, QOverload::of(&QSpinBox::valueChanged), this, &VisualDeckStorageQuickSettingsWidget::unusedColorIdentitiesOpacityChanged); connect(unusedColorIdentitiesOpacitySpinBox, QOverload::of(&QSpinBox::valueChanged), - SettingsCache::instance().get(), &SettingsCache::setVisualDeckStorageUnusedColorIdentitiesOpacity); + &SettingsCache::instance(), &SettingsCache::setVisualDeckStorageUnusedColorIdentitiesOpacity); unusedColorIdentitiesOpacityLabel->setBuddy(unusedColorIdentitiesOpacitySpinBox); @@ -82,11 +82,11 @@ VisualDeckStorageQuickSettingsWidget::VisualDeckStorageQuickSettingsWidget(QWidg deckPreviewTooltipComboBox->addItem("", TooltipType::None); deckPreviewTooltipComboBox->addItem("", TooltipType::Filepath); - deckPreviewTooltipComboBox->setCurrentIndex(SettingsCache::instance()->getVisualDeckStorageTooltipType()); + deckPreviewTooltipComboBox->setCurrentIndex(SettingsCache::instance().getVisualDeckStorageTooltipType()); connect(deckPreviewTooltipComboBox, QOverload::of(&QComboBox::currentIndexChanged), this, [this] { emit deckPreviewTooltipChanged(getDeckPreviewTooltip()); }); - connect(deckPreviewTooltipComboBox, QOverload::of(&QComboBox::currentIndexChanged), - SettingsCache::instance().get(), &SettingsCache::setVisualDeckStorageTooltipType); + connect(deckPreviewTooltipComboBox, QOverload::of(&QComboBox::currentIndexChanged), &SettingsCache::instance(), + &SettingsCache::setVisualDeckStorageTooltipType); auto deckPreviewTooltipLayout = new QHBoxLayout(deckPreviewTooltipWidget); deckPreviewTooltipLayout->setContentsMargins(11, 0, 11, 0); @@ -94,10 +94,10 @@ VisualDeckStorageQuickSettingsWidget::VisualDeckStorageQuickSettingsWidget(QWidg deckPreviewTooltipLayout->addWidget(deckPreviewTooltipComboBox); // card size slider - cardSizeWidget = new CardSizeWidget(this, nullptr, SettingsCache::instance()->getVisualDeckStorageCardSize()); + cardSizeWidget = new CardSizeWidget(this, nullptr, SettingsCache::instance().getVisualDeckStorageCardSize()); connect(cardSizeWidget->getSlider(), &QSlider::valueChanged, this, &VisualDeckStorageQuickSettingsWidget::cardSizeChanged); - connect(cardSizeWidget, &CardSizeWidget::cardSizeSettingUpdated, SettingsCache::instance().get(), + connect(cardSizeWidget, &CardSizeWidget::cardSizeSettingUpdated, &SettingsCache::instance(), &SettingsCache::setVisualDeckStorageCardSize); // putting everything together @@ -110,7 +110,7 @@ VisualDeckStorageQuickSettingsWidget::VisualDeckStorageQuickSettingsWidget(QWidg this->addSettingsWidget(deckPreviewTooltipWidget); this->addSettingsWidget(cardSizeWidget); - connect(SettingsCache::instance().get(), &SettingsCache::langChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::langChanged, this, &VisualDeckStorageQuickSettingsWidget::retranslateUi); retranslateUi(); } diff --git a/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_search_widget.cpp b/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_search_widget.cpp index 426dea786..dbd7929c5 100644 --- a/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_search_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_search_widget.cpp @@ -59,7 +59,7 @@ QString VisualDeckStorageSearchWidget::getSearchText() */ static QString toRelativeFilepath(const QString &filePath) { - QString deckPath = SettingsCache::instance()->getDeckPath(); + QString deckPath = SettingsCache::instance().getDeckPath(); if (filePath.startsWith(deckPath)) { return filePath.mid(deckPath.length()); } diff --git a/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_sort_widget.cpp b/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_sort_widget.cpp index 917f08890..901a4cb9f 100644 --- a/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_sort_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_sort_widget.cpp @@ -26,7 +26,7 @@ VisualDeckStorageSortWidget::VisualDeckStorageSortWidget(VisualDeckStorageWidget retranslateUi(); // Set the current sort order - sortComboBox->setCurrentIndex(SettingsCache::instance()->getVisualDeckStorageSortingOrder()); + sortComboBox->setCurrentIndex(SettingsCache::instance().getVisualDeckStorageSortingOrder()); sortOrder = static_cast(sortComboBox->currentIndex()); // Connect sorting change signal to refresh the file list @@ -59,7 +59,7 @@ void VisualDeckStorageSortWidget::retranslateUi() void VisualDeckStorageSortWidget::updateSortOrder() { sortOrder = static_cast(sortComboBox->currentIndex()); - SettingsCache::instance()->setVisualDeckStorageSortingOrder(sortComboBox->currentIndex()); + SettingsCache::instance().setVisualDeckStorageSortingOrder(sortComboBox->currentIndex()); emit sortOrderChanged(); } diff --git a/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_widget.cpp b/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_widget.cpp index 0312e5d8d..d9cf74e7f 100644 --- a/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_widget.cpp @@ -55,10 +55,10 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare // tag filter box tagFilterWidget = new VisualDeckStorageTagFilterWidget(this); - updateTagsVisibility(SettingsCache::instance()->getVisualDeckStorageShowTagFilter()); + updateTagsVisibility(SettingsCache::instance().getVisualDeckStorageShowTagFilter()); - deckPreviewSelectionAnimationEnabled = SettingsCache::instance()->getVisualDeckStorageSelectionAnimation(); - connect(SettingsCache::instance().get(), &SettingsCache::visualDeckStorageSelectionAnimationChanged, this, + deckPreviewSelectionAnimationEnabled = SettingsCache::instance().getVisualDeckStorageSelectionAnimation(); + connect(&SettingsCache::instance(), &SettingsCache::visualDeckStorageSelectionAnimationChanged, this, &VisualDeckStorageWidget::updateSelectionAnimationEnabled); // deck area @@ -143,7 +143,7 @@ void VisualDeckStorageWidget::reapplySortAndFilters() void VisualDeckStorageWidget::createRootFolderWidget() { - folderWidget = new VisualDeckStorageFolderDisplayWidget(this, this, SettingsCache::instance()->getDeckPath(), false, + folderWidget = new VisualDeckStorageFolderDisplayWidget(this, this, SettingsCache::instance().getDeckPath(), false, quickSettingsWidget->getShowFolders()); scrollArea->setWidget(folderWidget); // this automatically destroys the old folderWidget diff --git a/cockatrice/src/interface/window_main.cpp b/cockatrice/src/interface/window_main.cpp index 639ab1f98..622c04a08 100644 --- a/cockatrice/src/interface/window_main.cpp +++ b/cockatrice/src/interface/window_main.cpp @@ -245,14 +245,14 @@ void MainWindow::startLocalGame(int numberPlayers) localServer = new LocalServer(this); LocalServerInterface *mainLsi = localServer->newConnection(); LocalClient *mainClient = - new LocalClient(mainLsi, tr("Player %1").arg(1), SettingsCache::instance()->getClientID(), this); + new LocalClient(mainLsi, tr("Player %1").arg(1), SettingsCache::instance().getClientID(), this); QList localClients; localClients.append(mainClient); for (int i = 0; i < numberPlayers - 1; ++i) { LocalServerInterface *slaveLsi = localServer->newConnection(); LocalClient *slaveClient = - new LocalClient(slaveLsi, tr("Player %1").arg(i + 2), SettingsCache::instance()->getClientID(), this); + new LocalClient(slaveLsi, tr("Player %1").arg(i + 2), SettingsCache::instance().getClientID(), this); localClients.append(slaveClient); } tabSupervisor->startLocal(localClients); @@ -265,7 +265,7 @@ void MainWindow::startLocalGame(int numberPlayers) void MainWindow::actWatchReplay() { QFileDialog dlg(this, tr("Load replay")); - dlg.setDirectory(SettingsCache::instance()->getReplaysPath()); + dlg.setDirectory(SettingsCache::instance().getReplaysPath()); dlg.setNameFilters(QStringList() << QObject::tr("Cockatrice replays (*.cor)")); if (!dlg.exec()) return; @@ -367,7 +367,7 @@ void MainWindow::actViewLog() void MainWindow::actOpenSettingsFolder() { - QString dir = SettingsCache::instance()->getSettingsPath(); + QString dir = SettingsCache::instance().getSettingsPath(); QDesktopServices::openUrl(QUrl::fromLocalFile(dir)); } @@ -752,8 +752,8 @@ void MainWindow::createActions() connect(aCheckCardUpdatesBackground, &QAction::triggered, this, &MainWindow::actCheckCardUpdatesBackground); aStatusBar = new QAction(this); aStatusBar->setCheckable(true); - aStatusBar->setChecked(SettingsCache::instance()->getShowStatusBar()); - connect(aStatusBar, &QAction::triggered, SettingsCache::instance().get(), &SettingsCache::setShowStatusBar); + aStatusBar->setChecked(SettingsCache::instance().getShowStatusBar()); + connect(aStatusBar, &QAction::triggered, &SettingsCache::instance(), &SettingsCache::setShowStatusBar); aViewLog = new QAction(this); connect(aViewLog, &QAction::triggered, this, &MainWindow::actViewLog); aOpenSettingsFolder = new QAction(this); @@ -842,11 +842,11 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), localServer(nullptr), bHasActivated(false), askedForDbUpdater(false), cardUpdateProcess(nullptr), logviewDialog(nullptr) { - connect(SettingsCache::instance().get(), &SettingsCache::pixmapCacheSizeChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::pixmapCacheSizeChanged, this, &MainWindow::pixmapCacheSizeChanged); - pixmapCacheSizeChanged(SettingsCache::instance()->getPixmapCacheSize()); + pixmapCacheSizeChanged(SettingsCache::instance().getPixmapCacheSize()); - client = new RemoteClient(nullptr, SettingsCache::instance()); + client = new RemoteClient(nullptr, &SettingsCache::instance()); connect(client, &RemoteClient::connectionClosedEventReceived, this, &MainWindow::processConnectionClosedEvent); connect(client, &RemoteClient::serverShutdownEventReceived, this, &MainWindow::processServerShutdownEvent); connect(client, &RemoteClient::loginError, this, &MainWindow::loginError); @@ -884,7 +884,7 @@ MainWindow::MainWindow(QWidget *parent) retranslateUi(); - if (!restoreGeometry(SettingsCache::instance()->getMainWindowGeometry())) { + if (!restoreGeometry(SettingsCache::instance().getMainWindowGeometry())) { setWindowState(Qt::WindowMaximized); } aFullScreen->setChecked(static_cast(windowState() & Qt::WindowFullScreen)); @@ -894,11 +894,11 @@ MainWindow::MainWindow(QWidget *parent) } // status bar - connect(SettingsCache::instance().get(), &SettingsCache::showStatusBarChanged, this, + connect(&SettingsCache::instance(), &SettingsCache::showStatusBarChanged, this, [this](bool show) { statusBar()->setVisible(show); }); - statusBar()->setVisible(SettingsCache::instance()->getShowStatusBar()); + statusBar()->setVisible(SettingsCache::instance().getShowStatusBar()); - connect(&SettingsCache::instance().get()->shortcuts(), &ShortcutsSettings::shortCutChanged, this, + connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this, &MainWindow::refreshShortcuts); refreshShortcuts(); @@ -917,42 +917,42 @@ MainWindow::MainWindow(QWidget *parent) void MainWindow::startupConfigCheck() { - if (SettingsCache::instance()->debug().getLocalGameOnStartup()) { - startLocalGame(SettingsCache::instance()->debug().getLocalGamePlayerCount()); + if (SettingsCache::instance().debug().getLocalGameOnStartup()) { + startLocalGame(SettingsCache::instance().debug().getLocalGamePlayerCount()); } - if (SettingsCache::instance()->getCheckUpdatesOnStartup()) { + if (SettingsCache::instance().getCheckUpdatesOnStartup()) { actCheckClientUpdates(); } - if (SettingsCache::instance()->getClientVersion() == CLIENT_INFO_NOT_SET) { + if (SettingsCache::instance().getClientVersion() == CLIENT_INFO_NOT_SET) { // no config found, 99% new clean install qCInfo(WindowMainStartupVersionLog) << "Startup: old client version empty, assuming first start after clean install"; alertForcedOracleRun(VERSION_STRING, false); - SettingsCache::instance()->downloads().resetToDefaultURLs(); // populate the download urls - SettingsCache::instance()->setClientVersion(VERSION_STRING); - } else if (SettingsCache::instance()->getClientVersion() != VERSION_STRING) { + SettingsCache::instance().downloads().resetToDefaultURLs(); // populate the download urls + SettingsCache::instance().setClientVersion(VERSION_STRING); + } else if (SettingsCache::instance().getClientVersion() != VERSION_STRING) { // config found, from another (presumably older) version qCInfo(WindowMainStartupVersionLog) - << "Startup: old client version" << SettingsCache::instance()->getClientVersion() + << "Startup: old client version" << SettingsCache::instance().getClientVersion() << "differs, assuming first start after update"; - if (SettingsCache::instance()->getNotifyAboutNewVersion()) { + if (SettingsCache::instance().getNotifyAboutNewVersion()) { alertForcedOracleRun(VERSION_STRING, true); } else { const auto reloadOk0 = QtConcurrent::run([] { CardDatabaseManager::getInstance()->loadCardDatabases(); }); } qCInfo(WindowMainStartupShortcutsLog) << "[MainWindow] Migrating shortcuts after update detected."; - SettingsCache::instance()->shortcuts().migrateShortcuts(); + SettingsCache::instance().shortcuts().migrateShortcuts(); - SettingsCache::instance()->setClientVersion(VERSION_STRING); + SettingsCache::instance().setClientVersion(VERSION_STRING); } else { // previous config from this version found qCInfo(WindowMainStartupVersionLog) << "Startup: found config with current version"; - if (SettingsCache::instance()->getCardUpdateCheckRequired()) { - if (SettingsCache::instance()->getStartupCardUpdateCheckPromptForUpdate()) { + if (SettingsCache::instance().getCardUpdateCheckRequired()) { + if (SettingsCache::instance().getStartupCardUpdateCheckPromptForUpdate()) { auto startupCardCheckDialog = new DlgStartupCardCheck(this); if (startupCardCheckDialog->exec() == QDialog::Accepted) { @@ -964,19 +964,19 @@ void MainWindow::startupConfigCheck() actCheckCardUpdatesBackground(); break; case 2: // background + always - SettingsCache::instance()->setStartupCardUpdateCheckPromptForUpdate(false); - SettingsCache::instance()->setStartupCardUpdateCheckAlwaysUpdate(true); + SettingsCache::instance().setStartupCardUpdateCheckPromptForUpdate(false); + SettingsCache::instance().setStartupCardUpdateCheckAlwaysUpdate(true); actCheckCardUpdatesBackground(); break; case 3: // don't prompt again + don't run - SettingsCache::instance()->setStartupCardUpdateCheckPromptForUpdate(false); - SettingsCache::instance()->setStartupCardUpdateCheckAlwaysUpdate(false); + SettingsCache::instance().setStartupCardUpdateCheckPromptForUpdate(false); + SettingsCache::instance().setStartupCardUpdateCheckAlwaysUpdate(false); break; default: break; } } - } else if (SettingsCache::instance()->getStartupCardUpdateCheckAlwaysUpdate()) { + } else if (SettingsCache::instance().getStartupCardUpdateCheckAlwaysUpdate()) { actCheckCardUpdatesBackground(); } } @@ -985,7 +985,7 @@ void MainWindow::startupConfigCheck() // Run the tips dialog only on subsequent startups. // On the first run after an install/update the startup is already crowded enough - if (tip->successfulInit && SettingsCache::instance()->getShowTipsOnStartup() && tip->newTipsAvailable) { + if (tip->successfulInit && SettingsCache::instance().getShowTipsOnStartup() && tip->newTipsAvailable) { tip->raise(); tip->show(); } @@ -1087,7 +1087,7 @@ void MainWindow::closeEvent(QCloseEvent *event) tip->close(); event->accept(); - SettingsCache::instance()->setMainWindowGeometry(saveGeometry()); + SettingsCache::instance().setMainWindowGeometry(saveGeometry()); tabSupervisor->deleteLater(); } @@ -1101,8 +1101,8 @@ void MainWindow::changeEvent(QEvent *event) if (!connectTo.isEmpty()) { qCInfo(WindowMainStartupAutoconnectLog) << "Command line connect to " << connectTo; client->connectToServer(connectTo.host(), connectTo.port(), connectTo.userName(), connectTo.password()); - } else if (SettingsCache::instance()->servers().getAutoConnect() && - !SettingsCache::instance()->debug().getLocalGameOnStartup()) { + } else if (SettingsCache::instance().servers().getAutoConnect() && + !SettingsCache::instance().debug().getLocalGameOnStartup()) { qCInfo(WindowMainStartupAutoconnectLog) << "Attempting auto-connect..."; DlgConnect dlg(this); client->connectToServer(dlg.getHost(), static_cast(dlg.getPort()), dlg.getPlayerName(), @@ -1320,7 +1320,7 @@ void MainWindow::cardUpdateError(QProcess::ProcessError err) void MainWindow::cardUpdateFinished(int, QProcess::ExitStatus exitStatus) { if (exitStatus == QProcess::NormalExit) { - SettingsCache::instance()->setLastCardUpdateCheck(QDateTime::currentDateTime().date()); + SettingsCache::instance().setLastCardUpdateCheck(QDateTime::currentDateTime().date()); } exitCardDatabaseUpdate(); } @@ -1349,7 +1349,7 @@ void MainWindow::checkClientUpdatesFinished(bool needToUpdate, bool /* isCompati void MainWindow::refreshShortcuts() { - ShortcutsSettings &shortcuts = SettingsCache::instance()->shortcuts(); + ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts(); aConnect->setShortcuts(shortcuts.getShortcut("MainWindow/aConnect")); aDisconnect->setShortcuts(shortcuts.getShortcut("MainWindow/aDisconnect")); aSinglePlayer->setShortcuts(shortcuts.getShortcut("MainWindow/aSinglePlayer")); @@ -1376,13 +1376,13 @@ void MainWindow::notifyUserAboutUpdate() void MainWindow::actOpenCustomFolder() { - QString dir = SettingsCache::instance()->getCustomPicsPath(); + QString dir = SettingsCache::instance().getCustomPicsPath(); QDesktopServices::openUrl(QUrl::fromLocalFile(dir)); } void MainWindow::actOpenCustomsetsFolder() { - QString dir = SettingsCache::instance()->getCustomCardDatabasePath(); + QString dir = SettingsCache::instance().getCustomCardDatabasePath(); QDesktopServices::openUrl(QUrl::fromLocalFile(dir)); } @@ -1407,7 +1407,7 @@ void MainWindow::actAddCustomSet() return; } - QDir dir = SettingsCache::instance()->getCustomCardDatabasePath(); + QDir dir = SettingsCache::instance().getCustomCardDatabasePath(); int nextPrefix = getNextCustomSetPrefix(dir); bool res; @@ -1458,7 +1458,7 @@ void MainWindow::actReloadCardDatabase() { const auto reloadOk1 = QtConcurrent::run([] { CardDatabaseManager::getInstance()->loadCardDatabases(); - SettingsCache::instance()->downloads().sync(); + SettingsCache::instance().downloads().sync(); }); } @@ -1488,9 +1488,9 @@ void MainWindow::forgotPasswordSuccess() QMessageBox::information( this, tr("Reset Password"), tr("Your password has been reset successfully, you can now log in using the new credentials.")); - SettingsCache::instance()->servers().setFPHostName(""); - SettingsCache::instance()->servers().setFPPort(""); - SettingsCache::instance()->servers().setFPPlayerName(""); + SettingsCache::instance().servers().setFPHostName(""); + SettingsCache::instance().servers().setFPPort(""); + SettingsCache::instance().servers().setFPPlayerName(""); } void MainWindow::forgotPasswordError() @@ -1498,9 +1498,9 @@ void MainWindow::forgotPasswordError() QMessageBox::warning( this, tr("Reset Password"), tr("Failed to reset user account password, please contact the server operator to reset your password.")); - SettingsCache::instance()->servers().setFPHostName(""); - SettingsCache::instance()->servers().setFPPort(""); - SettingsCache::instance()->servers().setFPPlayerName(""); + SettingsCache::instance().servers().setFPHostName(""); + SettingsCache::instance().servers().setFPPort(""); + SettingsCache::instance().servers().setFPPlayerName(""); } void MainWindow::promptForgotPasswordReset() diff --git a/cockatrice/src/main.cpp b/cockatrice/src/main.cpp index 664d8ff60..f20dab6fb 100644 --- a/cockatrice/src/main.cpp +++ b/cockatrice/src/main.cpp @@ -131,7 +131,7 @@ LONG WINAPI CockatriceUnhandledExceptionFilter(EXCEPTION_POINTERS *exceptionPoin void installNewTranslator() { - QString lang = SettingsCache::instance()->getLang(); + QString lang = SettingsCache::instance().getLang(); QString qtNameHint = "qt_" + lang; #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) @@ -253,9 +253,9 @@ int main(int argc, char *argv[]) QLocale::setDefault(QLocale::English); // Dependency Injections - CardDatabaseManager::setCardPreferenceProvider(QSharedPointer::create()); - CardDatabaseManager::setCardDatabasePathProvider(SettingsCache::instance()); - CardDatabaseManager::setCardSetPriorityController(SettingsCache::instance()->cardDatabase()); + CardDatabaseManager::setCardPreferenceProvider(new SettingsCardPreferenceProvider()); + CardDatabaseManager::setCardDatabasePathProvider(&SettingsCache::instance()); + CardDatabaseManager::setCardSetPriorityController(SettingsCache::instance().cardDatabase()); qCInfo(MainLog) << "Starting main program"; @@ -271,7 +271,7 @@ int main(int argc, char *argv[]) QGuiApplication::setDesktopFileName("cockatrice"); #endif - SettingsCache::instance()->setClientID(generateClientID()); + SettingsCache::instance().setClientID(generateClientID()); // If spoiler mode is enabled, we will download the spoilers // then reload the DB. otherwise just reload the DB @@ -281,7 +281,7 @@ int main(int argc, char *argv[]) qCInfo(MainLog) << "ui.show() finished"; // force shortcuts to be shown/hidden in right-click menus, regardless of system defaults - qApp->setAttribute(Qt::AA_DontShowShortcutsInContextMenus, !SettingsCache::instance()->getShowShortcuts()); + qApp->setAttribute(Qt::AA_DontShowShortcutsInContextMenus, !SettingsCache::instance().getShowShortcuts()); #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) app.setAttribute(Qt::AA_UseHighDpiPixmaps); diff --git a/dbconverter/src/main.h b/dbconverter/src/main.h index 61ddcaaa8..09abfd536 100644 --- a/dbconverter/src/main.h +++ b/dbconverter/src/main.h @@ -12,7 +12,7 @@ public: { // Replace querier with one that ignores SettingsCache delete querier; - querier = new CardDatabaseQuerier(this, this, QSharedPointer::create()); + querier = new CardDatabaseQuerier(this, this, new NoopCardPreferenceProvider()); }; LoadStatus loadCardDatabase(const QString &path) diff --git a/libcockatrice_card/libcockatrice/card/database/card_database.cpp b/libcockatrice_card/libcockatrice/card/database/card_database.cpp index 551afccdf..aee2d4969 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database.cpp +++ b/libcockatrice_card/libcockatrice/card/database/card_database.cpp @@ -14,9 +14,9 @@ #include CardDatabase::CardDatabase(QObject *parent, - QSharedPointer prefs, - QSharedPointer pathProvider, - QSharedPointer _setPriorityController) + ICardPreferenceProvider *prefs, + ICardDatabasePathProvider *pathProvider, + ICardSetPriorityController *_setPriorityController) : QObject(parent), setPriorityController(_setPriorityController), loadStatus(NotLoaded) { qRegisterMetaType("CardInfoPtr"); diff --git a/libcockatrice_card/libcockatrice/card/database/card_database.h b/libcockatrice_card/libcockatrice/card/database/card_database.h index 36dd53d0d..9fd240d46 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database.h +++ b/libcockatrice_card/libcockatrice/card/database/card_database.h @@ -28,7 +28,7 @@ class CardDatabase : public QObject { Q_OBJECT protected: - QSharedPointer setPriorityController; + ICardSetPriorityController *setPriorityController; /* * The cards, indexed by name. @@ -61,9 +61,9 @@ private: public: explicit CardDatabase(QObject *parent = nullptr, - QSharedPointer prefs = nullptr, - QSharedPointer pathProvider = nullptr, - QSharedPointer setPriorityController = nullptr); + ICardPreferenceProvider *prefs = nullptr, + ICardDatabasePathProvider *pathProvider = nullptr, + ICardSetPriorityController *setPriorityController = nullptr); ~CardDatabase() override; void removeCard(CardInfoPtr card); diff --git a/libcockatrice_card/libcockatrice/card/database/card_database_loader.cpp b/libcockatrice_card/libcockatrice/card/database/card_database_loader.cpp index bd281deb8..f7fd956fb 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database_loader.cpp +++ b/libcockatrice_card/libcockatrice/card/database/card_database_loader.cpp @@ -9,9 +9,7 @@ #include #include -CardDatabaseLoader::CardDatabaseLoader(QObject *parent, - CardDatabase *db, - QSharedPointer _pathProvider) +CardDatabaseLoader::CardDatabaseLoader(QObject *parent, CardDatabase *db, ICardDatabasePathProvider *_pathProvider) : QObject(parent), database(db), pathProvider(_pathProvider) { // instantiate available parsers here and connect them to the database @@ -25,7 +23,7 @@ CardDatabaseLoader::CardDatabaseLoader(QObject *parent, } // when SettingsCache's path changes, trigger reloads - connect(pathProvider.get(), &ICardDatabasePathProvider::cardDatabasePathChanged, this, + connect(pathProvider, &ICardDatabasePathProvider::cardDatabasePathChanged, this, &CardDatabaseLoader::loadCardDatabases); } diff --git a/libcockatrice_card/libcockatrice/card/database/card_database_loader.h b/libcockatrice_card/libcockatrice/card/database/card_database_loader.h index b837926a6..ea3c6c631 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database_loader.h +++ b/libcockatrice_card/libcockatrice/card/database/card_database_loader.h @@ -33,9 +33,7 @@ class CardDatabaseLoader : public QObject { Q_OBJECT public: - explicit CardDatabaseLoader(QObject *parent, - CardDatabase *db, - QSharedPointer pathProvider); + explicit CardDatabaseLoader(QObject *parent, CardDatabase *db, ICardDatabasePathProvider *pathProvider); ~CardDatabaseLoader() override; public slots: @@ -56,7 +54,7 @@ private: CardDatabase *database; // non-owning pointer to the container - QSharedPointer pathProvider; // pointer to the implementation providing the paths + ICardDatabasePathProvider *pathProvider; // pointer to the implementation providing the paths // parsers QList availableParsers; diff --git a/libcockatrice_card/libcockatrice/card/database/card_database_manager.cpp b/libcockatrice_card/libcockatrice/card/database/card_database_manager.cpp index 04fe46747..614b4a7f8 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database_manager.cpp +++ b/libcockatrice_card/libcockatrice/card/database/card_database_manager.cpp @@ -4,24 +4,21 @@ #include #include -QSharedPointer CardDatabaseManager::cardPreferenceProvider = - QSharedPointer::create(); -QSharedPointer CardDatabaseManager::pathProvider = - QSharedPointer::create(); -QSharedPointer CardDatabaseManager::setPriorityController = - QSharedPointer::create(); +ICardPreferenceProvider *CardDatabaseManager::cardPreferenceProvider = new NoopCardPreferenceProvider(); +ICardDatabasePathProvider *CardDatabaseManager::pathProvider = new NoopCardDatabasePathProvider(); +ICardSetPriorityController *CardDatabaseManager::setPriorityController = new NoopCardSetPriorityController(); -void CardDatabaseManager::setCardPreferenceProvider(QSharedPointer provider) +void CardDatabaseManager::setCardPreferenceProvider(ICardPreferenceProvider *provider) { cardPreferenceProvider = provider; } -void CardDatabaseManager::setCardDatabasePathProvider(QSharedPointer provider) +void CardDatabaseManager::setCardDatabasePathProvider(ICardDatabasePathProvider *provider) { pathProvider = provider; } -void CardDatabaseManager::setCardSetPriorityController(QSharedPointer controller) +void CardDatabaseManager::setCardSetPriorityController(ICardSetPriorityController *controller) { setPriorityController = controller; } diff --git a/libcockatrice_card/libcockatrice/card/database/card_database_manager.h b/libcockatrice_card/libcockatrice/card/database/card_database_manager.h index f4afba925..58503d2ff 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database_manager.h +++ b/libcockatrice_card/libcockatrice/card/database/card_database_manager.h @@ -18,9 +18,9 @@ public: CardDatabaseManager &operator=(const CardDatabaseManager &) = delete; // To be called once, before instantiation of the manager - static void setCardPreferenceProvider(QSharedPointer provider); - static void setCardDatabasePathProvider(QSharedPointer provider); - static void setCardSetPriorityController(QSharedPointer controller); + static void setCardPreferenceProvider(ICardPreferenceProvider *provider); + static void setCardDatabasePathProvider(ICardDatabasePathProvider *provider); + static void setCardSetPriorityController(ICardSetPriorityController *controller); // Static method to access the singleton instance static CardDatabase *getInstance(); @@ -29,9 +29,9 @@ public: private: CardDatabaseManager() = default; // Private constructor ~CardDatabaseManager() = default; - static QSharedPointer cardPreferenceProvider; - static QSharedPointer pathProvider; - static QSharedPointer setPriorityController; + static ICardPreferenceProvider *cardPreferenceProvider; + static ICardDatabasePathProvider *pathProvider; + static ICardSetPriorityController *setPriorityController; }; #endif // CARD_DATABASE_ACCESSOR_H diff --git a/libcockatrice_card/libcockatrice/card/database/card_database_querier.cpp b/libcockatrice_card/libcockatrice/card/database/card_database_querier.cpp index 6dc74dbb5..65999e590 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database_querier.cpp +++ b/libcockatrice_card/libcockatrice/card/database/card_database_querier.cpp @@ -9,7 +9,7 @@ CardDatabaseQuerier::CardDatabaseQuerier(QObject *_parent, const CardDatabase *_db, - const QSharedPointer &prefs) + const ICardPreferenceProvider *prefs) : QObject(_parent), db(_db), prefs(prefs) { } diff --git a/libcockatrice_card/libcockatrice/card/database/card_database_querier.h b/libcockatrice_card/libcockatrice/card/database/card_database_querier.h index 72639f743..052ed5c7f 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database_querier.h +++ b/libcockatrice_card/libcockatrice/card/database/card_database_querier.h @@ -20,9 +20,7 @@ class CardDatabaseQuerier : public QObject Q_OBJECT public: - explicit CardDatabaseQuerier(QObject *parent, - const CardDatabase *db, - const QSharedPointer &prefs); + explicit CardDatabaseQuerier(QObject *parent, const CardDatabase *db, const ICardPreferenceProvider *prefs); [[nodiscard]] CardInfoPtr getCardInfo(const QString &cardName) const; [[nodiscard]] QList getCardInfos(const QStringList &cardNames) const; @@ -59,7 +57,7 @@ public: private: const CardDatabase *db; - QSharedPointer prefs; + const ICardPreferenceProvider *prefs; CardInfoPtr lookupCardByName(const QString &name) const; }; diff --git a/libcockatrice_card/libcockatrice/card/database/parser/card_database_parser.cpp b/libcockatrice_card/libcockatrice/card/database/parser/card_database_parser.cpp index 84fa81662..e9686f816 100644 --- a/libcockatrice_card/libcockatrice/card/database/parser/card_database_parser.cpp +++ b/libcockatrice_card/libcockatrice/card/database/parser/card_database_parser.cpp @@ -19,7 +19,7 @@ CardSetPtr ICardDatabaseParser::internalAddSet(const QString &setName, return sets.value(setName); } - CardSetPtr newSet = CardSet::newInstance(QSharedPointer::create(), setName); + CardSetPtr newSet = CardSet::newInstance(new NoopCardSetPriorityController(), setName); newSet->setLongName(longName); newSet->setSetType(setType); newSet->setReleaseDate(releaseDate); diff --git a/libcockatrice_card/libcockatrice/card/database/parser/cockatrice_xml_4.cpp b/libcockatrice_card/libcockatrice/card/database/parser/cockatrice_xml_4.cpp index 4f6d3210d..ded645a4c 100644 --- a/libcockatrice_card/libcockatrice/card/database/parser/cockatrice_xml_4.cpp +++ b/libcockatrice_card/libcockatrice/card/database/parser/cockatrice_xml_4.cpp @@ -132,7 +132,7 @@ QVariantHash CockatriceXml4Parser::loadCardPropertiesFromXml(QXmlStreamReader &x void CockatriceXml4Parser::loadCardsFromXml(QXmlStreamReader &xml) { bool includeRebalancedCards = - true; // TODO: MOVE THIS OUT OF THE PARSER SettingsCache::instance()->getIncludeRebalancedCards(); + true; // TODO: MOVE THIS OUT OF THE PARSER SettingsCache::instance().getIncludeRebalancedCards(); while (!xml.atEnd()) { if (xml.readNext() == QXmlStreamReader::EndElement) { break; diff --git a/libcockatrice_card/libcockatrice/card/set/card_set.cpp b/libcockatrice_card/libcockatrice/card/set/card_set.cpp index 44ae3ad8e..20d0aced8 100644 --- a/libcockatrice_card/libcockatrice/card/set/card_set.cpp +++ b/libcockatrice_card/libcockatrice/card/set/card_set.cpp @@ -5,7 +5,7 @@ const char *CardSet::TOKENS_SETNAME = "TK"; -CardSet::CardSet(QSharedPointer _priorityController, +CardSet::CardSet(ICardSetPriorityController *_priorityController, const QString &_shortName, const QString &_longName, const QString &_setType, @@ -17,7 +17,7 @@ CardSet::CardSet(QSharedPointer _priorityController, loadSetOptions(); } -CardSetPtr CardSet::newInstance(QSharedPointer _priorityController, +CardSetPtr CardSet::newInstance(ICardSetPriorityController *_priorityController, const QString &_shortName, const QString &_longName, const QString &_setType, diff --git a/libcockatrice_card/libcockatrice/card/set/card_set.h b/libcockatrice_card/libcockatrice/card/set/card_set.h index 0caa660dd..5967f9093 100644 --- a/libcockatrice_card/libcockatrice/card/set/card_set.h +++ b/libcockatrice_card/libcockatrice/card/set/card_set.h @@ -38,14 +38,14 @@ private: bool enabled, isknown; public: - explicit CardSet(QSharedPointer priorityController, + explicit CardSet(ICardSetPriorityController *priorityController, const QString &_shortName = QString(), const QString &_longName = QString(), const QString &_setType = QString(), const QDate &_releaseDate = QDate(), const Priority _priority = PriorityFallback); - static CardSetPtr newInstance(QSharedPointer priorityController, + static CardSetPtr newInstance(ICardSetPriorityController *priorityController, const QString &_shortName = QString(), const QString &_longName = QString(), const QString &_setType = QString(), diff --git a/libcockatrice_network/libcockatrice/network/client/remote/remote_client.cpp b/libcockatrice_network/libcockatrice/network/client/remote/remote_client.cpp index a10966da4..c0167a875 100644 --- a/libcockatrice_network/libcockatrice/network/client/remote/remote_client.cpp +++ b/libcockatrice_network/libcockatrice/network/client/remote/remote_client.cpp @@ -25,7 +25,7 @@ static const unsigned int protocolVersion = 14; -RemoteClient::RemoteClient(QObject *parent, QSharedPointer _networkSettingsProvider) +RemoteClient::RemoteClient(QObject *parent, INetworkSettingsProvider *_networkSettingsProvider) : AbstractClient(parent), networkSettingsProvider(_networkSettingsProvider), timeRunning(0), lastDataReceived(0), messageInProgress(false), handshakeStarted(false), usingWebSocket(false), messageLength(0), hashedPassword() { diff --git a/libcockatrice_network/libcockatrice/network/client/remote/remote_client.h b/libcockatrice_network/libcockatrice/network/client/remote/remote_client.h index 0ea036a11..939e88dfc 100644 --- a/libcockatrice_network/libcockatrice/network/client/remote/remote_client.h +++ b/libcockatrice_network/libcockatrice/network/client/remote/remote_client.h @@ -98,7 +98,7 @@ private slots: void submitForgotPasswordChallengeResponse(const Response &response); private: - QSharedPointer networkSettingsProvider; + INetworkSettingsProvider *networkSettingsProvider; int maxTimeout; int timeRunning, lastDataReceived; QByteArray inputBuffer; @@ -122,8 +122,7 @@ protected slots: void sendCommandContainer(const CommandContainer &cont) override; public: - explicit RemoteClient(QObject *parent = nullptr, - QSharedPointer networkSettingsProvider = nullptr); + explicit RemoteClient(QObject *parent = nullptr, INetworkSettingsProvider *networkSettingsProvider = nullptr); ~RemoteClient() override; QString peerName() const { diff --git a/oracle/src/main.cpp b/oracle/src/main.cpp index 6341f8785..5def0c887 100644 --- a/oracle/src/main.cpp +++ b/oracle/src/main.cpp @@ -21,7 +21,7 @@ bool isBackgrounded; void installNewTranslator() { - QString lang = SettingsCache::instance()->getLang(); + QString lang = SettingsCache::instance().getLang(); QString qtNameHint = "qt_" + lang; #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) diff --git a/oracle/src/oracleimporter.cpp b/oracle/src/oracleimporter.cpp index 38fa1de08..7d68022d2 100644 --- a/oracle/src/oracleimporter.cpp +++ b/oracle/src/oracleimporter.cpp @@ -464,14 +464,14 @@ int OracleImporter::startImport() { int setCards = 0, setIndex = 0; // add an empty set for tokens - CardSetPtr tokenSet = CardSet::newInstance(SettingsCache::instance()->cardDatabase(), CardSet::TOKENS_SETNAME, + CardSetPtr tokenSet = CardSet::newInstance(SettingsCache::instance().cardDatabase(), CardSet::TOKENS_SETNAME, tr("Dummy set containing tokens"), "Tokens"); sets.insert(CardSet::TOKENS_SETNAME, tokenSet); for (const SetToDownload &curSetToParse : allSets) { - CardSetPtr newSet = CardSet::newInstance( - SettingsCache::instance()->cardDatabase(), curSetToParse.getShortName(), curSetToParse.getLongName(), - curSetToParse.getSetType(), curSetToParse.getReleaseDate(), curSetToParse.getPriority()); + CardSetPtr newSet = CardSet::newInstance(SettingsCache::instance().cardDatabase(), curSetToParse.getShortName(), + curSetToParse.getLongName(), curSetToParse.getSetType(), + curSetToParse.getReleaseDate(), curSetToParse.getPriority()); if (!sets.contains(newSet->getShortName())) sets.insert(newSet->getShortName(), newSet); diff --git a/oracle/src/oraclewizard.cpp b/oracle/src/oraclewizard.cpp index e838a147b..29988386b 100644 --- a/oracle/src/oraclewizard.cpp +++ b/oracle/src/oraclewizard.cpp @@ -57,8 +57,8 @@ OracleWizard::OracleWizard(QWidget *parent) : QWizard(parent) // define a dummy context that will be used where needed QString dummy = QT_TRANSLATE_NOOP("i18n", "English"); - settings = new QSettings(SettingsCache::instance()->getSettingsPath() + "global.ini", QSettings::IniFormat, this); - connect(SettingsCache::instance().get(), &SettingsCache::langChanged, this, &OracleWizard::updateLanguage); + settings = new QSettings(SettingsCache::instance().getSettingsPath() + "global.ini", QSettings::IniFormat, this); + connect(&SettingsCache::instance(), &SettingsCache::langChanged, this, &OracleWizard::updateLanguage); importer = new OracleImporter(this); @@ -207,7 +207,7 @@ QString IntroPage::languageName(const QString &lang) void IntroPage::languageBoxChanged(int index) { - SettingsCache::instance()->setLang(languageBox->itemData(index).toString()); + SettingsCache::instance().setLang(languageBox->itemData(index).toString()); } void IntroPage::retranslateUi() @@ -663,7 +663,7 @@ void SaveSetsPage::retranslateUi() saveLabel->setText(tr("Press \"Save\" to store the imported cards in the Cockatrice database.")); pathLabel->setText(tr("The card database will be saved at the following location:") + "
" + - SettingsCache::instance()->getCardDatabasePath()); + SettingsCache::instance().getCardDatabasePath()); defaultPathCheckBox->setText(tr("Save to a custom path (not recommended)")); setButtonText(QWizard::NextButton, tr("&Save")); @@ -683,7 +683,7 @@ void SaveSetsPage::updateTotalProgress(int cardsImported, int /* setIndex */, co bool SaveSetsPage::validatePage() { - QString defaultPath = SettingsCache::instance()->getCardDatabasePath(); + QString defaultPath = SettingsCache::instance().getCardDatabasePath(); QString windowName = tr("Save card database"); QString fileType = tr("XML; card database (*.xml)"); @@ -745,7 +745,7 @@ QString LoadTokensPage::getCustomUrlSettingsKey() QString LoadTokensPage::getDefaultSavePath() { - return SettingsCache::instance()->getTokenDatabasePath(); + return SettingsCache::instance().getTokenDatabasePath(); } QString LoadTokensPage::getWindowTitle() @@ -766,7 +766,7 @@ void LoadTokensPage::retranslateUi() urlLabel->setText(tr("Download URL:")); urlButton->setText(tr("Restore default URL")); pathLabel->setText(tr("The token database will be saved at the following location:") + "
" + - SettingsCache::instance()->getTokenDatabasePath()); + SettingsCache::instance().getTokenDatabasePath()); defaultPathCheckBox->setText(tr("Save to a custom path (not recommended)")); } @@ -782,7 +782,7 @@ QString LoadSpoilersPage::getCustomUrlSettingsKey() QString LoadSpoilersPage::getDefaultSavePath() { - return SettingsCache::instance()->getTokenDatabasePath(); + return SettingsCache::instance().getTokenDatabasePath(); } QString LoadSpoilersPage::getWindowTitle() @@ -803,6 +803,6 @@ void LoadSpoilersPage::retranslateUi() urlLabel->setText(tr("Download URL:")); urlButton->setText(tr("Restore default URL")); pathLabel->setText(tr("The spoiler database will be saved at the following location:") + "
" + - SettingsCache::instance()->getSpoilerCardDatabasePath()); + SettingsCache::instance().getSpoilerCardDatabasePath()); defaultPathCheckBox->setText(tr("Save to a custom path (not recommended)")); } diff --git a/tests/carddatabase/carddatabase_test.cpp b/tests/carddatabase/carddatabase_test.cpp index 79ceaa485..3fa0e3834 100644 --- a/tests/carddatabase/carddatabase_test.cpp +++ b/tests/carddatabase/carddatabase_test.cpp @@ -10,9 +10,8 @@ namespace TEST(CardDatabaseTest, LoadXml) { - CardDatabase *db = new CardDatabase(nullptr, QSharedPointer::create(), - QSharedPointer::create(), - QSharedPointer::create()); + CardDatabase *db = new CardDatabase(nullptr, new NoopCardPreferenceProvider(), new TestCardDatabasePathProvider(), + new NoopCardSetPriorityController()); // ensure the card database is empty at start ASSERT_EQ(0, db->getCardList().size()) << "Cards not empty at start"; diff --git a/tests/carddatabase/filter_string_test.cpp b/tests/carddatabase/filter_string_test.cpp index 60e9f34a6..ed81109b0 100644 --- a/tests/carddatabase/filter_string_test.cpp +++ b/tests/carddatabase/filter_string_test.cpp @@ -20,9 +20,8 @@ class CardQuery : public ::testing::Test protected: void SetUp() override { - CardDatabase *db = new CardDatabase(nullptr, QSharedPointer::create(), - QSharedPointer::create(), - QSharedPointer::create()); + CardDatabase *db = new CardDatabase(nullptr, new NoopCardPreferenceProvider(), + new TestCardDatabasePathProvider(), new NoopCardSetPriorityController()); db->loadCardDatabases(); cat = db->query()->getCardBySimpleName("Cat");