aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/widgets/LabeledToolButton.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/ui/widgets/LabeledToolButton.cpp')
-rw-r--r--launcher/ui/widgets/LabeledToolButton.cpp48
1 files changed, 21 insertions, 27 deletions
diff --git a/launcher/ui/widgets/LabeledToolButton.cpp b/launcher/ui/widgets/LabeledToolButton.cpp
index f52e49c9..46114e04 100644
--- a/launcher/ui/widgets/LabeledToolButton.cpp
+++ b/launcher/ui/widgets/LabeledToolButton.cpp
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-3.0-only
/*
- * PolyMC - Minecraft Launcher
+ * Prism Launcher - Minecraft Launcher
* Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net>
*
* This program is free software: you can redistribute it and/or modify
@@ -33,31 +33,29 @@
* limitations under the License.
*/
-#include <QLabel>
-#include <QVBoxLayout>
-#include <QResizeEvent>
-#include <QStyleOption>
#include "LabeledToolButton.h"
#include <QApplication>
#include <QDebug>
+#include <QLabel>
+#include <QResizeEvent>
+#include <QStyleOption>
+#include <QVBoxLayout>
/*
- *
+ *
* Tool Button with a label on it, instead of the normal text rendering
- *
+ *
*/
-LabeledToolButton::LabeledToolButton(QWidget * parent)
- : QToolButton(parent)
- , m_label(new QLabel(this))
+LabeledToolButton::LabeledToolButton(QWidget* parent) : QToolButton(parent), m_label(new QLabel(this))
{
- //QToolButton::setText(" ");
+ // QToolButton::setText(" ");
m_label->setWordWrap(true);
m_label->setMouseTracking(false);
m_label->setAlignment(Qt::AlignCenter);
m_label->setTextInteractionFlags(Qt::NoTextInteraction);
// somehow, this makes word wrap work in the QLabel. yay.
- //m_label->setMinimumWidth(100);
+ // m_label->setMinimumWidth(100);
}
QString LabeledToolButton::text() const
@@ -65,7 +63,7 @@ QString LabeledToolButton::text() const
return m_label->text();
}
-void LabeledToolButton::setText(const QString & text)
+void LabeledToolButton::setText(const QString& text)
{
m_label->setText(text);
}
@@ -76,7 +74,6 @@ void LabeledToolButton::setIcon(QIcon icon)
resetIcon();
}
-
/*!
\reimp
*/
@@ -92,24 +89,21 @@ QSize LabeledToolButton::sizeHint() const
int w = 0, h = 0;
QStyleOptionToolButton opt;
initStyleOption(&opt);
- QSize sz =m_label->sizeHint();
+ QSize sz = m_label->sizeHint();
w = sz.width();
h = sz.height();
- opt.rect.setSize(QSize(w, h)); // PM_MenuButtonIndicator depends on the height
+ opt.rect.setSize(QSize(w, h)); // PM_MenuButtonIndicator depends on the height
if (popupMode() == MenuButtonPopup)
w += style()->pixelMetric(QStyle::PM_MenuButtonIndicator, &opt, this);
-
+
return style()->sizeFromContents(QStyle::CT_ToolButton, &opt, QSize(w, h), this);
}
-
-
-void LabeledToolButton::resizeEvent(QResizeEvent * event)
+void LabeledToolButton::resizeEvent(QResizeEvent* event)
{
- m_label->setGeometry(QRect(4, 4, width()-8, height()-8));
- if(!m_icon.isNull())
- {
+ m_label->setGeometry(QRect(4, 4, width() - 8, height() - 8));
+ if (!m_icon.isNull()) {
resetIcon();
}
QWidget::resizeEvent(event);
@@ -120,14 +114,14 @@ void LabeledToolButton::resetIcon()
auto iconSz = m_icon.actualSize(QSize(160, 80));
float w = iconSz.width();
float h = iconSz.height();
- float ar = w/h;
+ float ar = w / h;
// FIXME: hardcoded max size of 160x80
int newW = 80 * ar;
- if(newW > 160)
+ if (newW > 160)
newW = 160;
- QSize newSz (newW, 80);
+ QSize newSz(newW, 80);
auto pixmap = m_icon.pixmap(newSz);
m_label->setPixmap(pixmap);
m_label->setMinimumHeight(80);
- m_label->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Preferred );
+ m_label->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
}