21#include <QApplication>
24#include <QStyleFactory>
25#include <QStyleOption>
28#include "moc_qgsproxystyle.cpp"
30using namespace Qt::StringLiterals;
33 : QProxyStyle( nullptr )
36 const QString appStyle = QApplication::style()->objectName();
37 if ( appStyle ==
"QgsAppStyle"_L1 )
39 setBaseStyle(
static_cast<QgsAppStyle *
>( QApplication::style() )->clone() );
41 else if ( !appStyle.isEmpty() )
43 if ( QStyle *style = QStyleFactory::create( appStyle ) )
44 setBaseStyle( style );
57QgsAppStyle::QgsAppStyle(
const QString &base )
58 : QProxyStyle( nullptr )
61 if ( !mBaseStyle.isEmpty() )
63 if ( QStyle *style = QStyleFactory::create( mBaseStyle ) )
64 setBaseStyle( style );
67 setObjectName( u
"QgsAppStyle"_s );
70QPixmap QgsAppStyle::generatedIconPixmap( QIcon::Mode iconMode,
const QPixmap &pixmap,
const QStyleOption *opt )
const
76 if ( !pixmap.isNull() )
80 QImage im = pixmap.toImage().convertToFormat( QImage::Format_ARGB32 );
83 return QPixmap::fromImage( im );
94 return QProxyStyle::generatedIconPixmap( iconMode, pixmap, opt );
97void QgsAppStyle::polish( QWidget *widget )
99 QProxyStyle::polish( widget );
100#if defined( Q_OS_UNIX ) && !defined( Q_OS_ANDROID )
101 if ( mBaseStyle.contains(
"fusion"_L1, Qt::CaseInsensitive )
102 || mBaseStyle.contains(
"adwaita"_L1, Qt::CaseInsensitive ) )
110 QPalette
pal = widget->palette();
111 pal.setColor( QPalette::Inactive, QPalette::Text,
pal.color( QPalette::Active, QPalette::Text ) );
112 pal.setColor( QPalette::Inactive, QPalette::Window,
pal.color( QPalette::Active, QPalette::Window ) );
113 pal.setColor( QPalette::Inactive, QPalette::WindowText,
pal.color( QPalette::Active, QPalette::WindowText ) );
114 pal.setColor( QPalette::Inactive, QPalette::Button,
pal.color( QPalette::Active, QPalette::Button ) );
115 pal.setColor( QPalette::Inactive, QPalette::ButtonText,
pal.color( QPalette::Active, QPalette::ButtonText ) );
116 widget->setPalette(
pal );
121QProxyStyle *QgsAppStyle::clone()
123 return new QgsAppStyle( mBaseStyle );
static void adjustHueSaturation(QImage &image, double saturation, const QColor &colorizeColor=QColor(), double colorizeStrength=1.0, QgsFeedback *feedback=nullptr)
Alter the hue or saturation of a QImage.
static void multiplyOpacity(QImage &image, double factor, QgsFeedback *feedback=nullptr)
Multiplies opacity of image pixel values by a factor.
QgsProxyStyle(QWidget *parent)
Constructor for QgsProxyStyle.