diff --git a/plugins/dockers/griddocker/grid_config_widget.h b/plugins/dockers/griddocker/grid_config_widget.h
--- a/plugins/dockers/griddocker/grid_config_widget.h
+++ b/plugins/dockers/griddocker/grid_config_widget.h
@@ -44,6 +44,11 @@
void setGridDivision(int w, int h);
+ bool showRulers() const;
+
+public Q_SLOTS:
+ void setShowRulers(bool value);
+
private Q_SLOTS:
void slotGridGuiChanged();
void slotGuidesGuiChanged();
@@ -52,6 +57,7 @@
Q_SIGNALS:
void gridValueChanged();
void guidesValueChanged();
+ void showRulersChanged();
private:
KisGridConfig fetchGuiGridConfig() const;
diff --git a/plugins/dockers/griddocker/grid_config_widget.cpp b/plugins/dockers/griddocker/grid_config_widget.cpp
--- a/plugins/dockers/griddocker/grid_config_widget.cpp
+++ b/plugins/dockers/griddocker/grid_config_widget.cpp
@@ -113,6 +113,8 @@
connect(spacingLocker, SIGNAL(sliderValueChanged()), SLOT(slotGridGuiChanged()));
connect(spacingLocker, SIGNAL(aspectButtonChanged()), SLOT(slotGridGuiChanged()));
+
+ connect(ui->chkShowRulers,SIGNAL(toggled(bool)),SIGNAL(showRulersChanged()));
}
GridConfigWidget::~GridConfigWidget()
@@ -322,7 +324,14 @@
slotGridGuiChanged();
}
+bool GridConfigWidget::showRulers() const
+{
+ return ui->chkShowRulers->isChecked();
+}
-
-
+void GridConfigWidget::setShowRulers(bool value)
+{
+ ui->chkShowRulers->setChecked(value);
+ emit showRulersChanged();
+}
diff --git a/plugins/dockers/griddocker/grid_config_widget.ui b/plugins/dockers/griddocker/grid_config_widget.ui
--- a/plugins/dockers/griddocker/grid_config_widget.ui
+++ b/plugins/dockers/griddocker/grid_config_widget.ui
@@ -32,7 +32,7 @@
- 0
+ 1
@@ -589,6 +589,13 @@
+ -
+
+
+ Show rulers
+
+
+
-
diff --git a/plugins/dockers/griddocker/griddocker_dock.h b/plugins/dockers/griddocker/griddocker_dock.h
--- a/plugins/dockers/griddocker/griddocker_dock.h
+++ b/plugins/dockers/griddocker/griddocker_dock.h
@@ -45,6 +45,8 @@
void slotGuiGuidesConfigChanged();
void slotGuidesConfigUpdateRequested(const KisGuidesConfig &config);
+ void slotShowRulersConfigChanged();
+
private:
GridConfigWidget *m_configWidget;
QPointer m_canvas;
diff --git a/plugins/dockers/griddocker/griddocker_dock.cpp b/plugins/dockers/griddocker/griddocker_dock.cpp
--- a/plugins/dockers/griddocker/griddocker_dock.cpp
+++ b/plugins/dockers/griddocker/griddocker_dock.cpp
@@ -34,6 +34,7 @@
#include "kis_grid_config.h"
#include "kis_guides_manager.h"
#include "kis_guides_config.h"
+#include "kis_action.h"
GridDockerDock::GridDockerDock( )
@@ -72,6 +73,12 @@
this,
SLOT(slotGridConfigUpdateRequested(const KisGridConfig&)));
+ KisAction* action = m_canvas->viewManager()->actionManager()->actionByName("view_ruler");
+
+ m_canvasConnections.addConnection(action,SIGNAL(toggled(bool)),m_configWidget,SLOT(setShowRulers(bool)));
+ m_canvasConnections.addConnection(m_configWidget,SIGNAL(showRulersChanged()),this,SLOT(slotShowRulersConfigChanged()));
+ m_configWidget->setShowRulers(action->isChecked());
+
m_canvasConnections.addConnection(
m_canvas->viewManager()->guidesManager(),
SIGNAL(sigRequestUpdateGuidesConfig(const KisGuidesConfig&)),
@@ -109,3 +116,9 @@
{
m_configWidget->setGuidesConfig(config);
}
+
+void GridDockerDock::slotShowRulersConfigChanged()
+{
+ if(!m_canvas) return;
+ m_canvas->viewManager()->actionManager()->actionByName("view_ruler")->setChecked(m_configWidget->showRulers());
+}