Krita Source Code Documentation
Loading...
Searching...
No Matches
dlg_separate.cc
Go to the documentation of this file.
1/*
2 * dlg_separate.cc - part of KimageShop^WKrayon^WKrita
3 *
4 * SPDX-FileCopyrightText: 2004 Boudewijn Rempt <boud@valdyas.org>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8
9#include "dlg_separate.h"
10
11#include <QRadioButton>
12#include <QCheckBox>
13
14#include <KisDialogStateSaver.h>
15
16#include <klocalizedstring.h>
17#include <kis_debug.h>
18DlgSeparate::DlgSeparate(const QString & imageCS,
19 const QString & layerCS,
20 QWidget * parent,
21 const char * name)
22 : KoDialog(parent)
23 , m_imageCS(imageCS)
24 , m_layerCS(layerCS)
25{
26 setObjectName(name);
27 setCaption(i18n("Separate Image"));
30
31 m_page = new WdgSeparations(this);
32 Q_CHECK_PTR(m_page);
34 resize(m_page->sizeHint());
35
36 m_page->lblColormodel->setText(layerCS);
37 connect(m_page->radioCurrentLayer, SIGNAL(toggled(bool)), this, SLOT(slotSetColorSpaceLabel()));
38 connect(m_page->radioAllLayers, SIGNAL(toggled(bool)), this, SLOT(slotSetColorSpaceLabel()));
39 connect(m_page->chkColors, SIGNAL(toggled(bool)), this, SLOT(separateToColorActivated(bool)));
40
41 connect(this, SIGNAL(okClicked()),
42 this, SLOT(okClicked()));
43
44 KisDialogStateSaver::restoreState(m_page, "krita/separate channels");
45}
46
48{
49 KisDialogStateSaver::saveState(m_page, "krita/separate channels");
50 delete m_page;
51}
53{
54 if (m_page->radioCopyAlpha->isChecked()) return COPY_ALPHA_TO_SEPARATIONS;
55 if (m_page->radioDiscardAlpha->isChecked()) return DISCARD_ALPHA;
56 if (m_page->radioSeparateAlpha->isChecked()) return CREATE_ALPHA_SEPARATION;
57
59}
60
62{
63 if (m_page->radioCurrentLayer->isChecked()) return CURRENT_LAYER;
64 if (m_page->radioAllLayers->isChecked()) return ALL_LAYERS;
65 return CURRENT_LAYER;
66}
67
69{
70 return m_page->chkDownscale->isChecked();
71}
72
74{
75 return m_page->chkColors->isChecked();
76}
77
79{
80 return m_page->chkActivateCurrentChannel->isChecked();
81}
82
84{
85 accept();
86}
87
89{
90 if (m_canDownScale) {
91 m_page->chkDownscale->setDisabled(disable);
92 }
93 m_page->chkActivateCurrentChannel->setDisabled(!disable);
94}
95
97{
98 if (m_page->radioCopyAlpha->isChecked()) {
99 m_page->lblColormodel->setText(m_layerCS);
100 } else if (m_page->radioAllLayers->isChecked()) {
101 m_page->lblColormodel->setText(m_imageCS);
102 }
103}
105{
106 m_canDownScale = enable;
107 m_page->chkDownscale->setEnabled(enable);
108}
109
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
bool getDownscale()
void enableDownscale(bool enable)
QString m_imageCS
~DlgSeparate() override
enumSepSource getSource()
WdgSeparations * m_page
bool m_canDownScale
enumSepAlphaOptions getAlphaOptions()
DlgSeparate(const QString &imageCS, const QString &layerCS, QWidget *parent=0, const char *name=0)
bool getToColor()
void separateToColorActivated(bool disable)
void okClicked()
QString m_layerCS
bool getActivateCurrentChannel()
void slotSetColorSpaceLabel()
A dialog base class with standard buttons and predefined layouts.
Definition KoDialog.h:116
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
@ 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
@ CURRENT_LAYER
enumSepAlphaOptions
@ COPY_ALPHA_TO_SEPARATIONS
@ DISCARD_ALPHA
@ CREATE_ALPHA_SEPARATION
KRITAWIDGETUTILS_EXPORT void restoreState(QWidget *parent, const QString &dialogName, const QMap< QString, QVariant > &defaults=QMap< QString, QVariant >())
restoreState restores the state of the dialog
KRITAWIDGETUTILS_EXPORT void saveState(QWidget *parent, const QString &dialogName)
saveState saves the state for the specified widgets