73{
76
77 Q_UNUSED(f);
81 setModal(false);
82
83 setObjectName(name);
87 d->colorSpace =
d->nodes.first()->colorSpace();
88
89 d->page->editName->setFocus();
91 d->nameProperty->connectIgnoreCheckBox(
d->page->chkName);
92 d->nameProperty->connectAutoEnableWidget(
d->page->editName);
95
96 d->page->intOpacity->setRange(0, 100);
99 d->opacityProperty->connectIgnoreCheckBox(
d->page->chkOpacity);
100 d->opacityProperty->connectAutoEnableWidget(
d->page->intOpacity);
102 d->opacityProperty->connectValueChangedSignal(&
d->updatesCompressor, SLOT(start()));
104
106 d->compositeOpProperty->connectIgnoreCheckBox(
d->page->chkCompositeOp);
107 d->compositeOpProperty->connectAutoEnableWidget(
d->page->cmbComposite);
109 d->compositeOpProperty->connectValueChangedSignal(&
d->updatesCompressor, SLOT(start()));
111
112 d->page->colorLabelSelector->setFocusPolicy(Qt::StrongFocus);
114 d->colorLabelProperty->connectIgnoreCheckBox(
d->page->chkColorLabel);
115 d->colorLabelProperty->connectAutoEnableWidget(
d->page->colorLabelSelector);
117 d->colorLabelProperty->connectValueChangedSignal(&
d->updatesCompressor, SLOT(start()));
119
120 if (!KisLayerUtils::checkNodesDiffer<const KoColorSpace*>(
d->nodes, [](
KisNodeSP node) { return node->colorSpace(); })) {
121
122 d->page->lblColorSpace->setText(
d->colorSpace->name());
124 d->page->lblProfile->setText(profile->name());
125 }
126
127 QRect
bounds =
d->nodes.first()->exactBounds();
128 d->page->lblDimensions->setText(i18nc(
"layer dimensions",
"(%1, %2), (%3, %4)",
133
135 if (!props.isEmpty()) {
136 QVBoxLayout *vbox = new QVBoxLayout;
138 QCheckBox *chk =
new QCheckBox(prop.
name,
this);
139 vbox->addWidget(chk);
140
143 nodes,
145
149
150 d->channelFlagsCheckboxes << chk;
152 }
153
154 d->page->grpActiveChannels->setLayout(vbox);
155 } else {
156 d->page->grpActiveChannels->setVisible(
false);
157 d->page->lineActiveChannels->setVisible(
false);
158 }
159 } else {
160 d->page->grpActiveChannels->setVisible(
false);
161 d->page->lineActiveChannels->setVisible(
false);
162 d->page->cmbComposite->setEnabled(
false);
163 d->page->chkCompositeOp->setEnabled(
false);
164 d->page->lblDimensions->setText(i18n(
"*varies*"));
165 d->page->lblColorSpace->setText(i18n(
"*varies*"));
166 d->page->lblProfile->setText(i18n(
"*varies*"));
167 }
168
169 {
170 QVBoxLayout *vbox = new QVBoxLayout;
171
174 QCheckBox *chk =
new QCheckBox(prop.
name,
this);
175 chk->setIcon(prop.
onIcon);
176 vbox->addWidget(chk);
177
180 nodes,
182
186
187 d->layerPropCheckboxes << chk;
189 }
190
191 d->page->grpProperties->setLayout(vbox);
192 }
193
195}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void slotCompositeOpValueChangedInternally()
void slotNameValueChangedInternally()
void slotOpacityValueChangedExternally()
void slotColorLabelValueChangedExternally()
const QScopedPointer< Private > d
void slotPropertyValueChangedInternally()
void slotOpacityValueChangedInternally()
void slotFlagsValueChangedInternally()
void slotColorLabelValueChangedInternally()
void slotCompositeOpValueChangedExternally()
void slotNameValueChangedExternally()
virtual void connectValueChangedSignal(const QObject *receiver, const char *method, Qt::ConnectionType type=Qt::AutoConnection)=0
virtual void connectIgnoreCheckBox(QCheckBox *ignoreBox)=0
KisImageWSP image() const
Return the image this view is displaying.
void setMainWidget(QWidget *widget)
virtual void setCaption(const QString &caption)
void setButtons(ButtonCodes buttonMask)
void setDefaultButton(ButtonCode id)
@ Ok
Show Ok button. (this button accept()s the dialog; result set to QDialog::Accepted)
@ Cancel
Show Cancel-button. (this button reject()s the dialog; result set to QDialog::Rejected)
KoDialog(QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags())
KisMultinodeProperty< ColorLabelAdapter > KisMultinodeColorLabelProperty
KisMultinodeProperty< OpacityAdapter > KisMultinodeOpacityProperty
KisMultinodeProperty< NameAdapter > KisMultinodeNameProperty
KisMultinodeProperty< CompositeOpAdapter > KisMultinodeCompositeOpProperty
QSharedPointer< T > toQShared(T *ptr)
void sortMergeableNodes(KisNodeSP root, KisNodeList &inputNodes, KisNodeList &outputNodes)
void setText(QSpinBox *spinBox, const QStringView textTemplate)
static PropertyList adaptersList(KisNodeList nodes)
static KisBaseNode::PropertyList adaptersList(KisNodeList nodes)