From 441cb4447a941294db1bb23e330630837b3be741 Mon Sep 17 00:00:00 2001 From: Matt Lowe Date: Wed, 18 Mar 2015 13:37:06 +0100 Subject: [PATCH] Added optional card scaling setting + Users can now enable/disable the mouse over card scaling. --- cockatrice/src/abstractcarditem.cpp | 2 +- cockatrice/src/dlg_settings.cpp | 5 +++++ cockatrice/src/dlg_settings.h | 1 + cockatrice/src/settingscache.cpp | 9 ++++++++- cockatrice/src/settingscache.h | 3 +++ 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/cockatrice/src/abstractcarditem.cpp b/cockatrice/src/abstractcarditem.cpp index 7ff34b1f..3b88e260 100644 --- a/cockatrice/src/abstractcarditem.cpp +++ b/cockatrice/src/abstractcarditem.cpp @@ -191,7 +191,7 @@ void AbstractCardItem::setHovered(bool _hovered) processHoverEvent(); isHovered = _hovered; setZValue(_hovered ? 2000000004 : realZValue); - setScale(_hovered ? 1.1 : 1); + setScale(_hovered && settingsCache->getScaleCards() ? 1.1 : 1); setTransformOriginPoint(_hovered ? CARD_WIDTH / 2 : 0, _hovered ? CARD_HEIGHT / 2 : 0); update(); } diff --git a/cockatrice/src/dlg_settings.cpp b/cockatrice/src/dlg_settings.cpp index 23ffaee8..fcc8d8ef 100644 --- a/cockatrice/src/dlg_settings.cpp +++ b/cockatrice/src/dlg_settings.cpp @@ -299,9 +299,13 @@ AppearanceSettingsPage::AppearanceSettingsPage() displayCardNamesCheckBox.setChecked(settingsCache->getDisplayCardNames()); connect(&displayCardNamesCheckBox, SIGNAL(stateChanged(int)), settingsCache, SLOT(setDisplayCardNames(int))); + + cardScalingCheckBox.setChecked(settingsCache->getScaleCards()); + connect(&cardScalingCheckBox, SIGNAL(stateChanged(int)), settingsCache, SLOT(setCardScaling(int))); QGridLayout *cardsGrid = new QGridLayout; cardsGrid->addWidget(&displayCardNamesCheckBox, 0, 0, 1, 2); + cardsGrid->addWidget(&cardScalingCheckBox, 1, 0, 1, 2); cardsGroupBox = new QGroupBox; cardsGroupBox->setLayout(cardsGrid); @@ -351,6 +355,7 @@ void AppearanceSettingsPage::retranslateUi() cardsGroupBox->setTitle(tr("Card rendering")); displayCardNamesCheckBox.setText(tr("Display card names on cards having a picture")); + cardScalingCheckBox.setText(tr("Scale cards on mouse over")); handGroupBox->setTitle(tr("Hand layout")); horizontalHandCheckBox.setText(tr("Display hand horizontally (wastes space)")); diff --git a/cockatrice/src/dlg_settings.h b/cockatrice/src/dlg_settings.h index 794939ee..1acda925 100644 --- a/cockatrice/src/dlg_settings.h +++ b/cockatrice/src/dlg_settings.h @@ -98,6 +98,7 @@ private: QLineEdit *playerAreaBgEdit; QLineEdit *cardBackPicturePathEdit; QCheckBox displayCardNamesCheckBox; + QCheckBox cardScalingCheckBox; QCheckBox horizontalHandCheckBox; QCheckBox invertVerticalCoordinateCheckBox; QGroupBox *zoneBgGroupBox; diff --git a/cockatrice/src/settingscache.cpp b/cockatrice/src/settingscache.cpp index 6b5f7407..105afa70 100644 --- a/cockatrice/src/settingscache.cpp +++ b/cockatrice/src/settingscache.cpp @@ -72,7 +72,14 @@ SettingsCache::SettingsCache() ignoreUnregisteredUsers = settings->value("chat/ignore_unregistered", false).toBool(); ignoreUnregisteredUserMessages = settings->value("chat/ignore_unregistered_messages", false).toBool(); - attemptAutoConnect = settings->value("server/auto_connect", 0).toBool(); + attemptAutoConnect = settings->value("server/auto_connect", 0).toBool(); + + scaleCards = settings->value("cards/scaleCards", true).toBool(); +} + +void SettingsCache::setCardScaling(const int _scaleCards) { + scaleCards = _scaleCards; + settings->setValue("cards/scaleCards", scaleCards); } void SettingsCache::setLang(const QString &_lang) diff --git a/cockatrice/src/settingscache.h b/cockatrice/src/settingscache.h index f21d2951..587bafa1 100644 --- a/cockatrice/src/settingscache.h +++ b/cockatrice/src/settingscache.h @@ -74,6 +74,7 @@ private: QString picUrlHqFallback; bool attemptAutoConnect; int pixmapCacheSize; + bool scaleCards; public: SettingsCache(); const QByteArray &getMainWindowGeometry() const { return mainWindowGeometry; } @@ -125,6 +126,7 @@ public: void copyPath(const QString &src, const QString &dst); bool getAutoConnect() const { return attemptAutoConnect; } int getPixmapCacheSize() const { return pixmapCacheSize; } + bool getScaleCards() const { return scaleCards; } public slots: void setMainWindowGeometry(const QByteArray &_mainWindowGeometry); void setLang(const QString &_lang); @@ -169,6 +171,7 @@ public slots: void setPicUrlHqFallback(const QString &_picUrlHqFallback); void setAutoConnect(const bool &_autoConnect); void setPixmapCacheSize(const int _pixmapCacheSize); + void setCardScaling(const int _scaleCards); }; extern SettingsCache *settingsCache;