src/widgets/doublespinbox.cpp

changeset 253
8b994c917f69
parent 252
da4876bfd822
child 254
b7b29cb82360
--- a/src/widgets/doublespinbox.cpp	Wed Jun 22 20:27:53 2022 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
- *  LDForge: LDraw parts authoring CAD
- *  Copyright (C) 2013 - 2020 Teemu Piippo
- *
- *  This program is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation, either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "doublespinbox.h"
-
-/*
- * Constructs a new double spin box. The locale is fixed to system default "C".
- */
-DoubleSpinBox::DoubleSpinBox(QWidget* parent) :
-	QDoubleSpinBox {parent}
-{
-	this->setLocale({"C"});
-	this->setRange(-1e6, 1e6);
-	this->setDecimals(4);
-}
-
-/*
- * Reimplementation of QDoubleSpinBox::textFromValue to remove trailing zeros.
- */
-QString DoubleSpinBox::textFromValue(double value) const
-{
-	QString result = QDoubleSpinBox::textFromValue(value);
-	if (result.contains("."))
-	{
-		// Remove trailing zeros
-		while (result.endsWith("0"))
-			result.chop(1);
-		// Remove trailing decimal point if we just removed all the zeros.
-		if (result.endsWith("."))
-			result.chop(1);
-	}
-	return result;
-}
-
-/*
- * Reimplementation of QDoubleSpinBox::validate to fix the decimal point if the locale-specific
- * decimal point was used.
- */
-QValidator::State DoubleSpinBox::validate(QString& input, int& pos) const
-{
-	input.replace(QLocale().decimalPoint(), this->locale().decimalPoint());
-	return QDoubleSpinBox::validate(input, pos);
-}

mercurial