[771] | 1 | #include "packagepage3.h"
|
---|
| 2 | #include "ui_packagepage3.h"
|
---|
| 3 |
|
---|
| 4 | PackagePage3::PackagePage3(QWidget *parent) :
|
---|
| 5 | QWizardPage(parent),
|
---|
| 6 | ui(new Ui::PackagePage3)
|
---|
| 7 | {
|
---|
| 8 | ui->setupUi(this);
|
---|
| 9 | this->setTitle("Optional Fields");
|
---|
| 10 | this->setSubTitle("Separate multiple elements by commas.");
|
---|
| 11 |
|
---|
| 12 | //Register fields
|
---|
| 13 | registerField("leDependentPackages", ui->leDependent);
|
---|
| 14 | registerField("leIncompatiblePackages", ui->leIncompatible);
|
---|
| 15 | registerField("leUnlockLevels", ui->leUnlockLevels);
|
---|
| 16 | }
|
---|
| 17 |
|
---|
| 18 | bool PackagePage3::validatePage(){
|
---|
| 19 | QString dependentPackages=ui->leDependent->text().trimmed();
|
---|
| 20 | QString incompatiblePackages=ui->leIncompatible->text().trimmed();
|
---|
| 21 | QString unlockLevels=ui->leUnlockLevels->text().trimmed();
|
---|
| 22 |
|
---|
| 23 | if(!validateField(dependentPackages) || !validateField(incompatiblePackages)
|
---|
| 24 | || !validateField(unlockLevels,true)){
|
---|
| 25 | return false;
|
---|
| 26 | }
|
---|
| 27 |
|
---|
| 28 | return true;
|
---|
| 29 | }
|
---|
| 30 |
|
---|
| 31 | bool PackagePage3::validateField(QString &field, bool isLevels){
|
---|
| 32 | //Check if the numbers are correct and correctly separated
|
---|
| 33 | if(!field.isEmpty()){
|
---|
| 34 |
|
---|
[1093] | 35 | QStringList list =Util::String::substring(field,",");
|
---|
[771] | 36 |
|
---|
| 37 | for(int i=0; i<list.size(); i++){
|
---|
| 38 |
|
---|
| 39 | if(list.at(i).isEmpty()){
|
---|
[1093] | 40 | Util::Dialogs::showError("There are commas without numbers in their sides.");
|
---|
[771] | 41 | return false;
|
---|
| 42 | }
|
---|
| 43 |
|
---|
[1093] | 44 | if(!Util::Validation::isStringInteger(list.at(i))){
|
---|
| 45 | Util::Dialogs::showError("Number is not numeric.");
|
---|
[771] | 46 | return false;
|
---|
| 47 | }
|
---|
| 48 |
|
---|
| 49 | if(!isLevels){
|
---|
| 50 | if(list.at(i).size()!=5){
|
---|
[1093] | 51 | Util::Dialogs::showError("You have invalid packages numbers. Each number must have 5 digits.");
|
---|
[771] | 52 | return false;
|
---|
| 53 | }
|
---|
| 54 | }
|
---|
| 55 | }
|
---|
| 56 | }
|
---|
| 57 |
|
---|
| 58 | return true;
|
---|
| 59 | }
|
---|
| 60 |
|
---|
| 61 | PackagePage3::~PackagePage3()
|
---|
| 62 | {
|
---|
| 63 | delete ui;
|
---|
| 64 | }
|
---|