21#include <klocalizedstring.h>
36#include <QWidgetAction>
49 setWindowTitle(i18n(
"Wide Gamut Color Selector"));
51 QWidget *mainWidget =
new QWidget();
64 QWidget *headerWidget =
new QWidget(mainWidget);
65 QHBoxLayout *headerLayout =
new QHBoxLayout(headerWidget);
72 m_gamutToolbar->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
74 headerLayout->addStretch();
75 headerLayout->setContentsMargins(0, 0, 0, 0);
116 setWidget(mainWidget);
135 converter =
m_canvas->displayColorConverter();
184 m_canvas = qobject_cast<KisCanvas2*>(canvas);
201 connect(
m_canvas->resourceManager(), SIGNAL(canvasResourceChanged(
int,QVariant)),
203 connect(resourceProvider, SIGNAL(sigFGColorUsed(
KoColor)),
207 connect(resourceProvider, SIGNAL(sigGamutMaskChanged(
KoGamutMaskSP)),
210 connect(resourceProvider, SIGNAL(sigGamutMaskPreviewUpdate()),
211 m_selector, SLOT(slotGamutMaskPreviewUpdate()), Qt::UniqueConnection);
213 connect(resourceProvider, SIGNAL(sigGamutMaskUnset()),
214 m_selector, SLOT(slotGamutMaskUnset()), Qt::UniqueConnection);
216 connect(resourceProvider, SIGNAL(sigGamutMaskDeactivated()),
217 m_selector, SLOT(slotGamutMaskUnset()), Qt::UniqueConnection);
225 setEnabled(canvas != 0);
248 m_canvas->disconnectCanvasObserver(
this);
249 m_canvas->displayColorConverter()->displayRendererInterface()->disconnect(
this);
266 if (historyEnabled) {
267 if (historyOrientation == Qt::Vertical) {
282 if (commonColorsEnabled) {
283 if (commonColorsOrientation == Qt::Vertical) {
296 if (shadeSelectorEnabled) {
332 QMenu *configureMenu =
new QMenu(
this);
340 QAction *cfgAction = configureMenu->addAction(i18nc(
"Wide Gamut Color Selector",
"Configure..."));
379 selectionCS =
m_canvas->image()->colorSpace();
383 selectionCS =
m_canvas->displayColorConverter()->nodeColorSpace();
395 if (selectionCS && selectionCS != activeModel->colorSpace()) {
396 activeModel->slotSetColorSpace(selectionCS);
397 activeModel->slotSetColor(activeModel ==
m_colorModelFG ? fgColor : bgColor);
507 if (settings.exec() == QDialog::Accepted) {
float value(const T *src, size_t ch)
KisUniqueColorSet * colorHistoryModel() const
void setBackgroundColor(const QColor &color)
void setForegroundColor(const QColor &color)
static KisDisplayColorConverter * dumbConverterInstance()
QColor toQColor(const KoColor &c, bool proofToPaintColors=false) const
void addColor(const KoColor &color)
The KisVisualColorModel class allows manipulating a KoColor using various color models.
The KisVisualColorSelector class.
void setSelectorModel(KisVisualColorModelSP model)
void setRenderMode(RenderMode mode)
void setConfiguration(const KisColorSelectorConfiguration *config)
Explicitly set the shape configuration. Accepts all valid combinations of Advanced Color Selector,...
void setDisplayRenderer(const KoColorDisplayRendererInterface *displayRenderer) override
void setProofColors(bool enabled)
void slotSetColor(const KoColor &c) override
KoColor getCurrentColor() const override
void setMinimumSliderWidth(int width)
KisVisualColorModelSP selectorModel() const
void setCanvas(KisCanvas2 *canvas, KisCanvas2 *oldCanvas)
void setLastUsedColor(const KoColor &col)
void updateColorHistoryModel()
void registerActions(KisViewManager *viewManager)
void setColorHistoryModel(KisUniqueColorSet *history)
void setPreset(Preset preset)
void updateSettings() override
const KoColorSpace * m_customCS
void slotColorSelected(const KoColor &color)
void setViewManager(KisViewManager *viewManager) override
WGQuickSettingsWidget * m_quickSettings
QBoxLayout * m_selectorAreaLayout
void slotDisplayConfigurationChanged()
KisGamutMaskToolbar * m_gamutToolbar
void slotShowGamutMaskToolbar(bool show)
void slotColorInteraction(bool active)
WGCommonColorSet * m_commonColorSet
WGShadeSelector * m_shadeSelector
KisVisualColorModelSP m_colorModelBG
QWidgetAction * m_quickSettingAction
KisColorSourceToggle * m_toggle
QBoxLayout * m_mainWidgetLayout
void slotColorSourceToggled(bool selectingBg)
WGColorPatches * m_history
KisUniqueColorSet * colorHistoryModel() const
void slotFGColorUsed(const KoColor &color)
const KisVisualColorModel & colorModel() const
WGActionManager * m_actionManager
void unsetCanvas() override
bool selectingBackground() const
void slotConfigurationChanged()
KisSignalCompressor * m_colorChangeCompressor
void disconnectFromCanvas()
void leaveEvent(QEvent *event) override
QToolButton * m_configButton
KisVisualColorModelSP m_colorModelFG
void setCanvas(KoCanvasBase *canvas) override
KisUniqueColorSet * m_documentColorHistoryModel
void slotCanvasResourceChanged(int key, const QVariant &value)
std::unique_ptr< KisUniqueColorSet > m_fallbackColorHistoryModel
KisVisualColorSelector * m_selector
QBoxLayout * m_verticalElementsLayout
KisDisplayColorConverter * displayColorConverter(bool rawPointer=false) const
KisUniqueColorSet * m_globalColorHistoryModel
bool m_colorHistoryFromDocument
void setChannelValues(const QVector4D &values)
Set new channel values; takes effect immediately!
ColorSpaceSource m_CSSource
WGColorPatches * m_commonColors
WGSelectorDisplayConfigSP m_displayConfig
QPointer< KisCanvas2 > m_canvas
WGColorPreviewToolTip * m_colorTooltip
void setAutoUpdate(bool enabled)
void setImage(KisImageSP image)
void setModel(KisVisualColorModelSP colorModel) override
void updateSettings() override
KisSharedPtr< KisImage > KisImageSP
QIcon loadIcon(const QString &name)
@ BackgroundColor
The active background color selected for this canvas.
@ ForegroundColor
The active foreground color selected for this canvas.
const GenericSetting< bool > colorHistoryEnabled
const ColorPatches commonColors
const GenericSetting< bool > colorHistoryFromDocument
const GenericSetting< bool > minimalShadeSelectorEnabled
const GenericSetting< bool > commonColorsEnabled
const NumericSetting< KisVisualColorSelector::RenderMode > selectorRenderMode
const NumericSetting< WGColorSelectorDock::ColorSpaceSource > colorSpaceSource
WGConfigNotifier * notifier()
const NumericSetting< KisVisualColorModel::ColorModel > rgbColorModel
const GenericSetting< bool > proofToPaintingColors
const GenericSetting< bool > quickSettingsEnabled
const GenericSetting< bool > commonColorsAutoUpdate
const ColorPatches colorHistory