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

#include <kis_canvas_drop.h>

+ Inheritance diagram for KisCanvasDrop:

Classes

class  Private
 

Public Types

enum  Action {
  NONE = 0 , INSERT_AS_NEW_LAYER , INSERT_AS_NEW_FILE_LAYER , OPEN_IN_NEW_DOCUMENT ,
  INSERT_AS_REFERENCE_IMAGE , INSERT_MANY_LAYERS , INSERT_MANY_FILE_LAYERS , OPEN_MANY_DOCUMENTS ,
  INSERT_AS_REFERENCE_IMAGES
}
 

Public Member Functions

Action dropAs (const QMimeData &data, QPoint pos)
 
 KisCanvasDrop (QWidget *parent=nullptr)
 

Private Attributes

Private *const d
 

Detailed Description

Definition at line 14 of file kis_canvas_drop.h.

Member Enumeration Documentation

◆ Action

Enumerator
NONE 
INSERT_AS_NEW_LAYER 
INSERT_AS_NEW_FILE_LAYER 
OPEN_IN_NEW_DOCUMENT 
INSERT_AS_REFERENCE_IMAGE 
INSERT_MANY_LAYERS 
INSERT_MANY_FILE_LAYERS 
OPEN_MANY_DOCUMENTS 
INSERT_AS_REFERENCE_IMAGES 

Definition at line 19 of file kis_canvas_drop.h.

Constructor & Destructor Documentation

◆ KisCanvasDrop()

KisCanvasDrop::KisCanvasDrop ( QWidget * parent = nullptr)

Definition at line 27 of file kis_canvas_drop.cpp.

28 : QMenu(parent)
29 , d(new Private)
30{
31 setObjectName("drop_popup");
32
33 d->insertAsNewLayer = addAction(i18n("Insert as New Layer"));
34 d->insertAsNewFileLayer = addAction(i18n("Insert as New File Layer"));
35 d->openInNewDocument = addAction(i18n("Open in New Document"));
36 d->insertAsReferenceImage = addAction(i18n("Insert as Reference Image"));
37
38 d->insertManyLayers = addAction(i18n("Insert Many Layers"));
39 d->insertManyFileLayers = addAction(i18n("Insert Many File Layers"));
40 d->openManyDocuments = addAction(i18n("Open Many Documents"));
41 d->insertAsReferenceImages = addAction(i18n("Insert as Reference Images"));
42
43 addSeparator();
44
45 d->cancel = addAction(i18n("Cancel"));
46}
Private *const d

References KisCanvasDrop::Private::cancel, d, KisCanvasDrop::Private::insertAsNewFileLayer, KisCanvasDrop::Private::insertAsNewLayer, KisCanvasDrop::Private::insertAsReferenceImage, KisCanvasDrop::Private::insertAsReferenceImages, KisCanvasDrop::Private::insertManyFileLayers, KisCanvasDrop::Private::insertManyLayers, KisCanvasDrop::Private::openInNewDocument, and KisCanvasDrop::Private::openManyDocuments.

Member Function Documentation

◆ dropAs()

KisCanvasDrop::Action KisCanvasDrop::dropAs ( const QMimeData & data,
QPoint pos )

Definition at line 48 of file kis_canvas_drop.cpp.

49{
50 const auto &urls = data.urls();
51
52 d->insertAsNewLayer->setEnabled(data.hasImage() || urls.count() == 1);
53 d->insertAsNewFileLayer->setEnabled(urls.count() == 1);
54 d->openInNewDocument->setEnabled(urls.count() == 1);
55 d->insertAsReferenceImage->setEnabled(data.hasImage() || urls.count() == 1);
56
57 d->insertManyLayers->setEnabled(urls.count() > 1);
58 d->insertManyFileLayers->setEnabled(urls.count() > 1);
59 d->openManyDocuments->setEnabled(urls.count() > 1);
60 d->insertAsReferenceImages->setEnabled(urls.count() > 1);
61
62 const QAction *action = exec(pos);
63
64 if (action == d->insertAsNewLayer) {
66 } else if (action == d->insertAsNewFileLayer) {
68 } else if (action == d->openInNewDocument) {
70 } else if (action == d->insertAsReferenceImage) {
72 } else if (action == d->insertManyLayers) {
74 } else if (action == d->insertManyFileLayers) {
76 } else if (action == d->openManyDocuments) {
78 } else if (action == d->insertAsReferenceImages) {
80 }
81
83}

References d, INSERT_AS_NEW_FILE_LAYER, INSERT_AS_NEW_LAYER, INSERT_AS_REFERENCE_IMAGE, INSERT_AS_REFERENCE_IMAGES, INSERT_MANY_FILE_LAYERS, INSERT_MANY_LAYERS, KisCanvasDrop::Private::insertAsNewFileLayer, KisCanvasDrop::Private::insertAsNewLayer, KisCanvasDrop::Private::insertAsReferenceImage, KisCanvasDrop::Private::insertAsReferenceImages, KisCanvasDrop::Private::insertManyFileLayers, KisCanvasDrop::Private::insertManyLayers, NONE, OPEN_IN_NEW_DOCUMENT, OPEN_MANY_DOCUMENTS, KisCanvasDrop::Private::openInNewDocument, and KisCanvasDrop::Private::openManyDocuments.

Member Data Documentation

◆ d

Private* const KisCanvasDrop::d
private

Definition at line 39 of file kis_canvas_drop.h.


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