Krita Source Code Documentation
Loading...
Searching...
No Matches
KisPasteIntoActionFactory Struct Reference

#include <KisPasteActionFactories.h>

+ Inheritance diagram for KisPasteIntoActionFactory:

Public Member Functions

 KisPasteIntoActionFactory ()
 
void run (KisViewManager *view) override
 
- Public Member Functions inherited from KisNoParameterActionFactory
 KisNoParameterActionFactory (const QString &id)
 
void runFromXML (KisViewManager *view, const KisOperationConfiguration &config) override
 
- Public Member Functions inherited from KisOperation
QString id () const
 
 KisOperation (const QString &id)
 
virtual ~KisOperation ()
 

Additional Inherited Members

- Protected Member Functions inherited from KisOperation
KisProcessingApplicatorbeginAction (KisViewManager *view, const KUndo2MagicString &actionName)
 
void endAction (KisProcessingApplicator *applicator, const QString &xmlData)
 

Detailed Description

Definition at line 36 of file KisPasteActionFactories.h.

Constructor & Destructor Documentation

◆ KisPasteIntoActionFactory()

KisPasteIntoActionFactory::KisPasteIntoActionFactory ( )
inline

Definition at line 37 of file KisPasteActionFactories.h.

37: KisNoParameterActionFactory("paste-into-ui-action") {}

Member Function Documentation

◆ run()

void KisPasteIntoActionFactory::run ( KisViewManager * view)
overridevirtual

Implements KisNoParameterActionFactory.

Definition at line 339 of file KisPasteActionFactories.cpp.

340{
341 if (!viewManager->activeDevice()) return;
342
343 KisImageSP image = viewManager->image();
344 if (!image) return;
345
346 QRect imageBounds = image->bounds();
347
349 KisPaintDeviceSP clip = clipdev ? new KisPaintDevice(*clipdev) : nullptr;
350
351 if (clip)
352 {
353 QRect clipBounds = clip->exactBounds();
354
355 if (!clipBounds.intersects(imageBounds))
356 {
357 QPoint diff = imageBounds.center() - clipBounds.center();
358 clip->setX(diff.x());
359 clip->setY(diff.y());
360 }
361 }
362 else
363 {
364 clip = KisClipboard::instance()->clip(imageBounds, true, -1, nullptr);
365 }
366
367 if (!clip) return;
368
370
371 if (viewManager->selection()) {
372 KUndo2Command *deselectCmd = new KisDeselectActiveSelectionCommand(viewManager->selection(), image);
373 KisProcessingApplicator::runSingleCommandStroke(viewManager->image(), deselectCmd);
374 }
375
376 KisTool* tool = dynamic_cast<KisTool*>(KoToolManager::instance()->toolById(viewManager->canvasBase(), "KisToolTransform"));
377 KIS_ASSERT(tool);
379}
static KisClipboard * instance()
KisPaintDeviceSP clipFromKritaLayers(const KoColorSpace *cs) const
const KoColorSpace * colorSpace() const
QRect bounds() const override
static void adaptClipToImageColorSpace(KisPaintDeviceSP dev, KisImageSP image)
void setX(qint32 x)
QRect exactBounds() const
void setY(qint32 y)
static void runSingleCommandStroke(KisImageSP image, KUndo2Command *cmd, KisStrokeJobData::Sequentiality sequentiality=KisStrokeJobData::SEQUENTIAL, KisStrokeJobData::Exclusivity exclusivity=KisStrokeJobData::NORMAL)
runSingleCommandStroke creates a stroke and runs cmd in it. The text() field of cmd is used as a titl...
KoToolBase * toolById(KoCanvasBase *canvas, const QString &id) const
static KoToolManager * instance()
Return the toolmanager singleton.
#define KIS_ASSERT(cond)
Definition kis_assert.h:33
virtual void newActivationWithExternalSource(KisPaintDeviceSP externalSource)
newActivationWithExternalSource Makes sure that the tool is active and starts a new stroke,...
Definition kis_tool.cc:573

References KisViewManager::activeDevice(), KisImportCatcher::adaptClipToImageColorSpace(), KisImage::bounds(), KisViewManager::canvasBase(), KisClipboard::clip, KisClipboard::clipFromKritaLayers(), KisImage::colorSpace(), KisPaintDevice::exactBounds(), KisViewManager::image(), KoToolManager::instance(), KisClipboard::instance(), KIS_ASSERT, KisTool::newActivationWithExternalSource(), KisProcessingApplicator::runSingleCommandStroke(), KisViewManager::selection(), KisPaintDevice::setX(), KisPaintDevice::setY(), and KoToolManager::toolById().


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