Changeset 5dbb9c2


Ignore:
Timestamp:
Jun 12, 2013 10:13:21 AM (10 months ago)
Author:
Kris Moore <kris@…>
Branches:
master, 9.2-release, releng/10.0, releng/10.0.1
Children:
ed41975
Parents:
a071509
Message:

Add new template combobox to warden GUI, which will allow users to pick from other FreeBSD version/arch templates

Location:
src-qt4/warden-gui
Files:
5 edited

Legend:

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

    r42584ef r5dbb9c2  
    899899      newJailWizard->setHostIPUsed(uH, uI); 
    900900       
    901       connect( newJailWizard, SIGNAL(create(const QString &, const QString &, const QString &, bool, bool, const QString &, bool, bool, bool, bool, const QString &)), this, SLOT(slotCreateNewJail(const QString &, const QString &, const QString &, bool, bool, const QString &, bool, bool, bool, bool, const QString &) ) ); 
     901      connect( newJailWizard, SIGNAL(create(const QString &, const QString &, const QString &, bool, bool, const QString &, bool, bool, bool, bool, const QString &, const QString &)), this, SLOT(slotCreateNewJail(const QString &, const QString &, const QString &, bool, bool, const QString &, bool, bool, bool, bool, const QString &, const QString &) ) ); 
    902902      newJailWizard->show(); 
    903903} 
    904904 
    905905 
    906 void dialogWarden::slotCreateNewJail( const QString &IP, const QString &IP6, const QString &host, bool tradjail, bool PCUtils, const QString &rootpw, bool src, bool ports, bool autostart, bool linuxJail, const QString &linuxScript ) 
     906void dialogWarden::slotCreateNewJail( const QString &IP, const QString &IP6, const QString &host, bool tradjail, bool PCUtils, const QString &rootpw, bool src, bool ports, bool autostart, bool linuxJail, const QString &linuxScript, const QString &tplate ) 
    907907{ 
    908908    if ( tradjail || linuxJail ) 
     
    940940        args << IP6; 
    941941      } 
     942 
     943      if ( ! linuxJail && ! tplate.isEmpty() ) 
     944        args << "--template" << tplate.section(" ", 0, 0); 
    942945 
    943946      if ( tradjail && ! PCUtils ) 
  • src-qt4/warden-gui/dialogwarden.h

    r42584ef r5dbb9c2  
    5454    void slotReadPkgsOutput(); 
    5555    void slotClickedNewJail(); 
    56     void slotCreateNewJail( const QString &, const QString &, const QString &, bool, bool, const QString &, bool, bool, bool, bool, const QString & ); 
     56    void slotCreateNewJail( const QString &, const QString &, const QString &, bool, bool, const QString &, bool, bool, bool, bool, const QString &, const QString &); 
    5757    void slotReadCreateOutput(); 
    5858    void slotFinishedJailCreate(); 
  • src-qt4/warden-gui/wizardNewJail.cpp

    r1620346 r5dbb9c2  
    1313#include "pcbsd-utils.h" 
    1414#include <QDebug> 
     15#include <QProcess> 
    1516#include <QFileDialog> 
    1617 
     
    2930    connect(pushLinuxScript, SIGNAL(clicked()), this, SLOT(slotSelectLinuxScript()) ); 
    3031    connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(slotCheckComplete()) ); 
     32    loadTemplates(); 
     33} 
     34 
     35void wizardNewJail::loadTemplates() 
     36{ 
     37   comboTemplate->clear(); 
     38   comboTemplate->addItem(tr("Use host Version + Architecture (default)")); 
     39   // Load any available templates 
     40   QProcess m; 
     41   m.start(QString("warden"), QStringList() << "template" << "list"); 
     42   while(m.state() == QProcess::Starting || m.state() == QProcess::Running) { 
     43      m.waitForFinished(200); 
     44      QCoreApplication::processEvents(); 
     45   } 
     46   // Get output of mount now 
     47   int i = 0; 
     48   QString tmp; 
     49   while (m.canReadLine()) { 
     50     i++; 
     51     tmp = m.readLine().simplified(); 
     52     // Skip first two header lines 
     53     if ( i > 2) 
     54       comboTemplate->addItem(tmp); 
     55   } 
    3156} 
    3257 
     
    5479void wizardNewJail::accept() 
    5580{ 
    56     QString ip4, ip6; 
     81    QString ip4, ip6, tplate; 
    5782    if ( checkIPv4->isChecked() ) 
    5883       ip4 = lineIP->text(); 
    5984    if ( checkIPv6->isChecked() ) 
    6085       ip6 = lineIP6->text(); 
     86 
     87    if ( comboTemplate->currentIndex() != 0 ) 
     88    tplate = comboTemplate->currentText().section(" ", 0, 0); 
    6189     
    6290    emit create(ip4, ip6, lineHost->text(), radioTraditionalJail->isChecked(), checkPCBSDUtils->isChecked(), 
    6391                lineRoot->text(), checkSystemSource->isChecked(), checkPortsTree->isChecked(), 
    64                 checkAutostart->isChecked(), radioLinuxJail->isChecked(), lineLinuxScript->text()); 
     92                checkAutostart->isChecked(), radioLinuxJail->isChecked(), lineLinuxScript->text(), tplate); 
    6593    close(); 
    6694     
  • src-qt4/warden-gui/wizardNewJail.h

    r1620346 r5dbb9c2  
    2929 
    3030private: 
     31    void loadTemplates(); 
    3132    bool validatePage(); 
    3233    QStringList usedHosts, usedIP; 
     
    3435 
    3536signals: 
    36      void create(const QString &, const QString &, const QString &, bool, bool, const QString &,  bool, bool, bool, bool, const QString &); 
     37     void create(const QString &, const QString &, const QString &, bool, bool, const QString &,  bool, bool, bool, bool, const QString &, const QString &); 
    3738} ; 
    3839#endif // WIZARDCREATEJAIL_H 
  • src-qt4/warden-gui/wizardNewJail.ui

    r1620346 r5dbb9c2  
    1515  </property> 
    1616  <widget class="QWizardPage" name="Page_IP"> 
    17    <layout class="QGridLayout" name="gridLayout_9"> 
    18     <item row="0" column="0" rowspan="6"> 
     17   <layout class="QGridLayout" name="gridLayout_2"> 
     18    <item row="0" column="0" rowspan="4"> 
    1919     <layout class="QVBoxLayout" name="verticalLayout_3"> 
    2020      <item> 
     
    7777     </spacer> 
    7878    </item> 
    79     <item row="1" column="1" colspan="2"> 
     79    <item row="1" column="1" colspan="3"> 
    8080     <widget class="QLabel" name="label"> 
    8181      <property name="sizePolicy"> 
     
    9696     </widget> 
    9797    </item> 
    98     <item row="1" column="3" rowspan="3"> 
     98    <item row="1" column="4" rowspan="3"> 
    9999     <spacer name="horizontalSpacer_2"> 
    100100      <property name="orientation"> 
     
    112112     </spacer> 
    113113    </item> 
    114     <item row="2" column="1" colspan="2"> 
     114    <item row="2" column="1" colspan="3"> 
    115115     <spacer name="verticalSpacer_3"> 
    116116      <property name="orientation"> 
     
    128128     </spacer> 
    129129    </item> 
     130    <item row="3" column="1"> 
     131     <spacer name="horizontalSpacer"> 
     132      <property name="orientation"> 
     133       <enum>Qt::Horizontal</enum> 
     134      </property> 
     135      <property name="sizeType"> 
     136       <enum>QSizePolicy::Minimum</enum> 
     137      </property> 
     138      <property name="sizeHint" stdset="0"> 
     139       <size> 
     140        <width>40</width> 
     141        <height>58</height> 
     142       </size> 
     143      </property> 
     144     </spacer> 
     145    </item> 
    130146    <item row="3" column="2"> 
    131      <layout class="QGridLayout" name="gridLayout_2"> 
     147     <layout class="QGridLayout" name="gridLayout"> 
    132148      <item row="0" column="0"> 
    133        <spacer name="horizontalSpacer"> 
    134         <property name="orientation"> 
    135          <enum>Qt::Horizontal</enum> 
    136         </property> 
    137         <property name="sizeType"> 
    138          <enum>QSizePolicy::Minimum</enum> 
    139         </property> 
    140         <property name="sizeHint" stdset="0"> 
    141          <size> 
    142           <width>40</width> 
    143           <height>58</height> 
    144          </size> 
    145         </property> 
    146        </spacer> 
    147       </item> 
    148       <item row="0" column="1"> 
    149        <layout class="QGridLayout" name="gridLayout"> 
    150         <item row="0" column="0"> 
    151          <widget class="QLabel" name="textLabel1_2"> 
    152           <property name="text"> 
    153            <string>Hostname</string> 
    154           </property> 
    155           <property name="alignment"> 
    156            <set>Qt::AlignCenter</set> 
    157           </property> 
    158           <property name="wordWrap"> 
    159            <bool>false</bool> 
    160           </property> 
    161          </widget> 
    162         </item> 
    163         <item row="4" column="0"> 
    164          <widget class="QLineEdit" name="lineIP"> 
    165           <property name="enabled"> 
    166            <bool>true</bool> 
    167           </property> 
    168           <property name="inputMask"> 
    169            <string notr="true"/> 
    170           </property> 
    171           <property name="alignment"> 
    172            <set>Qt::AlignHCenter</set> 
    173           </property> 
    174          </widget> 
    175         </item> 
    176         <item row="3" column="0"> 
    177          <widget class="QCheckBox" name="checkIPv4"> 
    178           <property name="text"> 
    179            <string>IPv4 Address</string> 
    180           </property> 
    181           <property name="checked"> 
    182            <bool>true</bool> 
    183           </property> 
    184          </widget> 
    185         </item> 
    186         <item row="1" column="0"> 
    187          <widget class="QLineEdit" name="lineHost"> 
    188           <property name="text"> 
    189            <string>Jailbird</string> 
    190           </property> 
    191           <property name="alignment"> 
    192            <set>Qt::AlignHCenter</set> 
    193           </property> 
    194          </widget> 
    195         </item> 
    196         <item row="5" column="0"> 
    197          <widget class="QCheckBox" name="checkIPv6"> 
    198           <property name="text"> 
    199            <string>IPv6 Address</string> 
    200           </property> 
    201          </widget> 
    202         </item> 
    203         <item row="6" column="0"> 
    204          <widget class="QLineEdit" name="lineIP6"> 
    205           <property name="enabled"> 
    206            <bool>false</bool> 
    207           </property> 
    208          </widget> 
    209         </item> 
    210         <item row="2" column="0"> 
    211          <spacer name="verticalSpacer_23"> 
    212           <property name="orientation"> 
    213            <enum>Qt::Vertical</enum> 
    214           </property> 
    215           <property name="sizeHint" stdset="0"> 
    216            <size> 
    217             <width>20</width> 
    218             <height>40</height> 
    219            </size> 
    220           </property> 
    221          </spacer> 
    222         </item> 
    223        </layout> 
    224       </item> 
    225       <item row="0" column="2"> 
    226        <spacer name="horizontalSpacer_3"> 
    227         <property name="orientation"> 
    228          <enum>Qt::Horizontal</enum> 
    229         </property> 
    230         <property name="sizeType"> 
    231          <enum>QSizePolicy::Minimum</enum> 
    232         </property> 
    233         <property name="sizeHint" stdset="0"> 
    234          <size> 
    235           <width>40</width> 
    236           <height>20</height> 
    237          </size> 
    238         </property> 
    239        </spacer> 
    240       </item> 
    241       <item row="1" column="1"> 
    242        <spacer name="verticalSpacer_4"> 
     149       <widget class="QLabel" name="textLabel1_2"> 
     150        <property name="text"> 
     151         <string>Hostname</string> 
     152        </property> 
     153        <property name="alignment"> 
     154         <set>Qt::AlignCenter</set> 
     155        </property> 
     156        <property name="wordWrap"> 
     157         <bool>false</bool> 
     158        </property> 
     159       </widget> 
     160      </item> 
     161      <item row="1" column="0"> 
     162       <widget class="QLineEdit" name="lineHost"> 
     163        <property name="text"> 
     164         <string>Jailbird</string> 
     165        </property> 
     166        <property name="alignment"> 
     167         <set>Qt::AlignHCenter</set> 
     168        </property> 
     169       </widget> 
     170      </item> 
     171      <item row="5" column="0"> 
     172       <widget class="QCheckBox" name="checkIPv6"> 
     173        <property name="text"> 
     174         <string>IPv6 Address</string> 
     175        </property> 
     176       </widget> 
     177      </item> 
     178      <item row="4" column="0"> 
     179       <widget class="QLineEdit" name="lineIP"> 
     180        <property name="enabled"> 
     181         <bool>true</bool> 
     182        </property> 
     183        <property name="inputMask"> 
     184         <string notr="true"/> 
     185        </property> 
     186        <property name="alignment"> 
     187         <set>Qt::AlignHCenter</set> 
     188        </property> 
     189       </widget> 
     190      </item> 
     191      <item row="3" column="0"> 
     192       <widget class="QCheckBox" name="checkIPv4"> 
     193        <property name="text"> 
     194         <string>IPv4 Address</string> 
     195        </property> 
     196        <property name="checked"> 
     197         <bool>true</bool> 
     198        </property> 
     199       </widget> 
     200      </item> 
     201      <item row="2" column="0"> 
     202       <spacer name="verticalSpacer_23"> 
    243203        <property name="orientation"> 
    244204         <enum>Qt::Vertical</enum> 
     
    247207         <size> 
    248208          <width>20</width> 
    249           <height>17</height> 
     209          <height>40</height> 
    250210         </size> 
    251211        </property> 
    252212       </spacer> 
    253213      </item> 
     214      <item row="6" column="0"> 
     215       <widget class="QLineEdit" name="lineIP6"> 
     216        <property name="enabled"> 
     217         <bool>false</bool> 
     218        </property> 
     219       </widget> 
     220      </item> 
    254221     </layout> 
    255222    </item> 
    256     <item row="5" column="1" colspan="2"> 
    257      <spacer name="verticalSpacer_2"> 
    258       <property name="orientation"> 
    259        <enum>Qt::Vertical</enum> 
    260       </property> 
    261       <property name="sizeHint" stdset="0"> 
    262        <size> 
    263         <width>387</width> 
    264         <height>22</height> 
    265        </size> 
    266       </property> 
    267      </spacer> 
    268     </item> 
    269     <item row="4" column="1" colspan="2"> 
     223    <item row="3" column="3"> 
     224     <spacer name="horizontalSpacer_3"> 
     225      <property name="orientation"> 
     226       <enum>Qt::Horizontal</enum> 
     227      </property> 
     228      <property name="sizeType"> 
     229       <enum>QSizePolicy::Minimum</enum> 
     230      </property> 
     231      <property name="sizeHint" stdset="0"> 
     232       <size> 
     233        <width>40</width> 
     234        <height>20</height> 
     235       </size> 
     236      </property> 
     237     </spacer> 
     238    </item> 
     239    <item row="4" column="2"> 
     240     <spacer name="verticalSpacer_4"> 
     241      <property name="orientation"> 
     242       <enum>Qt::Vertical</enum> 
     243      </property> 
     244      <property name="sizeHint" stdset="0"> 
     245       <size> 
     246        <width>335</width> 
     247        <height>13</height> 
     248       </size> 
     249      </property> 
     250     </spacer> 
     251    </item> 
     252    <item row="5" column="1"> 
    270253     <widget class="QLabel" name="labelMessage"> 
    271254      <property name="text"> 
     
    276259      </property> 
    277260     </widget> 
     261    </item> 
     262    <item row="6" column="1" colspan="3"> 
     263     <spacer name="verticalSpacer_2"> 
     264      <property name="orientation"> 
     265       <enum>Qt::Vertical</enum> 
     266      </property> 
     267      <property name="sizeHint" stdset="0"> 
     268       <size> 
     269        <width>387</width> 
     270        <height>22</height> 
     271       </size> 
     272      </property> 
     273     </spacer> 
    278274    </item> 
    279275   </layout> 
     
    281277  <widget class="QWizardPage" name="Page_Type"> 
    282278   <layout class="QGridLayout" name="gridLayout_4"> 
    283     <item row="0" column="0" rowspan="5"> 
     279    <item row="0" column="0" rowspan="4"> 
    284280     <layout class="QVBoxLayout" name="verticalLayout_6"> 
    285281      <item> 
     
    361357     </widget> 
    362358    </item> 
    363     <item row="1" column="2" rowspan="4"> 
     359    <item row="1" column="2" rowspan="3"> 
    364360     <spacer name="horizontalSpacer_5"> 
    365361      <property name="orientation"> 
     
    398394       <string>Jail Type</string> 
    399395      </property> 
    400       <layout class="QGridLayout" name="gridLayout_3"> 
     396      <layout class="QGridLayout" name="gridLayout_9"> 
    401397       <item row="0" column="0"> 
    402398        <widget class="QRadioButton" name="radioTraditionalJail"> 
     
    410406       </item> 
    411407       <item row="1" column="0"> 
    412         <layout class="QHBoxLayout" name="horizontalLayout_2"> 
    413          <item> 
    414           <spacer name="horizontalSpacer_10"> 
    415            <property name="orientation"> 
    416             <enum>Qt::Horizontal</enum> 
    417            </property> 
    418            <property name="sizeType"> 
    419             <enum>QSizePolicy::Fixed</enum> 
    420            </property> 
    421            <property name="sizeHint" stdset="0"> 
    422             <size> 
    423              <width>20</width> 
    424              <height>20</height> 
    425             </size> 
    426            </property> 
    427           </spacer> 
     408        <layout class="QGridLayout" name="gridLayout_3"> 
     409         <item row="0" column="0"> 
     410          <layout class="QHBoxLayout" name="horizontalLayout_2"> 
     411           <item> 
     412            <spacer name="horizontalSpacer_10"> 
     413             <property name="orientation"> 
     414              <enum>Qt::Horizontal</enum> 
     415             </property> 
     416             <property name="sizeType"> 
     417              <enum>QSizePolicy::Fixed</enum> 
     418             </property> 
     419             <property name="sizeHint" stdset="0"> 
     420              <size> 
     421               <width>20</width> 
     422               <height>20</height> 
     423              </size> 
     424             </property> 
     425            </spacer> 
     426           </item> 
     427           <item> 
     428            <widget class="QCheckBox" name="checkPCBSDUtils"> 
     429             <property name="text"> 
     430              <string>Install PKGNG and PC-BSD utilities</string> 
     431             </property> 
     432             <property name="checked"> 
     433              <bool>true</bool> 
     434             </property> 
     435            </widget> 
     436           </item> 
     437          </layout> 
    428438         </item> 
    429          <item> 
    430           <widget class="QCheckBox" name="checkPCBSDUtils"> 
    431            <property name="text"> 
    432             <string>Install PKGNG and PC-BSD utilities</string> 
    433            </property> 
    434            <property name="checked"> 
    435             <bool>true</bool> 
    436            </property> 
    437           </widget> 
     439         <item row="1" column="0"> 
     440          <layout class="QHBoxLayout" name="horizontalLayout_4"> 
     441           <item> 
     442            <spacer name="horizontalSpacer_12"> 
     443             <property name="orientation"> 
     444              <enum>Qt::Horizontal</enum> 
     445             </property> 
     446             <property name="sizeType"> 
     447              <enum>QSizePolicy::Fixed</enum> 
     448             </property> 
     449             <property name="sizeHint" stdset="0"> 
     450              <size> 
     451               <width>20</width> 
     452               <height>20</height> 
     453              </size> 
     454             </property> 
     455            </spacer> 
     456           </item> 
     457           <item> 
     458            <widget class="QLabel" name="label_9"> 
     459             <property name="text"> 
     460              <string>Jail Version</string> 
     461             </property> 
     462            </widget> 
     463           </item> 
     464          </layout> 
     465         </item> 
     466         <item row="2" column="0"> 
     467          <layout class="QHBoxLayout" name="horizontalLayout_3"> 
     468           <item> 
     469            <spacer name="horizontalSpacer_11"> 
     470             <property name="orientation"> 
     471              <enum>Qt::Horizontal</enum> 
     472             </property> 
     473             <property name="sizeType"> 
     474              <enum>QSizePolicy::Fixed</enum> 
     475             </property> 
     476             <property name="sizeHint" stdset="0"> 
     477              <size> 
     478               <width>20</width> 
     479               <height>20</height> 
     480              </size> 
     481             </property> 
     482            </spacer> 
     483           </item> 
     484           <item> 
     485            <widget class="QComboBox" name="comboTemplate"/> 
     486           </item> 
     487           <item> 
     488            <widget class="QPushButton" name="pushTemplateAdd"> 
     489             <property name="sizePolicy"> 
     490              <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> 
     491               <horstretch>0</horstretch> 
     492               <verstretch>0</verstretch> 
     493              </sizepolicy> 
     494             </property> 
     495             <property name="maximumSize"> 
     496              <size> 
     497               <width>24</width> 
     498               <height>24</height> 
     499              </size> 
     500             </property> 
     501             <property name="text"> 
     502              <string/> 
     503             </property> 
     504             <property name="icon"> 
     505              <iconset resource="warden.qrc"> 
     506               <normaloff>:/edit_add.png</normaloff>:/edit_add.png</iconset> 
     507             </property> 
     508            </widget> 
     509           </item> 
     510          </layout> 
    438511         </item> 
    439512        </layout> 
Note: See TracChangeset for help on using the changeset viewer.