34 m_d->colorTypeForegroundButton =
new QToolButton;
35 m_d->colorTypeForegroundButton->setCheckable(
true);
36 m_d->colorTypeForegroundButton->setChecked(
true);
37 m_d->colorTypeForegroundButton->setAutoExclusive(
true);
38 m_d->colorTypeForegroundButton->setAutoRaise(
true);
40 m_d->colorTypeForegroundButton->setToolTip(i18nc(
"Button to change the gradient stop type to foreground",
"Foreground color"));
41 connect(
m_d->colorTypeForegroundButton, &QToolButton::toggled,
45 setColorType(KisGradientWidgetsUtils::Foreground);
50 m_d->colorTypeBackgroundButton =
new QToolButton;
51 m_d->colorTypeBackgroundButton->setCheckable(
true);
52 m_d->colorTypeBackgroundButton->setAutoExclusive(
true);
53 m_d->colorTypeBackgroundButton->setAutoRaise(
true);
55 m_d->colorTypeBackgroundButton->setToolTip(i18nc(
"Button to change the gradient stop type to background",
"Background color"));
56 connect(m_d->colorTypeBackgroundButton, &QToolButton::toggled,
60 setColorType(KisGradientWidgetsUtils::Background);
65 m_d->colorTypeCustomButton =
new QToolButton;
66 m_d->colorTypeCustomButton->setCheckable(
true);
67 m_d->colorTypeCustomButton->setAutoExclusive(
true);
68 m_d->colorTypeCustomButton->setAutoRaise(
true);
70 m_d->colorTypeCustomButton->setToolTip(i18nc(
"Button to change the gradient stop type to custom color",
"Custom color"));
71 connect(m_d->colorTypeCustomButton, &QToolButton::toggled,
75 setColorType(KisGradientWidgetsUtils::Custom);
80 QWidget *colorTypeButtonsContainer =
new QWidget;
82 m_d->transparentCheckBox =
new QCheckBox;
83 m_d->transparentCheckBox->setText(i18n(
"Transparent"));
84 m_d->transparentCheckBox->setProperty(
"isBeingUsed",
true);
85 connect(m_d->transparentCheckBox, SIGNAL(toggled(
bool)),
this, SIGNAL(transparentToggled(
bool)));
88 m_d->colorButton->setVisible(
false);
92 m_d->opacitySlider->
setRange(0, 100, 2);
94 i18nc(
"{n} is the number value, % is the percent sign",
"Opacity: {n}%"));
95 m_d->opacitySlider->setVisible(
false);
96 connect(m_d->opacitySlider, SIGNAL(valueChanged(
double)),
this, SIGNAL(opacityChanged(qreal)));
99 m_d->positionSlider->
setRange(0, 100, 2);
101 i18nc(
"{n} is the number value, % is the percent sign",
"Position: {n}%"));
102 connect(m_d->positionSlider, SIGNAL(valueChanged(
double)),
this, SIGNAL(positionChanged(qreal)));
104 QHBoxLayout *colorTypeButtonsLayout =
new QHBoxLayout;
105 colorTypeButtonsLayout->setContentsMargins(0, 0, 0, 0);
106 colorTypeButtonsLayout->setSpacing(0);
107 colorTypeButtonsLayout->addWidget(m_d->colorTypeForegroundButton);
108 colorTypeButtonsLayout->addWidget(m_d->colorTypeBackgroundButton);
109 colorTypeButtonsLayout->addWidget(m_d->colorTypeCustomButton);
110 colorTypeButtonsContainer->setLayout(colorTypeButtonsLayout);
112 QHBoxLayout *mainLayout =
new QHBoxLayout;
113 mainLayout->setContentsMargins(0, 0, 0, 0);
114 mainLayout->setSpacing(5);
115 mainLayout->addWidget(colorTypeButtonsContainer);
116 mainLayout->addWidget(m_d->transparentCheckBox);
117 mainLayout->addWidget(m_d->colorButton);
118 mainLayout->addWidget(m_d->opacitySlider);
119 mainLayout->addStretch();
120 mainLayout->addWidget(m_d->positionSlider);
121 setLayout(mainLayout);
123 setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed);
241 m_d->colorTypeForegroundButton->sizeHint().width() +
242 m_d->colorTypeBackgroundButton->sizeHint().width() +
243 m_d->colorTypeCustomButton->sizeHint().width() +
245 m_d->transparentCheckBox->sizeHint().width(),
246 m_d->colorButton->sizeHint().width() +
247 m_d->opacitySlider->sizeHint().width()
249 (
m_d->positionSlider->isVisible() ?
m_d->positionSlider->sizeHint().width() : 0) +
253 m_d->colorTypeForegroundButton->sizeHint().height(),
255 m_d->transparentCheckBox->sizeHint().height(),
257 m_d->colorButton->sizeHint().height(),
258 m_d->opacitySlider->sizeHint().height()
268 m_d->colorTypeForegroundButton->minimumSizeHint().width() +
269 m_d->colorTypeBackgroundButton->minimumSizeHint().width() +
270 m_d->colorTypeCustomButton->minimumSizeHint().width() +
272 m_d->transparentCheckBox->minimumSizeHint().width(),
273 m_d->colorButton->minimumSizeHint().width() +
274 m_d->opacitySlider->minimumSizeHint().width()
276 (
m_d->positionSlider->isVisible() ?
m_d->positionSlider->minimumSizeHint().width() : 0) +
280 m_d->colorTypeForegroundButton->minimumSizeHint().height(),
282 m_d->transparentCheckBox->minimumSizeHint().height(),
284 m_d->colorButton->minimumSizeHint().height(),
285 m_d->opacitySlider->minimumSizeHint().height()