diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/common/intvalidator.cpp')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/common/intvalidator.cpp | 38 |
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; +} |
