diff options
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/plugins/populaterandom.cpp')
| -rw-r--r-- | SQLiteStudio3/coreSQLiteStudio/plugins/populaterandom.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/plugins/populaterandom.cpp b/SQLiteStudio3/coreSQLiteStudio/plugins/populaterandom.cpp new file mode 100644 index 0000000..3258bbc --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/plugins/populaterandom.cpp @@ -0,0 +1,55 @@ +#include "populaterandom.h" +#include "services/populatemanager.h" +#include "common/unused.h" +#include <QDateTime> + +PopulateRandom::PopulateRandom() +{ +} + +QString PopulateRandom::getTitle() const +{ + return tr("Random number"); +} + +PopulateEngine* PopulateRandom::createEngine() +{ + return new PopulateRandomEngine(); +} + +bool PopulateRandomEngine::beforePopulating(Db* db, const QString& table) +{ + UNUSED(db); + UNUSED(table); + qsrand(QDateTime::currentDateTime().toTime_t()); + range = cfg.PopulateRandom.MaxValue.get() - cfg.PopulateRandom.MinValue.get() + 1; + return (range > 0); +} + +QVariant PopulateRandomEngine::nextValue(bool& nextValueError) +{ + UNUSED(nextValueError); + QString randValue = QString::number((qrand() % range) + cfg.PopulateRandom.MinValue.get()); + return (cfg.PopulateRandom.Prefix.get() + randValue + cfg.PopulateRandom.Suffix.get()); +} + +void PopulateRandomEngine::afterPopulating() +{ +} + +CfgMain* PopulateRandomEngine::getConfig() +{ + return &cfg; +} + +QString PopulateRandomEngine::getPopulateConfigFormName() const +{ + return QStringLiteral("PopulateRandomConfig"); +} + +bool PopulateRandomEngine::validateOptions() +{ + bool valid = (cfg.PopulateRandom.MinValue.get() <= cfg.PopulateRandom.MaxValue.get()); + POPULATE_MANAGER->handleValidationFromPlugin(valid, cfg.PopulateRandom.MaxValue, QObject::tr("Maximum value cannot be less than minimum value.")); + return valid; +} |
