mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -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
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue