mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-30 18:43:55 -07:00
[PrintingSelector] Don't change font size (#6573)
* [PrintingSelector] Don't change font size * remove connection to slider * update comments
This commit is contained in:
parent
1b29e0bfa8
commit
c7249dfbd9
3 changed files with 6 additions and 53 deletions
|
|
@ -44,8 +44,8 @@ PrintingSelectorCardDisplayWidget::PrintingSelectorCardDisplayWidget(QWidget *pa
|
||||||
|
|
||||||
// Create the widget to display the set name and collector's number
|
// Create the widget to display the set name and collector's number
|
||||||
QString combinedSetName = QString(set->getLongName() + " (" + set->getShortName() + ")");
|
QString combinedSetName = QString(set->getLongName() + " (" + set->getShortName() + ")");
|
||||||
setNameAndCollectorsNumberDisplayWidget = new SetNameAndCollectorsNumberDisplayWidget(
|
setNameAndCollectorsNumberDisplayWidget =
|
||||||
this, combinedSetName, rootCard.getPrinting().getProperty("num"), cardSizeSlider);
|
new SetNameAndCollectorsNumberDisplayWidget(this, combinedSetName, rootCard.getPrinting().getProperty("num"));
|
||||||
|
|
||||||
// Add the widgets to the layout
|
// Add the widgets to the layout
|
||||||
layout->addWidget(overlayWidget, 0, Qt::AlignHCenter);
|
layout->addWidget(overlayWidget, 0, Qt::AlignHCenter);
|
||||||
|
|
|
||||||
|
|
@ -6,14 +6,12 @@
|
||||||
* @class SetNameAndCollectorsNumberDisplayWidget
|
* @class SetNameAndCollectorsNumberDisplayWidget
|
||||||
* @brief A widget to display the set name and collectors number with adjustable font size.
|
* @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
|
* This widget displays the set name and collectors number on two separate labels.
|
||||||
* when the card size is changed.
|
|
||||||
*/
|
*/
|
||||||
SetNameAndCollectorsNumberDisplayWidget::SetNameAndCollectorsNumberDisplayWidget(QWidget *parent,
|
SetNameAndCollectorsNumberDisplayWidget::SetNameAndCollectorsNumberDisplayWidget(QWidget *parent,
|
||||||
const QString &_setName,
|
const QString &_setName,
|
||||||
const QString &_collectorsNumber,
|
const QString &_collectorsNumber)
|
||||||
QSlider *_cardSizeSlider)
|
: QWidget(parent)
|
||||||
: QWidget(parent), cardSizeSlider(_cardSizeSlider)
|
|
||||||
{
|
{
|
||||||
// Set up the layout for the widget
|
// Set up the layout for the widget
|
||||||
layout = new QVBoxLayout(this);
|
layout = new QVBoxLayout(this);
|
||||||
|
|
@ -36,49 +34,11 @@ SetNameAndCollectorsNumberDisplayWidget::SetNameAndCollectorsNumberDisplayWidget
|
||||||
collectorsNumber->setAlignment(Qt::AlignHCenter | Qt::AlignTop);
|
collectorsNumber->setAlignment(Qt::AlignHCenter | Qt::AlignTop);
|
||||||
collectorsNumber->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
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
|
// Add labels to the layout
|
||||||
layout->addWidget(setName);
|
layout->addWidget(setName);
|
||||||
layout->addWidget(collectorsNumber);
|
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.
|
* @brief Handles resize events to adjust the height of the set name label.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -17,20 +17,13 @@ class SetNameAndCollectorsNumberDisplayWidget : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
SetNameAndCollectorsNumberDisplayWidget(QWidget *parent,
|
SetNameAndCollectorsNumberDisplayWidget(QWidget *parent, const QString &setName, const QString &collectorsNumber);
|
||||||
const QString &setName,
|
|
||||||
const QString &collectorsNumber,
|
|
||||||
QSlider *cardSizeSlider);
|
|
||||||
void resizeEvent(QResizeEvent *event) override;
|
void resizeEvent(QResizeEvent *event) override;
|
||||||
|
|
||||||
public slots:
|
|
||||||
void adjustFontSize(int scalePercentage);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QVBoxLayout *layout;
|
QVBoxLayout *layout;
|
||||||
QLabel *setName;
|
QLabel *setName;
|
||||||
QLabel *collectorsNumber;
|
QLabel *collectorsNumber;
|
||||||
QSlider *cardSizeSlider;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SET_NAME_AND_COLLECTORS_NUMBER_DISPLAY_WIDGET_H
|
#endif // SET_NAME_AND_COLLECTORS_NUMBER_DISPLAY_WIDGET_H
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue