20#include <klocalizedstring.h>
35#include <QWidgetAction>
48 setWindowTitle(i18n(
"Wide Gamut Color Selector"));
50 QWidget *mainWidget =
new QWidget();
63 QWidget *headerWidget =
new QWidget(mainWidget);
64 QHBoxLayout *headerLayout =
new QHBoxLayout(headerWidget);
71 m_gamutToolbar->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
73 headerLayout->addStretch();
74 headerLayout->setContentsMargins(0, 0, 0, 0);
113 setWidget(mainWidget);
132 converter =
m_canvas->displayColorConverter();
175 m_canvas = qobject_cast<KisCanvas2*>(canvas);
185 connect(
m_canvas->resourceManager(), SIGNAL(canvasResourceChanged(
int,QVariant)),
194 connect(resourceProvider, SIGNAL(sigGamutMaskPreviewUpdate()),
195 m_selector, SLOT(slotGamutMaskPreviewUpdate()), Qt::UniqueConnection);
197 connect(resourceProvider, SIGNAL(sigGamutMaskUnset()),
198 m_selector, SLOT(slotGamutMaskUnset()), Qt::UniqueConnection);
200 connect(resourceProvider, SIGNAL(sigGamutMaskDeactivated()),
201 m_selector, SLOT(slotGamutMaskUnset()), Qt::UniqueConnection);
209 setEnabled(canvas != 0);
229 m_canvas->disconnectCanvasObserver(
this);
230 m_canvas->displayColorConverter()->displayRendererInterface()->disconnect(
this);
247 if (historyEnabled) {
248 if (historyOrientation == Qt::Vertical) {
263 if (commonColorsEnabled) {
264 if (commonColorsOrientation == Qt::Vertical) {
277 if (shadeSelectorEnabled) {
308 QMenu *configureMenu =
new QMenu(
this);
316 QAction *cfgAction = configureMenu->addAction(i18nc(
"Wide Gamut Color Selector",
"Configure..."));
355 selectionCS =
m_canvas->image()->colorSpace();
359 selectionCS =
m_canvas->displayColorConverter()->nodeColorSpace();
371 if (selectionCS && selectionCS != activeModel->colorSpace()) {
372 activeModel->slotSetColorSpace(selectionCS);
373 activeModel->slotSetColor(activeModel ==
m_colorModelFG ? fgColor : bgColor);
479 if (settings.exec() == QDialog::Accepted) {
float value(const T *src, size_t ch)
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
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 registerActions(KisViewManager *viewManager)
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
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
void slotCanvasResourceChanged(int key, const QVariant &value)
KisVisualColorSelector * m_selector
QBoxLayout * m_verticalElementsLayout
KisDisplayColorConverter * displayColorConverter(bool rawPointer=false) const
void setChannelValues(const QVector4D &values)
Set new channel values; takes effect immediately!
ColorSpaceSource m_CSSource
WGColorPatches * m_commonColors
KisUniqueColorSet * m_colorHistory
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 > 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