mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-19 00:42:14 -07:00
Add a card size slider.
This commit is contained in:
parent
cee2de45d5
commit
b6a96089ec
6 changed files with 39 additions and 4 deletions
|
|
@ -1,6 +1,9 @@
|
||||||
#include "card_size_widget.h"
|
#include "card_size_widget.h"
|
||||||
|
|
||||||
#include "../../../../settings/cache_settings.h"
|
#include "../../../../settings/cache_settings.h"
|
||||||
|
#include "../printing_selector/printing_selector.h"
|
||||||
|
#include "../visual_deck_storage/visual_deck_storage_widget.h"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @class CardSizeWidget
|
* @class CardSizeWidget
|
||||||
|
|
@ -40,9 +43,19 @@ CardSizeWidget::CardSizeWidget(QWidget *parent, FlowWidget *flowWidget, int defa
|
||||||
*/
|
*/
|
||||||
void CardSizeWidget::updateCardSizeSetting(int newValue)
|
void CardSizeWidget::updateCardSizeSetting(int newValue)
|
||||||
{
|
{
|
||||||
SettingsCache::instance().setPrintingSelectorCardSize(newValue);
|
// Check the type of the parent widget
|
||||||
|
if ((parent = qobject_cast<PrintingSelector*>(parentWidget()))) {
|
||||||
|
SettingsCache::instance().setPrintingSelectorCardSize(newValue);
|
||||||
|
}
|
||||||
|
else if ((parent = qobject_cast<VisualDeckStorageWidget*>(parentWidget()))) {
|
||||||
|
SettingsCache::instance().setVisualDeckStorageCardSize(newValue);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
qWarning() << "CardSizeWidget has an unexpected parent widget type. Did not set persistent setting.";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Gets the slider widget used for adjusting the card size.
|
* @brief Gets the slider widget used for adjusting the card size.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,11 @@ class CardSizeWidget : public QWidget
|
||||||
public:
|
public:
|
||||||
explicit CardSizeWidget(QWidget *parent, FlowWidget *flowWidget = nullptr, int defaultValue = 100);
|
explicit CardSizeWidget(QWidget *parent, FlowWidget *flowWidget = nullptr, int defaultValue = 100);
|
||||||
[[nodiscard]] QSlider *getSlider() const;
|
[[nodiscard]] QSlider *getSlider() const;
|
||||||
|
QWidget *parent;
|
||||||
public slots:
|
public slots:
|
||||||
static void updateCardSizeSetting(int newValue);
|
void updateCardSizeSetting(int newValue);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QWidget *parent;
|
|
||||||
FlowWidget *flowWidget;
|
FlowWidget *flowWidget;
|
||||||
QHBoxLayout *cardSizeLayout;
|
QHBoxLayout *cardSizeLayout;
|
||||||
QLabel *cardSizeLabel;
|
QLabel *cardSizeLabel;
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,9 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare
|
||||||
flowWidget = new FlowWidget(this, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded);
|
flowWidget = new FlowWidget(this, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded);
|
||||||
layout->addWidget(flowWidget);
|
layout->addWidget(flowWidget);
|
||||||
|
|
||||||
|
cardSizeWidget = new CardSizeWidget(this, flowWidget, SettingsCache::instance().getVisualDeckStorageCardSize());
|
||||||
|
layout->addWidget(cardSizeWidget);
|
||||||
|
|
||||||
// Connect sorting change signal to refresh the file list
|
// Connect sorting change signal to refresh the file list
|
||||||
connect(sortComboBox, &QComboBox::currentIndexChanged, this, [this, sortComboBox]() {
|
connect(sortComboBox, &QComboBox::currentIndexChanged, this, [this, sortComboBox]() {
|
||||||
sortOrder = static_cast<SortOrder>(sortComboBox->currentData().toInt());
|
sortOrder = static_cast<SortOrder>(sortComboBox->currentData().toInt());
|
||||||
|
|
@ -91,7 +94,7 @@ void VisualDeckStorageWidget::refreshBannerCards()
|
||||||
deckLoader->loadFromFile(file, DeckLoader::CockatriceFormat);
|
deckLoader->loadFromFile(file, DeckLoader::CockatriceFormat);
|
||||||
deckListModel->setDeckList(new DeckLoader(*deckLoader));
|
deckListModel->setDeckList(new DeckLoader(*deckLoader));
|
||||||
|
|
||||||
auto *display = new DeckPreviewCardPictureWidget(flowWidget, true);
|
auto *display = new DeckPreviewCardPictureWidget(flowWidget, false);
|
||||||
qDebug() << "Banner card is: " << deckLoader->getBannerCard();
|
qDebug() << "Banner card is: " << deckLoader->getBannerCard();
|
||||||
auto bannerCard = deckLoader->getBannerCard().isEmpty()
|
auto bannerCard = deckLoader->getBannerCard().isEmpty()
|
||||||
? CardInfoPtr()
|
? CardInfoPtr()
|
||||||
|
|
@ -106,6 +109,8 @@ void VisualDeckStorageWidget::refreshBannerCards()
|
||||||
&VisualDeckStorageWidget::imageClickedEvent);
|
&VisualDeckStorageWidget::imageClickedEvent);
|
||||||
connect(display, &DeckPreviewCardPictureWidget::imageDoubleClicked, this,
|
connect(display, &DeckPreviewCardPictureWidget::imageDoubleClicked, this,
|
||||||
&VisualDeckStorageWidget::imageDoubleClickedEvent);
|
&VisualDeckStorageWidget::imageDoubleClickedEvent);
|
||||||
|
connect(cardSizeWidget->getSlider(), &QSlider::valueChanged, display, &CardInfoPictureWidget::setScaleFactor);
|
||||||
|
display->setScaleFactor(cardSizeWidget->getSlider()->value());
|
||||||
flowWidget->addWidget(display);
|
flowWidget->addWidget(display);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
#include "../../../../deck/deck_view.h"
|
#include "../../../../deck/deck_view.h"
|
||||||
#include "../../../ui/widgets/cards/deck_preview_card_picture_widget.h"
|
#include "../../../ui/widgets/cards/deck_preview_card_picture_widget.h"
|
||||||
#include "../../../ui/widgets/general/layout_containers/flow_widget.h"
|
#include "../../../ui/widgets/general/layout_containers/flow_widget.h"
|
||||||
|
#include "../cards/card_size_widget.h"
|
||||||
|
|
||||||
#include <QFileSystemModel>
|
#include <QFileSystemModel>
|
||||||
|
|
||||||
|
|
@ -41,6 +42,7 @@ private:
|
||||||
|
|
||||||
SortOrder sortOrder; // Current sorting option
|
SortOrder sortOrder; // Current sorting option
|
||||||
VisualDeckStorageSearchWidget *searchWidget;
|
VisualDeckStorageSearchWidget *searchWidget;
|
||||||
|
CardSizeWidget *cardSizeWidget;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // VISUAL_DECK_STORAGE_WIDGET_H
|
#endif // VISUAL_DECK_STORAGE_WIDGET_H
|
||||||
|
|
|
||||||
|
|
@ -259,6 +259,7 @@ SettingsCache::SettingsCache()
|
||||||
settings->value("cards/printingselectorcardsizeslidervisible", true).toBool();
|
settings->value("cards/printingselectorcardsizeslidervisible", true).toBool();
|
||||||
printingSelectorNavigationButtonsVisible =
|
printingSelectorNavigationButtonsVisible =
|
||||||
settings->value("cards/printingselectornavigationbuttonsvisible", true).toBool();
|
settings->value("cards/printingselectornavigationbuttonsvisible", true).toBool();
|
||||||
|
visualDeckStorageCardSize = settings->value("cards/visualdeckstoragecardsize", 100).toInt();
|
||||||
horizontalHand = settings->value("hand/horizontal", true).toBool();
|
horizontalHand = settings->value("hand/horizontal", true).toBool();
|
||||||
invertVerticalCoordinate = settings->value("table/invert_vertical", false).toBool();
|
invertVerticalCoordinate = settings->value("table/invert_vertical", false).toBool();
|
||||||
minPlayersForMultiColumnLayout = settings->value("interface/min_players_multicolumn", 4).toInt();
|
minPlayersForMultiColumnLayout = settings->value("interface/min_players_multicolumn", 4).toInt();
|
||||||
|
|
@ -609,6 +610,13 @@ void SettingsCache::setPrintingSelectorNavigationButtonsVisible(QT_STATE_CHANGED
|
||||||
emit printingSelectorNavigationButtonsVisibleChanged();
|
emit printingSelectorNavigationButtonsVisibleChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SettingsCache::setVisualDeckStorageCardSize(int _visualDeckStorageCardSize)
|
||||||
|
{
|
||||||
|
visualDeckStorageCardSize = _visualDeckStorageCardSize;
|
||||||
|
settings->setValue("cards/visualdeckstoragecardsize", visualDeckStorageCardSize);
|
||||||
|
emit visualDeckStorageCardSizeChanged();
|
||||||
|
}
|
||||||
|
|
||||||
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T _horizontalHand)
|
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T _horizontalHand)
|
||||||
{
|
{
|
||||||
horizontalHand = static_cast<bool>(_horizontalHand);
|
horizontalHand = static_cast<bool>(_horizontalHand);
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,7 @@ signals:
|
||||||
void printingSelectorSearchBarVisibleChanged();
|
void printingSelectorSearchBarVisibleChanged();
|
||||||
void printingSelectorCardSizeSliderVisibleChanged();
|
void printingSelectorCardSizeSliderVisibleChanged();
|
||||||
void printingSelectorNavigationButtonsVisibleChanged();
|
void printingSelectorNavigationButtonsVisibleChanged();
|
||||||
|
void visualDeckStorageCardSizeChanged();
|
||||||
void horizontalHandChanged();
|
void horizontalHandChanged();
|
||||||
void handJustificationChanged();
|
void handJustificationChanged();
|
||||||
void invertVerticalCoordinateChanged();
|
void invertVerticalCoordinateChanged();
|
||||||
|
|
@ -123,6 +124,7 @@ private:
|
||||||
bool printingSelectorSearchBarVisible;
|
bool printingSelectorSearchBarVisible;
|
||||||
bool printingSelectorCardSizeSliderVisible;
|
bool printingSelectorCardSizeSliderVisible;
|
||||||
bool printingSelectorNavigationButtonsVisible;
|
bool printingSelectorNavigationButtonsVisible;
|
||||||
|
int visualDeckStorageCardSize;
|
||||||
bool horizontalHand;
|
bool horizontalHand;
|
||||||
bool invertVerticalCoordinate;
|
bool invertVerticalCoordinate;
|
||||||
int minPlayersForMultiColumnLayout;
|
int minPlayersForMultiColumnLayout;
|
||||||
|
|
@ -369,6 +371,10 @@ public:
|
||||||
{
|
{
|
||||||
return printingSelectorNavigationButtonsVisible;
|
return printingSelectorNavigationButtonsVisible;
|
||||||
}
|
}
|
||||||
|
int getVisualDeckStorageCardSize() const
|
||||||
|
{
|
||||||
|
return visualDeckStorageCardSize;
|
||||||
|
}
|
||||||
bool getHorizontalHand() const
|
bool getHorizontalHand() const
|
||||||
{
|
{
|
||||||
return horizontalHand;
|
return horizontalHand;
|
||||||
|
|
@ -677,6 +683,7 @@ public slots:
|
||||||
void setPrintingSelectorSearchBarVisible(QT_STATE_CHANGED_T _searchBarVisible);
|
void setPrintingSelectorSearchBarVisible(QT_STATE_CHANGED_T _searchBarVisible);
|
||||||
void setPrintingSelectorCardSizeSliderVisible(QT_STATE_CHANGED_T _cardSizeSliderVisible);
|
void setPrintingSelectorCardSizeSliderVisible(QT_STATE_CHANGED_T _cardSizeSliderVisible);
|
||||||
void setPrintingSelectorNavigationButtonsVisible(QT_STATE_CHANGED_T _navigationButtonsVisible);
|
void setPrintingSelectorNavigationButtonsVisible(QT_STATE_CHANGED_T _navigationButtonsVisible);
|
||||||
|
void setVisualDeckStorageCardSize(int _visualDeckStorageCardSize);
|
||||||
void setHorizontalHand(QT_STATE_CHANGED_T _horizontalHand);
|
void setHorizontalHand(QT_STATE_CHANGED_T _horizontalHand);
|
||||||
void setInvertVerticalCoordinate(QT_STATE_CHANGED_T _invertVerticalCoordinate);
|
void setInvertVerticalCoordinate(QT_STATE_CHANGED_T _invertVerticalCoordinate);
|
||||||
void setMinPlayersForMultiColumnLayout(int _minPlayersForMultiColumnLayout);
|
void setMinPlayersForMultiColumnLayout(int _minPlayersForMultiColumnLayout);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue