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

#include <KisPasteActionFactories.h>

+ Inheritance diagram for KisPasteNewActionFactory:

Public Member Functions

 KisPasteNewActionFactory ()
 
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

- Public Types inherited from KisOperation
enum  Flag { Normal = 0x0 , ReadOnly = 0x1 }
 
- Protected Member Functions inherited from KisOperation
KisProcessingApplicator * beginAction (KisViewManager *view, const KUndo2MagicString &actionName, Flags flags=Normal)
 
void endAction (KisProcessingApplicator *applicator, const QString &xmlData)
 

Detailed Description

Definition at line 41 of file KisPasteActionFactories.h.

Constructor & Destructor Documentation

◆ KisPasteNewActionFactory()

KisPasteNewActionFactory::KisPasteNewActionFactory ( )
inline

Definition at line 42 of file KisPasteActionFactories.h.

42: KisNoParameterActionFactory("paste-new-ui-action") {}

Member Function Documentation

◆ run()

void KisPasteNewActionFactory::run ( KisViewManager * view)
overridevirtual

Implements KisNoParameterActionFactory.

Definition at line 316 of file KisPasteActionFactories.cpp.

317{
318 Q_UNUSED(viewManager);
319
320 KisImageSP clipImage = KisClipboard::instance()->clipImage(true);
321 if (!clipImage) return;
322
324 doc->documentInfo()->setAboutInfo("title", i18n("Untitled"));
325 KisImageSP image = new KisImage(doc->createUndoStore(),
326 clipImage->width(),
327 clipImage->height(),
328 clipImage->colorSpace(),
329 i18n("Pasted"));
330 bool renamePastedLayers = KisConfig(true).renamePastedLayers();
331 QString pastedLayerName = renamePastedLayers ? image->nextLayerName() + " " + i18n("(pasted)") :
332 image->nextLayerName();
333 KisPaintLayerSP layer =
334 new KisPaintLayer(image.data(), pastedLayerName,
335 OPACITY_OPAQUE_U8, clipImage->colorSpace());
336
337 KisPainter::copyAreaOptimized(QPoint(), clipImage->projection(), layer->paintDevice(), clipImage->bounds());
338
339 image->addNode(layer.data(), image->rootLayer());
340 doc->setCurrentImage(image);
342
343 KisMainWindow *win = viewManager->mainWindow();
344 win->addViewAndNotifyLoadingCompleted(doc);
345}
const quint8 OPACITY_OPAQUE_U8
static KisClipboard * instance()
KisImageSP clipImage(bool showPopup, int overridePasteBehaviour=-1) const
bool renamePastedLayers(bool defaultValue=false) const
KisUndoStore * createUndoStore()
KoDocumentInfo * documentInfo() const
void setCurrentImage(KisImageSP image, bool forceInitialUpdate=true, KisNodeSP preActivatedNode=nullptr)
KisGroupLayerSP rootLayer() const
const KoColorSpace * colorSpace() const
QString nextLayerName(const QString &baseName="") const
Definition kis_image.cc:741
KisPaintDeviceSP projection() const
qint32 width() const
qint32 height() const
QRect bounds() const override
Main window for Krita.
static void copyAreaOptimized(const QPoint &dstPt, KisPaintDeviceSP src, KisPaintDeviceSP dst, const QRect &originalSrcRect)
static KisPart * instance()
Definition KisPart.cpp:130
void addDocument(KisDocument *document, bool notify=true)
Definition KisPart.cpp:209
KisDocument * createDocument() const
Definition KisPart.cpp:228
void setAboutInfo(const QString &info, const QString &data)
bool addNode(KisNodeSP node, KisNodeSP parent=KisNodeSP(), KisNodeAdditionFlags flags=KisNodeAdditionFlag::None)
KisPaintDeviceSP paintDevice

References KisPart::addDocument(), KisNodeFacade::addNode(), KisImage::bounds(), KisClipboard::clipImage(), KisImage::colorSpace(), KisPainter::copyAreaOptimized(), KisPart::createDocument(), KisDocument::createUndoStore(), KisSharedPtr< T >::data(), KisDocument::documentInfo(), KisImage::height(), KisClipboard::instance(), KisPart::instance(), KisViewManager::mainWindow(), KisImage::nextLayerName(), OPACITY_OPAQUE_U8, KisPaintLayer::paintDevice, KisImage::projection(), KisConfig::renamePastedLayers(), KisImage::rootLayer(), KoDocumentInfo::setAboutInfo(), KisDocument::setCurrentImage(), and KisImage::width().


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