From be1cf4044feb68339695e894bc776621b49cb07f Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Sun, 16 Apr 2017 22:39:00 +0200 Subject: [PATCH] Sketcher: Hide Internal Alignment Constraints --- .../Sketcher/Gui/TaskSketcherConstrains.cpp | 17 ++++++++++++++- src/Mod/Sketcher/Gui/TaskSketcherConstrains.h | 1 + .../Sketcher/Gui/TaskSketcherConstrains.ui | 21 +++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp index 0494dc8c36..e8c187e684 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp +++ b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp @@ -53,6 +53,7 @@ #include #include #include +#include using namespace SketcherGui; using namespace Gui::TaskView; @@ -547,17 +548,24 @@ TaskSketcherConstrains::TaskSketcherConstrains(ViewProviderSketch *sketchView) ui->listWidgetConstraints, SIGNAL(onUpdateDrivingStatus(QListWidgetItem *, bool)), this , SLOT (on_listWidgetConstraints_updateDrivingStatus(QListWidgetItem *, bool)) ); + QObject::connect( + ui->filterInternalAlignment, SIGNAL(stateChanged(int)), + this , SLOT (on_filterInternalAlignment_stateChanged(int)) + ); connectionConstraintsChanged = sketchView->signalConstraintsChanged.connect( boost::bind(&SketcherGui::TaskSketcherConstrains::slotConstraintsChanged, this)); this->groupLayout()->addWidget(proxy); + this->ui->filterInternalAlignment->onRestore(); + slotConstraintsChanged(); } TaskSketcherConstrains::~TaskSketcherConstrains() { + this->ui->filterInternalAlignment->onSave(); connectionConstraintsChanged.disconnect(); delete ui; } @@ -610,6 +618,12 @@ void TaskSketcherConstrains::on_comboBoxFilter_currentIndexChanged(int) slotConstraintsChanged(); } +void TaskSketcherConstrains::on_filterInternalAlignment_stateChanged(int state) +{ + Q_UNUSED(state); + slotConstraintsChanged(); +} + void TaskSketcherConstrains::on_listWidgetConstraints_emitCenterSelectedItems() { sketchView->centerSelection(); @@ -740,6 +754,7 @@ void TaskSketcherConstrains::slotConstraintsChanged(void) bool showDatums = (Filter < 3); bool showNamed = (Filter == 3 && !(constraint->Name.empty())); bool showNonDriving = (Filter == 4 && !constraint->isDriving); + bool hideInternalAligment = this->ui->filterInternalAlignment->isChecked(); switch(constraint->Type) { case Sketcher::Horizontal: @@ -762,7 +777,7 @@ void TaskSketcherConstrains::slotConstraintsChanged(void) visible = (showDatums || showNamed || showNonDriving); break; case Sketcher::InternalAlignment: - visible = (showNormal || showNamed); + visible = ((showNormal || showNamed) && !hideInternalAligment); default: break; } diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h index e21c3a1c2e..3d33f18816 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h +++ b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h @@ -84,6 +84,7 @@ public Q_SLOTS: void on_listWidgetConstraints_itemChanged(QListWidgetItem * item); void on_listWidgetConstraints_updateDrivingStatus(QListWidgetItem *item, bool status); void on_listWidgetConstraints_emitCenterSelectedItems(void); + void on_filterInternalAlignment_stateChanged(int state); protected: void changeEvent(QEvent *e); diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.ui b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.ui index e344479f3b..03261fab4b 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.ui +++ b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.ui @@ -57,6 +57,22 @@ + + + + Hide Internal Aligment + + + true + + + HideInternalAlignment + + + Mod/Sketcher + + + @@ -72,6 +88,11 @@ QListWidget
QListWidget
+ + Gui::PrefCheckBox + QCheckBox +
Gui/PrefWidgets.h
+