91 if (! index.isValid())
96 const QRect itemRect =
kisGrowRect(option.rect, -1);
97 const qreal devicePixelRatioF = painter->device()->devicePixelRatioF();
99 const QSize hidpiSize = itemRect.size() * devicePixelRatioF;
103 Qt::SmoothTransformation);
104 thumbnail.setDevicePixelRatio(devicePixelRatioF);
114 const int baseSize = qCeil(itemRect.width() / 5.0);
115 QImage brush(2 * baseSize, 2 * baseSize, QImage::Format_ARGB32);
116 brush.fill(Qt::white);
119 gc.setPen(Qt::NoPen);
120 gc.setBrush(QColor(200,200,200));
121 gc.drawRect(QRect(0,0,baseSize,baseSize));
122 gc.drawRect(QRect(baseSize,baseSize,baseSize,baseSize));
124 painter->setBrush(brush);
126 painter->setBrushOrigin(itemRect.topLeft());
127 painter->drawRect(itemRect);
128 painter->setBrush(Qt::NoBrush);
132 painter->setBrush(Qt::white);
133 painter->setPen(Qt::NoPen);
134 painter->drawRect(itemRect);
137 int dx = (itemRect.width() * devicePixelRatioF - thumbnail.width()) / 2 / devicePixelRatioF;
138 int dy = (itemRect.height() * devicePixelRatioF - thumbnail.height()) / 2 / devicePixelRatioF;
139 painter->drawImage(itemRect.x() + dx, itemRect.y() + dy, thumbnail);
141 if (option.state & QStyle::State_Selected) {
142 painter->setClipRect(option.rect);
143 painter->setPen(QPen(option.palette.highlight(), 2.0));
145 painter->setCompositionMode(QPainter::CompositionMode_HardLight);
146 painter->setOpacity(0.65);
147 painter->fillRect(itemRect, option.palette.highlight());
165 QWidget *parent,
const char *name)
173 brushSizeSpinBox->setRange(0, maxBrushSize, 2);
174 brushSizeSpinBox->setValue(5);
175 brushSizeSpinBox->setExponentRatio(3.0);
176 brushSizeSpinBox->setSuffix(i18n(
" px"));
177 brushSizeSpinBox->setExponentRatio(3.0);
179 connect(
m_d->model, &KisPredefinedBrushModel::brushNameChanged,
180 brushTipNameLabel, &KSqueezedTextLabel::setText);
181 m_d->model->LAGER_QT(brushName).nudge();
183 connect(
m_d->model, &KisPredefinedBrushModel::brushDetailsChanged,
184 brushDetailsLabel, &QLabel::setText);
185 m_d->model->LAGER_QT(brushDetails).nudge();
189 brushRotationAngleSelector->setDecimals(0);
193 brushSpacingSelectionWidget->setSpacing(
true, 1.0);
213 connect(
m_d->model, &KisPredefinedBrushModel::resourceSignatureChanged,
226 customButton->setToolTip(i18n(
"Creates a brush tip from the current image, selection, or clipboard."));
230 resetBrushButton->setToolTip(i18n(
"Reloads Spacing from file\nSets Scale to 1.0\nSets Rotation to 0.0"));
231 connect(resetBrushButton, SIGNAL(clicked()), SLOT(
slotResetBrush()));
233 intAdjustmentMidPoint->setRange(0, 255);
234 intAdjustmentMidPoint->setPageStep(10);
235 intAdjustmentMidPoint->setSingleStep(1);
236 intAdjustmentMidPoint->setPrefix(i18nc(
"@label:slider",
"Neutral point: "));
240 intBrightnessAdjustment->setRange(-100, 100);
241 intBrightnessAdjustment->setPageStep(10);
242 intBrightnessAdjustment->setSingleStep(1);
243 intBrightnessAdjustment->setSuffix(
"%");
244 intBrightnessAdjustment->setPrefix(i18nc(
"@label:slider",
"Brightness: "));
247 intContrastAdjustment->setRange(-100, 100);
248 intContrastAdjustment->setPageStep(10);
249 intContrastAdjustment->setSingleStep(1);
250 intContrastAdjustment->setSuffix(
"%");
251 intContrastAdjustment->setPrefix(i18nc(
"@label:slider",
"Contrast: "));
254 btnResetAdjustments->setToolTip(i18nc(
"@info:tooltip",
"Resets all the adjustments to default values:\n Neutral Point: 127\n Brightness: 0%\n Contrast: 0%"));
259 connect(
m_d->model, &KisPredefinedBrushModel::adjustmentsEnabledChanged,
260 intAdjustmentMidPoint, &KisSliderSpinBox::setEnabled);
261 connect(
m_d->model, &KisPredefinedBrushModel::adjustmentsEnabledChanged,
262 intBrightnessAdjustment, &KisSliderSpinBox::setEnabled);
263 connect(
m_d->model, &KisPredefinedBrushModel::adjustmentsEnabledChanged,
264 intContrastAdjustment, &KisSliderSpinBox::setEnabled);
265 connect(
m_d->model, &KisPredefinedBrushModel::adjustmentsEnabledChanged,
266 chkAutoMidPoint, &KisSliderSpinBox::setEnabled);
267 connect(
m_d->model, &KisPredefinedBrushModel::adjustmentsEnabledChanged,
268 btnResetAdjustments, &KisSliderSpinBox::setEnabled);
270 m_d->model->LAGER_QT(adjustmentsEnabled).nudge();