Changeset 3adfc87


Ignore:
Timestamp:
02/24/14 12:03:44 (7 months ago)
Author:
Ken Moore <ken@…>
Branches:
master, releng/10.0.1, releng/10.0.2, releng/10.0.3
Children:
4054989, 2b9aed7
Parents:
ae5a5d8
Message:

Fix the logic in the Warden new jail wizard so that it will always show the last error preventing the user from continuing rather than silently preventing the user from continuing.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src-qt4/warden-gui/wizardNewJail.cpp

    rd71f644 r3adfc87  
    111111  goodPal.setColor(QPalette::WindowText,white); 
    112112  labelMessage->setText(QString()); 
    113  
     113  bool ok = true; 
    114114 
    115115  switch (currentId()) { 
     
    117117         // Make sure items are not empty 
    118118         if ( checkIPv4->isChecked() && lineIP->text().isEmpty() ) { 
    119             button(QWizard::NextButton)->setEnabled(false); 
    120             return false; 
     119            ok=false; 
    121120         } 
    122121         if ( checkIPv6->isChecked() && lineIP6->text().isEmpty() ) { 
    123             button(QWizard::NextButton)->setEnabled(false); 
    124             return false; 
     122            ok=false; 
    125123         } 
    126124         if ( lineHost->text().isEmpty() ) { 
    127             button(QWizard::NextButton)->setEnabled(false); 
    128             return false; 
     125            ok=false; 
    129126         } 
    130127         if ( lineHost->text().contains(" ") ) { 
    131             button(QWizard::NextButton)->setEnabled(false); 
    132128            labelMessage->setText(tr("Hostname cannot contain spaces!")); 
    133             return false; 
     129            ok=false; 
    134130         } 
    135131 
     
    137133         for (int i = 0; i < usedHosts.size(); ++i) { 
    138134            if ( usedHosts.at(i).toLower() == lineHost->text().toLower() ) { 
    139                button(QWizard::NextButton)->setEnabled(false); 
    140135               lineHost->setPalette(badPal); 
    141136               labelMessage->setText(tr("Hostname already used!")); 
    142                return false; 
     137               ok=false; 
    143138            } 
    144139         } 
    145140         for (int i = 0; i < usedIP.size(); ++i) 
    146141            if ( usedIP.at(i).contains(lineIP->text() + "/24") ) { 
    147                button(QWizard::NextButton)->setEnabled(false); 
    148142               lineIP->setPalette(badPal); 
    149143               labelMessage->setText(tr("IP already used!")); 
    150                return false; 
     144               ok=false; 
     145               break; 
    151146            } 
    152147 
    153148         // Check if we have a good IPV4 or IPV6 address 
    154149         if ( checkIPv4->isChecked() && ! pcbsd::Utils::validateIPV4(lineIP->text())) { 
    155            button(QWizard::NextButton)->setEnabled(false); 
    156150           lineIP->setPalette(badPal); 
    157151           labelMessage->setText(tr("Invalid IP address!")); 
    158            return false; 
     152           ok=false; 
    159153         } 
    160154 
    161155         if ( checkIPv6->isChecked() && ! pcbsd::Utils::validateIPV6(lineIP6->text()) ) { 
    162            button(QWizard::NextButton)->setEnabled(false); 
    163156           lineIP6->setPalette(badPal); 
    164157           labelMessage->setText(tr("Invalid IPv6 address!")); 
    165            return false; 
     158           ok=false; 
    166159         } 
    167  
    168  
    169          // Got to the end, must be good! 
    170          lineIP->setPalette(goodPal); 
    171          lineHost->setPalette(goodPal); 
    172          button(QWizard::NextButton)->setEnabled(true); 
    173          return true; 
     160        if(!ok){ 
     161           button(QWizard::NextButton)->setEnabled(false); 
     162        }else{ 
     163           // Got to the end, must be good! 
     164           lineIP->setPalette(goodPal); 
     165           lineHost->setPalette(goodPal); 
     166           button(QWizard::NextButton)->setEnabled(true); 
     167        } 
    174168     case Page_Root: 
    175169         if ( lineRoot->text() != lineRoot2->text() ) { 
    176170           button(QWizard::NextButton)->setEnabled(false); 
    177            return false; 
     171           ok = false; 
    178172         } else { 
    179173           button(QWizard::NextButton)->setEnabled(true); 
     
    183177          if ( lineLinuxScript->text().isEmpty() ) { 
    184178            button(QWizard::NextButton)->setEnabled(false); 
    185             return false; 
     179            ok = false; 
    186180          } 
    187181     default: 
    188182         button(QWizard::NextButton)->setEnabled(true); 
    189          return true; 
    190183  } 
    191184 
    192   return true; 
     185  return ok; 
    193186} 
    194187 
Note: See TracChangeset for help on using the changeset viewer.