92 if (! index.isValid())
97 const QRect itemRect =
kisGrowRect(option.rect, -1);
98 const qreal devicePixelRatioF = painter->device()->devicePixelRatioF();
100 const QSize hidpiSize = itemRect.size() * devicePixelRatioF;
104 Qt::SmoothTransformation);
105 thumbnail.setDevicePixelRatio(devicePixelRatioF);
115 const int baseSize = qCeil(itemRect.width() / 5.0);
116 QImage brush(2 * baseSize, 2 * baseSize, QImage::Format_ARGB32);
117 brush.fill(Qt::white);
120 gc.setPen(Qt::NoPen);
121 gc.setBrush(QColor(200,200,200));
122 gc.drawRect(QRect(0,0,baseSize,baseSize));
123 gc.drawRect(QRect(baseSize,baseSize,baseSize,baseSize));
125 painter->setBrush(brush);
127 painter->setBrushOrigin(itemRect.topLeft());
128 painter->drawRect(itemRect);
129 painter->setBrush(Qt::NoBrush);
133 painter->setBrush(Qt::white);
134 painter->setPen(Qt::NoPen);
135 painter->drawRect(itemRect);
138 int dx = (itemRect.width() * devicePixelRatioF - thumbnail.width()) / 2 / devicePixelRatioF;
139 int dy = (itemRect.height() * devicePixelRatioF - thumbnail.height()) / 2 / devicePixelRatioF;
140 painter->drawImage(itemRect.x() + dx, itemRect.y() + dy, thumbnail);
142 if (option.state & QStyle::State_Selected) {
143 painter->setClipRect(option.rect);
144 painter->setPen(QPen(option.palette.highlight(), 2.0));
146 painter->setCompositionMode(QPainter::CompositionMode_HardLight);
147 painter->setOpacity(0.65);
148 painter->fillRect(itemRect, option.palette.highlight());
166 QWidget *parent,
const char *name)
169 m_stampBrushWidget(0),
170 m_clipboardBrushWidget(0)
176 brushSizeSpinBox->setRange(0, maxBrushSize, 2);
177 brushSizeSpinBox->setValue(5);
178 brushSizeSpinBox->setExponentRatio(3.0);
179 brushSizeSpinBox->setSuffix(i18n(
" px"));
180 brushSizeSpinBox->setExponentRatio(3.0);
182 connect(
m_d->model, &KisPredefinedBrushModel::brushNameChanged,
183 brushTipNameLabel, &KSqueezedTextLabel::setText);
184 m_d->model->LAGER_QT(brushName).nudge();
186 connect(
m_d->model, &KisPredefinedBrushModel::brushDetailsChanged,
187 brushDetailsLabel, &QLabel::setText);
188 m_d->model->LAGER_QT(brushDetails).nudge();
192 brushRotationAngleSelector->setDecimals(0);
196 brushSpacingSelectionWidget->setSpacing(
true, 1.0);
216 connect(
m_d->model, &KisPredefinedBrushModel::resourceSignatureChanged,
229 stampButton->setToolTip(i18n(
"Creates a brush tip from the current image selection."
230 "\n If no selection is present the whole image will be used."));
233 clipboardButton->setToolTip(i18n(
"Creates a brush tip from the image in the clipboard."));
238 resetBrushButton->setToolTip(i18n(
"Reloads Spacing from file\nSets Scale to 1.0\nSets Rotation to 0.0"));
241 intAdjustmentMidPoint->setRange(0, 255);
242 intAdjustmentMidPoint->setPageStep(10);
243 intAdjustmentMidPoint->setSingleStep(1);
244 intAdjustmentMidPoint->setPrefix(i18nc(
"@label:slider",
"Neutral point: "));
248 intBrightnessAdjustment->setRange(-100, 100);
249 intBrightnessAdjustment->setPageStep(10);
250 intBrightnessAdjustment->setSingleStep(1);
251 intBrightnessAdjustment->setSuffix(
"%");
252 intBrightnessAdjustment->setPrefix(i18nc(
"@label:slider",
"Brightness: "));
255 intContrastAdjustment->setRange(-100, 100);
256 intContrastAdjustment->setPageStep(10);
257 intContrastAdjustment->setSingleStep(1);
258 intContrastAdjustment->setSuffix(
"%");
259 intContrastAdjustment->setPrefix(i18nc(
"@label:slider",
"Contrast: "));
262 btnResetAdjustments->setToolTip(i18nc(
"@info:tooltip",
"Resets all the adjustments to default values:\n Neutral Point: 127\n Brightness: 0%\n Contrast: 0%"));
267 connect(
m_d->model, &KisPredefinedBrushModel::adjustmentsEnabledChanged,
268 intAdjustmentMidPoint, &KisSliderSpinBox::setEnabled);
269 connect(
m_d->model, &KisPredefinedBrushModel::adjustmentsEnabledChanged,
270 intBrightnessAdjustment, &KisSliderSpinBox::setEnabled);
271 connect(
m_d->model, &KisPredefinedBrushModel::adjustmentsEnabledChanged,
272 intContrastAdjustment, &KisSliderSpinBox::setEnabled);
273 connect(
m_d->model, &KisPredefinedBrushModel::adjustmentsEnabledChanged,
274 chkAutoMidPoint, &KisSliderSpinBox::setEnabled);
275 connect(
m_d->model, &KisPredefinedBrushModel::adjustmentsEnabledChanged,
276 btnResetAdjustments, &KisSliderSpinBox::setEnabled);
278 m_d->model->LAGER_QT(adjustmentsEnabled).nudge();