diff --git a/libs/ui/dialogs/kis_dlg_layer_style.h b/libs/ui/dialogs/kis_dlg_layer_style.h
--- a/libs/ui/dialogs/kis_dlg_layer_style.h
+++ b/libs/ui/dialogs/kis_dlg_layer_style.h
@@ -252,6 +252,8 @@
void notifyGuiConfigChanged();
void notifyPredefinedStyleSelected(KisPSDLayerStyleSP style);
+ void slotBevelAndEmbossChanged(QListWidgetItem*);
+
void changePage(QListWidgetItem *, QListWidgetItem*);
void slotNotifyOnAccept();
diff --git a/libs/ui/dialogs/kis_dlg_layer_style.cpp b/libs/ui/dialogs/kis_dlg_layer_style.cpp
--- a/libs/ui/dialogs/kis_dlg_layer_style.cpp
+++ b/libs/ui/dialogs/kis_dlg_layer_style.cpp
@@ -101,14 +101,18 @@
wdgLayerStyles.stylesStack->addWidget(m_innerGlow);
connect(m_innerGlow, SIGNAL(configChanged()), SLOT(notifyGuiConfigChanged()));
+ // Contour and Texture are sub-styles of Bevel and Emboss
+ // They are only applied to canvas when Bevel and Emboss is active.
m_contour = new Contour(this);
m_texture = new Texture(this);
m_bevelAndEmboss = new BevelAndEmboss(m_contour, m_texture, this);
wdgLayerStyles.stylesStack->addWidget(m_bevelAndEmboss);
wdgLayerStyles.stylesStack->addWidget(m_contour);
wdgLayerStyles.stylesStack->addWidget(m_texture);
+ // slotBevelAndEmbossChanged(QListWidgetItem*) enables/disables Contour and Texture on "Bevel and Emboss" toggle.
+ connect(wdgLayerStyles.lstStyleSelector, SIGNAL(itemClicked(QListWidgetItem*)), SLOT(slotBevelAndEmbossChanged(QListWidgetItem*)));
connect(m_bevelAndEmboss, SIGNAL(configChanged()), SLOT(notifyGuiConfigChanged()));
m_satin = new Satin(this);
@@ -196,6 +200,32 @@
m_configChangedCompressor->start();
}
+void KisDlgLayerStyle::slotBevelAndEmbossChanged(QListWidgetItem*) {
+ QListWidgetItem *item;
+
+ if (wdgLayerStyles.lstStyleSelector->item(6)->checkState() == Qt::Checked) {
+ // Enable "Contour" (list item 7)
+ item = wdgLayerStyles.lstStyleSelector->item(7);
+ Qt::ItemFlags currentFlags7 = item->flags();
+ item->setFlags(currentFlags7 | Qt::ItemIsEnabled);
+
+ // Enable "Texture" (list item 8)
+ item = wdgLayerStyles.lstStyleSelector->item(8);
+ Qt::ItemFlags currentFlags8 = item->flags();
+ item->setFlags(currentFlags8 | Qt::ItemIsEnabled);
+ }
+ else {
+ // Disable "Contour"
+ item = wdgLayerStyles.lstStyleSelector->item(7);
+ Qt::ItemFlags currentFlags7 = item->flags();
+ item->setFlags(currentFlags7 & (~Qt::ItemIsEnabled));
+
+ // Disable "Texture"
+ item = wdgLayerStyles.lstStyleSelector->item(8);
+ Qt::ItemFlags currentFlags8 = item->flags();
+ item->setFlags(currentFlags8 & (~Qt::ItemIsEnabled));
+ }
+}
void KisDlgLayerStyle::slotNotifyOnAccept()
{
diff --git a/libs/ui/layerstyles/wdglayerstyles.ui b/libs/ui/layerstyles/wdglayerstyles.ui
--- a/libs/ui/layerstyles/wdglayerstyles.ui
+++ b/libs/ui/layerstyles/wdglayerstyles.ui
@@ -6,8 +6,8 @@
0
0
- 473
- 335
+ 1607
+ 924
@@ -82,14 +82,20 @@
Unchecked
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsUserCheckable
+
-
Texture
Unchecked
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsUserCheckable
+
-