Krita Source Code Documentation
Loading...
Searching...
No Matches
KisColorButton::KisColorButtonPrivate Class Reference

Public Member Functions

void _k_chooseColor ()
 
void initStyleOption (QStyleOptionButton *opt) const
 
 KisColorButtonPrivate (KisColorButton *q)
 
 ~KisColorButtonPrivate ()
 

Public Attributes

KoColor col
 
bool m_alphaChannel: 1
 
bool m_bdefaultColor: 1
 
KoColor m_defaultColor
 
QPointer< QDialog > m_dialog = nullptr
 
bool m_palette: 1
 
QPoint mPos
 
KisColorButtonq
 

Detailed Description

Definition at line 27 of file kis_color_button.cpp.

Constructor & Destructor Documentation

◆ KisColorButtonPrivate()

KisColorButton::KisColorButtonPrivate::KisColorButtonPrivate ( KisColorButton * q)

Definition at line 104 of file kis_color_button.cpp.

105 : q(q)
106{
107 m_bdefaultColor = false;
108 m_alphaChannel = false;
109 m_palette = true;
110 q->setAcceptDrops(true);
111
112 connect(q, SIGNAL(clicked()), q, SLOT(_k_chooseColor()));
113}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))

References _k_chooseColor(), connect(), m_alphaChannel, m_bdefaultColor, m_palette, and q.

◆ ~KisColorButtonPrivate()

KisColorButton::KisColorButtonPrivate::~KisColorButtonPrivate ( )
inline

Definition at line 31 of file kis_color_button.cpp.

31 {
32 if(m_dialog) {
33 m_dialog->close();
34 }
35 }

References m_dialog.

Member Function Documentation

◆ _k_chooseColor()

void KisColorButton::KisColorButtonPrivate::_k_chooseColor ( )

Definition at line 309 of file kis_color_button.cpp.

310{
311 KConfigGroup cfg = KSharedConfig::openConfig()->group("colorselector");
312 bool usePlatformDialog = cfg.readEntry("UsePlatformColorDialog", false);
313
314 if (!usePlatformDialog) {
317 KisDlgInternalColorSelector *dialog = new KisDlgInternalColorSelector(q, q->color(), cfg, i18n("Choose a color"));
318 dialog->setPreviousColor(q->color());
319 auto setColorFn = [this, dialog]() { q->setColor(dialog->getCurrentColor()); };
321 connect(dialog, &QDialog::accepted, setColorFn);
323 } else{
324 QColorDialog *dialog = new QColorDialog(q);
325 dialog->setOption(QColorDialog::ShowAlphaChannel, m_alphaChannel);
326 dialog->setCurrentColor(q->color().toQColor());
327 auto setColorFn = [this, dialog]()
328 {
329 KoColor c;
330 c.fromQColor(dialog->currentColor());
331 q->setColor(c);
332 };
333 connect(dialog, &QColorDialog::currentColorChanged, setColorFn);
334 connect(dialog, &QDialog::accepted, setColorFn);
336 }
337 // common functionality
338 KoColor colorBeforeColorDialogChanges = col;
339 connect(m_dialog, &QDialog::rejected, [colorBeforeColorDialogChanges, this](){ q->setColor(colorBeforeColorDialogChanges); });
340 m_dialog->setAttribute(Qt::WA_DeleteOnClose);
341 m_dialog->show();
342 m_dialog->raise();
343 m_dialog->activateWindow();
344}
void setColor(const KoColor &c)
bool paletteViewEnabled() const
paletteViewEnabled
The KisInternalColorSelector class.
void signalForegroundColorChosen(KoColor color)
signalForegroundColorChosen The most important signal. This will sent out when a color has been chose...
void fromQColor(const QColor &c)
Convenient function for converting from a QColor.
Definition KoColor.cpp:213
void toQColor(QColor *c) const
a convenience method for the above.
Definition KoColor.cpp:198

References connect(), KoColor::fromQColor(), KisDlgInternalColorSelector::Config::paletteBox, and KisDlgInternalColorSelector::signalForegroundColorChosen().

◆ initStyleOption()

void KisColorButton::KisColorButtonPrivate::initStyleOption ( QStyleOptionButton * opt) const

Definition at line 184 of file kis_color_button.cpp.

185{
186 opt->initFrom(q);
187 opt->state |= q->isDown() ? QStyle::State_Sunken : QStyle::State_Raised;
188 opt->features = QStyleOptionButton::None;
189 if (q->isDefault()) {
190 opt->features |= QStyleOptionButton::DefaultButton;
191 }
192 opt->text.clear();
193 opt->icon = QIcon();
194}

References q.

Member Data Documentation

◆ col

KoColor KisColorButton::KisColorButtonPrivate::col

Definition at line 45 of file kis_color_button.cpp.

◆ m_alphaChannel

bool KisColorButton::KisColorButtonPrivate::m_alphaChannel

Definition at line 42 of file kis_color_button.cpp.

◆ m_bdefaultColor

bool KisColorButton::KisColorButtonPrivate::m_bdefaultColor

Definition at line 41 of file kis_color_button.cpp.

◆ m_defaultColor

KoColor KisColorButton::KisColorButtonPrivate::m_defaultColor

Definition at line 40 of file kis_color_button.cpp.

◆ m_dialog

QPointer<QDialog> KisColorButton::KisColorButtonPrivate::m_dialog = nullptr

Definition at line 47 of file kis_color_button.cpp.

◆ m_palette

bool KisColorButton::KisColorButtonPrivate::m_palette

Definition at line 43 of file kis_color_button.cpp.

◆ mPos

QPoint KisColorButton::KisColorButtonPrivate::mPos

Definition at line 46 of file kis_color_button.cpp.

◆ q

KisColorButton* KisColorButton::KisColorButtonPrivate::q

Definition at line 39 of file kis_color_button.cpp.


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