| 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 |  | 
 
 
 
 
 | 35 | QStringList list =Util::substring(field,","); | 
 
 
 
 
 | 36 |  | 
 
 
 
 
 | 37 | for(int i=0; i<list.size(); i++){ | 
 
 
 
 
 | 38 |  | 
 
 
 
 
 | 39 | if(list.at(i).isEmpty()){ | 
 
 
 
 
 | 40 | Util::showErrorPopUp("There are commas without numbers in their sides."); | 
 
 
 
 
 | 41 | return false; | 
 
 
 
 
 | 42 | } | 
 
 
 
 
 | 43 |  | 
 
 
 
 
 | 44 | if(!Util::isStringInteger(list.at(i))){ | 
 
 
 
 
 | 45 | Util::showErrorPopUp("Number is not numeric."); | 
 
 
 
 
 | 46 | return false; | 
 
 
 
 
 | 47 | } | 
 
 
 
 
 | 48 |  | 
 
 
 
 
 | 49 | if(!isLevels){ | 
 
 
 
 
 | 50 | if(list.at(i).size()!=5){ | 
 
 
 
 
 | 51 | Util::showErrorPopUp("You have invalid packages numbers. Each number must have 5 digits."); | 
 
 
 
 
 | 52 | return false; | 
 
 
 
 
 | 53 | } | 
 
 
 
 
 | 54 | } | 
 
 
 
 
 | 55 | } | 
 
 
 
 
 | 56 | } | 
 
 
 
 
 | 57 |  | 
 
 
 
 
 | 58 | return true; | 
 
 
 
 
 | 59 | } | 
 
 
 
 
 | 60 |  | 
 
 
 
 
 | 61 | PackagePage3::~PackagePage3() | 
 
 
 
 
 | 62 | { | 
 
 
 
 
 | 63 | delete ui; | 
 
 
 
 
 | 64 | } |