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

#include <kis_separate_channels_plugin.h>

+ Inheritance diagram for KisSeparateChannelsPlugin:

Public Member Functions

 KisSeparateChannelsPlugin (QObject *parent, const QVariantList &)
 
 ~KisSeparateChannelsPlugin () override
 
- Public Member Functions inherited from KisActionPlugin
 KisActionPlugin (QObject *parent=0)
 
 ~KisActionPlugin () override
 

Private Slots

void slotSeparate ()
 

Additional Inherited Members

- Protected Member Functions inherited from KisActionPlugin
void addAction (const QString &name, KisAction *action)
 
void addOperation (KisOperation *operation)
 
void addUIFactory (KisOperationUIFactory *factory)
 
KisActioncreateAction (const QString &name)
 
QPointer< KisViewManagerviewManager () const
 

Detailed Description

Definition at line 16 of file kis_separate_channels_plugin.h.

Constructor & Destructor Documentation

◆ KisSeparateChannelsPlugin()

KisSeparateChannelsPlugin::KisSeparateChannelsPlugin ( QObject * parent,
const QVariantList &  )

Definition at line 37 of file kis_separate_channels_plugin.cc.

38 : KisActionPlugin(parent)
39{
40 KisAction *action = createAction("separate");
41 connect(action, SIGNAL(triggered(bool)), SLOT(slotSeparate()));
42}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisAction * createAction(const QString &name)
KisActionPlugin(QObject *parent=0)

References connect().

◆ ~KisSeparateChannelsPlugin()

KisSeparateChannelsPlugin::~KisSeparateChannelsPlugin ( )
override

Definition at line 44 of file kis_separate_channels_plugin.cc.

45{
46}

Member Function Documentation

◆ slotSeparate

void KisSeparateChannelsPlugin::slotSeparate ( )
privateslot

Definition at line 48 of file kis_separate_channels_plugin.cc.

49{
50 KisImageSP image = viewManager()->image();
51 if (!image) return;
52
53 KisLayerSP l = viewManager()->nodeManager()->activeLayer();
54 if (!l) return;
55
57 if (!dev) return;
58
59 DlgSeparate * dlgSeparate = new DlgSeparate(dev->colorSpace()->name(),
60 image->colorSpace()->name(), viewManager()->mainWindowAsQWidget(), "Separate");
61 Q_CHECK_PTR(dlgSeparate);
62
63 dlgSeparate->setCaption(i18n("Separate Image"));
64
65 // If we're 8-bits, disable the downscale option
66 if (dev->pixelSize() == dev->channelCount()) {
67 dlgSeparate->enableDownscale(false);
68 }
69
70 if (dlgSeparate->exec() == QDialog::Accepted) {
71
72 KisCursorOverrideLock cursorLock(Qt::BusyCursor);
73
75 separator.separate(viewManager()->createUnthreadedUpdater(i18n("Separate Image")),
76 dlgSeparate->getAlphaOptions(),
77 dlgSeparate->getSource(),
78 dlgSeparate->getDownscale(),
79 dlgSeparate->getToColor(),
80 dlgSeparate->getActivateCurrentChannel());
81 }
82
83 delete dlgSeparate;
84
85}
bool getDownscale()
void enableDownscale(bool enable)
enumSepSource getSource()
enumSepAlphaOptions getAlphaOptions()
bool getToColor()
bool getActivateCurrentChannel()
QPointer< KisViewManager > viewManager() const
const KoColorSpace * colorSpace() const
quint32 pixelSize() const
quint32 channelCount() const
const KoColorSpace * colorSpace() const
virtual void setCaption(const QString &caption)
Definition KoDialog.cpp:498
virtual KisPaintDeviceSP paintDevice() const =0

References KisPaintDevice::channelCount(), KisImage::colorSpace(), KisPaintDevice::colorSpace(), DlgSeparate::enableDownscale(), DlgSeparate::getActivateCurrentChannel(), DlgSeparate::getAlphaOptions(), DlgSeparate::getDownscale(), DlgSeparate::getSource(), DlgSeparate::getToColor(), KoColorSpace::name, KisBaseNode::paintDevice(), KisPaintDevice::pixelSize(), KisChannelSeparator::separate(), KoDialog::setCaption(), and KisActionPlugin::viewManager().


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