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,14 +44,20 @@ void setGridDivision(int w, int h); + bool showRulers() const; + +public Q_SLOTS: + void setShowRulers(bool value); + private Q_SLOTS: void slotGridGuiChanged(); void slotGuidesGuiChanged(); void slotGridTypeChanged(); Q_SIGNALS: void gridValueChanged(); void guidesValueChanged(); + void showRulersChanged(bool); 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(bool))); } GridConfigWidget::~GridConfigWidget() @@ -322,7 +324,13 @@ slotGridGuiChanged(); } +bool GridConfigWidget::showRulers() const +{ + return ui->chkShowRulers->isChecked(); +} - - +void GridConfigWidget::setShowRulers(bool value) +{ + ui->chkShowRulers->setChecked(value); +} 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.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(m_configWidget,SIGNAL(showRulersChanged(bool)),action,SLOT(setChecked(bool))); + m_canvasConnections.addConnection(action,SIGNAL(toggled(bool)),m_configWidget,SLOT(setShowRulers(bool))); + m_configWidget->setShowRulers(action->isChecked()); + m_canvasConnections.addConnection( m_canvas->viewManager()->guidesManager(), SIGNAL(sigRequestUpdateGuidesConfig(const KisGuidesConfig&)),