summaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/common/intvalidator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/common/intvalidator.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/common/intvalidator.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/common/intvalidator.cpp b/SQLiteStudio3/guiSQLiteStudio/common/intvalidator.cpp
new file mode 100644
index 0000000..bfcf7b0
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/common/intvalidator.cpp
@@ -0,0 +1,38 @@
+#include "intvalidator.h"
+
+IntValidator::IntValidator(QObject *parent) :
+ QIntValidator(parent)
+{
+}
+
+IntValidator::IntValidator(int min, int max, QObject* parent)
+ : QIntValidator(min, max, parent)
+{
+}
+
+void IntValidator::fixup(QString& input) const
+{
+ QIntValidator::fixup(input);
+ if (input.trimmed().isEmpty())
+ input = QString::number(defaultValue);
+
+ bool ok;
+ int val = input.toInt(&ok);
+ if (!ok)
+ return;
+
+ if (val < bottom())
+ input = QString::number(bottom());
+ else if (val > top())
+ input = QString::number(top());
+}
+
+int IntValidator::getDefaultValue() const
+{
+ return defaultValue;
+}
+
+void IntValidator::setDefaultValue(int value)
+{
+ defaultValue = value;
+}