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

#include <dlg_imagesplit.h>

+ Inheritance diagram for DlgImagesplit:

Public Member Functions

bool autoSave ()
 
 DlgImagesplit (KisViewManager *view, const QString &suffix, QStringList listMimeType, int defaultMimeIndex, QImage thumbnail, QList< qreal > hGuides, QList< qreal > vGuides, qreal thumbnailRatio)
 
int horizontalLines ()
 
bool sortHorizontal ()
 
QString suffix ()
 
bool useHorizontalGuides ()
 
bool useVerticalGuides ()
 
int verticalLines ()
 
 ~DlgImagesplit () override
 
- 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
 

Public Attributes

int cmbIndex
 

Private Slots

void applyClicked ()
 
void lineEditEnable ()
 
void setMimeType (int index)
 
void updatePreview ()
 

Private Attributes

QList< qreal > m_horizontalGuides
 
WdgImagesplitm_page
 
QImage m_thumbnail
 
qreal m_thumbnailRatio
 
QList< qreal > m_verticalGuides
 

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 Slots inherited from KoDialog
virtual void slotButtonClicked (int button)
 
- 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

This dialog allows the user to create a selection mask based on a (range of) colors.

Definition at line 23 of file dlg_imagesplit.h.

Constructor & Destructor Documentation

◆ DlgImagesplit()

DlgImagesplit::DlgImagesplit ( KisViewManager * view,
const QString & suffix,
QStringList listMimeType,
int defaultMimeIndex,
QImage thumbnail,
QList< qreal > hGuides,
QList< qreal > vGuides,
qreal thumbnailRatio )

Definition at line 20 of file dlg_imagesplit.cpp.

27{
28 m_page = new WdgImagesplit(this);
29 m_thumbnail = thumbnail;
30 m_horizontalGuides = hGuides;
31 m_verticalGuides = vGuides;
32 m_thumbnailRatio = thumbnailRatio;
33
34 setCaption(i18n("Image Split"));
37
38 connect(this, SIGNAL(applyClicked()), this, SLOT(applyClicked()));
39
41 m_page->lineEdit->setText(suffix);
42 m_page->cmbFileType->clear();
43 m_page->cmbFileType->addItems(listMimeFilter);
44 m_page->cmbFileType->setCurrentIndex(defaultMimeIndex);
45 cmbIndex = defaultMimeIndex;
46
47 connect(m_page->chkAutoSave, SIGNAL(stateChanged(int)), SLOT(lineEditEnable()));
48 connect(m_page->cmbFileType, SIGNAL(activated(int)), this, SLOT(setMimeType(int)));
49 connect(m_page->chkGuidesHorizontal, SIGNAL(toggled(bool)), m_page->intHorizontalSplitLines, SLOT(setDisabled(bool)));
50 connect(m_page->chkGuidesVertical, SIGNAL(toggled(bool)), m_page->intVerticalSplitLines, SLOT(setDisabled(bool)));
51
52 connect(m_page->intVerticalSplitLines, SIGNAL(valueChanged(int)), SLOT(updatePreview()));
53 connect(m_page->intHorizontalSplitLines, SIGNAL(valueChanged(int)), SLOT(updatePreview()));
54 connect(m_page->chkGuidesHorizontal, SIGNAL(toggled(bool)), SLOT(updatePreview()));
55 connect(m_page->chkGuidesVertical, SIGNAL(toggled(bool)), SLOT(updatePreview()));
56
58}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
QList< qreal > m_verticalGuides
void setMimeType(int index)
QList< qreal > m_horizontalGuides
WdgImagesplit * m_page
QWidget * mainWindowAsQWidget() const
void setMainWidget(QWidget *widget)
Definition KoDialog.cpp:354
virtual void setCaption(const QString &caption)
Definition KoDialog.cpp:498
void setButtons(ButtonCodes buttonMask)
Definition KoDialog.cpp:195
void setDefaultButton(ButtonCode id)
Definition KoDialog.cpp:302
@ Apply
Show Apply button.
Definition KoDialog.h:128
@ Close
Show Close-button. (this button closes the dialog)
Definition KoDialog.h:131
KoDialog(QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags())
Definition KoDialog.cpp:176

References KoDialog::Apply, applyClicked(), KoDialog::Close, cmbIndex, connect(), lineEditEnable(), m_horizontalGuides, m_page, m_thumbnail, m_thumbnailRatio, m_verticalGuides, KoDialog::setButtons(), KoDialog::setCaption(), KoDialog::setDefaultButton(), KoDialog::setMainWidget(), setMimeType(), suffix(), and updatePreview().

◆ ~DlgImagesplit()

DlgImagesplit::~DlgImagesplit ( )
override

Definition at line 60 of file dlg_imagesplit.cpp.

61{
62}

Member Function Documentation

◆ applyClicked

void DlgImagesplit::applyClicked ( )
privateslot

Definition at line 176 of file dlg_imagesplit.cpp.

177{
178 accept();
179}

◆ autoSave()

bool DlgImagesplit::autoSave ( )

Definition at line 82 of file dlg_imagesplit.cpp.

83{
84 if (m_page->chkAutoSave->isChecked())
85 return true;
86 else
87 return false;
88}

References m_page.

◆ horizontalLines()

int DlgImagesplit::horizontalLines ( )

Definition at line 98 of file dlg_imagesplit.cpp.

99{
100 return m_page->intHorizontalSplitLines->value();
101}

References m_page.

◆ lineEditEnable

void DlgImagesplit::lineEditEnable ( )
privateslot

Definition at line 64 of file dlg_imagesplit.cpp.

65{
66 if (m_page->chkAutoSave->isChecked()) {
67 m_page->lblSuffix->setEnabled(true);
68 m_page->lineEdit->setEnabled(true);
69 m_page->lblFileType->setEnabled(true);
70 m_page->cmbFileType->setEnabled(true);
71 }
72 else
73 {
74 m_page->lblSuffix->setEnabled(false);
75 m_page->lineEdit->setEnabled(false);
76 m_page->lblFileType->setEnabled(false);
77 m_page->cmbFileType->setEnabled(false);
78 }
79
80}

References m_page.

◆ setMimeType

void DlgImagesplit::setMimeType ( int index)
privateslot

Definition at line 123 of file dlg_imagesplit.cpp.

124{
125 cmbIndex = index;
126}

References cmbIndex.

◆ sortHorizontal()

bool DlgImagesplit::sortHorizontal ( )

Definition at line 90 of file dlg_imagesplit.cpp.

91{
92 if (m_page->chkHorizontal->isChecked())
93 return true;
94 else
95 return false;
96}

References m_page.

◆ suffix()

QString DlgImagesplit::suffix ( )

Definition at line 118 of file dlg_imagesplit.cpp.

119{
120 return m_page->lineEdit->text();
121}

References m_page.

◆ updatePreview

void DlgImagesplit::updatePreview ( )
privateslot

Definition at line 128 of file dlg_imagesplit.cpp.

129{
130 QImage img = QImage(200, 200, QImage::Format_RGBA8888);
131 QPainter painter(&img);
132
133 img.fill(palette().window().color());
134 QPoint point;
135 point.setX((img.width()-m_thumbnail.width())*0.5);
136 point.setY((img.height()-m_thumbnail.height())*0.5);
137
138 painter.setOpacity(0.5);
139 painter.drawImage(point, m_thumbnail);
140
141 painter.setOpacity(1.0);
142 QPen pen = QPen(palette().highlight().color());
143 pen.setWidth(1);
144 painter.setPen(pen);
145
146 if (useHorizontalGuides()) {
147 for (int i = 0; i< m_horizontalGuides.size(); i++) {
148 int lineY = point.y() + (m_thumbnailRatio *m_horizontalGuides[i]);
149 painter.drawLine(point.x(), lineY, point.x()+m_thumbnail.width(), lineY);
150 }
151 } else {
152 int rowHeight = m_thumbnail.height()/(horizontalLines()+1);
153 for (int i = 0; i< horizontalLines(); i++) {
154 int lineY = point.y()+(rowHeight*(i+1));
155 painter.drawLine(point.x(), lineY, point.x()+m_thumbnail.width(), lineY);
156 }
157 }
158
159 if (useVerticalGuides()) {
160 for (int i = 0; i< m_verticalGuides.size(); i++) {
161 int lineX = point.x() + (m_thumbnailRatio *m_verticalGuides[i]);
162 painter.drawLine(lineX, point.y(), lineX, point.y()+m_thumbnail.height());
163 }
164 } else {
165 int columnWidth = m_thumbnail.width()/(verticalLines()+1);
166 for (int i = 0; i< verticalLines(); i++) {
167 int lineX = point.x()+(columnWidth*(i+1));
168 painter.drawLine(lineX, point.y(), lineX, point.y()+m_thumbnail.height());
169 }
170 }
171 painter.end(); // Otherwise there will always be a copy
172
173 m_page->imagePreviewLabel->setPixmap(QPixmap::fromImage(img));
174}
rgba palette[MAX_PALETTE]
Definition palette.c:35

References horizontalLines(), m_horizontalGuides, m_page, m_thumbnail, m_thumbnailRatio, m_verticalGuides, palette, useHorizontalGuides(), useVerticalGuides(), and verticalLines().

◆ useHorizontalGuides()

bool DlgImagesplit::useHorizontalGuides ( )

Definition at line 108 of file dlg_imagesplit.cpp.

109{
110 return m_page->chkGuidesHorizontal->isChecked();
111}

References m_page.

◆ useVerticalGuides()

bool DlgImagesplit::useVerticalGuides ( )

Definition at line 113 of file dlg_imagesplit.cpp.

114{
115 return m_page->chkGuidesVertical->isChecked();
116}

References m_page.

◆ verticalLines()

int DlgImagesplit::verticalLines ( )

Definition at line 103 of file dlg_imagesplit.cpp.

104{
105 return m_page->intVerticalSplitLines->value();
106}

References m_page.

Member Data Documentation

◆ cmbIndex

int DlgImagesplit::cmbIndex

Definition at line 45 of file dlg_imagesplit.h.

◆ m_horizontalGuides

QList<qreal> DlgImagesplit::m_horizontalGuides
private

Definition at line 56 of file dlg_imagesplit.h.

◆ m_page

WdgImagesplit* DlgImagesplit::m_page
private

Definition at line 54 of file dlg_imagesplit.h.

◆ m_thumbnail

QImage DlgImagesplit::m_thumbnail
private

Definition at line 55 of file dlg_imagesplit.h.

◆ m_thumbnailRatio

qreal DlgImagesplit::m_thumbnailRatio
private

Definition at line 58 of file dlg_imagesplit.h.

◆ m_verticalGuides

QList<qreal> DlgImagesplit::m_verticalGuides
private

Definition at line 57 of file dlg_imagesplit.h.


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