diff --git a/plugins/filters/colorsfilters/kis_perchannel_filter.h b/plugins/filters/colorsfilters/kis_perchannel_filter.h
--- a/plugins/filters/colorsfilters/kis_perchannel_filter.h
+++ b/plugins/filters/colorsfilters/kis_perchannel_filter.h
@@ -110,6 +110,7 @@
private Q_SLOTS:
virtual void setActiveChannel(int ch);
+ void logHistView();
private:
diff --git a/plugins/filters/colorsfilters/kis_perchannel_filter.cpp b/plugins/filters/colorsfilters/kis_perchannel_filter.cpp
--- a/plugins/filters/colorsfilters/kis_perchannel_filter.cpp
+++ b/plugins/filters/colorsfilters/kis_perchannel_filter.cpp
@@ -110,6 +110,8 @@
}
connect(m_page->cmbChannel, SIGNAL(activated(int)), this, SLOT(setActiveChannel(int)));
+ connect((QObject*)(m_page->chkLogarithmic), SIGNAL(toggled(bool)), this, SLOT(logHistView()));
+
// create the horizontal and vertical gradient labels
m_page->hgradient->setPixmap(createGradient(Qt::Horizontal));
@@ -172,6 +174,14 @@
int height = 256;
QPixmap pix(256, height);
+ bool logarithmic = m_page->chkLogarithmic->isChecked();
+
+ if (logarithmic)
+ m_histogram->setHistogramType(LOGARITHMIC);
+ else
+ m_histogram->setHistogramType(LINEAR);
+
+
QPalette appPalette = QApplication::palette();
pix.fill(QColor(appPalette.color(QPalette::Base)));
@@ -596,3 +606,8 @@
Q_UNUSED(config);
return cs->colorModelId() == AlphaColorModelID;
}
+
+void KisPerChannelConfigWidget::logHistView()
+{
+ m_page->curveWidget->setPixmap(getHistogram());
+}
diff --git a/plugins/filters/colorsfilters/wdg_perchannel.ui b/plugins/filters/colorsfilters/wdg_perchannel.ui
--- a/plugins/filters/colorsfilters/wdg_perchannel.ui
+++ b/plugins/filters/colorsfilters/wdg_perchannel.ui
@@ -208,6 +208,26 @@
-
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 10
+ 10
+
+
+
+
+ -
+
+
+ Logarithmic
+
+
+
-