[PC-BSD Commits] r6443 - pcbsd-projects/warden/src

svn at pcbsd.org svn at pcbsd.org
Thu Mar 25 12:41:43 PDT 2010


Author: kris
Date: 2010-03-25 12:41:43 -0700 (Thu, 25 Mar 2010)
New Revision: 6443

Modified:
   pcbsd-projects/warden/src/dialogconfig.cpp
   pcbsd-projects/warden/src/dialogconfig.ui
   pcbsd-projects/warden/src/dialogcreatejail.cpp
   pcbsd-projects/warden/src/dialogcreatejail.ui
   pcbsd-projects/warden/src/dialogdisplayoutput.cpp
   pcbsd-projects/warden/src/dialogdisplayoutput.ui
   pcbsd-projects/warden/src/dialogsetupuser.cpp
   pcbsd-projects/warden/src/dialogsetupuser.ui
   pcbsd-projects/warden/src/dialogwarden.cpp
   pcbsd-projects/warden/src/dialogwarden.h
   pcbsd-projects/warden/src/dialogwarden.ui
   pcbsd-projects/warden/src/dialogworking.cpp
   pcbsd-projects/warden/src/dialogworking.ui
   pcbsd-projects/warden/src/main.cpp
   pcbsd-projects/warden/src/warden.pro
Log:

Large update to the Warden, switch to 100% QT4 based, no legacy QT3 crud anymore. Fixed some bugs, tab orders and
started work to make this app functional for the ports tree



Modified: pcbsd-projects/warden/src/dialogconfig.cpp
===================================================================
--- pcbsd-projects/warden/src/dialogconfig.cpp	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/dialogconfig.cpp	2010-03-25 19:41:43 UTC (rev 6443)
@@ -25,9 +25,9 @@
 {
     QSettings settings("PCBSD");
     
-    NIC = settings.readEntry( "/PC-BSD/TheWarden/NIC", "UNSET" );
-    TMPDIR = settings.readEntry( "/PC-BSD/TheWarden/TMPDIR", "UNSET" );
-    JailDir = settings.readEntry( "/PC-BSD/TheWarden/JailDir", "UNSET" );
+    NIC = settings.value( "/PC-BSD/TheWarden/NIC", "UNSET" ).toString();
+    TMPDIR = settings.value( "/PC-BSD/TheWarden/TMPDIR", "UNSET" ).toString();
+    JailDir = settings.value( "/PC-BSD/TheWarden/JailDir", "UNSET" ).toString();
     
     lineNIC->setText(NIC);
     lineJailDir->setText(JailDir);
@@ -40,7 +40,7 @@
 {
     QString tmp;
     
-       tmp = QFileDialog::getExistingDirectory ( JailDir, this, "SelectDirectory" , "Select Jail Directory", TRUE, TRUE );
+       tmp = QFileDialog::getExistingDirectory ( this, tr("Select Jail Directory"), JailDir, QFileDialog::ShowDirsOnly );
        if ( ! tmp.isEmpty() )
        {
 	   lineJailDir->setText(tmp);
@@ -53,7 +53,7 @@
 {
     QString tmp;
     
-       tmp = QFileDialog::getExistingDirectory ( TMPDIR, this, "SelectDirectory" , "Select Temp Directory", TRUE, TRUE );
+       tmp = QFileDialog::getExistingDirectory ( this, tr("Select Temp Directory"), TMPDIR, QFileDialog::ShowDirsOnly );
        if ( ! tmp.isEmpty() )
        {
 	   lineTMPDIR->setText(tmp);
@@ -66,9 +66,9 @@
 {
     QSettings settings("PCBSD");
     
-    settings.writeEntry( "/PC-BSD/TheWarden/NIC", lineNIC->text());
-    settings.writeEntry( "/PC-BSD/TheWarden/TMPDIR", lineTMPDIR->text() );
-    settings.writeEntry( "/PC-BSD/TheWarden/JailDir", lineJailDir->text() );
+    settings.setValue( "/PC-BSD/TheWarden/NIC", lineNIC->text());
+    settings.setValue( "/PC-BSD/TheWarden/TMPDIR", lineTMPDIR->text() );
+    settings.setValue( "/PC-BSD/TheWarden/JailDir", lineJailDir->text() );
     
     
     emit saved();

Modified: pcbsd-projects/warden/src/dialogconfig.ui
===================================================================
--- pcbsd-projects/warden/src/dialogconfig.ui	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/dialogconfig.ui	2010-03-25 19:41:43 UTC (rev 6443)
@@ -1,7 +1,8 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
  <class>dialogConfig</class>
- <widget class="QDialog" name="dialogConfig" >
-  <property name="geometry" >
+ <widget class="QDialog" name="dialogConfig">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
@@ -9,25 +10,25 @@
     <height>257</height>
    </rect>
   </property>
-  <property name="windowTitle" >
+  <property name="windowTitle">
    <string>Configuration</string>
   </property>
-  <property name="windowIcon" >
-   <iconset resource="warden.qrc" >
+  <property name="windowIcon">
+   <iconset resource="warden.qrc">
     <normaloff>:/cell.png</normaloff>:/cell.png</iconset>
   </property>
-  <layout class="QGridLayout" >
-   <item row="1" column="0" >
-    <layout class="QHBoxLayout" >
+  <layout class="QGridLayout">
+   <item row="1" column="0">
+    <layout class="QHBoxLayout">
      <item>
-      <spacer name="spacer2" >
-       <property name="orientation" >
+      <spacer name="spacer2">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Expanding</enum>
        </property>
-       <property name="sizeHint" stdset="0" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>31</width>
          <height>21</height>
@@ -36,24 +37,24 @@
       </spacer>
      </item>
      <item>
-      <widget class="QPushButton" name="pushSave" >
-       <property name="text" >
+      <widget class="QPushButton" name="pushSave">
+       <property name="text">
         <string>&amp;Save</string>
        </property>
-       <property name="shortcut" >
+       <property name="shortcut">
         <string>Alt+S</string>
        </property>
       </widget>
      </item>
      <item>
-      <spacer name="spacer1" >
-       <property name="orientation" >
+      <spacer name="spacer1">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Fixed</enum>
        </property>
-       <property name="sizeHint" stdset="0" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>20</width>
          <height>20</height>
@@ -62,24 +63,24 @@
       </spacer>
      </item>
      <item>
-      <widget class="QPushButton" name="pushCancel" >
-       <property name="text" >
+      <widget class="QPushButton" name="pushCancel">
+       <property name="text">
         <string>&amp;Cancel</string>
        </property>
-       <property name="shortcut" >
+       <property name="shortcut">
         <string>Alt+C</string>
        </property>
       </widget>
      </item>
      <item>
-      <spacer name="spacer3" >
-       <property name="orientation" >
+      <spacer name="spacer3">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Expanding</enum>
        </property>
-       <property name="sizeHint" stdset="0" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>31</width>
          <height>20</height>
@@ -89,80 +90,36 @@
      </item>
     </layout>
    </item>
-   <item row="0" column="0" >
-    <widget class="Q3GroupBox" name="groupBox2" >
-     <property name="title" >
+   <item row="0" column="0">
+    <widget class="QGroupBox" name="groupBox">
+     <property name="title">
       <string>Configuration</string>
      </property>
-     <layout class="QGridLayout" >
-      <item row="3" column="0" >
-       <layout class="QHBoxLayout" >
-        <item>
-         <widget class="QLineEdit" name="lineJailDir" >
-          <property name="readOnly" >
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QPushButton" name="pushJailDir" >
-          <property name="text" >
-           <string/>
-          </property>
-          <property name="icon" >
-           <iconset resource="warden.qrc" >
-            <normaloff>:/folder.png</normaloff>:/folder.png</iconset>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-      <item row="5" column="0" >
-       <layout class="QHBoxLayout" >
-        <item>
-         <widget class="QLineEdit" name="lineTMPDIR" >
-          <property name="readOnly" >
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QPushButton" name="pushTmpDir" >
-          <property name="text" >
-           <string/>
-          </property>
-          <property name="icon" >
-           <iconset resource="warden.qrc" >
-            <normaloff>:/folder.png</normaloff>:/folder.png</iconset>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-      <item row="4" column="0" >
-       <widget class="QLabel" name="textLabel1_2_2" >
-        <property name="text" >
-         <string>Temp Directory</string>
+     <layout class="QGridLayout" name="gridLayout">
+      <item row="0" column="0">
+       <widget class="QLabel" name="textLabel1">
+        <property name="text">
+         <string>Jail Network Interface</string>
         </property>
-        <property name="alignment" >
+        <property name="alignment">
          <set>Qt::AlignCenter</set>
         </property>
-        <property name="wordWrap" >
+        <property name="wordWrap">
          <bool>false</bool>
         </property>
        </widget>
       </item>
-      <item row="1" column="0" >
-       <layout class="QHBoxLayout" >
+      <item row="1" column="0">
+       <layout class="QHBoxLayout">
         <item>
-         <spacer name="spacer4" >
-          <property name="orientation" >
+         <spacer name="spacer4">
+          <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
-          <property name="sizeType" >
+          <property name="sizeType">
            <enum>QSizePolicy::Expanding</enum>
           </property>
-          <property name="sizeHint" stdset="0" >
+          <property name="sizeHint" stdset="0">
            <size>
             <width>61</width>
             <height>20</height>
@@ -171,17 +128,17 @@
          </spacer>
         </item>
         <item>
-         <widget class="QLineEdit" name="lineNIC" />
+         <widget class="QLineEdit" name="lineNIC"/>
         </item>
         <item>
-         <spacer name="spacer5" >
-          <property name="orientation" >
+         <spacer name="spacer5">
+          <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
-          <property name="sizeType" >
+          <property name="sizeType">
            <enum>QSizePolicy::Expanding</enum>
           </property>
-          <property name="sizeHint" stdset="0" >
+          <property name="sizeHint" stdset="0">
            <size>
             <width>70</width>
             <height>20</height>
@@ -191,51 +148,87 @@
         </item>
        </layout>
       </item>
-      <item row="2" column="0" >
-       <widget class="QLabel" name="textLabel1_2" >
-        <property name="text" >
+      <item row="2" column="0">
+       <widget class="QLabel" name="textLabel1_2">
+        <property name="text">
          <string>Jail Directory</string>
         </property>
-        <property name="alignment" >
+        <property name="alignment">
          <set>Qt::AlignCenter</set>
         </property>
-        <property name="wordWrap" >
+        <property name="wordWrap">
          <bool>false</bool>
         </property>
        </widget>
       </item>
-      <item row="0" column="0" >
-       <widget class="QLabel" name="textLabel1" >
-        <property name="text" >
-         <string>Jail Network Interface</string>
+      <item row="3" column="0">
+       <layout class="QHBoxLayout">
+        <item>
+         <widget class="QLineEdit" name="lineJailDir">
+          <property name="readOnly">
+           <bool>true</bool>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QPushButton" name="pushJailDir">
+          <property name="text">
+           <string/>
+          </property>
+          <property name="icon">
+           <iconset resource="warden.qrc">
+            <normaloff>:/folder.png</normaloff>:/folder.png</iconset>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item row="4" column="0">
+       <widget class="QLabel" name="textLabel1_2_2">
+        <property name="text">
+         <string>Temp Directory</string>
         </property>
-        <property name="alignment" >
+        <property name="alignment">
          <set>Qt::AlignCenter</set>
         </property>
-        <property name="wordWrap" >
+        <property name="wordWrap">
          <bool>false</bool>
         </property>
        </widget>
       </item>
+      <item row="5" column="0">
+       <layout class="QHBoxLayout">
+        <item>
+         <widget class="QLineEdit" name="lineTMPDIR">
+          <property name="readOnly">
+           <bool>true</bool>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QPushButton" name="pushTmpDir">
+          <property name="text">
+           <string/>
+          </property>
+          <property name="icon">
+           <iconset resource="warden.qrc">
+            <normaloff>:/folder.png</normaloff>:/folder.png</iconset>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
      </layout>
     </widget>
    </item>
   </layout>
  </widget>
- <layoutdefault spacing="6" margin="11" />
- <customwidgets>
-  <customwidget>
-   <class>Q3GroupBox</class>
-   <extends>QGroupBox</extends>
-   <header>Qt3Support/Q3GroupBox</header>
-   <container>1</container>
-  </customwidget>
- </customwidgets>
+ <layoutdefault spacing="6" margin="11"/>
  <includes>
-  <include location="local" >q3filedialog.h</include>
+  <include location="local">qfiledialog.h</include>
  </includes>
  <resources>
-  <include location="warden.qrc" />
+  <include location="warden.qrc"/>
  </resources>
  <connections>
   <connection>
@@ -244,11 +237,11 @@
    <receiver>dialogConfig</receiver>
    <slot>slotSave()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>20</x>
      <y>20</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>
@@ -260,11 +253,11 @@
    <receiver>dialogConfig</receiver>
    <slot>slotCancel()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>20</x>
      <y>20</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>
@@ -276,11 +269,11 @@
    <receiver>dialogConfig</receiver>
    <slot>slotChangeJailDir()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>20</x>
      <y>20</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>
@@ -292,11 +285,11 @@
    <receiver>dialogConfig</receiver>
    <slot>slotChangeTMPDIR()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>20</x>
      <y>20</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>

Modified: pcbsd-projects/warden/src/dialogcreatejail.cpp
===================================================================
--- pcbsd-projects/warden/src/dialogcreatejail.cpp	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/dialogcreatejail.cpp	2010-03-25 19:41:43 UTC (rev 6443)
@@ -63,7 +63,7 @@
     Host = lineHost->text();
     
     // Check to make sure we don't have any missing IP fields
-    if ( IP.find("..") != -1 || IP.findRev(".") == (IP.length() - 1) )
+    if ( IP.indexOf("..") != -1 || IP.lastIndexOf(".") == (IP.length() - 1) )
     {
 	pushCreate->setEnabled(FALSE);
 	return;

Modified: pcbsd-projects/warden/src/dialogcreatejail.ui
===================================================================
--- pcbsd-projects/warden/src/dialogcreatejail.ui	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/dialogcreatejail.ui	2010-03-25 19:41:43 UTC (rev 6443)
@@ -1,7 +1,8 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
  <class>dialogCreateJail</class>
- <widget class="QDialog" name="dialogCreateJail" >
-  <property name="geometry" >
+ <widget class="QDialog" name="dialogCreateJail">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
@@ -9,25 +10,25 @@
     <height>276</height>
    </rect>
   </property>
-  <property name="windowTitle" >
+  <property name="windowTitle">
    <string>Create new Jail</string>
   </property>
-  <property name="windowIcon" >
-   <iconset resource="warden.qrc" >
+  <property name="windowIcon">
+   <iconset resource="warden.qrc">
     <normaloff>:/cell.png</normaloff>:/cell.png</iconset>
   </property>
-  <layout class="QGridLayout" >
-   <item row="1" column="0" >
-    <layout class="QHBoxLayout" >
+  <layout class="QGridLayout">
+   <item row="1" column="0">
+    <layout class="QHBoxLayout">
      <item>
-      <spacer name="spacer8" >
-       <property name="orientation" >
+      <spacer name="spacer8">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Expanding</enum>
        </property>
-       <property name="sizeHint" stdset="0" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>81</width>
          <height>21</height>
@@ -36,24 +37,24 @@
       </spacer>
      </item>
      <item>
-      <widget class="QPushButton" name="pushCreate" >
-       <property name="enabled" >
+      <widget class="QPushButton" name="pushCreate">
+       <property name="enabled">
         <bool>false</bool>
        </property>
-       <property name="text" >
+       <property name="text">
         <string>Create</string>
        </property>
       </widget>
      </item>
      <item>
-      <spacer name="spacer7" >
-       <property name="orientation" >
+      <spacer name="spacer7">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Fixed</enum>
        </property>
-       <property name="sizeHint" stdset="0" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>21</width>
          <height>20</height>
@@ -62,24 +63,24 @@
       </spacer>
      </item>
      <item>
-      <widget class="QPushButton" name="pushCancel" >
-       <property name="text" >
+      <widget class="QPushButton" name="pushCancel">
+       <property name="text">
         <string>&amp;Cancel</string>
        </property>
-       <property name="shortcut" >
+       <property name="shortcut">
         <string>Alt+C</string>
        </property>
       </widget>
      </item>
      <item>
-      <spacer name="spacer9" >
-       <property name="orientation" >
+      <spacer name="spacer9">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Expanding</enum>
        </property>
-       <property name="sizeHint" stdset="0" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>61</width>
          <height>21</height>
@@ -89,96 +90,97 @@
      </item>
     </layout>
    </item>
-   <item row="0" column="0" >
-    <widget class="Q3GroupBox" name="groupBox2" >
-     <property name="title" >
+   <item row="0" column="0">
+    <widget class="QGroupBox" name="groupBox">
+     <property name="title">
       <string>New Jail</string>
      </property>
-     <layout class="QGridLayout" >
-      <item row="0" column="0" >
-       <widget class="QLabel" name="textLabel1" >
-        <property name="text" >
+     <layout class="QGridLayout" name="gridLayout">
+      <item row="0" column="0">
+       <widget class="QLabel" name="textLabel1">
+        <property name="text">
          <string>IP Address</string>
         </property>
-        <property name="alignment" >
+        <property name="alignment">
          <set>Qt::AlignCenter</set>
         </property>
-        <property name="wordWrap" >
+        <property name="wordWrap">
          <bool>false</bool>
         </property>
        </widget>
       </item>
-      <item row="1" column="0" >
-       <widget class="QLineEdit" name="lineIP" >
-        <property name="inputMask" >
+      <item row="1" column="0">
+       <widget class="QLineEdit" name="lineIP">
+        <property name="inputMask">
          <string>999\.999\.999\.999; </string>
         </property>
-        <property name="alignment" >
+        <property name="alignment">
          <set>Qt::AlignHCenter</set>
         </property>
        </widget>
       </item>
-      <item row="6" column="0" >
-       <widget class="QCheckBox" name="checkAutostart" >
-        <property name="text" >
-         <string>Start jail at system bootup</string>
-        </property>
-       </widget>
-      </item>
-      <item row="5" column="0" >
-       <widget class="QCheckBox" name="checkPortsTree" >
-        <property name="text" >
-         <string>Include ports tree</string>
-        </property>
-       </widget>
-      </item>
-      <item row="2" column="0" >
-       <widget class="QLabel" name="textLabel1_2" >
-        <property name="text" >
+      <item row="2" column="0">
+       <widget class="QLabel" name="textLabel1_2">
+        <property name="text">
          <string>Hostname</string>
         </property>
-        <property name="alignment" >
+        <property name="alignment">
          <set>Qt::AlignCenter</set>
         </property>
-        <property name="wordWrap" >
+        <property name="wordWrap">
          <bool>false</bool>
         </property>
        </widget>
       </item>
-      <item row="3" column="0" >
-       <widget class="QLineEdit" name="lineHost" >
-        <property name="text" >
+      <item row="3" column="0">
+       <widget class="QLineEdit" name="lineHost">
+        <property name="text">
          <string>Jailbird</string>
         </property>
-        <property name="alignment" >
+        <property name="alignment">
          <set>Qt::AlignHCenter</set>
         </property>
        </widget>
       </item>
-      <item row="4" column="0" >
-       <widget class="QCheckBox" name="checkSystemSource" >
-        <property name="text" >
+      <item row="4" column="0">
+       <widget class="QCheckBox" name="checkSystemSource">
+        <property name="text">
          <string>Include system source</string>
         </property>
        </widget>
       </item>
+      <item row="5" column="0">
+       <widget class="QCheckBox" name="checkPortsTree">
+        <property name="text">
+         <string>Include ports tree</string>
+        </property>
+       </widget>
+      </item>
+      <item row="6" column="0">
+       <widget class="QCheckBox" name="checkAutostart">
+        <property name="text">
+         <string>Start jail at system bootup</string>
+        </property>
+       </widget>
+      </item>
      </layout>
     </widget>
    </item>
   </layout>
  </widget>
- <layoutdefault spacing="6" margin="11" />
+ <layoutdefault spacing="6" margin="11"/>
  <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
- <customwidgets>
-  <customwidget>
-   <class>Q3GroupBox</class>
-   <extends>QGroupBox</extends>
-   <header>Qt3Support/Q3GroupBox</header>
-   <container>1</container>
-  </customwidget>
- </customwidgets>
+ <tabstops>
+  <tabstop>lineIP</tabstop>
+  <tabstop>lineHost</tabstop>
+  <tabstop>checkSystemSource</tabstop>
+  <tabstop>checkPortsTree</tabstop>
+  <tabstop>checkAutostart</tabstop>
+  <tabstop>pushCreate</tabstop>
+  <tabstop>pushCancel</tabstop>
+ </tabstops>
  <resources>
-  <include location="warden.qrc" />
+  <include location="warden.qrc"/>
  </resources>
  <connections>
   <connection>
@@ -187,11 +189,11 @@
    <receiver>dialogCreateJail</receiver>
    <slot>slotButtonCancel()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>20</x>
      <y>20</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>
@@ -203,11 +205,11 @@
    <receiver>dialogCreateJail</receiver>
    <slot>slotButtonCreate()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>20</x>
      <y>20</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>

Modified: pcbsd-projects/warden/src/dialogdisplayoutput.cpp
===================================================================
--- pcbsd-projects/warden/src/dialogdisplayoutput.cpp	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/dialogdisplayoutput.cpp	2010-03-25 19:41:43 UTC (rev 6443)
@@ -27,7 +27,7 @@
 
 void dialogDisplayOutput::setDialogCaption( const QString &text )
 {
-    setCaption(text);
+    setWindowTitle(text);
 }
 
 
@@ -40,7 +40,7 @@
 void dialogDisplayOutput::appendDialogText( const QString &text )
 {
     QString oldText, newText;
-    oldText = lineDisplay->text();
+    oldText = lineDisplay->toPlainText();
     newText = oldText + "\n" + text;
     lineDisplay->setText(newText);
 }

Modified: pcbsd-projects/warden/src/dialogdisplayoutput.ui
===================================================================
--- pcbsd-projects/warden/src/dialogdisplayoutput.ui	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/dialogdisplayoutput.ui	2010-03-25 19:41:43 UTC (rev 6443)
@@ -1,7 +1,8 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
  <class>dialogDisplayOutput</class>
- <widget class="QDialog" name="dialogDisplayOutput" >
-  <property name="geometry" >
+ <widget class="QDialog" name="dialogDisplayOutput">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
@@ -9,25 +10,25 @@
     <height>357</height>
    </rect>
   </property>
-  <property name="windowTitle" >
+  <property name="windowTitle">
    <string>Command Output</string>
   </property>
-  <property name="windowIcon" >
-   <iconset resource="warden.qrc" >
+  <property name="windowIcon">
+   <iconset resource="warden.qrc">
     <normaloff>:/warden.png</normaloff>:/warden.png</iconset>
   </property>
-  <layout class="QGridLayout" >
-   <item row="1" column="0" >
-    <layout class="QHBoxLayout" >
+  <layout class="QGridLayout">
+   <item row="1" column="0">
+    <layout class="QHBoxLayout">
      <item>
-      <spacer name="spacer5" >
-       <property name="orientation" >
+      <spacer name="spacer5">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Expanding</enum>
        </property>
-       <property name="sizeHint" stdset="0" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>191</width>
          <height>21</height>
@@ -36,24 +37,24 @@
       </spacer>
      </item>
      <item>
-      <widget class="QPushButton" name="pushClose" >
-       <property name="text" >
+      <widget class="QPushButton" name="pushClose">
+       <property name="text">
         <string>&amp;Close</string>
        </property>
-       <property name="shortcut" >
+       <property name="shortcut">
         <string>Alt+C</string>
        </property>
       </widget>
      </item>
      <item>
-      <spacer name="spacer6" >
-       <property name="orientation" >
+      <spacer name="spacer6">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Expanding</enum>
        </property>
-       <property name="sizeHint" stdset="0" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>201</width>
          <height>21</height>
@@ -63,25 +64,14 @@
      </item>
     </layout>
    </item>
-   <item row="0" column="0" >
-    <widget class="Q3TextEdit" name="lineDisplay" >
-     <property name="readOnly" >
-      <bool>true</bool>
-     </property>
-    </widget>
+   <item row="0" column="0">
+    <widget class="QTextEdit" name="lineDisplay"/>
    </item>
   </layout>
  </widget>
- <layoutdefault spacing="6" margin="11" />
- <customwidgets>
-  <customwidget>
-   <class>Q3TextEdit</class>
-   <extends>Q3Frame</extends>
-   <header>q3textedit.h</header>
-  </customwidget>
- </customwidgets>
+ <layoutdefault spacing="6" margin="11"/>
  <resources>
-  <include location="warden.qrc" />
+  <include location="warden.qrc"/>
  </resources>
  <connections>
   <connection>
@@ -90,11 +80,11 @@
    <receiver>dialogDisplayOutput</receiver>
    <slot>slotPushClose()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>20</x>
      <y>20</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>

Modified: pcbsd-projects/warden/src/dialogsetupuser.cpp
===================================================================
--- pcbsd-projects/warden/src/dialogsetupuser.cpp	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/dialogsetupuser.cpp	2010-03-25 19:41:43 UTC (rev 6443)
@@ -63,7 +63,7 @@
     }
 	
 	
-     if ( lineUsername->text().find(" ") != -1 )
+     if ( lineUsername->text().indexOf(" ") != -1 )
     {
 	textError->setText("Error: WhiteSpace in username!");
 	pushSave->setEnabled(FALSE);

Modified: pcbsd-projects/warden/src/dialogsetupuser.ui
===================================================================
--- pcbsd-projects/warden/src/dialogsetupuser.ui	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/dialogsetupuser.ui	2010-03-25 19:41:43 UTC (rev 6443)
@@ -1,33 +1,34 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
  <class>dialogSetupUser</class>
- <widget class="QDialog" name="dialogSetupUser" >
-  <property name="geometry" >
+ <widget class="QDialog" name="dialogSetupUser">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>362</width>
-    <height>371</height>
+    <height>304</height>
    </rect>
   </property>
-  <property name="windowTitle" >
+  <property name="windowTitle">
    <string>Setup Users</string>
   </property>
-  <property name="windowIcon" >
-   <iconset resource="warden.qrc" >
+  <property name="windowIcon">
+   <iconset resource="warden.qrc">
     <normaloff>:/cell.png</normaloff>:/cell.png</iconset>
   </property>
-  <layout class="QGridLayout" >
-   <item row="1" column="0" >
-    <layout class="QHBoxLayout" >
+  <layout class="QGridLayout">
+   <item row="1" column="0">
+    <layout class="QHBoxLayout">
      <item>
-      <spacer name="spacer5" >
-       <property name="orientation" >
+      <spacer name="spacer5">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Expanding</enum>
        </property>
-       <property name="sizeHint" stdset="0" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>71</width>
          <height>21</height>
@@ -36,27 +37,27 @@
       </spacer>
      </item>
      <item>
-      <widget class="QPushButton" name="pushSave" >
-       <property name="enabled" >
+      <widget class="QPushButton" name="pushSave">
+       <property name="enabled">
         <bool>false</bool>
        </property>
-       <property name="text" >
+       <property name="text">
         <string>&amp;Save</string>
        </property>
-       <property name="shortcut" >
+       <property name="shortcut">
         <string>Alt+S</string>
        </property>
       </widget>
      </item>
      <item>
-      <spacer name="spacer4" >
-       <property name="orientation" >
+      <spacer name="spacer4">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Fixed</enum>
        </property>
-       <property name="sizeHint" stdset="0" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>21</width>
          <height>20</height>
@@ -65,24 +66,24 @@
       </spacer>
      </item>
      <item>
-      <widget class="QPushButton" name="pushCancel" >
-       <property name="text" >
+      <widget class="QPushButton" name="pushCancel">
+       <property name="text">
         <string>&amp;Cancel</string>
        </property>
-       <property name="shortcut" >
+       <property name="shortcut">
         <string>Alt+C</string>
        </property>
       </widget>
      </item>
      <item>
-      <spacer name="spacer6" >
-       <property name="orientation" >
+      <spacer name="spacer6">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Expanding</enum>
        </property>
-       <property name="sizeHint" stdset="0" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>71</width>
          <height>21</height>
@@ -92,45 +93,45 @@
      </item>
     </layout>
    </item>
-   <item row="0" column="0" >
-    <widget class="Q3GroupBox" name="groupBox3" >
-     <property name="title" >
+   <item row="0" column="0">
+    <widget class="QGroupBox" name="groupBox">
+     <property name="title">
       <string>Root and User setup</string>
      </property>
-     <layout class="QGridLayout" >
-      <item row="0" column="0" colspan="2" >
-       <widget class="QLabel" name="textLabel1" >
-        <property name="text" >
+     <layout class="QGridLayout" name="gridLayout">
+      <item row="0" column="0">
+       <widget class="QLabel" name="textLabel1">
+        <property name="text">
          <string>Please enter a password for root:</string>
         </property>
-        <property name="alignment" >
+        <property name="alignment">
          <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
         </property>
-        <property name="wordWrap" >
+        <property name="wordWrap">
          <bool>true</bool>
         </property>
        </widget>
       </item>
-      <item row="1" column="0" colspan="2" >
-       <layout class="QHBoxLayout" >
+      <item row="1" column="0">
+       <layout class="QHBoxLayout">
         <item>
-         <layout class="QVBoxLayout" >
+         <layout class="QVBoxLayout">
           <item>
-           <widget class="QLabel" name="textLabel2" >
-            <property name="text" >
+           <widget class="QLabel" name="textLabel2">
+            <property name="text">
              <string>Root Password</string>
             </property>
-            <property name="alignment" >
+            <property name="alignment">
              <set>Qt::AlignCenter</set>
             </property>
-            <property name="wordWrap" >
+            <property name="wordWrap">
              <bool>false</bool>
             </property>
            </widget>
           </item>
           <item>
-           <widget class="QLineEdit" name="lineRoot" >
-            <property name="echoMode" >
+           <widget class="QLineEdit" name="lineRoot">
+            <property name="echoMode">
              <enum>QLineEdit::Password</enum>
             </property>
            </widget>
@@ -138,16 +139,16 @@
          </layout>
         </item>
         <item>
-         <layout class="QVBoxLayout" >
+         <layout class="QVBoxLayout">
           <item>
-           <spacer name="spacer7" >
-            <property name="orientation" >
+           <spacer name="spacer7">
+            <property name="orientation">
              <enum>Qt::Horizontal</enum>
             </property>
-            <property name="sizeType" >
+            <property name="sizeType">
              <enum>QSizePolicy::Expanding</enum>
             </property>
-            <property name="sizeHint" stdset="0" >
+            <property name="sizeHint" stdset="0">
              <size>
               <width>41</width>
               <height>21</height>
@@ -156,14 +157,14 @@
            </spacer>
           </item>
           <item>
-           <spacer name="spacer8" >
-            <property name="orientation" >
+           <spacer name="spacer8">
+            <property name="orientation">
              <enum>Qt::Horizontal</enum>
             </property>
-            <property name="sizeType" >
+            <property name="sizeType">
              <enum>QSizePolicy::Expanding</enum>
             </property>
-            <property name="sizeHint" stdset="0" >
+            <property name="sizeHint" stdset="0">
              <size>
               <width>41</width>
               <height>20</height>
@@ -174,23 +175,23 @@
          </layout>
         </item>
         <item>
-         <layout class="QVBoxLayout" >
+         <layout class="QVBoxLayout">
           <item>
-           <widget class="QLabel" name="textLabel2_2" >
-            <property name="text" >
+           <widget class="QLabel" name="textLabel2_2">
+            <property name="text">
              <string>Root Password (Confirm)</string>
             </property>
-            <property name="alignment" >
+            <property name="alignment">
              <set>Qt::AlignCenter</set>
             </property>
-            <property name="wordWrap" >
+            <property name="wordWrap">
              <bool>false</bool>
             </property>
            </widget>
           </item>
           <item>
-           <widget class="QLineEdit" name="lineRoot2" >
-            <property name="echoMode" >
+           <widget class="QLineEdit" name="lineRoot2">
+            <property name="echoMode">
              <enum>QLineEdit::Password</enum>
             </property>
            </widget>
@@ -199,56 +200,40 @@
         </item>
        </layout>
       </item>
-      <item rowspan="2" row="2" column="0" colspan="2" >
-       <widget class="Line" name="line1" >
-        <property name="frameShape" >
+      <item row="2" column="0">
+       <widget class="Line" name="line1">
+        <property name="frameShape">
          <enum>QFrame::HLine</enum>
         </property>
-        <property name="frameShadow" >
+        <property name="frameShadow">
          <enum>QFrame::Sunken</enum>
         </property>
        </widget>
       </item>
-      <item row="4" column="0" colspan="2" >
-       <widget class="QLabel" name="textLabel3" >
-        <property name="text" >
+      <item row="3" column="0">
+       <widget class="QLabel" name="textLabel3">
+        <property name="text">
          <string>Please enter a username &amp; password to create:
 (This is required to ssh into this jail and 'su' to root)</string>
         </property>
-        <property name="wordWrap" >
+        <property name="wordWrap">
          <bool>false</bool>
         </property>
        </widget>
       </item>
-      <item row="3" column="1" >
-       <spacer name="spacer10_2" >
-        <property name="orientation" >
-         <enum>Qt::Vertical</enum>
-        </property>
-        <property name="sizeType" >
-         <enum>QSizePolicy::Fixed</enum>
-        </property>
-        <property name="sizeHint" stdset="0" >
-         <size>
-          <width>20</width>
-          <height>16</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="5" column="0" colspan="2" >
-       <layout class="QHBoxLayout" >
+      <item row="4" column="0">
+       <layout class="QHBoxLayout">
         <item>
-         <layout class="QVBoxLayout" >
+         <layout class="QVBoxLayout">
           <item>
-           <spacer name="spacer11_2" >
-            <property name="orientation" >
+           <spacer name="spacer11_2">
+            <property name="orientation">
              <enum>Qt::Horizontal</enum>
             </property>
-            <property name="sizeType" >
+            <property name="sizeType">
              <enum>QSizePolicy::Expanding</enum>
             </property>
-            <property name="sizeHint" stdset="0" >
+            <property name="sizeHint" stdset="0">
              <size>
               <width>81</width>
               <height>20</height>
@@ -257,14 +242,14 @@
            </spacer>
           </item>
           <item>
-           <spacer name="spacer12" >
-            <property name="orientation" >
+           <spacer name="spacer12">
+            <property name="orientation">
              <enum>Qt::Horizontal</enum>
             </property>
-            <property name="sizeType" >
+            <property name="sizeType">
              <enum>QSizePolicy::Expanding</enum>
             </property>
-            <property name="sizeHint" stdset="0" >
+            <property name="sizeHint" stdset="0">
              <size>
               <width>81</width>
               <height>20</height>
@@ -275,36 +260,36 @@
          </layout>
         </item>
         <item>
-         <layout class="QVBoxLayout" >
+         <layout class="QVBoxLayout">
           <item>
-           <widget class="QLabel" name="textLabel4" >
-            <property name="text" >
+           <widget class="QLabel" name="textLabel4">
+            <property name="text">
              <string>Username</string>
             </property>
-            <property name="alignment" >
+            <property name="alignment">
              <set>Qt::AlignCenter</set>
             </property>
-            <property name="wordWrap" >
+            <property name="wordWrap">
              <bool>false</bool>
             </property>
            </widget>
           </item>
           <item>
-           <widget class="QLineEdit" name="lineUsername" />
+           <widget class="QLineEdit" name="lineUsername"/>
           </item>
          </layout>
         </item>
         <item>
-         <layout class="QVBoxLayout" >
+         <layout class="QVBoxLayout">
           <item>
-           <spacer name="spacer13" >
-            <property name="orientation" >
+           <spacer name="spacer13">
+            <property name="orientation">
              <enum>Qt::Horizontal</enum>
             </property>
-            <property name="sizeType" >
+            <property name="sizeType">
              <enum>QSizePolicy::Expanding</enum>
             </property>
-            <property name="sizeHint" stdset="0" >
+            <property name="sizeHint" stdset="0">
              <size>
               <width>101</width>
               <height>21</height>
@@ -313,14 +298,14 @@
            </spacer>
           </item>
           <item>
-           <spacer name="spacer14" >
-            <property name="orientation" >
+           <spacer name="spacer14">
+            <property name="orientation">
              <enum>Qt::Horizontal</enum>
             </property>
-            <property name="sizeType" >
+            <property name="sizeType">
              <enum>QSizePolicy::Expanding</enum>
             </property>
-            <property name="sizeHint" stdset="0" >
+            <property name="sizeHint" stdset="0">
              <size>
               <width>101</width>
               <height>20</height>
@@ -332,23 +317,23 @@
         </item>
        </layout>
       </item>
-      <item row="6" column="0" colspan="2" >
-       <layout class="QHBoxLayout" >
+      <item row="5" column="0">
+       <layout class="QHBoxLayout">
         <item>
-         <layout class="QVBoxLayout" >
+         <layout class="QVBoxLayout">
           <item>
-           <widget class="QLabel" name="textLabel5" >
-            <property name="text" >
+           <widget class="QLabel" name="textLabel5">
+            <property name="text">
              <string>Password</string>
             </property>
-            <property name="wordWrap" >
+            <property name="wordWrap">
              <bool>false</bool>
             </property>
            </widget>
           </item>
           <item>
-           <widget class="QLineEdit" name="lineUserPW" >
-            <property name="echoMode" >
+           <widget class="QLineEdit" name="lineUserPW">
+            <property name="echoMode">
              <enum>QLineEdit::Password</enum>
             </property>
            </widget>
@@ -356,16 +341,16 @@
          </layout>
         </item>
         <item>
-         <layout class="QVBoxLayout" >
+         <layout class="QVBoxLayout">
           <item>
-           <spacer name="spacer10" >
-            <property name="orientation" >
+           <spacer name="spacer10">
+            <property name="orientation">
              <enum>Qt::Horizontal</enum>
             </property>
-            <property name="sizeType" >
+            <property name="sizeType">
              <enum>QSizePolicy::Expanding</enum>
             </property>
-            <property name="sizeHint" stdset="0" >
+            <property name="sizeHint" stdset="0">
              <size>
               <width>61</width>
               <height>20</height>
@@ -374,14 +359,14 @@
            </spacer>
           </item>
           <item>
-           <spacer name="spacer11" >
-            <property name="orientation" >
+           <spacer name="spacer11">
+            <property name="orientation">
              <enum>Qt::Horizontal</enum>
             </property>
-            <property name="sizeType" >
+            <property name="sizeType">
              <enum>QSizePolicy::Expanding</enum>
             </property>
-            <property name="sizeHint" stdset="0" >
+            <property name="sizeHint" stdset="0">
              <size>
               <width>61</width>
               <height>21</height>
@@ -392,20 +377,20 @@
          </layout>
         </item>
         <item>
-         <layout class="QVBoxLayout" >
+         <layout class="QVBoxLayout">
           <item>
-           <widget class="QLabel" name="textLabel5_2" >
-            <property name="text" >
+           <widget class="QLabel" name="textLabel5_2">
+            <property name="text">
              <string>Password (Confirm)</string>
             </property>
-            <property name="wordWrap" >
+            <property name="wordWrap">
              <bool>false</bool>
             </property>
            </widget>
           </item>
           <item>
-           <widget class="QLineEdit" name="lineUserPW2" >
-            <property name="echoMode" >
+           <widget class="QLineEdit" name="lineUserPW2">
+            <property name="echoMode">
              <enum>QLineEdit::Password</enum>
             </property>
            </widget>
@@ -414,17 +399,11 @@
         </item>
        </layout>
       </item>
-      <item row="7" column="0" colspan="2" >
-       <widget class="QLabel" name="textError" >
-        <property name="text" >
+      <item row="6" column="0">
+       <widget class="QLabel" name="textError">
+        <property name="text">
          <string/>
         </property>
-        <property name="alignment" >
-         <set>Qt::AlignTop</set>
-        </property>
-        <property name="wordWrap" >
-         <bool>false</bool>
-        </property>
        </widget>
       </item>
      </layout>
@@ -432,17 +411,18 @@
    </item>
   </layout>
  </widget>
- <layoutdefault spacing="6" margin="11" />
- <customwidgets>
-  <customwidget>
-   <class>Q3GroupBox</class>
-   <extends>QGroupBox</extends>
-   <header>Qt3Support/Q3GroupBox</header>
-   <container>1</container>
-  </customwidget>
- </customwidgets>
+ <layoutdefault spacing="6" margin="11"/>
+ <tabstops>
+  <tabstop>lineRoot</tabstop>
+  <tabstop>lineRoot2</tabstop>
+  <tabstop>lineUsername</tabstop>
+  <tabstop>lineUserPW</tabstop>
+  <tabstop>lineUserPW2</tabstop>
+  <tabstop>pushSave</tabstop>
+  <tabstop>pushCancel</tabstop>
+ </tabstops>
  <resources>
-  <include location="warden.qrc" />
+  <include location="warden.qrc"/>
  </resources>
  <connections>
   <connection>
@@ -451,11 +431,11 @@
    <receiver>dialogSetupUser</receiver>
    <slot>slotCancelClicked()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>20</x>
      <y>20</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>
@@ -467,11 +447,11 @@
    <receiver>dialogSetupUser</receiver>
    <slot>slotSaveClicked()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>20</x>
      <y>20</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>

Modified: pcbsd-projects/warden/src/dialogwarden.cpp
===================================================================
--- pcbsd-projects/warden/src/dialogwarden.cpp	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/dialogwarden.cpp	2010-03-25 19:41:43 UTC (rev 6443)
@@ -13,6 +13,7 @@
 #include <qmessagebox.h>
 #include <qfiledialog.h>
 #include <qsettings.h>
+#include <QTextStream>
 
 
 
@@ -34,7 +35,7 @@
 void dialogWarden::programInit()
 {
     // Setup our listview options
-    listJails->setSelectionMode(Q3ListView::Single);
+    listJails->setSelectionMode(QAbstractItemView::SingleSelection);
     listJails->setAllColumnsShowFocus(TRUE);
     
     // Read in our configuration data
@@ -52,7 +53,8 @@
     
     
     // Connect the rightclick slot 
-    connect( listJails, SIGNAL(rightButtonClicked ( Q3ListViewItem *, const QPoint &, int ) ), this, SLOT(slotJailRightClicked( Q3ListViewItem *, const QPoint &, int) ) );
+    listJails->setContextMenuPolicy( Qt::CustomContextMenu);
+    connect( listJails, SIGNAL(customContextMenuRequested (const QPoint & ) ), this, SLOT(slotJailRightClicked() ) );
 
 }
 
@@ -75,7 +77,7 @@
             // Check for the hostname of this jail
             QFile file( JailDir + "/" + d[i] + "/etc/.wardenhost" );
             if ( file.exists() ) {
-	if ( file.open( IO_ReadOnly ) ) {
+	if ( file.open( QIODevice::ReadOnly ) ) {
 	    QTextStream stream( &file );
 	    QString host;
         
@@ -90,8 +92,9 @@
 	          {
 		     AutoStart = "Enabled";  
 	          }
-	   
-	           (void) new Q3ListViewItem( listJails, d[i], host, AutoStart, "<Unknown>" );
+	           QStringList cols;
+                   cols << d[i] << host << AutoStart << "<Unknown>"; 
+	           (void) new QTreeWidgetItem( listJails, cols );
                   }
 	}
         }
@@ -108,20 +111,13 @@
     
     QSettings settings("PCBSD");
 
-    ProgDir = settings.readEntry( "/PC-BSD/TheWarden/ProgDir", "UNSET" );
-    WorldSrc = settings.readEntry( "/PC-BSD/TheWarden/WorldSrc", "UNSET" );
-    WorldDir = settings.readEntry( "/PC-BSD/TheWarden/WorldDir", "UNSET" );
-    NIC = settings.readEntry( "/PC-BSD/TheWarden/NIC", "UNSET" );
-    TMPDIR = settings.readEntry( "/PC-BSD/TheWarden/TMPDIR", "UNSET" );
-    JailDir = settings.readEntry( "/PC-BSD/TheWarden/JailDir", "UNSET" );
+    ProgDir = settings.value( "/PC-BSD/TheWarden/ProgDir", WARDENDIR ).toString();
+    WorldSrc = settings.value( "/PC-BSD/TheWarden/WorldSrc", QString("/usr/src") ).toString();
+    WorldDir = settings.value( "/PC-BSD/TheWarden/WorldDir", WARDENDIR + QString("/worlds/buildworld") ).toString();
+    NIC = settings.value( "/PC-BSD/TheWarden/NIC", "UNSET" ).toString();
+    TMPDIR = settings.value( "/PC-BSD/TheWarden/TMPDIR", WARDENDIR + QString("/tmp")).toString();
+    JailDir = settings.value( "/PC-BSD/TheWarden/JailDir", WARDENDIR + QString("/jails") ).toString();
     
-    if (ProgDir == "UNSET" )
-    {
-	    QMessageBox::critical( 0, "The Warden",
-        QString("Cannot locate the warden program data! Please re-install the application!")  );
-         exit(5);
-    }
-
 }
 
 
@@ -150,21 +146,21 @@
     checkingStatus = true;
     
     // Read in our iterator and start checking jail status
-    Q3ListViewItemIterator it( listJails );
-    while ( it.current() ) {
+    QTreeWidgetItemIterator it( listJails );
+    while (*it) {
 	
 	if ( currentStatusWorkingJail.isEmpty() ) {
-	    currentStatusWorkingJail = it.current()->text(0);
+	    currentStatusWorkingJail = (*it)->text(0);
 	    break;
 	}
 	
 	if ( found == 1)
 	{
-	  currentStatusWorkingJail = it.current()->text(0);
+	  currentStatusWorkingJail = (*it)->text(0);
 	  break;
 	}
 	
-	if ( currentStatusWorkingJail == it.current()->text(0) )
+	if ( currentStatusWorkingJail == (*it)->text(0) )
 	{
 	    found = 1;
 	}
@@ -181,17 +177,14 @@
 	return;
     }
       // Run the getUpdatesDir.sh script to rsync with master server
-      statusProc = new Q3Process( this );
-      statusProc->addArgument( ProgDir + "/scripts/backend/checkstatus.sh");
-      statusProc->addArgument( currentStatusWorkingJail);
+      statusProc = new QProcess( this );
+      QString program = ProgDir + "/scripts/backend/checkstatus.sh";
+      QStringList args;
+      args << currentStatusWorkingJail;
       
       // Connect the exited signal and start the process
-      connect( statusProc, SIGNAL(processExited()), this, SLOT(slotCheckStatusReturn() ) );
-      if ( ! statusProc->start() ) {
-	  QMessageBox::information( this, tr("Error!"), tr("Error running status checker!! ") );
-      }
-
-  
+      connect( statusProc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotCheckStatusReturn() ) );
+      statusProc->start(program, args);
 }
 
 
@@ -199,12 +192,12 @@
 {
     if ( checkingStatus == true) {
        // Set our timer to check again
-       statusTimer->start( UPDATE_MSEC, TRUE );
+       statusTimer->start( UPDATE_MSEC );
   } else {
       currentStatusWorkingJail = "";
       slotCheckJailStatus();
       // Set our timer to check again
-      statusTimer->start( UPDATE_MSEC, TRUE );
+      statusTimer->start( UPDATE_MSEC );
   }
 
 }
@@ -214,20 +207,17 @@
 {
 
     // Check the exit status
-    int exitStatus = statusProc->exitStatus();
+    int exitStatus = statusProc->exitCode();
     
         // Read in our iterator and locate the jail, changing its status
-    Q3ListViewItemIterator it( listJails );
-    while ( it.current() ) {
-	
-	
-
-	if ( currentStatusWorkingJail == it.current()->text(0) )
+    QTreeWidgetItemIterator it( listJails );
+    while (*it) {
+	if ( currentStatusWorkingJail == (*it)->text(0) )
 	{
 	    if ( exitStatus == 0) {
-		it.current()->setText(3, tr("Running"));
+		(*it)->setText(3, tr("Running"));
 	    } else {
-		it.current()->setText(3, tr("Stopped"));
+		(*it)->setText(3, tr("Stopped"));
 	    }
 	    
 	    break;
@@ -244,35 +234,35 @@
 
 
 
-void dialogWarden::slotJailRightClicked( Q3ListViewItem *item, const QPoint &point, int col )
+void dialogWarden::slotJailRightClicked()
 {
     QString Status;
     bool ok;
 
-    if ( item) {
-          popupip = item->text(0);
-          Status = item->text(3);
+    if ( listJails->currentItem()) {
+          popupip = listJails->currentItem()->text(0);
+          Status = listJails->currentItem()->text(3);
 	  if ( Status == tr("Running") ) {
-	      popup = new KMenu();
-	      popup->insertItem( tr("Stop this Jail") , this, SLOT(slotStopJail() )  );
-	      popup->insertSeparator();
-	      popup->insertItem( tr("Toggle Autostart") , this, SLOT(slotToggleAutostartClicked() )  );
-	      popup->insertItem( tr("Install Inmate into jail") , this, SLOT(slotInmateInstallClicked() )  );
-	      popup->insertItem( tr("View installed packages") , this, SLOT(slotListJailPkgs() )  );
-	      popup->insertItem( tr("Export jail to .wdn file") , this, SLOT(slotExportJail() )  );
-	      popup->insertSeparator();
-	      popup->insertItem( tr("Delete Jail") , this, SLOT(slotDeleteJail() )  );
+	      popup = new QMenu();
+	      popup->addAction( tr("Stop this Jail") , this, SLOT(slotStopJail() )  );
+	      popup->addSeparator();
+	      popup->addAction( tr("Toggle Autostart") , this, SLOT(slotToggleAutostartClicked() )  );
+	      popup->addAction( tr("Install Inmate into jail") , this, SLOT(slotInmateInstallClicked() )  );
+	      popup->addAction( tr("View installed packages") , this, SLOT(slotListJailPkgs() )  );
+	      popup->addAction( tr("Export jail to .wdn file") , this, SLOT(slotExportJail() )  );
+	      popup->addSeparator();
+	      popup->addAction( tr("Delete Jail") , this, SLOT(slotDeleteJail() )  );
 	      popup->exec( QCursor::pos() );
 	  } else {
-	      popup = new KMenu();
-	      popup->insertItem( tr("Start this Jail") , this, SLOT(slotStartJail() )  );
-	      popup->insertSeparator();
-	      popup->insertItem( tr("Toggle Autostart") , this, SLOT(slotToggleAutostartClicked() )  );
-	      popup->insertItem( tr("Install Inmate into jail") , this, SLOT(slotInmateInstallClicked() )  );
-	      popup->insertItem( tr("View installed packages") , this, SLOT(slotListJailPkgs() )  );
-	      popup->insertItem( tr("Export jail to .wdn file") , this, SLOT(slotExportJail() )  );
-	      popup->insertSeparator();
-	      popup->insertItem( tr("Delete Jail") , this, SLOT(slotDeleteJail() )  );
+	      popup = new QMenu();
+	      popup->addAction( tr("Start this Jail") , this, SLOT(slotStartJail() )  );
+	      popup->addSeparator();
+	      popup->addAction( tr("Toggle Autostart") , this, SLOT(slotToggleAutostartClicked() )  );
+	      popup->addAction( tr("Install Inmate into jail") , this, SLOT(slotInmateInstallClicked() )  );
+	      popup->addAction( tr("View installed packages") , this, SLOT(slotListJailPkgs() )  );
+	      popup->addAction( tr("Export jail to .wdn file") , this, SLOT(slotExportJail() )  );
+	      popup->addSeparator();
+	      popup->addAction( tr("Delete Jail") , this, SLOT(slotDeleteJail() )  );
 	      popup->exec( QCursor::pos() );
 	  }
 
@@ -299,15 +289,14 @@
 	
 	
       // Now start the script to stop this jail
-      stopJailProc = new Q3Process( this );
-      stopJailProc->addArgument( ProgDir + "/scripts/backend/stopjail.sh");
-      stopJailProc->addArgument( popupip);
+      stopJailProc = new QProcess( this );
+      QString program = ProgDir + "/scripts/backend/stopjail.sh";
+      QStringList args;
+      args << popupip;
       
       // Connect the exited signal and start the process
-      connect( stopJailProc, SIGNAL(processExited()), this, SLOT(slotFinishedWorking() ) );
-      if ( ! stopJailProc->start() ) {
-	  QMessageBox::information( this, tr("Error!"), tr("Error running stopjail.sh! ") );
-      }
+      connect( stopJailProc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotFinishedWorking() ) );
+      stopJailProc->start(program, args);
 	
 }
 
@@ -328,15 +317,14 @@
 	
 	
       // Now start the script to stop this jail
-      startJailProc = new Q3Process( this );
-      startJailProc->addArgument( ProgDir + "/scripts/backend/startjail.sh");
-      startJailProc->addArgument( popupip);
+      startJailProc = new QProcess( this );
+      QString program =  ProgDir + "/scripts/backend/startjail.sh";
+      QStringList args;
+      args << popupip;
       
       // Connect the exited signal and start the process
-      connect( startJailProc, SIGNAL(processExited()), this, SLOT(slotFinishedWorking() ) );
-      if ( ! startJailProc->start() ) {
-	  QMessageBox::information( this, tr("Error!"), tr("Error running startjail.sh! ") );
-      }
+      connect( startJailProc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotFinishedWorking() ) );
+      startJailProc->start(program, args);
 }
 
 
@@ -346,11 +334,10 @@
     QString exportFile, tmp;
     
     exportFile = QFileDialog::getExistingDirectory(
-                    "/home",
                     this,
-                    "get existing directory",
-		    "Choose a directory to save the finished .wdn file:",
-                    TRUE );
+		    tr("Choose a directory to save the finished .wdn file:"),
+                    "/home",
+                    QFileDialog::ShowDirsOnly );
     
     if ( exportFile.isEmpty() )
     {
@@ -377,17 +364,15 @@
       workingDialog->show();
     
           // Now start the script to stop this jail
-      exportJailProc = new Q3Process( this );
-      exportJailProc->addArgument( ProgDir + "/scripts/backend/exportjail.sh");
-      exportJailProc->addArgument( popupip);
-      exportJailProc->addArgument( exportFile );
+      exportJailProc = new QProcess( this );
+      QString program = ProgDir + "/scripts/backend/exportjail.sh";
+      QStringList args;
+      args << popupip << exportFile;
       
       // Connect the exited signal and start the process 
-     // connect( exportJailProc, SIGNAL(readyReadStdout ()), this, SLOT(slotReadDisplayOutput() ) );
-      connect( exportJailProc, SIGNAL(processExited()), this, SLOT(slotFinishedWorking() ) );
-      if ( ! exportJailProc->start() ) {
-	  QMessageBox::information( this, tr("Error!"), tr("Error running startjail.sh! ") );
-      }
+      // connect( exportJailProc, SIGNAL(readyReadStdout ()), this, SLOT(slotReadDisplayOutput() ) );
+      connect( exportJailProc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotFinishedWorking() ) );
+      exportJailProc->start(program, args);
    
 }
 
@@ -404,17 +389,18 @@
       dialogOutput->show();
     
           // Now start the script to stop this jail
-      listPackagesProc = new Q3Process( this );
-      listPackagesProc->addArgument( ProgDir + "/scripts/backend/listpkgs.sh");
-      listPackagesProc->addArgument( popupip);
+      listPackagesProc = new QProcess( this );
+      QString program = ProgDir + "/scripts/backend/listpkgs.sh";
+      QStringList args;
+      args << popupip;
 
-      
+      listPackagesProc->setProcessChannelMode(QProcess::MergedChannels);
+      listPackagesProc->setReadChannel(QProcess::StandardOutput);
+
       // Connect the exited signal and start the process 
-      connect( listPackagesProc, SIGNAL(readyReadStdout ()), this, SLOT(slotReadPkgsOutput() ) );
-      //connect( listPackagesProc, SIGNAL(processExited()), this, SLOT(slotFinishedOutput() ) );
-      if ( ! listPackagesProc->start() ) {
-	  QMessageBox::information( this, tr("Error!"), tr("Error running listpkgs.sh! ") );
-      }
+      connect( listPackagesProc, SIGNAL(readyReadStandardOutput ()), this, SLOT(slotReadPkgsOutput() ) );
+
+      listPackagesProc->start(program, args);
 }
 
 
@@ -433,16 +419,15 @@
       workingDialog->show();
     
           // Now start the script to stop this jail
-      deleteJailProc = new Q3Process( this );
-      deleteJailProc->addArgument( ProgDir + "/scripts/backend/deletejail.sh");
-      deleteJailProc->addArgument( popupip);
+      deleteJailProc = new QProcess( this );
+      QString program = ProgDir + "/scripts/backend/deletejail.sh";
+      QStringList args;
+      args << popupip;
       
       // Connect the exited signal and start the process 
-      connect( deleteJailProc, SIGNAL(processExited()), this, SLOT(refreshJails() ) );
-      connect( deleteJailProc, SIGNAL(processExited()), this, SLOT(slotFinishedWorking() ) );
-      if ( ! deleteJailProc->start() ) {
-	  QMessageBox::information( this, tr("Error!"), tr("Error running deletejail.sh! ") );
-      }
+      connect( deleteJailProc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(refreshJails() ) );
+      connect( deleteJailProc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotFinishedWorking() ) );
+      deleteJailProc->start(program, args);
 }
 
 
@@ -457,7 +442,7 @@
 
 void dialogWarden::runCommand( QString command )
 {
-        FILE *file = popen(command,"r");
+        FILE *file = popen(command.toLatin1(),"r");
         fclose(file);
 }
 
@@ -466,9 +451,9 @@
 {
     
     
-    while ( exportJailProc->canReadLineStdout() )
+    while ( exportJailProc->canReadLine() )
     {
-	dialogOutput->appendDialogText(exportJailProc->readLineStdout());
+	dialogOutput->appendDialogText(exportJailProc->readLine());
     }
 
 }
@@ -484,9 +469,9 @@
 void dialogWarden::slotReadPkgsOutput()
 {
     
-    while ( listPackagesProc->canReadLineStdout() )
+    while ( listPackagesProc->canReadLine() )
     {
-	dialogOutput->appendDialogText(listPackagesProc->readLineStdout());
+	dialogOutput->appendDialogText(listPackagesProc->readLine());
     }
 }
 
@@ -532,9 +517,9 @@
 
 void dialogWarden::slotReadCreateOutput()
 {
-    while ( createJailProc->canReadLineStdout() )
+    while ( createJailProc->canReadLine() )
     {
-	dialogOutput->appendDialogText(createJailProc->readLineStdout());
+	dialogOutput->appendDialogText(createJailProc->readLine());
     }
 }
 
@@ -542,21 +527,17 @@
 void dialogWarden::slotFinishedJailCreate()
 {
     // Jail is done creating, now add the username to it
-      userAddProc = new Q3Process( this );
-      userAddProc->addArgument( ProgDir + "/scripts/backend/setupusers.sh");
-      userAddProc->addArgument( newIP);
+      userAddProc = new QProcess( this );
+      QString program = ProgDir + "/scripts/backend/setupusers.sh";
+      QStringList args;
+      args << newIP << newRootPW << newUser << newUserPW;
       
-      userAddProc->addArgument( newRootPW);
-      userAddProc->addArgument( newUser);
-      userAddProc->addArgument( newUserPW);
-
-      
       // Connect the exited signal and start the process 
-      connect( userAddProc, SIGNAL(readyReadStdout ()), this, SLOT(slotReadUserAddOutput() ) );
-      connect( userAddProc, SIGNAL(processExited()), this, SLOT(slotFinishedUserAdd() ) );
-      if ( ! userAddProc->start() ) {
-	  QMessageBox::information( this, tr("Error!"), tr("Error running setupusers.sh! ") );
-      }
+      userAddProc->setProcessChannelMode(QProcess::MergedChannels);
+      userAddProc->setReadChannel(QProcess::StandardOutput);
+      connect( userAddProc, SIGNAL(readyReadStandardOutput()), this, SLOT(slotReadUserAddOutput() ) );
+      connect( userAddProc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotFinishedUserAdd() ) );
+      userAddProc->start(program, args);
     
 
 }
@@ -582,47 +563,43 @@
     
     
       // Now start the script to stop this jail
-      createJailProc = new Q3Process( this );
-      createJailProc->addArgument( ProgDir + "/scripts/backend/createjail.sh");
-      createJailProc->addArgument( newIP);
-      createJailProc->addArgument( newHost);
+      createJailProc = new QProcess( this );
+      QString program = ProgDir + "/scripts/backend/createjail.sh";
+      QStringList args;
+      args <<  newIP << newHost;
+
       // Set our flags if we want source / ports tree or not
       if ( newSrc )
-      {
-	createJailProc->addArgument("YES");
-      } else {
-	createJailProc->addArgument("NO");
-      }
+	args << "YES";
+      else 
+	args << "NO";
+
       if ( newPorts )
-      {
-	createJailProc->addArgument( "YES");
-      } else {
-	createJailProc->addArgument("NO");
-      }
+	args <<  "YES";
+      else 
+	args << "NO";
+
       if ( newAutostart )
-      {
-	createJailProc->addArgument( "YES");
-      } else {
-	createJailProc->addArgument("NO");
-      }
+	args << "YES";
+      else
+	args << "NO";
 
       
       // Connect the exited signal and start the process 
-      connect( createJailProc, SIGNAL(readyReadStdout ()), this, SLOT(slotReadCreateOutput() ) );
-      connect( createJailProc, SIGNAL(processExited()), this, SLOT(slotFinishedJailCreate() ) );
-      if ( ! createJailProc->start() ) {
-	  QMessageBox::information( this, tr("Error!"), tr("Error running createjail.sh! ") );
-      }
-    
+      createJailProc->setProcessChannelMode(QProcess::MergedChannels);
+      createJailProc->setReadChannel(QProcess::StandardOutput);
+      connect( createJailProc, SIGNAL(readyReadStandardOutput ()), this, SLOT(slotReadCreateOutput() ) );
+      connect( createJailProc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotFinishedJailCreate() ) );
+      createJailProc->start(program, args);
 
 }
 
 
 void dialogWarden::slotReadUserAddOutput()
 {
-    while ( userAddProc->canReadLineStdout() )
+    while ( userAddProc->canReadLine() )
     {
-	dialogOutput->appendDialogText(userAddProc->readLineStdout());
+	dialogOutput->appendDialogText(userAddProc->readLine());
     }
 }
 
@@ -645,11 +622,10 @@
       importFile="";
     
       importFile = QFileDialog::getOpenFileName(
-                    "/home",
-                    "Warden Jail Packs (*.wdn)",
                     this,
-                    "open file dialog",
-                    "Select a jail to import" );
+                    tr("Select warden jail package"),
+                    "/home",
+                    "Warden Jail Packs (*.wdn)");
       
       if ( importFile.isEmpty() )
       {
@@ -665,19 +641,18 @@
       dialogOutput->show();
       
       
-      importJailProc = new Q3Process( this );
-      importJailProc->addArgument( ProgDir + "/scripts/backend/importjail.sh");
-      importJailProc->addArgument( importFile);
-      importJailProc->addArgument( "OFF");
-      importJailProc->addArgument( "OFF");
+      importJailProc = new QProcess( this );
+      QString program = ProgDir + "/scripts/backend/importjail.sh";
+      QStringList args;
+      args << importFile << "OFF" << "OFF";
 
       
       // Connect the exited signal and start the process 
-      connect( importJailProc, SIGNAL(readyReadStdout ()), this, SLOT(slotReadImportOutput() ) );
-      connect( importJailProc, SIGNAL(processExited()), this, SLOT(slotFinishedJailImport() ) );
-      if ( ! importJailProc->start() ) {
-	  QMessageBox::information( this, tr("Error!"), tr("Error running createjail.sh! ") );
-      }
+      importJailProc->setProcessChannelMode(QProcess::MergedChannels);
+      importJailProc->setReadChannel(QProcess::StandardOutput);
+      connect( importJailProc, SIGNAL(readyReadStandardOutput ()), this, SLOT(slotReadImportOutput() ) );
+      connect( importJailProc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotFinishedJailImport()));
+      importJailProc->start(program, args);
       
 
 }
@@ -685,9 +660,9 @@
 
 void dialogWarden::slotReadImportOutput()
 {
-    while ( importJailProc->canReadLineStdout() )
+    while ( importJailProc->canReadLine() )
     {
-	dialogOutput->appendDialogText(importJailProc->readLineStdout());
+	dialogOutput->appendDialogText(importJailProc->readLine());
     }
 }
 
@@ -710,11 +685,10 @@
       importFile="";
     
       importFile = QFileDialog::getOpenFileName(
+		    this,
+                    tr("open file dialog"),
                     "/home",
-                    "Warden Inmate Packs (*wit)",
-                    this,
-                    "open file dialog",
-                    "Select an Inmate to install" );
+                    "Warden Inmate Packs (*.wit)");
       
       if ( importFile.isEmpty() )
       {
@@ -730,27 +704,27 @@
       dialogOutput->show();
       
       
-      loadInmateProc = new Q3Process( this );
-      loadInmateProc->addArgument( ProgDir + "/scripts/backend/installinmate.sh");
-      loadInmateProc->addArgument( popupip);
-      loadInmateProc->addArgument( importFile);
+      loadInmateProc = new QProcess( this );
+      QString program = ProgDir + "/scripts/backend/installinmate.sh";
+      QStringList args;
+      args << popupip << importFile;
 
       
       // Connect the exited signal and start the process 
-      connect( loadInmateProc, SIGNAL(readyReadStdout ()), this, SLOT(slotReadInmateOutput() ) );
-      connect( loadInmateProc, SIGNAL(processExited()), this, SLOT(slotFinishedInmateInstall() ) );
-      if ( ! loadInmateProc->start() ) {
-	  QMessageBox::information( this, tr("Error!"), tr("Error running installinmate.sh! ") );
-      }
+      loadInmateProc->setProcessChannelMode(QProcess::MergedChannels);
+      loadInmateProc->setReadChannel(QProcess::StandardOutput);
+      connect( loadInmateProc, SIGNAL(readyReadStandardOutput ()), this, SLOT(slotReadInmateOutput() ) );
+      connect( loadInmateProc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotFinishedInmateInstall() ) );
+      loadInmateProc->start(program, args);
       
 }
 
 
 void dialogWarden::slotReadInmateOutput()
 {
-    while ( loadInmateProc->canReadLineStdout() )
+    while ( loadInmateProc->canReadLine() )
     {
-	dialogOutput->appendDialogText(loadInmateProc->readLineStdout());
+	dialogOutput->appendDialogText(loadInmateProc->readLine());
     }
 }
 
@@ -770,18 +744,16 @@
 void dialogWarden::slotToggleAutostartClicked()
 {
     // Change auto-start status of the jail
-    runCommand("warden auto " + popupip);
+    //runCommand("warden auto " + popupip);
     
-      toggleAutoProc = new Q3Process( this );
-      toggleAutoProc->addArgument( "warden");
-      toggleAutoProc->addArgument( "auto");
-      toggleAutoProc->addArgument( popupip);
+    toggleAutoProc = new QProcess( this );
+    QString program = "warden";
+    QStringList args;
+    args << "auto" << popupip;
 
       
-            // Connect the exited signal and start the process 
-      connect( toggleAutoProc, SIGNAL(processExited()), this, SLOT(refreshJails() ) );
-      if ( ! toggleAutoProc->start() ) {
-	  QMessageBox::information( this, tr("Error!"), tr("Error running warden auto! ") );
-      }
+    // Connect the exited signal and start the process 
+    connect( toggleAutoProc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(refreshJails() ) );
+    toggleAutoProc->start(program, args);
     
 }

Modified: pcbsd-projects/warden/src/dialogwarden.h
===================================================================
--- pcbsd-projects/warden/src/dialogwarden.h	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/dialogwarden.h	2010-03-25 19:41:43 UTC (rev 6443)
@@ -2,15 +2,17 @@
 #ifndef DIALOGWARDEN_H
 #define DIALOGWARDEN_H
 
+#define WARDENDIR QString("/usr/local/warden")
+
 #include "ui_dialogwarden.h"
-#include <kmenu.h>
+#include <QMenu>
 
-class dialogWarden : public Q3MainWindow, private Ui::dialogWarden
+class dialogWarden : public QMainWindow, private Ui::dialogWarden
 {
 	Q_OBJECT
 
 public:
-        dialogWarden() : Q3MainWindow()
+        dialogWarden() : QMainWindow()
         {
           setupUi(this);
         }
@@ -28,7 +30,7 @@
     void slotCheckJailStatus();
     void slotMonitorJailStatus();
     void slotCheckStatusReturn();
-    void slotJailRightClicked( Q3ListViewItem *item, const QPoint &point, int col );
+    void slotJailRightClicked();
     void slotStopJail();
     void slotStartJail();
     void slotExportJail();
@@ -65,18 +67,18 @@
     QString currentStatusWorkingJail;
     bool checkingStatus;
     QTimer *statusTimer;
-    Q3Process *statusProc;
+    QProcess *statusProc;
     QString popupip;
-    KMenu *popup;
+    QMenu *popup;
     dialogWorking *workingDialog;
-    Q3Process *stopJailProc;
-    Q3Process *startJailProc;
-    Q3Process *exportJailProc;
+    QProcess *stopJailProc;
+    QProcess *startJailProc;
+    QProcess *exportJailProc;
     dialogDisplayOutput *dialogOutput;
-    Q3Process *listPackagesProc;
-    Q3Process *deleteJailProc;
+    QProcess *listPackagesProc;
+    QProcess *deleteJailProc;
     dialogCreateJail *newJailDialog;
-    Q3Process *createJailProc;
+    QProcess *createJailProc;
     dialogSetupUser *userDialog;
     QString newIP;
     QString newHost;
@@ -86,11 +88,11 @@
     QString newRootPW;
     QString newUserPW;
     QString newUser;
-    Q3Process *userAddProc;
+    QProcess *userAddProc;
     QString importFile;
-    Q3Process *importJailProc;
-    Q3Process *loadInmateProc;
-    Q3Process *toggleAutoProc;
+    QProcess *importJailProc;
+    QProcess *loadInmateProc;
+    QProcess *toggleAutoProc;
 
 signals:
 } ;

Modified: pcbsd-projects/warden/src/dialogwarden.ui
===================================================================
--- pcbsd-projects/warden/src/dialogwarden.ui	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/dialogwarden.ui	2010-03-25 19:41:43 UTC (rev 6443)
@@ -1,7 +1,8 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
  <class>dialogWarden</class>
- <widget class="Q3MainWindow" name="dialogWarden" >
-  <property name="geometry" >
+ <widget class="QMainWindow" name="dialogWarden">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
@@ -9,80 +10,87 @@
     <height>336</height>
    </rect>
   </property>
-  <property name="windowTitle" >
+  <property name="windowTitle">
    <string>The Warden</string>
   </property>
-  <property name="windowIcon" >
-   <iconset resource="warden.qrc" >
+  <property name="windowIcon">
+   <iconset resource="warden.qrc">
     <normaloff>:/warden.png</normaloff>:/warden.png</iconset>
   </property>
-  <widget class="QWidget" name="widget" >
-   <property name="geometry" >
-    <rect>
-     <x>0</x>
-     <y>26</y>
-     <width>509</width>
-     <height>310</height>
-    </rect>
-   </property>
-   <layout class="QGridLayout" >
-    <item row="0" column="0" >
-     <widget class="Q3GroupBox" name="groupBox1" >
-      <property name="title" >
+  <widget class="QWidget" name="widget">
+   <layout class="QGridLayout">
+    <item row="0" column="0">
+     <widget class="QGroupBox" name="groupBox">
+      <property name="title">
        <string>Available Jails</string>
       </property>
-      <property name="frameShape" >
-       <enum>Q3GroupBox::GroupBoxPanel</enum>
-      </property>
-      <property name="frameShadow" >
-       <enum>Q3GroupBox::Sunken</enum>
-      </property>
-      <layout class="QGridLayout" >
-       <item row="0" column="0" >
-        <widget class="Q3ListView" name="listJails" >
+      <layout class="QGridLayout" name="gridLayout">
+       <item row="0" column="0">
+        <widget class="QTreeWidget" name="listJails">
+         <property name="indentation">
+          <number>0</number>
+         </property>
+         <property name="uniformRowHeights">
+          <bool>false</bool>
+         </property>
+         <property name="itemsExpandable">
+          <bool>true</bool>
+         </property>
+         <property name="allColumnsShowFocus">
+          <bool>true</bool>
+         </property>
+         <property name="headerHidden">
+          <bool>false</bool>
+         </property>
+         <attribute name="headerCascadingSectionResizes">
+          <bool>false</bool>
+         </attribute>
+         <attribute name="headerDefaultSectionSize">
+          <number>70</number>
+         </attribute>
+         <attribute name="headerMinimumSectionSize">
+          <number>25</number>
+         </attribute>
+         <attribute name="headerShowSortIndicator" stdset="0">
+          <bool>false</bool>
+         </attribute>
+         <attribute name="headerStretchLastSection">
+          <bool>true</bool>
+         </attribute>
+         <attribute name="headerCascadingSectionResizes">
+          <bool>false</bool>
+         </attribute>
+         <attribute name="headerDefaultSectionSize">
+          <number>70</number>
+         </attribute>
+         <attribute name="headerMinimumSectionSize">
+          <number>25</number>
+         </attribute>
+         <attribute name="headerShowSortIndicator" stdset="0">
+          <bool>false</bool>
+         </attribute>
+         <attribute name="headerStretchLastSection">
+          <bool>true</bool>
+         </attribute>
          <column>
-          <property name="text" >
+          <property name="text">
            <string>IP</string>
           </property>
-          <property name="clickable" >
-           <bool>true</bool>
-          </property>
-          <property name="resizable" >
-           <bool>true</bool>
-          </property>
          </column>
          <column>
-          <property name="text" >
+          <property name="text">
            <string>Hostname</string>
           </property>
-          <property name="clickable" >
-           <bool>true</bool>
-          </property>
-          <property name="resizable" >
-           <bool>true</bool>
-          </property>
          </column>
          <column>
-          <property name="text" >
+          <property name="text">
            <string>Autostart</string>
           </property>
-          <property name="clickable" >
-           <bool>true</bool>
-          </property>
-          <property name="resizable" >
-           <bool>true</bool>
-          </property>
          </column>
          <column>
-          <property name="text" >
+          <property name="text">
            <string>Status</string>
           </property>
-          <property name="clickable" >
-           <bool>true</bool>
-          </property>
-          <property name="resizable" >
-           <bool>true</bool>
-          </property>
          </column>
         </widget>
        </item>
@@ -91,128 +99,109 @@
     </item>
    </layout>
   </widget>
-  <widget class="QMenuBar" name="MenuBar" >
-   <property name="geometry" >
+  <widget class="QMenuBar" name="MenuBar">
+   <property name="geometry">
     <rect>
      <x>0</x>
      <y>0</y>
      <width>509</width>
-     <height>26</height>
+     <height>22</height>
     </rect>
    </property>
-   <widget class="QMenu" name="fileMenu" >
-    <property name="title" >
+   <widget class="QMenu" name="fileMenu">
+    <property name="title">
      <string>&amp;File</string>
     </property>
-    <addaction name="separator" />
-    <addaction name="separator" />
-    <addaction name="fileCreate_JailAction" />
-    <addaction name="fileImport_JailAction" />
-    <addaction name="separator" />
-    <addaction name="fileExitAction" />
+    <addaction name="separator"/>
+    <addaction name="separator"/>
+    <addaction name="fileCreate_JailAction"/>
+    <addaction name="fileImport_JailAction"/>
+    <addaction name="separator"/>
+    <addaction name="fileExitAction"/>
    </widget>
-   <widget class="QMenu" name="Jails" >
-    <property name="title" >
+   <widget class="QMenu" name="Jails">
+    <property name="title">
      <string>Jails</string>
     </property>
-    <addaction name="jailsRefreshAction" />
-    <addaction name="separator" />
-    <addaction name="jailsConfigurationAction" />
+    <addaction name="jailsRefreshAction"/>
+    <addaction name="separator"/>
+    <addaction name="jailsConfigurationAction"/>
    </widget>
-   <addaction name="fileMenu" />
-   <addaction name="Jails" />
-   <addaction name="separator" />
+   <addaction name="fileMenu"/>
+   <addaction name="Jails"/>
+   <addaction name="separator"/>
   </widget>
-  <action name="fileExitAction" >
-   <property name="text" >
+  <action name="fileExitAction">
+   <property name="text">
     <string>E&amp;xit</string>
    </property>
-   <property name="iconText" >
+   <property name="iconText">
     <string>Exit</string>
    </property>
-   <property name="shortcut" >
+   <property name="shortcut">
     <string/>
    </property>
-   <property name="name" stdset="0" >
+   <property name="name" stdset="0">
     <string>fileExitAction</string>
    </property>
   </action>
-  <action name="fileCreate_JailAction" >
-   <property name="text" >
+  <action name="fileCreate_JailAction">
+   <property name="text">
     <string>New Jail</string>
    </property>
-   <property name="iconText" >
+   <property name="iconText">
     <string>New Jail</string>
    </property>
-   <property name="name" stdset="0" >
+   <property name="name" stdset="0">
     <string>fileCreate_JailAction</string>
    </property>
   </action>
-  <action name="jailsRefreshAction" >
-   <property name="text" >
+  <action name="jailsRefreshAction">
+   <property name="text">
     <string>Refresh</string>
    </property>
-   <property name="iconText" >
+   <property name="iconText">
     <string>Refresh</string>
    </property>
-   <property name="name" stdset="0" >
+   <property name="name" stdset="0">
     <string>jailsRefreshAction</string>
    </property>
   </action>
-  <action name="jailsConfigurationAction" >
-   <property name="text" >
+  <action name="jailsConfigurationAction">
+   <property name="text">
     <string>Configuration</string>
    </property>
-   <property name="iconText" >
+   <property name="iconText">
     <string>Configuration</string>
    </property>
-   <property name="name" stdset="0" >
+   <property name="name" stdset="0">
     <string>jailsConfigurationAction</string>
    </property>
   </action>
-  <action name="fileImport_JailAction" >
-   <property name="text" >
+  <action name="fileImport_JailAction">
+   <property name="text">
     <string>Import Jail</string>
    </property>
-   <property name="iconText" >
+   <property name="iconText">
     <string>Import Jail</string>
    </property>
-   <property name="name" stdset="0" >
+   <property name="name" stdset="0">
     <string>fileImport_JailAction</string>
    </property>
   </action>
  </widget>
- <layoutdefault spacing="6" margin="11" />
- <customwidgets>
-  <customwidget>
-   <class>Q3GroupBox</class>
-   <extends>QGroupBox</extends>
-   <header>Qt3Support/Q3GroupBox</header>
-   <container>1</container>
-  </customwidget>
-  <customwidget>
-   <class>Q3MainWindow</class>
-   <extends>QWidget</extends>
-   <header>q3mainwindow.h</header>
-   <container>1</container>
-  </customwidget>
-  <customwidget>
-   <class>Q3ListView</class>
-   <extends>Q3Frame</extends>
-   <header>q3listview.h</header>
-  </customwidget>
- </customwidgets>
+ <layoutdefault spacing="6" margin="11"/>
  <includes>
-  <include location="local" >dialogconfig.h</include>
-  <include location="local" >qtimer.h</include>
-  <include location="local" >q3process.h</include>
-  <include location="local" >dialogworking.h</include>
-  <include location="local" >dialogdisplayoutput.h</include>
-  <include location="local" >dialogcreatejail.h</include>
-  <include location="local" >dialogsetupuser.h</include>
+  <include location="local">dialogconfig.h</include>
+  <include location="local">qtimer.h</include>
+  <include location="local">qprocess.h</include>
+  <include location="local">dialogworking.h</include>
+  <include location="local">dialogdisplayoutput.h</include>
+  <include location="local">dialogcreatejail.h</include>
+  <include location="local">dialogsetupuser.h</include>
  </includes>
  <resources>
-  <include location="warden.qrc" />
+  <include location="warden.qrc"/>
  </resources>
  <connections>
   <connection>
@@ -221,11 +210,11 @@
    <receiver>dialogWarden</receiver>
    <slot>slotOpenConfig()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>-1</x>
      <y>-1</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>
@@ -237,11 +226,11 @@
    <receiver>dialogWarden</receiver>
    <slot>slotExit()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>-1</x>
      <y>-1</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>
@@ -253,11 +242,11 @@
    <receiver>dialogWarden</receiver>
    <slot>refreshJails()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>-1</x>
      <y>-1</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>
@@ -269,11 +258,11 @@
    <receiver>dialogWarden</receiver>
    <slot>slotClickedNewJail()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>-1</x>
      <y>-1</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>
@@ -285,11 +274,11 @@
    <receiver>dialogWarden</receiver>
    <slot>slotImportJailClicked()</slot>
    <hints>
-    <hint type="sourcelabel" >
+    <hint type="sourcelabel">
      <x>-1</x>
      <y>-1</y>
     </hint>
-    <hint type="destinationlabel" >
+    <hint type="destinationlabel">
      <x>20</x>
      <y>20</y>
     </hint>

Modified: pcbsd-projects/warden/src/dialogworking.cpp
===================================================================
--- pcbsd-projects/warden/src/dialogworking.cpp	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/dialogworking.cpp	2010-03-25 19:41:43 UTC (rev 6443)
@@ -14,15 +14,15 @@
 
 void dialogWorking::programInit()
 {
- //  progressWorking->reset();
- //  progressWorking->setTotalSteps(0);
-   // progressWorking->setProgress(0, 0);
+   progressBarWorking->reset();
+   progressBarWorking->setMinimum(0);
+   progressBarWorking->setMaximum(0);
 }
 
 
 void dialogWorking::setDialogTitle( QString &title )
 {
-    setCaption(title);
+    setWindowTitle(title);
 }
 
 

Modified: pcbsd-projects/warden/src/dialogworking.ui
===================================================================
--- pcbsd-projects/warden/src/dialogworking.ui	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/dialogworking.ui	2010-03-25 19:41:43 UTC (rev 6443)
@@ -1,33 +1,34 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
  <class>dialogWorking</class>
- <widget class="QDialog" name="dialogWorking" >
-  <property name="geometry" >
+ <widget class="QDialog" name="dialogWorking">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>307</width>
-    <height>145</height>
+    <height>94</height>
    </rect>
   </property>
-  <property name="windowTitle" >
+  <property name="windowTitle">
    <string>Working</string>
   </property>
-  <property name="windowIcon" >
-   <iconset resource="warden.qrc" >
+  <property name="windowIcon">
+   <iconset resource="warden.qrc">
     <normaloff>:/warden.png</normaloff>:/warden.png</iconset>
   </property>
-  <layout class="QGridLayout" >
-   <item row="0" column="0" >
-    <layout class="QGridLayout" >
-     <item rowspan="2" row="0" column="2" >
-      <spacer name="spacer1_2" >
-       <property name="orientation" >
+  <layout class="QGridLayout">
+   <item row="0" column="0">
+    <layout class="QGridLayout">
+     <item row="0" column="2" rowspan="3">
+      <spacer name="spacer1_2">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Fixed</enum>
        </property>
-       <property name="sizeHint" stdset="0" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>20</width>
          <height>80</height>
@@ -35,15 +36,15 @@
        </property>
       </spacer>
      </item>
-     <item rowspan="2" row="0" column="0" >
-      <spacer name="spacer1" >
-       <property name="orientation" >
+     <item row="0" column="0" rowspan="3">
+      <spacer name="spacer1">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Fixed</enum>
        </property>
-       <property name="sizeHint" stdset="0" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>20</width>
          <height>80</height>
@@ -51,43 +52,33 @@
        </property>
       </spacer>
      </item>
-     <item row="0" column="1" >
-      <widget class="QLabel" name="textText" >
-       <property name="text" >
+     <item row="0" column="1">
+      <widget class="QLabel" name="textText">
+       <property name="text">
         <string>Working</string>
        </property>
-       <property name="alignment" >
+       <property name="alignment">
         <set>Qt::AlignCenter</set>
        </property>
-       <property name="wordWrap" >
+       <property name="wordWrap">
         <bool>false</bool>
        </property>
       </widget>
      </item>
-     <item row="1" column="1" >
-      <widget class="Q3ProgressBar" name="progressWorking" >
-       <property name="totalSteps" >
-        <number>0</number>
+     <item row="1" column="1">
+      <widget class="QProgressBar" name="progressBarWorking">
+       <property name="value">
+        <number>24</number>
        </property>
-       <property name="progress" >
-        <number>0</number>
-       </property>
       </widget>
      </item>
     </layout>
    </item>
   </layout>
  </widget>
- <layoutdefault spacing="6" margin="11" />
- <customwidgets>
-  <customwidget>
-   <class>Q3ProgressBar</class>
-   <extends>QFrame</extends>
-   <header>Qt3Support/Q3ProgressBar</header>
-  </customwidget>
- </customwidgets>
+ <layoutdefault spacing="6" margin="11"/>
  <resources>
-  <include location="warden.qrc" />
+  <include location="warden.qrc"/>
  </resources>
  <connections/>
 </ui>

Modified: pcbsd-projects/warden/src/main.cpp
===================================================================
--- pcbsd-projects/warden/src/main.cpp	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/main.cpp	2010-03-25 19:41:43 UTC (rev 6443)
@@ -1,36 +1,12 @@
 #include <qapplication.h>
 #include "dialogwarden.h"
-#include <kuniqueapplication.h>
-#include <kcmdlineargs.h>
-#include <kaboutdata.h>
 #include <err.h>
 
-static const char description[] = I18N_NOOP("The Warden GUI");
-
 int main( int argc, char ** argv )
 {
+    QApplication a(argc, argv, TRUE);
 
-    KAboutData aboutData("TheWarden", 0, ki18n("TheWarden"),
-                            "4.4", ki18n(description),
-                            KAboutData::License_BSD,
-                            ki18n("(c) 2008, Kris Moore(c)"));
-
-    aboutData.addAuthor(ki18n("Kris Moore"), ki18n("Current maintainer"), "kris at pcbsd.org");
-
-    KCmdLineArgs::init(argc, argv, &aboutData);
-
-    KCmdLineOptions options;
-
-
-    // Tell which options are supported
-    KCmdLineArgs::addCmdLineOptions( options );
-
-
-    KApplication a;
-
-
     dialogWarden *w = new dialogWarden();
-    a.setMainWidget(w);
     w->programInit();
     w->show();
     a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );

Modified: pcbsd-projects/warden/src/warden.pro
===================================================================
--- pcbsd-projects/warden/src/warden.pro	2010-03-25 15:02:49 UTC (rev 6442)
+++ pcbsd-projects/warden/src/warden.pro	2010-03-25 19:41:43 UTC (rev 6443)
@@ -3,9 +3,9 @@
 
 CONFIG	+= qt warn_on release
 
-LIBS	+= -L/usr/local/kde4/lib -lkdeui 
+LIBS	+= -L/usr/local/lib 
 
-INCLUDEPATH += /usr/local/kde4/include
+INCLUDEPATH += /usr/local/include
 
 HEADERS += dialogwarden.h dialogconfig.h dialogworking.h dialogdisplayoutput.h dialogcreatejail.h dialogsetupuser.h
 
@@ -21,5 +21,3 @@
 TARGET	= warden-bin
 
 RESOURCES += warden.qrc
-
-QT += qt3support



More information about the Commits mailing list