mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2025-12-12 15:49:28 -08:00
[VDE] Sample Hand Improvements (#5917)
* Actually call retranslateUi, add spinBox to change sample hand size, add card size slider. * Lint. * Fix include. * Fix include again. * Fix overloads. * Update visual_deck_editor_sample_hand_widget.cpp --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de> Co-authored-by: Zach H <zahalpern+github@gmail.com>
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include "../../../../deck/deck_loader.h"
|
#include "../../../../deck/deck_loader.h"
|
||||||
#include "../../../../game/cards/card_database_manager.h"
|
#include "../../../../game/cards/card_database_manager.h"
|
||||||
|
#include "../../../../settings/cache_settings.h"
|
||||||
#include "../cards/card_info_picture_widget.h"
|
#include "../cards/card_info_picture_widget.h"
|
||||||
|
|
||||||
#include <random>
|
#include <random>
|
||||||
@@ -12,23 +13,45 @@ VisualDeckEditorSampleHandWidget::VisualDeckEditorSampleHandWidget(QWidget *pare
|
|||||||
layout = new QVBoxLayout(this);
|
layout = new QVBoxLayout(this);
|
||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
|
|
||||||
|
resetAndHandSizeContainerWidget = new QWidget(this);
|
||||||
|
resetAndHandSizeLayout = new QHBoxLayout(resetAndHandSizeContainerWidget);
|
||||||
|
resetAndHandSizeContainerWidget->setLayout(resetAndHandSizeLayout);
|
||||||
|
|
||||||
resetButton = new QPushButton(this);
|
resetButton = new QPushButton(this);
|
||||||
connect(resetButton, SIGNAL(clicked()), this, SLOT(updateDisplay()));
|
connect(resetButton, SIGNAL(clicked()), this, SLOT(updateDisplay()));
|
||||||
layout->addWidget(resetButton);
|
resetAndHandSizeLayout->addWidget(resetButton);
|
||||||
|
|
||||||
|
handSizeSpinBox = new QSpinBox(this);
|
||||||
|
handSizeSpinBox->setValue(SettingsCache::instance().getVisualDeckEditorSampleHandSize());
|
||||||
|
handSizeSpinBox->setMinimum(1);
|
||||||
|
connect(handSizeSpinBox, QOverload<int>::of(&QSpinBox::valueChanged), &SettingsCache::instance(),
|
||||||
|
&SettingsCache::setVisualDeckEditorSampleHandSize);
|
||||||
|
connect(handSizeSpinBox, QOverload<int>::of(&QSpinBox::valueChanged), this,
|
||||||
|
&VisualDeckEditorSampleHandWidget::updateDisplay);
|
||||||
|
resetAndHandSizeLayout->addWidget(handSizeSpinBox);
|
||||||
|
|
||||||
|
layout->addWidget(resetAndHandSizeContainerWidget);
|
||||||
|
|
||||||
flowWidget = new FlowWidget(this, Qt::Horizontal, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded);
|
flowWidget = new FlowWidget(this, Qt::Horizontal, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded);
|
||||||
layout->addWidget(flowWidget);
|
layout->addWidget(flowWidget);
|
||||||
|
|
||||||
for (CardInfoPtr card : getRandomCards(7)) {
|
cardSizeWidget = new CardSizeWidget(this, flowWidget);
|
||||||
|
layout->addWidget(cardSizeWidget);
|
||||||
|
|
||||||
|
for (CardInfoPtr card : getRandomCards(handSizeSpinBox->value())) {
|
||||||
auto displayWidget = new CardInfoPictureWidget(this);
|
auto displayWidget = new CardInfoPictureWidget(this);
|
||||||
displayWidget->setCard(card);
|
displayWidget->setCard(card);
|
||||||
|
displayWidget->setScaleFactor(cardSizeWidget->getSlider()->value());
|
||||||
flowWidget->addWidget(displayWidget);
|
flowWidget->addWidget(displayWidget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
retranslateUi();
|
||||||
}
|
}
|
||||||
|
|
||||||
void VisualDeckEditorSampleHandWidget::retranslateUi()
|
void VisualDeckEditorSampleHandWidget::retranslateUi()
|
||||||
{
|
{
|
||||||
resetButton->setText(tr("Reset"));
|
resetButton->setText(tr("Draw a new sample hand"));
|
||||||
|
handSizeSpinBox->setToolTip(tr("Sample hand size"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void VisualDeckEditorSampleHandWidget::setDeckModel(DeckListModel *deckModel)
|
void VisualDeckEditorSampleHandWidget::setDeckModel(DeckListModel *deckModel)
|
||||||
@@ -41,9 +64,12 @@ void VisualDeckEditorSampleHandWidget::setDeckModel(DeckListModel *deckModel)
|
|||||||
void VisualDeckEditorSampleHandWidget::updateDisplay()
|
void VisualDeckEditorSampleHandWidget::updateDisplay()
|
||||||
{
|
{
|
||||||
flowWidget->clearLayout();
|
flowWidget->clearLayout();
|
||||||
for (CardInfoPtr card : getRandomCards(7)) {
|
for (CardInfoPtr card : getRandomCards(handSizeSpinBox->value())) {
|
||||||
auto displayWidget = new CardInfoPictureWidget(this);
|
auto displayWidget = new CardInfoPictureWidget(this);
|
||||||
displayWidget->setCard(card);
|
displayWidget->setCard(card);
|
||||||
|
displayWidget->setScaleFactor(cardSizeWidget->getSlider()->value());
|
||||||
|
connect(cardSizeWidget->getSlider(), &QSlider::valueChanged, displayWidget,
|
||||||
|
&CardInfoPictureWidget::setScaleFactor);
|
||||||
flowWidget->addWidget(displayWidget);
|
flowWidget->addWidget(displayWidget);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
#ifndef VISUAL_DECK_EDITOR_SAMPLE_HAND_WIDGET_H
|
#ifndef VISUAL_DECK_EDITOR_SAMPLE_HAND_WIDGET_H
|
||||||
#define VISUAL_DECK_EDITOR_SAMPLE_HAND_WIDGET_H
|
#define VISUAL_DECK_EDITOR_SAMPLE_HAND_WIDGET_H
|
||||||
|
|
||||||
|
#include "../../../../client/ui/widgets/cards/card_size_widget.h"
|
||||||
#include "../../../../deck/deck_list_model.h"
|
#include "../../../../deck/deck_list_model.h"
|
||||||
#include "../general/layout_containers/flow_widget.h"
|
#include "../general/layout_containers/flow_widget.h"
|
||||||
|
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
#include <QSpinBox>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
class VisualDeckEditorSampleHandWidget : public QWidget
|
class VisualDeckEditorSampleHandWidget : public QWidget
|
||||||
@@ -22,8 +24,12 @@ public slots:
|
|||||||
private:
|
private:
|
||||||
DeckListModel *deckListModel;
|
DeckListModel *deckListModel;
|
||||||
QVBoxLayout *layout;
|
QVBoxLayout *layout;
|
||||||
|
QWidget *resetAndHandSizeContainerWidget;
|
||||||
|
QHBoxLayout *resetAndHandSizeLayout;
|
||||||
QPushButton *resetButton;
|
QPushButton *resetButton;
|
||||||
|
QSpinBox *handSizeSpinBox;
|
||||||
FlowWidget *flowWidget;
|
FlowWidget *flowWidget;
|
||||||
|
CardSizeWidget *cardSizeWidget;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // VISUAL_DECK_EDITOR_SAMPLE_HAND_WIDGET_H
|
#endif // VISUAL_DECK_EDITOR_SAMPLE_HAND_WIDGET_H
|
||||||
|
|||||||
@@ -291,6 +291,7 @@ SettingsCache::SettingsCache()
|
|||||||
settings->value("interface/visualdatabasedisplayfiltertomostrecentsetsenabled", true).toBool();
|
settings->value("interface/visualdatabasedisplayfiltertomostrecentsetsenabled", true).toBool();
|
||||||
visualDatabaseDisplayFilterToMostRecentSetsAmount =
|
visualDatabaseDisplayFilterToMostRecentSetsAmount =
|
||||||
settings->value("interface/visualdatabasedisplayfiltertomostrecentsetsamount", 10).toInt();
|
settings->value("interface/visualdatabasedisplayfiltertomostrecentsetsamount", 10).toInt();
|
||||||
|
visualDeckEditorSampleHandSize = settings->value("interface/visualdeckeditorsamplehandsize", 7).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();
|
||||||
@@ -821,6 +822,13 @@ void SettingsCache::setVisualDatabaseDisplayFilterToMostRecentSetsAmount(int _am
|
|||||||
emit visualDatabaseDisplayFilterToMostRecentSetsAmountChanged(visualDatabaseDisplayFilterToMostRecentSetsAmount);
|
emit visualDatabaseDisplayFilterToMostRecentSetsAmountChanged(visualDatabaseDisplayFilterToMostRecentSetsAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SettingsCache::setVisualDeckEditorSampleHandSize(int _amount)
|
||||||
|
{
|
||||||
|
visualDeckEditorSampleHandSize = _amount;
|
||||||
|
settings->setValue("interface/visualdeckeditorsamplehandsize", visualDeckEditorSampleHandSize);
|
||||||
|
emit visualDeckEditorSampleHandSizeAmountChanged(visualDeckEditorSampleHandSize);
|
||||||
|
}
|
||||||
|
|
||||||
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);
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ signals:
|
|||||||
void visualDeckStorageSelectionAnimationChanged(bool enabled);
|
void visualDeckStorageSelectionAnimationChanged(bool enabled);
|
||||||
void visualDatabaseDisplayFilterToMostRecentSetsEnabledChanged(bool enabled);
|
void visualDatabaseDisplayFilterToMostRecentSetsEnabledChanged(bool enabled);
|
||||||
void visualDatabaseDisplayFilterToMostRecentSetsAmountChanged(int amount);
|
void visualDatabaseDisplayFilterToMostRecentSetsAmountChanged(int amount);
|
||||||
|
void visualDeckEditorSampleHandSizeAmountChanged(int amount);
|
||||||
void horizontalHandChanged();
|
void horizontalHandChanged();
|
||||||
void handJustificationChanged();
|
void handJustificationChanged();
|
||||||
void invertVerticalCoordinateChanged();
|
void invertVerticalCoordinateChanged();
|
||||||
@@ -156,6 +157,7 @@ private:
|
|||||||
int defaultDeckEditorType;
|
int defaultDeckEditorType;
|
||||||
bool visualDatabaseDisplayFilterToMostRecentSetsEnabled;
|
bool visualDatabaseDisplayFilterToMostRecentSetsEnabled;
|
||||||
int visualDatabaseDisplayFilterToMostRecentSetsAmount;
|
int visualDatabaseDisplayFilterToMostRecentSetsAmount;
|
||||||
|
int visualDeckEditorSampleHandSize;
|
||||||
bool horizontalHand;
|
bool horizontalHand;
|
||||||
bool invertVerticalCoordinate;
|
bool invertVerticalCoordinate;
|
||||||
int minPlayersForMultiColumnLayout;
|
int minPlayersForMultiColumnLayout;
|
||||||
@@ -502,6 +504,10 @@ public:
|
|||||||
{
|
{
|
||||||
return visualDatabaseDisplayFilterToMostRecentSetsAmount;
|
return visualDatabaseDisplayFilterToMostRecentSetsAmount;
|
||||||
}
|
}
|
||||||
|
int getVisualDeckEditorSampleHandSize() const
|
||||||
|
{
|
||||||
|
return visualDeckEditorSampleHandSize;
|
||||||
|
}
|
||||||
bool getHorizontalHand() const
|
bool getHorizontalHand() const
|
||||||
{
|
{
|
||||||
return horizontalHand;
|
return horizontalHand;
|
||||||
@@ -853,6 +859,7 @@ public slots:
|
|||||||
void setDefaultDeckEditorType(int value);
|
void setDefaultDeckEditorType(int value);
|
||||||
void setVisualDatabaseDisplayFilterToMostRecentSetsEnabled(QT_STATE_CHANGED_T _enabled);
|
void setVisualDatabaseDisplayFilterToMostRecentSetsEnabled(QT_STATE_CHANGED_T _enabled);
|
||||||
void setVisualDatabaseDisplayFilterToMostRecentSetsAmount(int _amount);
|
void setVisualDatabaseDisplayFilterToMostRecentSetsAmount(int _amount);
|
||||||
|
void setVisualDeckEditorSampleHandSize(int _amount);
|
||||||
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);
|
||||||
|
|||||||
@@ -268,6 +268,9 @@ void SettingsCache::setVisualDatabaseDisplayFilterToMostRecentSetsEnabled(QT_STA
|
|||||||
void SettingsCache::setVisualDatabaseDisplayFilterToMostRecentSetsAmount(int /* _amount */)
|
void SettingsCache::setVisualDatabaseDisplayFilterToMostRecentSetsAmount(int /* _amount */)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
void SettingsCache::setVisualDeckEditorSampleHandSize(int /* _amount */)
|
||||||
|
{
|
||||||
|
}
|
||||||
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T /* _horizontalHand */)
|
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T /* _horizontalHand */)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -272,6 +272,9 @@ void SettingsCache::setVisualDatabaseDisplayFilterToMostRecentSetsEnabled(QT_STA
|
|||||||
void SettingsCache::setVisualDatabaseDisplayFilterToMostRecentSetsAmount(int /* _amount */)
|
void SettingsCache::setVisualDatabaseDisplayFilterToMostRecentSetsAmount(int /* _amount */)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
void SettingsCache::setVisualDeckEditorSampleHandSize(int /* _amount */)
|
||||||
|
{
|
||||||
|
}
|
||||||
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T /* _horizontalHand */)
|
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T /* _horizontalHand */)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user