Krita Source Code Documentation
Loading...
Searching...
No Matches
KisPaintOpPresetsChooserPopup Class Reference

#include <kis_paintop_presets_chooser_popup.h>

+ Inheritance diagram for KisPaintOpPresetsChooserPopup:

Classes

struct  Private
 

Public Slots

void canvasResourceChanged (KisPaintOpPresetSP preset)
 
void slotThemeChanged ()
 

Signals

void resourceClicked (KoResourceSP resource)
 
void resourceSelected (KoResourceSP resource)
 

Public Member Functions

 KisPaintOpPresetsChooserPopup (QWidget *parent=0)
 
void setResponsiveness (bool value)
 
void updateViewSettings ()
 
 ~KisPaintOpPresetsChooserPopup () override
 

Private Slots

void paintEvent (QPaintEvent *) override
 
void slotDetailMode ()
 
void slotThumbnailMode ()
 
void slotUpdateMenu ()
 

Private Attributes

Private *const m_d
 

Detailed Description

Definition at line 18 of file kis_paintop_presets_chooser_popup.h.

Constructor & Destructor Documentation

◆ KisPaintOpPresetsChooserPopup()

KisPaintOpPresetsChooserPopup::KisPaintOpPresetsChooserPopup ( QWidget * parent = 0)

Definition at line 36 of file kis_paintop_presets_chooser_popup.cpp.

37 : QWidget(parent)
38 , m_d(new Private())
39{
40 m_d->uiWdgPaintOpPresets.setupUi(this);
41 QMenu* menu = new QMenu(this);
42 menu->setStyleSheet("margin: 6px");
43
44 menu->addSection(i18nc("@title Which elements to display (e.g., thumbnails or details)", "Display"));
45
46 QActionGroup *actionGroup = new QActionGroup(this);
47
49
50 QAction* action = menu->addAction(KisIconUtils::loadIcon("view-preview"), i18n("Thumbnails"), this, SLOT(slotThumbnailMode()));
51 action->setCheckable(true);
52 action->setChecked(mode == KisPresetChooser::THUMBNAIL);
53 action->setActionGroup(actionGroup);
54
55 action = menu->addAction(KisIconUtils::loadIcon("view-list-details"), i18n("Details"), this, SLOT(slotDetailMode()));
56 action->setCheckable(true);
57 action->setChecked(mode == KisPresetChooser::DETAIL);
58 action->setActionGroup(actionGroup);
59
60 // add widget slider to control icon size
61 QSlider* iconSizeSlider = new QSlider(this);
62 iconSizeSlider->setOrientation(Qt::Horizontal);
63 iconSizeSlider->setRange(30, 80);
64 iconSizeSlider->setValue(m_d->uiWdgPaintOpPresets.wdgPresetChooser->iconSize());
65 iconSizeSlider->setMinimumHeight(20);
66 iconSizeSlider->setMinimumWidth(40);
67 iconSizeSlider->setTickInterval(10);
68 m_d->iconSizeSlider = iconSizeSlider;
69
70 QWidgetAction *sliderAction= new QWidgetAction(this);
71 sliderAction->setDefaultWidget(iconSizeSlider);
72
73 menu->addSection(i18n("Icon Size"));
74 menu->addAction(sliderAction);
75
76
77
78 // setting the view mode
79 m_d->uiWdgPaintOpPresets.wdgPresetChooser->setViewMode(mode);
80 m_d->uiWdgPaintOpPresets.wdgPresetChooser->showTaggingBar(true);
81
82 m_d->uiWdgPaintOpPresets.wdgPresetChooser->itemChooser()->showViewModeBtn(true);
83 m_d->viewModeButton = m_d->uiWdgPaintOpPresets.wdgPresetChooser->itemChooser()->viewModeButton();
85
86
87 connect(m_d->uiWdgPaintOpPresets.wdgPresetChooser, SIGNAL(resourceSelected(KoResourceSP )),
88 this, SIGNAL(resourceSelected(KoResourceSP )));
89 connect(m_d->uiWdgPaintOpPresets.wdgPresetChooser, SIGNAL(resourceClicked(KoResourceSP )),
90 this, SIGNAL(resourceClicked(KoResourceSP ))) ;
91
92
93 connect(iconSizeSlider, SIGNAL(valueChanged(int)),
94 m_d->uiWdgPaintOpPresets.wdgPresetChooser, SLOT(setIconSize(int)));
95 connect(menu, SIGNAL(aboutToHide()),
96 m_d->uiWdgPaintOpPresets.wdgPresetChooser, SLOT(saveIconSize()));
97 connect(m_d->viewModeButton, SIGNAL(pressed()), this, SLOT(slotUpdateMenu()));
98
99}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
int presetChooserViewMode(bool defaultValue=false) const
void resourceClicked(KoResourceSP resource)
void resourceSelected(KoResourceSP resource)
void setPopupWidget(QWidget *widget)
@ DETAIL
Shows thumbnails.
QIcon loadIcon(const QString &name)

References connect(), KisPresetChooser::DETAIL, KisPaintOpPresetsChooserPopup::Private::iconSizeSlider, KisIconUtils::loadIcon(), m_d, KisConfig::presetChooserViewMode(), resourceClicked(), resourceSelected(), KisPopupButton::setPopupWidget(), slotDetailMode(), slotThumbnailMode(), slotUpdateMenu(), KisPresetChooser::THUMBNAIL, KisPaintOpPresetsChooserPopup::Private::uiWdgPaintOpPresets, and KisPaintOpPresetsChooserPopup::Private::viewModeButton.

◆ ~KisPaintOpPresetsChooserPopup()

KisPaintOpPresetsChooserPopup::~KisPaintOpPresetsChooserPopup ( )
override

Definition at line 101 of file kis_paintop_presets_chooser_popup.cpp.

102{
103 delete m_d;
104}

References m_d.

Member Function Documentation

◆ canvasResourceChanged

void KisPaintOpPresetsChooserPopup::canvasResourceChanged ( KisPaintOpPresetSP preset)
slot

Definition at line 134 of file kis_paintop_presets_chooser_popup.cpp.

135{
136 if (preset) {
137 blockSignals(true);
138 m_d->uiWdgPaintOpPresets.wdgPresetChooser->setCurrentResource(preset);
139 blockSignals(false);
140 }
141 m_d->uiWdgPaintOpPresets.wdgPresetChooser->updateViewSettings();
142}

References m_d, and KisPaintOpPresetsChooserPopup::Private::uiWdgPaintOpPresets.

◆ paintEvent

void KisPaintOpPresetsChooserPopup::paintEvent ( QPaintEvent * event)
overrideprivateslot

Definition at line 124 of file kis_paintop_presets_chooser_popup.cpp.

125{
126 QWidget::paintEvent(event);
127 //Workaround to get the column and row size right
128 if(m_d->firstShown) {
129 m_d->uiWdgPaintOpPresets.wdgPresetChooser->updateViewSettings();
130 m_d->firstShown = false;
131 }
132}

References KisPaintOpPresetsChooserPopup::Private::firstShown, m_d, and KisPaintOpPresetsChooserPopup::Private::uiWdgPaintOpPresets.

◆ resourceClicked

void KisPaintOpPresetsChooserPopup::resourceClicked ( KoResourceSP resource)
signal

◆ resourceSelected

void KisPaintOpPresetsChooserPopup::resourceSelected ( KoResourceSP resource)
signal

◆ setResponsiveness()

void KisPaintOpPresetsChooserPopup::setResponsiveness ( bool value)

Definition at line 155 of file kis_paintop_presets_chooser_popup.cpp.

156{
157 m_d->uiWdgPaintOpPresets.wdgPresetChooser->itemChooser()->setResponsiveness(value);
158}
float value(const T *src, size_t ch)

References m_d, KisPaintOpPresetsChooserPopup::Private::uiWdgPaintOpPresets, and value().

◆ slotDetailMode

void KisPaintOpPresetsChooserPopup::slotDetailMode ( )
privateslot

◆ slotThemeChanged

void KisPaintOpPresetsChooserPopup::slotThemeChanged ( )
slot

Definition at line 144 of file kis_paintop_presets_chooser_popup.cpp.

145{
146 m_d->viewModeButton->setIcon(KisIconUtils::loadIcon("view-choose"));
147 m_d->uiWdgPaintOpPresets.wdgPresetChooser->itemChooser()->updateView(); // updates other icons
148}

References KisIconUtils::loadIcon(), m_d, KisPaintOpPresetsChooserPopup::Private::uiWdgPaintOpPresets, and KisPaintOpPresetsChooserPopup::Private::viewModeButton.

◆ slotThumbnailMode

void KisPaintOpPresetsChooserPopup::slotThumbnailMode ( )
privateslot

◆ slotUpdateMenu

void KisPaintOpPresetsChooserPopup::slotUpdateMenu ( )
privateslot

Definition at line 118 of file kis_paintop_presets_chooser_popup.cpp.

119{
120 QSignalBlocker b(m_d->iconSizeSlider);
121 m_d->iconSizeSlider->setValue(KisConfig(true).presetIconSize());
122}

References KisPaintOpPresetsChooserPopup::Private::iconSizeSlider, and m_d.

◆ updateViewSettings()

void KisPaintOpPresetsChooserPopup::updateViewSettings ( )

Definition at line 150 of file kis_paintop_presets_chooser_popup.cpp.

151{
152 m_d->uiWdgPaintOpPresets.wdgPresetChooser->updateViewSettings();
153}

References m_d, and KisPaintOpPresetsChooserPopup::Private::uiWdgPaintOpPresets.

Member Data Documentation

◆ m_d

Private* const KisPaintOpPresetsChooserPopup::m_d
private

Definition at line 44 of file kis_paintop_presets_chooser_popup.h.


The documentation for this class was generated from the following files: