mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-19 17:02:15 -07:00
Resize setName to picture width on initialization.
Also add a new signal to card_info_picture_widget to emit when the scale factor changes. Hook this up to the setName resizing method to ensure card size updates trigger it appropriately after initialization. Clean up unused enter and resize methods that just delegated to base-class.
This commit is contained in:
parent
ce2c9115ac
commit
f12259500e
6 changed files with 20 additions and 15 deletions
|
|
@ -99,6 +99,8 @@ void CardInfoPictureWidget::setScaleFactor(const int scale)
|
|||
|
||||
setFixedSize(newWidth, newHeight);
|
||||
updatePixmap();
|
||||
|
||||
emit cardScaleFactorChanged(scale);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ public slots:
|
|||
|
||||
signals:
|
||||
void hoveredOnCard(CardInfoPtr hoveredCard);
|
||||
void cardScaleFactorChanged(int _scale);
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *event) override;
|
||||
|
|
|
|||
|
|
@ -312,6 +312,7 @@ void PrintingSelector::getAllSetsForCurrentCard()
|
|||
new PrintingSelectorCardDisplayWidget(this, deckEditor, deckModel, deckView, cardSizeSlider,
|
||||
selectedCard, prependedSets[currentIndex], currentZone);
|
||||
flowWidget->addWidget(cardDisplayWidget);
|
||||
cardDisplayWidget->clampSetNameToPicture();
|
||||
}
|
||||
|
||||
// Stop timer when done
|
||||
|
|
|
|||
|
|
@ -33,21 +33,14 @@ PrintingSelectorCardDisplayWidget::PrintingSelectorCardDisplayWidget(QWidget *pa
|
|||
setNameAndCollectorsNumberDisplayWidget =
|
||||
new SetNameAndCollectorsNumberDisplayWidget(this, combinedSetName, setInfoForCard.getProperty("num"));
|
||||
|
||||
layout->addWidget(overlayWidget);
|
||||
layout->addWidget(overlayWidget, 0, Qt::AlignHCenter);
|
||||
layout->addWidget(setNameAndCollectorsNumberDisplayWidget, 1, Qt::AlignHCenter | Qt::AlignBottom);
|
||||
setMouseTracking(true);
|
||||
}
|
||||
|
||||
void PrintingSelectorCardDisplayWidget::enterEvent(QEnterEvent *event)
|
||||
void PrintingSelectorCardDisplayWidget::clampSetNameToPicture()
|
||||
{
|
||||
QWidget::enterEvent(event);
|
||||
if (overlayWidget != nullptr && setNameAndCollectorsNumberDisplayWidget != nullptr) {
|
||||
setNameAndCollectorsNumberDisplayWidget->setMaximumWidth(overlayWidget->width());
|
||||
}
|
||||
update();
|
||||
}
|
||||
|
||||
void PrintingSelectorCardDisplayWidget::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
QWidget::resizeEvent(event); // Ensure the parent class handles the event first
|
||||
|
||||
// Set the maximum width for the setName QLabel
|
||||
setNameAndCollectorsNumberDisplayWidget->setMaximumWidth(overlayWidget->width());
|
||||
}
|
||||
}
|
||||
|
|
@ -31,8 +31,9 @@ public:
|
|||
CardInfoPtr rootCard,
|
||||
CardInfoPerSet setInfoForCard,
|
||||
QString ¤tZone);
|
||||
void enterEvent(QEnterEvent *event) override;
|
||||
void resizeEvent(QResizeEvent *event) override;
|
||||
|
||||
public slots:
|
||||
void clampSetNameToPicture();
|
||||
|
||||
private:
|
||||
QVBoxLayout *layout;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "printing_selector_card_overlay_widget.h"
|
||||
|
||||
#include "../../../../game/cards/card_database_manager.h"
|
||||
#include "printing_selector_card_display_widget.h"
|
||||
|
||||
#include <QVBoxLayout>
|
||||
|
||||
|
|
@ -36,6 +37,12 @@ PrintingSelectorCardOverlayWidget::PrintingSelectorCardOverlayWidget(QWidget *pa
|
|||
allZonesCardAmountWidget->raise(); // Ensure it's on top of the picture
|
||||
allZonesCardAmountWidget->setVisible(false);
|
||||
|
||||
// Attempt to cast the parent to PrintingSelectorCardDisplayWidget
|
||||
if (const auto *parentWidget = qobject_cast<PrintingSelectorCardDisplayWidget *>(parent)) {
|
||||
connect(cardInfoPicture, &CardInfoPictureWidget::cardScaleFactorChanged, parentWidget,
|
||||
&PrintingSelectorCardDisplayWidget::clampSetNameToPicture);
|
||||
}
|
||||
|
||||
connect(cardSizeSlider, &QSlider::valueChanged, cardInfoPicture, &CardInfoPictureWidget::setScaleFactor);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue