From f3a7be7e3fdd2f7c6760616c0ffed773ce24d001 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Mon, 16 Dec 2024 00:36:40 +0100 Subject: [PATCH] Try to wrangle font sizes. --- cockatrice/CMakeLists.txt | 3 + .../display/dynamic_font_size_label.cpp | 131 ++++++++++++++++++ .../general/display/dynamic_font_size_label.h | 39 ++++++ .../display/dynamic_font_size_push_button.cpp | 52 +++++++ .../display/dynamic_font_size_push_button.h | 31 +++++ .../display/shadow_background_label.cpp | 39 ++++++ .../general/display/shadow_background_label.h | 17 +++ .../all_zones_card_amount_widget.cpp | 36 ++--- .../all_zones_card_amount_widget.h | 2 + .../printing_selector/card_amount_widget.cpp | 71 +++++----- .../printing_selector/card_amount_widget.h | 3 + .../printing_selector_card_overlay_widget.cpp | 2 +- 12 files changed, 369 insertions(+), 57 deletions(-) create mode 100644 cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_label.cpp create mode 100644 cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_label.h create mode 100644 cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_push_button.cpp create mode 100644 cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_push_button.h create mode 100644 cockatrice/src/client/ui/widgets/general/display/shadow_background_label.cpp create mode 100644 cockatrice/src/client/ui/widgets/general/display/shadow_background_label.h diff --git a/cockatrice/CMakeLists.txt b/cockatrice/CMakeLists.txt index 6a7719f46..4d3697304 100644 --- a/cockatrice/CMakeLists.txt +++ b/cockatrice/CMakeLists.txt @@ -81,6 +81,9 @@ set(cockatrice_SOURCES src/client/ui/widgets/cards/card_info_picture_enlarged_widget.cpp src/client/ui/widgets/cards/card_info_picture_with_text_overlay_widget.cpp src/client/ui/widgets/general/display/labeled_input.cpp + src/client/ui/widgets/general/display/dynamic_font_size_label.cpp + src/client/ui/widgets/general/display/dynamic_font_size_push_button.cpp + src/client/ui/widgets/general/display/shadow_background_label.cpp src/main.cpp src/server/message_log_widget.cpp src/client/ui/layouts/overlap_layout.cpp diff --git a/cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_label.cpp b/cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_label.cpp new file mode 100644 index 000000000..4414cb605 --- /dev/null +++ b/cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_label.cpp @@ -0,0 +1,131 @@ +#include "dynamic_font_size_label.h" +#define FONT_PRECISION (0.5) + +#include +#include + +DynamicFontSizeLabel::DynamicFontSizeLabel(QWidget* parent, Qt::WindowFlags f) + : QLabel(parent, f) { + setIndent(0); + +} + +void DynamicFontSizeLabel::mousePressEvent(QMouseEvent* event) +{ + Q_UNUSED(event) + emit clicked(); +} + +void DynamicFontSizeLabel::paintEvent(QPaintEvent *event) +{ + //QElapsedTimer timer; + //timer.start(); + + QFont newFont = font(); + float fontSize = getWidgetMaximumFontSize(this, this->text()); + newFont.setPointSizeF(fontSize); + setFont(newFont); + //qDebug() << "Font size set to" << fontSize; + + QLabel::paintEvent(event); + //LOG(true, "Paint delay" << ((float)timer.nsecsElapsed())/1000000.0 << " mS"); +} + + +float DynamicFontSizeLabel::getWidgetMaximumFontSize(QWidget *widget, QString text) +{ + QFont font = widget->font(); + const QRect widgetRect = widget->contentsRect(); + const float widgetWidth = widgetRect.width(); + const float widgetHeight = widgetRect.height(); + + QRectF newFontSizeRect; + float currentSize = font.pointSizeF(); + + float step = currentSize/2.0; + + /* If too small, increase step */ + if (step<=FONT_PRECISION){ + step = FONT_PRECISION*4.0; + } + + float lastTestedSize = currentSize; + + float currentHeight = 0; + float currentWidth = 0; + if (text==""){ + return currentSize; + } + + /* Only stop when step is small enough and new size is smaller than QWidget */ + while(step>FONT_PRECISION || (currentHeight > widgetHeight) || (currentWidth > widgetWidth)){ + /* Keep last tested value */ + lastTestedSize = currentSize; + + /* Test label with its font */ + font.setPointSizeF(currentSize); + /* Use font metrics to test */ + QFontMetricsF fm(font); + + /* Check if widget is QLabel */ + QLabel *label = qobject_cast(widget); + if (label) { + newFontSizeRect = fm.boundingRect(widgetRect, (label->wordWrap()?Qt::TextWordWrap:0) | label->alignment(), text); + } + else{ + newFontSizeRect = fm.boundingRect(widgetRect, 0, text); + } + + currentHeight = newFontSizeRect.height(); + currentWidth = newFontSizeRect.width(); + + /* If new font size is too big, decrease it */ + if ((currentHeight > widgetHeight) || (currentWidth > widgetWidth)){ + //qDebug() << "-- contentsRect()" << label->contentsRect() << "rect"<< label->rect() << " newFontSizeRect" << newFontSizeRect << "Tight" << text << currentSize; + currentSize -=step; + /* if step is small enough, keep it constant, so it converge to biggest font size */ + if (step>FONT_PRECISION){ + step/=2.0; + } + /* Do not allow negative size */ + if (currentSize<=0){ + break; + } + } + /* If new font size is smaller than maximum possible size, increase it */ + else{ + //qDebug() << "++ contentsRect()" << label->contentsRect() << "rect"<< label->rect() << " newFontSizeRect" << newFontSizeRect << "Tight" << text << currentSize; + currentSize +=step; + } + } + return lastTestedSize; +} + +void DynamicFontSizeLabel::setTextColor(QColor color){ + if (color.isValid() && color!=textColor){ + textColor = color; + setStyleSheet("color : "+color.name()+";"); + } +} + +QColor DynamicFontSizeLabel::getTextColor(){ + return textColor; +} + + +void DynamicFontSizeLabel::setTextAndColor(const QString &text, QColor color){ + setTextColor(color); + setText(text); +} + +/* Do not give any size hint as it it changes during paintEvent */ +QSize DynamicFontSizeLabel::minimumSizeHint() const +{ + return QWidget::minimumSizeHint(); +} + +/* Do not give any size hint as it it changes during paintEvent */ +QSize DynamicFontSizeLabel::sizeHint() const +{ + return QWidget::sizeHint(); +} \ No newline at end of file diff --git a/cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_label.h b/cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_label.h new file mode 100644 index 000000000..a4da774c3 --- /dev/null +++ b/cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_label.h @@ -0,0 +1,39 @@ +#ifndef DYNAMICFONTSIZELABEL_H +#define DYNAMICFONTSIZELABEL_H + +#include +#include + +class DynamicFontSizeLabel : public QLabel { + Q_OBJECT + +public: + explicit DynamicFontSizeLabel(QWidget* parent = NULL, Qt::WindowFlags f = Qt::WindowFlags()); + + ~DynamicFontSizeLabel() {} + + static float getWidgetMaximumFontSize(QWidget *widget, QString text); + + /* This method overwrite stylesheet */ + void setTextColor(QColor color); + QColor getTextColor(); + void setTextAndColor(const QString &text, QColor color = QColor::Invalid); + signals: + void clicked(); + +protected: + void mousePressEvent(QMouseEvent* event); + QColor textColor; + + + // QWidget interface +protected: + void paintEvent(QPaintEvent *event); + + // QWidget interface +public: + QSize minimumSizeHint() const; + QSize sizeHint() const; +}; + +#endif // DYNAMICFONTSIZELABEL_H \ No newline at end of file diff --git a/cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_push_button.cpp b/cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_push_button.cpp new file mode 100644 index 000000000..bb43649ca --- /dev/null +++ b/cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_push_button.cpp @@ -0,0 +1,52 @@ +#include "dynamic_font_size_push_button.h" + +#include +#include "dynamic_font_size_label.h" + +DynamicFontSizePushButton::DynamicFontSizePushButton(QWidget* parent) + :QPushButton(parent) +{ + +} + +void DynamicFontSizePushButton::paintEvent(QPaintEvent *event) +{ + //QElapsedTimer timer; + //timer.start(); + + QFont newFont = font(); + float fontSize = DynamicFontSizeLabel::getWidgetMaximumFontSize(this, this->text()); + newFont.setPointSizeF(fontSize); + setFont(newFont); + + QPushButton::paintEvent(event); + //LOG(true, "Paint delay" << ((float)timer.nsecsElapsed())/1000000.0 << " mS"); +} + +void DynamicFontSizePushButton::setTextColor(QColor color){ + if (color.isValid() && color!=textColor){ + textColor = color; + setStyleSheet("color : "+color.name()+";"); + } +} + +void DynamicFontSizePushButton::setTextAndColor(const QString &text, QColor color){ + setTextColor(color); + setText(text); +} + +QColor DynamicFontSizePushButton::getTextColor(){ + return textColor; +} + +/* Do not give any size hint as it it changes during paintEvent */ +QSize DynamicFontSizePushButton::minimumSizeHint() const +{ + return QWidget::minimumSizeHint(); +} + +/* Do not give any size hint as it it changes during paintEvent */ +QSize DynamicFontSizePushButton::sizeHint() const +{ + return QWidget::sizeHint(); +} \ No newline at end of file diff --git a/cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_push_button.h b/cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_push_button.h new file mode 100644 index 000000000..5cf963a55 --- /dev/null +++ b/cockatrice/src/client/ui/widgets/general/display/dynamic_font_size_push_button.h @@ -0,0 +1,31 @@ +#ifndef DYNAMICFONTSIZEPUSHBUTTON_H +#define DYNAMICFONTSIZEPUSHBUTTON_H + +#include +#include +#include + +class DynamicFontSizePushButton : public QPushButton +{ +public: + explicit DynamicFontSizePushButton(QWidget* parent = NULL); + + /* This method overwrite stylesheet */ + void setTextColor(QColor color); + QColor getTextColor(); + + void setTextAndColor(const QString &text, QColor color=QColor::Invalid); + + // QWidget interface + QSize minimumSizeHint() const; + QSize sizeHint() const; + +protected: + void paintEvent(QPaintEvent *event); + +private: + QColor textColor; + +}; + +#endif // DYNAMICFONTSIZEPUSHBUTTON_H \ No newline at end of file diff --git a/cockatrice/src/client/ui/widgets/general/display/shadow_background_label.cpp b/cockatrice/src/client/ui/widgets/general/display/shadow_background_label.cpp new file mode 100644 index 000000000..63762bd02 --- /dev/null +++ b/cockatrice/src/client/ui/widgets/general/display/shadow_background_label.cpp @@ -0,0 +1,39 @@ +#include "shadow_background_label.h" +#include +#include + +ShadowBackgroundLabel::ShadowBackgroundLabel(QWidget *parent, const QString &text) + : QLabel(parent) +{ + setAttribute(Qt::WA_TranslucentBackground); // Allows transparency + setText(text); + setAlignment(Qt::AlignCenter); + setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); +} + +void ShadowBackgroundLabel::resizeEvent(QResizeEvent *event) +{ + QLabel::resizeEvent(event); + update(); // Repaint borders explicitly +} + +void ShadowBackgroundLabel::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + + // Semi-transparent background + painter.setRenderHint(QPainter::Antialiasing, true); + painter.setBrush(QColor(0, 0, 0, 128)); // Semi-transparent black + painter.setPen(Qt::NoPen); // No border + + // Compute the painting rectangle accounting for margins + QRect adjustedRect = this->rect(); + int margin = contentsMargins().left(); // Assuming equal margins + adjustedRect.adjust(margin, margin, -margin, -margin); + + // Draw rounded rectangle + painter.drawRoundedRect(adjustedRect, 5, 5); // Rounded corners (radius: 5) + + // Let QLabel handle text rendering + QLabel::paintEvent(event); +} diff --git a/cockatrice/src/client/ui/widgets/general/display/shadow_background_label.h b/cockatrice/src/client/ui/widgets/general/display/shadow_background_label.h new file mode 100644 index 000000000..c608e1b6b --- /dev/null +++ b/cockatrice/src/client/ui/widgets/general/display/shadow_background_label.h @@ -0,0 +1,17 @@ +#ifndef STYLEDLABEL_H +#define STYLEDLABEL_H + +#include + +class ShadowBackgroundLabel : public QLabel { + Q_OBJECT + +public: + explicit ShadowBackgroundLabel(QWidget *parent, const QString &text); + +protected: + void resizeEvent(QResizeEvent *event) override; + void paintEvent(QPaintEvent *event) override; // Custom painting logic +}; + +#endif // STYLEDLABEL_H diff --git a/cockatrice/src/client/ui/widgets/printing_selector/all_zones_card_amount_widget.cpp b/cockatrice/src/client/ui/widgets/printing_selector/all_zones_card_amount_widget.cpp index a61845823..3a638f03e 100644 --- a/cockatrice/src/client/ui/widgets/printing_selector/all_zones_card_amount_widget.cpp +++ b/cockatrice/src/client/ui/widgets/printing_selector/all_zones_card_amount_widget.cpp @@ -1,43 +1,29 @@ #include "all_zones_card_amount_widget.h" +#include "../general/display/shadow_background_label.h" + AllZonesCardAmountWidget::AllZonesCardAmountWidget(QWidget *parent, TabDeckEditor *deckEditor, DeckListModel *deckModel, QTreeView *deckView, + QSlider *cardSizeSlider, CardInfoPtr rootCard, CardInfoPerSet setInfoForCard) - : QWidget(parent), deckEditor(deckEditor), deckModel(deckModel), deckView(deckView), rootCard(rootCard), - setInfoForCard(setInfoForCard) + : QWidget(parent), deckEditor(deckEditor), deckModel(deckModel), deckView(deckView), cardSizeSlider(cardSizeSlider), + rootCard(rootCard), setInfoForCard(setInfoForCard) { layout = new QVBoxLayout(this); - layout->setAlignment(Qt::AlignCenter); + layout->setAlignment(Qt::AlignHCenter); setLayout(layout); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + setContentsMargins(5, 5, 5, 5); // Padding around the text - zoneLabelMainboard = new QLabel(tr("Mainboard"), this); - zoneLabelMainboard->setStyleSheet(R"( - QLabel { - background-color: rgba(0, 0, 0, 128); /* Semi-transparent black */ - color: white; /* Text color */ - font-size: 16px; - border-radius: 5px; /* Rounded corners */ - padding: 5px; /* Padding around text */ - } - )"); + zoneLabelMainboard = new ShadowBackgroundLabel(this, tr("Mainboard")); buttonBoxMainboard = - new CardAmountWidget(this, deckEditor, deckModel, deckView, rootCard, setInfoForCard, DECK_ZONE_MAIN); - zoneLabelSideboard = new QLabel(tr("Sideboard"), this); - zoneLabelSideboard->setStyleSheet(R"( - QLabel { - background-color: rgba(0, 0, 0, 128); /* Semi-transparent black */ - color: white; /* Text color */ - font-size: 16px; - border-radius: 5px; /* Rounded corners */ - padding: 5px; /* Padding around text */ - } - )"); + new CardAmountWidget(this, deckEditor, deckModel, deckView, cardSizeSlider, rootCard, setInfoForCard, DECK_ZONE_MAIN); + zoneLabelSideboard = new ShadowBackgroundLabel(this, tr("Sideboard")); buttonBoxSideboard = - new CardAmountWidget(this, deckEditor, deckModel, deckView, rootCard, setInfoForCard, DECK_ZONE_SIDE); + new CardAmountWidget(this, deckEditor, deckModel, deckView, cardSizeSlider, rootCard, setInfoForCard, DECK_ZONE_SIDE); layout->addWidget(zoneLabelMainboard, 0, Qt::AlignHCenter | Qt::AlignBottom); layout->addWidget(buttonBoxMainboard, 0, Qt::AlignHCenter | Qt::AlignTop); diff --git a/cockatrice/src/client/ui/widgets/printing_selector/all_zones_card_amount_widget.h b/cockatrice/src/client/ui/widgets/printing_selector/all_zones_card_amount_widget.h index d1c6dcbdd..c4665d608 100644 --- a/cockatrice/src/client/ui/widgets/printing_selector/all_zones_card_amount_widget.h +++ b/cockatrice/src/client/ui/widgets/printing_selector/all_zones_card_amount_widget.h @@ -16,6 +16,7 @@ public: TabDeckEditor *deckEditor, DeckListModel *deckModel, QTreeView *deckView, + QSlider *cardSizeSlider, CardInfoPtr rootCard, CardInfoPerSet setInfoForCard); int getMainboardAmount(); @@ -31,6 +32,7 @@ private: TabDeckEditor *deckEditor; DeckListModel *deckModel; QTreeView *deckView; + QSlider *cardSizeSlider; CardInfoPtr rootCard; CardInfoPerSet setInfoForCard; QLabel *zoneLabelMainboard; diff --git a/cockatrice/src/client/ui/widgets/printing_selector/card_amount_widget.cpp b/cockatrice/src/client/ui/widgets/printing_selector/card_amount_widget.cpp index eb45eefd0..cf86f7a87 100644 --- a/cockatrice/src/client/ui/widgets/printing_selector/card_amount_widget.cpp +++ b/cockatrice/src/client/ui/widgets/printing_selector/card_amount_widget.cpp @@ -1,50 +1,30 @@ #include "card_amount_widget.h" +#include "../general/display/dynamic_font_size_push_button.h" + CardAmountWidget::CardAmountWidget(QWidget *parent, TabDeckEditor *deckEditor, DeckListModel *deckModel, QTreeView *deckView, + QSlider *cardSizeSlider, CardInfoPtr &rootCard, CardInfoPerSet &setInfoForCard, QString zoneName) - : QWidget(parent), deckEditor(deckEditor), deckModel(deckModel), deckView(deckView), rootCard(rootCard), - setInfoForCard(setInfoForCard), zoneName(zoneName), hovered(false) + : QWidget(parent), deckEditor(deckEditor), deckModel(deckModel), deckView(deckView), cardSizeSlider(cardSizeSlider), + rootCard(rootCard), setInfoForCard(setInfoForCard), zoneName(zoneName), hovered(false) { layout = new QHBoxLayout(this); layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(10); this->setLayout(layout); - this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); - incrementButton = new QPushButton(this); + incrementButton = new DynamicFontSizePushButton(this); + incrementButton->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); incrementButton->setText("+"); - decrementButton = new QPushButton(this); + decrementButton = new DynamicFontSizePushButton(this); decrementButton->setText("-"); - incrementButton->setFixedSize(30, 30); - decrementButton->setFixedSize(30, 30); - - // Apply styles for gradient buttons - QString buttonStyle = R"( - QPushButton { - background: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, - stop:0 rgba(64, 64, 64, 255), stop:1 rgba(32, 32, 32, 255)); - border: none; - color: white; - font-size: 16px; - } - QPushButton:hover { - background: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, - stop:0 rgba(96, 96, 96, 255), stop:1 rgba(48, 48, 48, 255)); - } - QPushButton:pressed { - background: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, - stop:0 rgba(128, 128, 128, 255), stop:1 rgba(64, 64, 64, 255)); - } - )"; - incrementButton->setStyleSheet(buttonStyle); - decrementButton->setStyleSheet(buttonStyle); - // Set up connections if (zoneName == DECK_ZONE_MAIN) { connect(incrementButton, &QPushButton::clicked, this, &CardAmountWidget::addPrintingMainboard); @@ -55,7 +35,6 @@ CardAmountWidget::CardAmountWidget(QWidget *parent, } cardCountInZone = new QLabel(QString::number(countCardsInZone(zoneName)), this); - cardCountInZone->setStyleSheet("color: white; font-size: 16px;"); cardCountInZone->setAlignment(Qt::AlignCenter); layout->addWidget(decrementButton); @@ -65,6 +44,10 @@ CardAmountWidget::CardAmountWidget(QWidget *parent, // React to model changes connect(deckModel, &DeckListModel::dataChanged, this, &CardAmountWidget::updateCardCount); connect(deckModel, &QAbstractItemModel::rowsRemoved, this, &CardAmountWidget::updateCardCount); + + // Connect slider for dynamic font size adjustment + connect(cardSizeSlider, &QSlider::valueChanged, this, &CardAmountWidget::adjustFontSize); + adjustFontSize(cardSizeSlider->value()); } void CardAmountWidget::paintEvent(QPaintEvent *event) @@ -80,9 +63,35 @@ void CardAmountWidget::paintEvent(QPaintEvent *event) QWidget::paintEvent(event); } +void CardAmountWidget::adjustFontSize(int scalePercentage) +{ + qDebug() << scalePercentage; + const int minFontSize = 8; // Minimum font size + const int maxFontSize = 24; // Maximum font size + const int basePercentage = 100; // Scale at 100% + + int newFontSize = minFontSize + (scalePercentage - basePercentage) * (maxFontSize - minFontSize) / (250 - 25); + newFontSize = std::clamp(newFontSize, minFontSize, maxFontSize); + + qDebug() << newFontSize; + + // Update the font for card count label + QFont cardCountFont = cardCountInZone->font(); + cardCountFont.setPointSize(newFontSize); + cardCountInZone->setFont(cardCountFont); + + incrementButton->setFixedSize(parentWidget()->size().width() / 3, parentWidget()->size().height() / 9); + decrementButton->setFixedSize(parentWidget()->size().width() / 3, parentWidget()->size().height() / 9); + + // Repaint the widget (if necessary) + repaint(); +} + void CardAmountWidget::updateCardCount() { cardCountInZone->setText(QString::number(countCardsInZone(zoneName))); + layout->invalidate(); + layout->activate(); } void CardAmountWidget::addPrinting(const QString &zone) @@ -153,7 +162,7 @@ void CardAmountWidget::offsetCountAtIndex(const QModelIndex &idx, int offset) void CardAmountWidget::decrementCardHelper(const QString &zone) { QModelIndex idx; - idx = deckModel->findCard(rootCard->getName(), zone, setInfoForCard.getProperty("uuid")); + idx = deckModel->findCard(rootCard->getName(), zone, setInfoForCard.getProperty("uuid"), setInfoForCard.getProperty("num")); offsetCountAtIndex(idx, -1); } diff --git a/cockatrice/src/client/ui/widgets/printing_selector/card_amount_widget.h b/cockatrice/src/client/ui/widgets/printing_selector/card_amount_widget.h index 894eb8905..1aca49f9c 100644 --- a/cockatrice/src/client/ui/widgets/printing_selector/card_amount_widget.h +++ b/cockatrice/src/client/ui/widgets/printing_selector/card_amount_widget.h @@ -22,6 +22,7 @@ public: TabDeckEditor *deckEditor, DeckListModel *deckModel, QTreeView *deckView, + QSlider *cardSizeSlider, CardInfoPtr &rootCard, CardInfoPerSet &setInfoForCard, QString zoneName); @@ -40,6 +41,7 @@ private: TabDeckEditor *deckEditor; DeckListModel *deckModel; QTreeView *deckView; + QSlider *cardSizeSlider; CardInfoPtr rootCard; CardInfoPerSet setInfoForCard; QString zoneName; @@ -60,6 +62,7 @@ private slots: void addPrintingSideboard(); void removePrintingMainboard(); void removePrintingSideboard(); + void adjustFontSize(int scalePercentage); }; #endif // CARD_AMOUNT_WIDGET_H diff --git a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_overlay_widget.cpp b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_overlay_widget.cpp index b540a557c..f6fa990f4 100644 --- a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_overlay_widget.cpp +++ b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_overlay_widget.cpp @@ -34,7 +34,7 @@ PrintingSelectorCardOverlayWidget::PrintingSelectorCardOverlayWidget(QWidget *pa // Add AllZonesCardAmountWidget allZonesCardAmountWidget = - new AllZonesCardAmountWidget(this, deckEditor, deckModel, deckView, setCard, setInfoForCard); + new AllZonesCardAmountWidget(this, deckEditor, deckModel, deckView, cardSizeSlider, setCard, setInfoForCard); allZonesCardAmountWidget->raise(); // Ensure it's on top of the picture // Set initial visibility based on amounts