86 setObjectName(
"KisPaintOpPresetsEditor");
102 m_d->
uiWdgPaintOpPresetSettings.dirtyPresetIndicatorButton->setToolTip(i18n(
"The settings for this preset have changed from their default."));
130 containerLayout->setAlignment(Qt::AlignmentFlag::AlignTop);
147 QMenu* viewModeMenu =
new QMenu(
this);
149 viewModeMenu->setStyleSheet(
"margin: 6px");
152 viewModeMenu->addSection(i18nc(
"@title Which elements to display (e.g., thumbnails or details)",
"Display"));
154 QActionGroup *actionGroup =
new QActionGroup(
this);
157 action->setCheckable(
true);
159 action->setActionGroup(actionGroup);
161 connect(action, &QAction::triggered,
165 action->setCheckable(
true);
167 action->setActionGroup(actionGroup);
169 connect(action, &QAction::triggered,
173 viewModeMenu->addSection(i18n(
"Icon Size"));
175 QSlider* iconSizeSlider =
new QSlider(
this);
176 iconSizeSlider->setOrientation(Qt::Horizontal);
177 iconSizeSlider->setRange(30, 80);
179 iconSizeSlider->setMinimumHeight(20);
180 iconSizeSlider->setMinimumWidth(40);
181 iconSizeSlider->setTickInterval(10);
183 connect(iconSizeSlider, &QSlider::valueChanged,
186 connect(iconSizeSlider, &QSlider::sliderReleased,
189 QWidgetAction *sliderAction=
new QWidgetAction(
this);
190 sliderAction->setDefaultWidget(iconSizeSlider);
192 viewModeMenu->addAction(sliderAction);
208 QMenu *viewOptionsMenu =
new QMenu(
this);
209 QAction *detachBrushEditorAction = viewOptionsMenu->addAction(i18n(
"Detach Brush Editor"));
210 detachBrushEditorAction->setCheckable(
true);
235 connect(detachBrushEditorAction, SIGNAL(toggled(
bool)),
521 QString currentBrushEngineName;
522 QPixmap currentBrushEngineIcon = QPixmap(26, 26);
523 currentBrushEngineIcon.fill(Qt::transparent);
533 QString formattedBrushName = resource->name().replace(
"_",
" ");
536 formattedBrushName = this->fontMetrics().elidedText(formattedBrushName, Qt::ElideRight,
m_d->
uiWdgPaintOpPresetSettings.currentBrushNameLabel->width());
538 m_d->
uiWdgPaintOpPresetSettings.currentBrushEngineLabel->setText(i18nc(
"%1 is the name of a brush engine",
"%1 Engine", currentBrushEngineName));
543 QSize thumbSize = QSize(55, 55)*devicePixelRatioF();
544 QImage thumbImage = resource->image();
549 if (!thumbImage.isNull()) {
550 thumbnail = QPixmap::fromImage(thumbImage.scaled(thumbSize, Qt::KeepAspectRatio, Qt::SmoothTransformation));
552 thumbnail = QPixmap();
555 thumbnail.setDevicePixelRatio(devicePixelRatioF());
660 splitterSizes[0] = 0;
663 splitterSizes[2] = 0;
666 QWidget *frame = this->parentWidget();
667 QByteArray frameGeometry = cfg.
readEntry(
"brushEditorWindowGeometry", QByteArray());
668 if (!frameGeometry.isEmpty()) {
669 frame->restoreGeometry(frameGeometry);
673 int scratchPanelWidth =
675 const QMargins margins =
m_d->
layout->contentsMargins();
676 int width = presetPanelWidth + splitterSizes[1] + scratchPanelWidth +
677 margins.bottom() + margins.left() + margins.top() + margins.right();
678 QRect defaultGeometry = QRect(frame->geometry().x(), frame->geometry().y(), width, frame->geometry().height());
679 frame->setGeometry(defaultGeometry);
710 if (sameVisibility) {
717 const QMargins margins =
m_d->
layout->contentsMargins();
718 int emptyContainerWidth = showBtn->width() + margins.left() + margins.right();
724 container->setMaximumWidth(0xFF'FFFF);
728 QWidget *frame = this->parentWidget();
729 QRect currentGeometry = frame->geometry();
730 currentGeometry.setRight(currentGeometry.right() + (splitterSizes[2] - emptyContainerWidth));
731 frame->setGeometry(currentGeometry);
736 container->setMinimumWidth(emptyContainerWidth);
737 container->setMaximumWidth(emptyContainerWidth);
741 QWidget *frame = this->parentWidget();
742 QRect currentGeometry = frame->geometry();
743 currentGeometry.setRight(currentGeometry.right() - (
m_d->
scratchPanelWidth - emptyContainerWidth));
744 frame->setGeometry(currentGeometry);
746 splitterSizes[1] = 0xFF'FFFF;
747 splitterSizes[2] = emptyContainerWidth;
770 if (sameVisibility) {
777 const QMargins margins =
m_d->
layout->contentsMargins();
778 int emptyContainerWidth = showBtn->width() + margins.left() + margins.right();
784 container->setMaximumWidth(0xFF'FFFF);
788 QWidget *frame = this->parentWidget();
789 QRect currentGeometry = frame->geometry();
790 currentGeometry.setLeft(currentGeometry.left() - (splitterSizes[0] - emptyContainerWidth));
791 frame->setGeometry(currentGeometry);
796 container->setMinimumWidth(emptyContainerWidth);
797 container->setMaximumWidth(emptyContainerWidth);
801 QWidget *frame = this->parentWidget();
802 QRect currentGeometry = frame->geometry();
803 currentGeometry.setLeft(currentGeometry.left() + (
m_d->
presetPanelWidth - emptyContainerWidth));
804 frame->setGeometry(currentGeometry);
806 splitterSizes[0] = emptyContainerWidth;
807 splitterSizes[1] = 0xFF'FFFF;