[PrintingSelector] Don't change font size (#6573)

* [PrintingSelector] Don't change font size

* remove connection to slider

* update comments
This commit is contained in:
RickyRister 2026-01-28 09:39:54 -08:00 committed by GitHub
parent 1b29e0bfa8
commit c7249dfbd9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 6 additions and 53 deletions

View file

@ -44,8 +44,8 @@ PrintingSelectorCardDisplayWidget::PrintingSelectorCardDisplayWidget(QWidget *pa
// Create the widget to display the set name and collector's number
QString combinedSetName = QString(set->getLongName() + " (" + set->getShortName() + ")");
setNameAndCollectorsNumberDisplayWidget = new SetNameAndCollectorsNumberDisplayWidget(
this, combinedSetName, rootCard.getPrinting().getProperty("num"), cardSizeSlider);
setNameAndCollectorsNumberDisplayWidget =
new SetNameAndCollectorsNumberDisplayWidget(this, combinedSetName, rootCard.getPrinting().getProperty("num"));
// Add the widgets to the layout
layout->addWidget(overlayWidget, 0, Qt::AlignHCenter);

View file

@ -6,14 +6,12 @@
* @class SetNameAndCollectorsNumberDisplayWidget
* @brief A widget to display the set name and collectors number with adjustable font size.
*
* This widget displays the set name and collectors number on two separate labels. The font size is resized dynamically
* when the card size is changed.
* This widget displays the set name and collectors number on two separate labels.
*/
SetNameAndCollectorsNumberDisplayWidget::SetNameAndCollectorsNumberDisplayWidget(QWidget *parent,
const QString &_setName,
const QString &_collectorsNumber,
QSlider *_cardSizeSlider)
: QWidget(parent), cardSizeSlider(_cardSizeSlider)
const QString &_collectorsNumber)
: QWidget(parent)
{
// Set up the layout for the widget
layout = new QVBoxLayout(this);
@ -36,49 +34,11 @@ SetNameAndCollectorsNumberDisplayWidget::SetNameAndCollectorsNumberDisplayWidget
collectorsNumber->setAlignment(Qt::AlignHCenter | Qt::AlignTop);
collectorsNumber->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
// Store the card size slider and connect its signal to the font size adjustment slot
connect(cardSizeSlider, &QSlider::valueChanged, this, &SetNameAndCollectorsNumberDisplayWidget::adjustFontSize);
// Add labels to the layout
layout->addWidget(setName);
layout->addWidget(collectorsNumber);
}
/**
* @brief Adjusts the font size of the labels based on the slider value.
*
* This method adjusts the font size of the set name and collectors number labels
* according to the scale percentage provided by the slider. The font size is clamped
* to a range between the defined minimum and maximum font sizes.
*
* @param scalePercentage The scale percentage from the slider.
*/
void SetNameAndCollectorsNumberDisplayWidget::adjustFontSize(int scalePercentage)
{
// Define the base font size and the range
const int minFontSize = 8; // Minimum font size
const int maxFontSize = 32; // Maximum font size
const int basePercentage = 100; // Scale at 100%
// Calculate the new font size
int newFontSize = minFontSize + (scalePercentage - basePercentage) * (maxFontSize - minFontSize) / 225;
// Clamp the font size to the defined range
newFontSize = std::clamp(newFontSize, minFontSize, maxFontSize);
// Update the fonts for both labels
QFont setNameFont = setName->font();
setNameFont.setPointSize(newFontSize);
setName->setFont(setNameFont);
QFont collectorsNumberFont = collectorsNumber->font();
collectorsNumberFont.setPointSize(newFontSize);
collectorsNumber->setFont(collectorsNumberFont);
// Optionally trigger a resize to accommodate new font size
adjustSize();
}
/**
* @brief Handles resize events to adjust the height of the set name label.
*

View file

@ -17,20 +17,13 @@ class SetNameAndCollectorsNumberDisplayWidget : public QWidget
{
Q_OBJECT
public:
SetNameAndCollectorsNumberDisplayWidget(QWidget *parent,
const QString &setName,
const QString &collectorsNumber,
QSlider *cardSizeSlider);
SetNameAndCollectorsNumberDisplayWidget(QWidget *parent, const QString &setName, const QString &collectorsNumber);
void resizeEvent(QResizeEvent *event) override;
public slots:
void adjustFontSize(int scalePercentage);
private:
QVBoxLayout *layout;
QLabel *setName;
QLabel *collectorsNumber;
QSlider *cardSizeSlider;
};
#endif // SET_NAME_AND_COLLECTORS_NUMBER_DISPLAY_WIDGET_H