From b8f94cbbd62338496a5f15d07e77a1d8441a4a5f Mon Sep 17 00:00:00 2001 From: wmayer Date: Mon, 18 Nov 2013 14:09:52 +0100 Subject: [PATCH] + allow to set custom tolerances on validate sketch tool --- src/Mod/Sketcher/Gui/TaskSketcherValidation.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Mod/Sketcher/Gui/TaskSketcherValidation.cpp b/src/Mod/Sketcher/Gui/TaskSketcherValidation.cpp index bd5dbc58db2d..fb44ed3b5b78 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherValidation.cpp +++ b/src/Mod/Sketcher/Gui/TaskSketcherValidation.cpp @@ -25,6 +25,7 @@ #ifndef _PreComp_ # include +# include # include # include # include @@ -75,6 +76,8 @@ SketcherValidation::SketcherValidation(Sketcher::SketchObject* Obj, QWidget* par ui->comboBoxTolerance->addItem(QLocale::system().toString(tolerances[i]), QVariant(tolerances[i])); } ui->comboBoxTolerance->setCurrentIndex(5); + ui->comboBoxTolerance->setEditable(true); + ui->comboBoxTolerance->setValidator(new QDoubleValidator(0,10,10,this)); } SketcherValidation::~SketcherValidation() @@ -200,7 +203,12 @@ void SketcherValidation::on_findButton_clicked() } std::set coincidences; - double prec = ui->comboBoxTolerance->itemData(ui->comboBoxTolerance->currentIndex()).toDouble(); + double prec = Precision::Confusion(); + QVariant v = ui->comboBoxTolerance->itemData(ui->comboBoxTolerance->currentIndex()); + if (v.isValid()) + prec = v.toDouble(); + else + prec = QLocale::system().toDouble(ui->comboBoxTolerance->currentText()); std::sort(vertexIds.begin(), vertexIds.end(), Vertex_Less(prec)); std::vector::iterator vt = vertexIds.begin(); Vertex_EqualTo pred(prec);