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

#include <kis_dlg_file_layer.h>

+ Inheritance diagram for KisDlgFileLayer:

Public Member Functions

QString fileName () const
 
 KisDlgFileLayer (const QString &basePath, const QString &name, QWidget *parent=0)
 
QString layerName () const
 
KisFileLayer::ScalingMethod scaleToImageResolution () const
 
QString scalingFilter () const
 
void setFileName (QString fileName)
 
void setScalingFilter (QString filter)
 
void setScalingMethod (KisFileLayer::ScalingMethod method)
 
- Public Member Functions inherited from KoDialog
QPushButton * button (ButtonCode id) const
 
QIcon buttonIcon (ButtonCode id) const
 
QString buttonText (ButtonCode id) const
 
QString buttonToolTip (ButtonCode id) const
 
QString buttonWhatsThis (ButtonCode id) const
 
ButtonCode defaultButton () const
 
QString helpLinkText () const
 
void incrementInitialSize (const QSize &size)
 
bool isButtonEnabled (ButtonCode id) const
 
 KoDialog (QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags())
 
QWidget * mainWidget ()
 
QSize minimumSizeHint () const override
 
void setButtonFocus (ButtonCode id)
 
void setButtonGuiItem (ButtonCode id, const KGuiItem &item)
 
void setButtonIcon (ButtonCode id, const QIcon &icon)
 
void setButtons (ButtonCodes buttonMask)
 
void setButtonsOrientation (Qt::Orientation orientation)
 
void setButtonText (ButtonCode id, const QString &text)
 
void setButtonToolTip (ButtonCode id, const QString &text)
 
void setButtonWhatsThis (ButtonCode id, const QString &text)
 
void setDefaultButton (ButtonCode id)
 
void setEscapeButton (ButtonCode id)
 
void setInitialSize (const QSize &size)
 
void setMainWidget (QWidget *widget)
 
void showButton (ButtonCode id, bool state)
 
void showButtonSeparator (bool state)
 
QSize sizeHint () const override
 
 ~KoDialog () override
 

Protected Slots

void slotMethodChanged (const bool &)
 
void slotNameChanged (const QString &)
 
- Protected Slots inherited from KoDialog
virtual void slotButtonClicked (int button)
 

Private Attributes

Ui_WdgDlgFileLayer dlgWidget
 
QString m_basePath
 

Additional Inherited Members

- Public Types inherited from KoDialog
enum  ButtonCode {
  None = 0x00000000 , Help = 0x00000001 , Default = 0x00000002 , Ok = 0x00000004 ,
  Apply = 0x00000008 , Try = 0x00000010 , Cancel = 0x00000020 , Close = 0x00000040 ,
  No = 0x00000080 , Yes = 0x00000100 , Reset = 0x00000200 , Details = 0x00000400 ,
  User1 = 0x00001000 , User2 = 0x00002000 , User3 = 0x00004000 , NoDefault = 0x00008000
}
 
enum  ButtonPopupMode { InstantPopup = 0 , DelayedPopup = 1 }
 
enum  CaptionFlag { NoCaptionFlags = 0 , AppNameCaption = 1 , ModifiedCaption = 2 , HIGCompliantCaption = AppNameCaption }
 
- Public Slots inherited from KoDialog
void delayedDestruct ()
 
void enableButton (ButtonCode id, bool state)
 
void enableButtonApply (bool state)
 
void enableButtonCancel (bool state)
 
void enableButtonOk (bool state)
 
void enableLinkedHelp (bool state)
 
bool isDetailsWidgetVisible () const
 
virtual void setCaption (const QString &caption)
 
virtual void setCaption (const QString &caption, bool modified)
 
void setDetailsWidget (QWidget *detailsWidget)
 
void setDetailsWidgetVisible (bool visible)
 
void setHelp (const QString &anchor, const QString &appname=QString())
 
void setHelpLinkText (const QString &text)
 
virtual void setPlainCaption (const QString &caption)
 
- Signals inherited from KoDialog
void aboutToShowDetails ()
 
void applyClicked ()
 
void buttonClicked (KoDialog::ButtonCode button)
 
void cancelClicked ()
 
void closeClicked ()
 
void defaultClicked ()
 
void finished ()
 
void helpClicked ()
 
void hidden ()
 
void layoutHintChanged ()
 
void noClicked ()
 
void okClicked ()
 
void resetClicked ()
 
void tryClicked ()
 
void user1Clicked ()
 
void user2Clicked ()
 
void user3Clicked ()
 
void yesClicked ()
 
- Static Public Member Functions inherited from KoDialog
static int groupSpacingHint ()
 
static QString makeStandardCaption (const QString &userCaption, QWidget *window=0, CaptionFlags flags=HIGCompliantCaption)
 
static int marginHint ()
 
static void resizeLayout (QLayout *lay, int margin, int spacing)
 
static void resizeLayout (QWidget *widget, int margin, int spacing)
 
static int spacingHint ()
 
- Protected Member Functions inherited from KoDialog
void closeEvent (QCloseEvent *e) override
 
void hideEvent (QHideEvent *) override
 
void keyPressEvent (QKeyEvent *) override
 
void showEvent (QShowEvent *e) override
 

Detailed Description

Create a new file layer

Definition at line 20 of file kis_dlg_file_layer.h.

Constructor & Destructor Documentation

◆ KisDlgFileLayer()

KisDlgFileLayer::KisDlgFileLayer ( const QString & basePath,
const QString & name,
QWidget * parent = 0 )

Create a new file layer

Parameters
basePaththe base path of the layer
namethe proposed name for this layer
parentthe widget parent of this dialog

Definition at line 26 of file kis_dlg_file_layer.cpp.

27 : KoDialog(parent)
28 , m_basePath(basePath)
29{
32 QWidget * page = new QWidget(this);
33 dlgWidget.setupUi(page);
35 dlgWidget.wdgUrlRequester->setMimeTypeFilters(mimes);
36 setMainWidget(page);
37
38 //dlgWidget.wdgUrlRequester->setBasePath(m_basePath);
39 dlgWidget.wdgUrlRequester->setStartDir(m_basePath);
40
41 dlgWidget.txtLayerName->setText(name);
42
43 connect(dlgWidget.wdgUrlRequester, SIGNAL(textChanged(QString)),
44 SLOT(slotNameChanged(QString)));
45
46 dlgWidget.cmbFilter->setIDList(KisFilterStrategyRegistry::instance()->listKeys());
47 dlgWidget.cmbFilter->setCurrent("Bicubic");
48 dlgWidget.cmbFilter->setToolTip(i18nc("@info:tooltip",
49 "<p>Select filtering mode:\n"
50 "<ul>"
51 "<li><b>Nearest neighbor</b> for pixel art. Does not produce new color.</li>"
52 "<li><b>Bilinear</b> for areas with uniform color to avoid artifacts.</li>"
53 "<li><b>Bicubic</b> for smoother results.</li>"
54 "<li><b>Lanczos3</b> for sharp results. May produce aerials.</li>"
55 "</ul></p>"));
56 connect(dlgWidget.radioDontScale, SIGNAL(toggled(bool)),
57 this, SLOT(slotMethodChanged(bool)));
58
59 enableButtonOk(false);
60}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void slotNameChanged(const QString &)
void slotMethodChanged(const bool &)
Ui_WdgDlgFileLayer dlgWidget
static KisFilterStrategyRegistry * instance()
static QStringList supportedMimeTypes(Direction direction)
void enableButtonOk(bool state)
Definition KoDialog.cpp:615
void setMainWidget(QWidget *widget)
Definition KoDialog.cpp:354
void setButtons(ButtonCodes buttonMask)
Definition KoDialog.cpp:195
void setDefaultButton(ButtonCode id)
Definition KoDialog.cpp:302
@ Ok
Show Ok button. (this button accept()s the dialog; result set to QDialog::Accepted)
Definition KoDialog.h:127
@ Cancel
Show Cancel-button. (this button reject()s the dialog; result set to QDialog::Rejected)
Definition KoDialog.h:130
KoDialog(QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags())
Definition KoDialog.cpp:176

References KoDialog::Cancel, connect(), dlgWidget, KoDialog::enableButtonOk(), KisImportExportManager::Import, KisFilterStrategyRegistry::instance(), m_basePath, KoDialog::Ok, KoDialog::setButtons(), KoDialog::setDefaultButton(), KoDialog::setMainWidget(), slotMethodChanged(), slotNameChanged(), and KisImportExportManager::supportedMimeTypes().

Member Function Documentation

◆ fileName()

QString KisDlgFileLayer::fileName ( ) const

Definition at line 119 of file kis_dlg_file_layer.cpp.

120{
121 QString path = dlgWidget.wdgUrlRequester->fileName();
122 QFileInfo fi(path);
123 if (fi.isSymLink()) {
124 path = fi.symLinkTarget();
125 fi = QFileInfo(path);
126 }
127 if (!m_basePath.isEmpty() && fi.isAbsolute()) {
128 QDir directory(m_basePath);
129 path = directory.relativeFilePath(path);
130 }
131
132 return path;
133}

References dlgWidget, and m_basePath.

◆ layerName()

QString KisDlgFileLayer::layerName ( ) const

Definition at line 72 of file kis_dlg_file_layer.cpp.

73{
74 return dlgWidget.txtLayerName->text();
75}

References dlgWidget.

◆ scaleToImageResolution()

KisFileLayer::ScalingMethod KisDlgFileLayer::scaleToImageResolution ( ) const

Definition at line 77 of file kis_dlg_file_layer.cpp.

78{
79 if (dlgWidget.radioDontScale->isChecked()) {
80 return KisFileLayer::None;
81 }
82 else if (dlgWidget.radioScaleToImageSize->isChecked()) {
84 }
85 else {
87 }
88}

References dlgWidget, KisFileLayer::None, KisFileLayer::ToImagePPI, and KisFileLayer::ToImageSize.

◆ scalingFilter()

QString KisDlgFileLayer::scalingFilter ( ) const

Definition at line 90 of file kis_dlg_file_layer.cpp.

91{
92 return dlgWidget.cmbFilter->currentItem().id();
93}

References dlgWidget.

◆ setFileName()

void KisDlgFileLayer::setFileName ( QString fileName)

Definition at line 95 of file kis_dlg_file_layer.cpp.

96{
97 dlgWidget.wdgUrlRequester->setFileName(fileName);
98}
QString fileName() const

References dlgWidget, and fileName().

◆ setScalingFilter()

void KisDlgFileLayer::setScalingFilter ( QString filter)

Definition at line 114 of file kis_dlg_file_layer.cpp.

115{
116 dlgWidget.cmbFilter->setCurrent(filter);
117}

References dlgWidget.

◆ setScalingMethod()

void KisDlgFileLayer::setScalingMethod ( KisFileLayer::ScalingMethod method)

Definition at line 100 of file kis_dlg_file_layer.cpp.

101{
102 dlgWidget.radioDontScale->setChecked(false);
103 dlgWidget.radioScaleToImageSize->setChecked(false);
104 dlgWidget.radioScalePPI->setChecked(false);
105 if (method == KisFileLayer::None) {
106 dlgWidget.radioDontScale->setChecked(true);
107 } else if (method == KisFileLayer::ToImageSize) {
108 dlgWidget.radioScaleToImageSize->setChecked(true);
109 } else {
110 dlgWidget.radioScalePPI->setChecked(true);
111 }
112}

References dlgWidget, KisFileLayer::None, and KisFileLayer::ToImageSize.

◆ slotMethodChanged

void KisDlgFileLayer::slotMethodChanged ( const bool & value)
protectedslot

Definition at line 67 of file kis_dlg_file_layer.cpp.

68{
69 dlgWidget.cmbFilter->setDisabled(value);
70}
float value(const T *src, size_t ch)

References dlgWidget, and value().

◆ slotNameChanged

void KisDlgFileLayer::slotNameChanged ( const QString & text)
protectedslot

Definition at line 62 of file kis_dlg_file_layer.cpp.

63{
64 enableButtonOk(!text.isEmpty());
65}

References KoDialog::enableButtonOk().

Member Data Documentation

◆ dlgWidget

Ui_WdgDlgFileLayer KisDlgFileLayer::dlgWidget
private

Definition at line 50 of file kis_dlg_file_layer.h.

◆ m_basePath

QString KisDlgFileLayer::m_basePath
private

Definition at line 51 of file kis_dlg_file_layer.h.


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