From 29d2e49d7d8f241a4cdea89d1bb1118ed5fcf519 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Tue, 23 Apr 2024 06:56:19 +0300 Subject: [PATCH] kdeplasma-addons: scale the kolourpicker applet button icons has to be done manually Signed-off-by: Ivailo Monev --- .../applets/kolourpicker/kolourpicker.cpp | 45 ++++++++++++++----- .../applets/kolourpicker/kolourpicker.h | 2 +- 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/kdeplasma-addons/applets/kolourpicker/kolourpicker.cpp b/kdeplasma-addons/applets/kolourpicker/kolourpicker.cpp index 38e91e8e..19d79ab6 100644 --- a/kdeplasma-addons/applets/kolourpicker/kolourpicker.cpp +++ b/kdeplasma-addons/applets/kolourpicker/kolourpicker.cpp @@ -92,6 +92,14 @@ static QColor pickColor(const QPoint &point) #endif } +static QString latexColor(const QColor& color) +{ + qreal r = (qreal)color.red()/255; + qreal g = (qreal)color.green()/255; + qreal b = (qreal)color.blue()/255; + return QString("\\definecolor{ColorName}{rgb}{%1,%2,%3}").arg(r,0,'f',2).arg(g,0,'f',2).arg(b,0,'f',2); +} + class ColorButton : public Plasma::ToolButton { Q_OBJECT @@ -158,7 +166,6 @@ void ColorButton::resizeEvent(QGraphicsSceneResizeEvent *event) { Plasma::ToolButton::resizeEvent(event); updateColorPixmap(); - Plasma::ToolButton::nativeWidget()->setIconSize(m_colorpix.size()); Plasma::ToolButton::setIcon(colorIcon()); } @@ -318,6 +325,29 @@ void Kolourpicker::constraintsEvent(Plasma::Constraints constraints) l->setOrientation(Qt::Vertical); } } + + if (constraints & Plasma::SizeConstraint) { + QGraphicsLinearLayout *l = dynamic_cast(layout()); + switch (l->orientation()) { + case Qt::Horizontal: { + setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); + break; + } + case Qt::Vertical: { + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + break; + } + } + const QSizeF contentsrect = contentsRect().size(); + const qreal iconsizereal = qMin(contentsrect.width(), contentsrect.height()); + const QSizeF iconsizef = QSizeF(iconsizereal, iconsizereal); + const QSize contentsiconsize = QSize(iconsizereal - s_margin, iconsizereal- s_margin); + m_configAndHistory->setPreferredSize(iconsizef); + m_configAndHistory->nativeWidget()->setIconSize(contentsiconsize); + m_grabButton->setPreferredSize(iconsizef); + m_grabButton->nativeWidget()->setIconSize(contentsiconsize); + emit sizeHintChanged(Qt::PreferredSize); + } } bool Kolourpicker::eventFilter(QObject *watched, QEvent *event) @@ -381,7 +411,7 @@ void Kolourpicker::colorActionTriggered(const QColor &color) } else if(m_color_format == "rrggbb") { text = color.name().mid(1); } else if(m_color_format == "Latex") { - text = toLatex(color); + text = latexColor(color); } else { text = QString("%1, %2, %3").arg(color.red()).arg(color.green()).arg(color.blue()); } @@ -390,15 +420,6 @@ void Kolourpicker::colorActionTriggered(const QColor &color) QApplication::clipboard()->setMimeData(mime, QClipboard::Clipboard); } -QString Kolourpicker::toLatex(const QColor& color) -{ - qreal r = (qreal)color.red()/255; - qreal g = (qreal)color.green()/255; - qreal b = (qreal)color.blue()/255; - - return QString("\\definecolor{ColorName}{rgb}{%1,%2,%3}").arg(r,0,'f',2).arg(g,0,'f',2).arg(b,0,'f',2); -} - void Kolourpicker::colorActionTriggered(QAction *act) { if (!act) { @@ -409,7 +430,7 @@ void Kolourpicker::colorActionTriggered(QAction *act) QString text = act->text().remove('&'); if(text == i18n("Latex Color")) { - text = toLatex(color); + text = latexColor(color); } QMimeData *mime = new QMimeData(); diff --git a/kdeplasma-addons/applets/kolourpicker/kolourpicker.h b/kdeplasma-addons/applets/kolourpicker/kolourpicker.h index d039313d..5e7756a8 100644 --- a/kdeplasma-addons/applets/kolourpicker/kolourpicker.h +++ b/kdeplasma-addons/applets/kolourpicker/kolourpicker.h @@ -56,7 +56,7 @@ private: void addColor(const QColor &color, bool save = true); void saveData(KConfigGroup &cg); - QString toLatex(const QColor& color); + Plasma::ToolButton *m_grabButton; ColorButton *m_configAndHistory; QMenu *m_configAndHistoryMenu;