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