mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-01 11:03:54 -07:00
Propagate display type from visual deck editor to card group display widget correctly on initialization. (#5978)
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
parent
7495d2dc65
commit
9af3fbc35f
4 changed files with 16 additions and 13 deletions
|
|
@ -12,12 +12,13 @@ DeckCardZoneDisplayWidget::DeckCardZoneDisplayWidget(QWidget *parent,
|
||||||
QString _zoneName,
|
QString _zoneName,
|
||||||
QString _activeGroupCriteria,
|
QString _activeGroupCriteria,
|
||||||
QStringList _activeSortCriteria,
|
QStringList _activeSortCriteria,
|
||||||
|
DisplayType _displayType,
|
||||||
int bannerOpacity,
|
int bannerOpacity,
|
||||||
int subBannerOpacity,
|
int subBannerOpacity,
|
||||||
CardSizeWidget *_cardSizeWidget)
|
CardSizeWidget *_cardSizeWidget)
|
||||||
: QWidget(parent), deckListModel(_deckListModel), zoneName(_zoneName), activeGroupCriteria(_activeGroupCriteria),
|
: QWidget(parent), deckListModel(_deckListModel), zoneName(_zoneName), activeGroupCriteria(_activeGroupCriteria),
|
||||||
activeSortCriteria(_activeSortCriteria), bannerOpacity(bannerOpacity), subBannerOpacity(subBannerOpacity),
|
activeSortCriteria(_activeSortCriteria), displayType(_displayType), bannerOpacity(bannerOpacity),
|
||||||
cardSizeWidget(_cardSizeWidget)
|
subBannerOpacity(subBannerOpacity), cardSizeWidget(_cardSizeWidget)
|
||||||
{
|
{
|
||||||
layout = new QVBoxLayout(this);
|
layout = new QVBoxLayout(this);
|
||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
|
|
@ -60,7 +61,7 @@ void DeckCardZoneDisplayWidget::displayCards()
|
||||||
deleteCardGroupIfItDoesNotExist();
|
deleteCardGroupIfItDoesNotExist();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeckCardZoneDisplayWidget::refreshDisplayType(const QString &_displayType)
|
void DeckCardZoneDisplayWidget::refreshDisplayType(const DisplayType &_displayType)
|
||||||
{
|
{
|
||||||
displayType = _displayType;
|
displayType = _displayType;
|
||||||
QLayoutItem *item;
|
QLayoutItem *item;
|
||||||
|
|
@ -102,7 +103,7 @@ void DeckCardZoneDisplayWidget::addCardGroupIfItDoesNotExist()
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (displayType == "overlap") {
|
if (displayType == DisplayType::Overlap) {
|
||||||
auto *display_widget = new OverlappedCardGroupDisplayWidget(
|
auto *display_widget = new OverlappedCardGroupDisplayWidget(
|
||||||
cardGroupContainer, deckListModel, zoneName, cardGroup, activeGroupCriteria, activeSortCriteria,
|
cardGroupContainer, deckListModel, zoneName, cardGroup, activeGroupCriteria, activeSortCriteria,
|
||||||
subBannerOpacity, cardSizeWidget);
|
subBannerOpacity, cardSizeWidget);
|
||||||
|
|
@ -112,7 +113,7 @@ void DeckCardZoneDisplayWidget::addCardGroupIfItDoesNotExist()
|
||||||
connect(this, &DeckCardZoneDisplayWidget::activeSortCriteriaChanged, display_widget,
|
connect(this, &DeckCardZoneDisplayWidget::activeSortCriteriaChanged, display_widget,
|
||||||
&CardGroupDisplayWidget::onActiveSortCriteriaChanged);
|
&CardGroupDisplayWidget::onActiveSortCriteriaChanged);
|
||||||
cardGroupLayout->addWidget(display_widget);
|
cardGroupLayout->addWidget(display_widget);
|
||||||
} else if (displayType == "flat") {
|
} else if (displayType == DisplayType::Flat) {
|
||||||
auto *display_widget = new FlatCardGroupDisplayWidget(cardGroupContainer, deckListModel, zoneName,
|
auto *display_widget = new FlatCardGroupDisplayWidget(cardGroupContainer, deckListModel, zoneName,
|
||||||
cardGroup, activeGroupCriteria, activeSortCriteria,
|
cardGroup, activeGroupCriteria, activeSortCriteria,
|
||||||
subBannerOpacity, cardSizeWidget);
|
subBannerOpacity, cardSizeWidget);
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
#include "../../../../game/cards/card_info.h"
|
#include "../../../../game/cards/card_info.h"
|
||||||
#include "../general/display/banner_widget.h"
|
#include "../general/display/banner_widget.h"
|
||||||
#include "../general/layout_containers/overlap_widget.h"
|
#include "../general/layout_containers/overlap_widget.h"
|
||||||
|
#include "../visual_deck_editor/visual_deck_editor_widget.h"
|
||||||
#include "card_info_picture_with_text_overlay_widget.h"
|
#include "card_info_picture_with_text_overlay_widget.h"
|
||||||
#include "card_size_widget.h"
|
#include "card_size_widget.h"
|
||||||
|
|
||||||
|
|
@ -21,6 +22,7 @@ public:
|
||||||
QString zoneName,
|
QString zoneName,
|
||||||
QString activeGroupCriteria,
|
QString activeGroupCriteria,
|
||||||
QStringList activeSortCriteria,
|
QStringList activeSortCriteria,
|
||||||
|
DisplayType displayType,
|
||||||
int bannerOpacity,
|
int bannerOpacity,
|
||||||
int subBannerOpacity,
|
int subBannerOpacity,
|
||||||
CardSizeWidget *_cardSizeWidget);
|
CardSizeWidget *_cardSizeWidget);
|
||||||
|
|
@ -33,7 +35,7 @@ public slots:
|
||||||
void onClick(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *card);
|
void onClick(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *card);
|
||||||
void onHover(CardInfoPtr card);
|
void onHover(CardInfoPtr card);
|
||||||
void displayCards();
|
void displayCards();
|
||||||
void refreshDisplayType(const QString &displayType);
|
void refreshDisplayType(const DisplayType &displayType);
|
||||||
void addCardGroupIfItDoesNotExist();
|
void addCardGroupIfItDoesNotExist();
|
||||||
void deleteCardGroupIfItDoesNotExist();
|
void deleteCardGroupIfItDoesNotExist();
|
||||||
void onActiveGroupCriteriaChanged(QString activeGroupCriteria);
|
void onActiveGroupCriteriaChanged(QString activeGroupCriteria);
|
||||||
|
|
@ -48,6 +50,7 @@ signals:
|
||||||
private:
|
private:
|
||||||
QString activeGroupCriteria;
|
QString activeGroupCriteria;
|
||||||
QStringList activeSortCriteria;
|
QStringList activeSortCriteria;
|
||||||
|
DisplayType displayType = DisplayType::Overlap;
|
||||||
int bannerOpacity = 20;
|
int bannerOpacity = 20;
|
||||||
int subBannerOpacity = 10;
|
int subBannerOpacity = 10;
|
||||||
CardSizeWidget *cardSizeWidget;
|
CardSizeWidget *cardSizeWidget;
|
||||||
|
|
@ -55,7 +58,6 @@ private:
|
||||||
BannerWidget *banner;
|
BannerWidget *banner;
|
||||||
QWidget *cardGroupContainer;
|
QWidget *cardGroupContainer;
|
||||||
QVBoxLayout *cardGroupLayout;
|
QVBoxLayout *cardGroupLayout;
|
||||||
QString displayType = "flat";
|
|
||||||
OverlapWidget *overlapWidget;
|
OverlapWidget *overlapWidget;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -193,7 +193,7 @@ void VisualDeckEditorWidget::retranslateUi()
|
||||||
searchPushButton->setToolTip(tr("Search for closest match in the database (with auto-suggestions) and add "
|
searchPushButton->setToolTip(tr("Search for closest match in the database (with auto-suggestions) and add "
|
||||||
"preferred printing to the deck on pressing enter"));
|
"preferred printing to the deck on pressing enter"));
|
||||||
sortCriteriaButton->setToolTip(tr("Configure how cards are sorted within their groups"));
|
sortCriteriaButton->setToolTip(tr("Configure how cards are sorted within their groups"));
|
||||||
displayTypeButton->setText(tr("Flat Layout"));
|
displayTypeButton->setText(tr("Overlap Layout"));
|
||||||
displayTypeButton->setToolTip(
|
displayTypeButton->setToolTip(
|
||||||
tr("Change how cards are displayed within zones (i.e. overlapped or fully visible.)"));
|
tr("Change how cards are displayed within zones (i.e. overlapped or fully visible.)"));
|
||||||
}
|
}
|
||||||
|
|
@ -212,14 +212,13 @@ void VisualDeckEditorWidget::updateDisplayType()
|
||||||
// Update UI and emit signal
|
// Update UI and emit signal
|
||||||
switch (currentDisplayType) {
|
switch (currentDisplayType) {
|
||||||
case DisplayType::Flat:
|
case DisplayType::Flat:
|
||||||
emit displayTypeChanged("flat");
|
|
||||||
displayTypeButton->setText(tr("Flat Layout"));
|
displayTypeButton->setText(tr("Flat Layout"));
|
||||||
break;
|
break;
|
||||||
case DisplayType::Overlap:
|
case DisplayType::Overlap:
|
||||||
emit displayTypeChanged("overlap");
|
|
||||||
displayTypeButton->setText(tr("Overlap Layout"));
|
displayTypeButton->setText(tr("Overlap Layout"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
emit displayTypeChanged(currentDisplayType);
|
||||||
}
|
}
|
||||||
|
|
||||||
void VisualDeckEditorWidget::addZoneIfDoesNotExist()
|
void VisualDeckEditorWidget::addZoneIfDoesNotExist()
|
||||||
|
|
@ -239,8 +238,9 @@ void VisualDeckEditorWidget::addZoneIfDoesNotExist()
|
||||||
if (found) {
|
if (found) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
DeckCardZoneDisplayWidget *zoneDisplayWidget = new DeckCardZoneDisplayWidget(
|
DeckCardZoneDisplayWidget *zoneDisplayWidget =
|
||||||
zoneContainer, deckListModel, zone, activeGroupCriteria, activeSortCriteria, 20, 10, cardSizeWidget);
|
new DeckCardZoneDisplayWidget(zoneContainer, deckListModel, zone, activeGroupCriteria, activeSortCriteria,
|
||||||
|
currentDisplayType, 20, 10, cardSizeWidget);
|
||||||
connect(zoneDisplayWidget, &DeckCardZoneDisplayWidget::cardHovered, this, &VisualDeckEditorWidget::onHover);
|
connect(zoneDisplayWidget, &DeckCardZoneDisplayWidget::cardHovered, this, &VisualDeckEditorWidget::onHover);
|
||||||
connect(zoneDisplayWidget, &DeckCardZoneDisplayWidget::cardClicked, this, &VisualDeckEditorWidget::onCardClick);
|
connect(zoneDisplayWidget, &DeckCardZoneDisplayWidget::cardClicked, this, &VisualDeckEditorWidget::onCardClick);
|
||||||
connect(this, &VisualDeckEditorWidget::activeSortCriteriaChanged, zoneDisplayWidget,
|
connect(this, &VisualDeckEditorWidget::activeSortCriteriaChanged, zoneDisplayWidget,
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ signals:
|
||||||
void activeSortCriteriaChanged(QStringList activeSortCriteria);
|
void activeSortCriteriaChanged(QStringList activeSortCriteria);
|
||||||
void cardClicked(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance, QString zoneName);
|
void cardClicked(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance, QString zoneName);
|
||||||
void cardAdditionRequested(CardInfoPtr card);
|
void cardAdditionRequested(CardInfoPtr card);
|
||||||
void displayTypeChanged(QString displayType);
|
void displayTypeChanged(DisplayType displayType);
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void onHover(CardInfoPtr hoveredCard);
|
void onHover(CardInfoPtr hoveredCard);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue