Index: trunk/ui/settingsdialog.ui
===================================================================
--- trunk/ui/settingsdialog.ui	(revision 82)
+++ trunk/ui/settingsdialog.ui	(revision 85)
@@ -152,183 +152,321 @@
     <bool>true</bool>
    </property>
-   <widget class="QGroupBox" name="groupRandomSettings">
-    <property name="title">
-     <string>Random values:</string>
-    </property>
-    <layout class="QVBoxLayout">
-     <item>
-      <layout class="QHBoxLayout" name="_2">
-       <item>
-        <widget class="QLabel" name="labelRandMin">
-         <property name="text">
-          <string>&amp;Minimal:</string>
-         </property>
-         <property name="buddy">
-          <cstring>spinRandMin</cstring>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QSpinBox" name="spinRandMin">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="cursor">
-          <cursorShape>PointingHandCursor</cursorShape>
-         </property>
-         <property name="statusTip">
-          <string>Minimum for random number generation</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </item>
-     <item>
-      <layout class="QHBoxLayout" name="_3">
-       <item>
-        <widget class="QLabel" name="labelRandMax">
-         <property name="text">
-          <string>Ma&amp;ximal:</string>
-         </property>
-         <property name="buddy">
-          <cstring>spinRandMax</cstring>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QSpinBox" name="spinRandMax">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="cursor">
-          <cursorShape>PointingHandCursor</cursorShape>
-         </property>
-         <property name="statusTip">
-          <string>Maximum for random number generation</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </item>
-    </layout>
-   </widget>
-   <widget class="QGroupBox" name="groupOutputSettings">
-    <property name="title">
-     <string>Output settings:</string>
-    </property>
-    <widget class="QPushButton" name="buttonFont">
-     <property name="cursor">
-      <cursorShape>PointingHandCursor</cursorShape>
-     </property>
-     <property name="statusTip">
-      <string>Font face for printing</string>
-     </property>
-     <property name="text">
-      <string>&amp;Font...</string>
-     </property>
-     <property name="icon">
-      <iconset resource="../resources/tspsg.qrc">
-       <normaloff>:/images/icons/fonts.png</normaloff>:/images/icons/fonts.png</iconset>
-     </property>
-    </widget>
-    <widget class="QPushButton" name="buttonColor">
-     <property name="cursor">
-      <cursorShape>PointingHandCursor</cursorShape>
-     </property>
-     <property name="statusTip">
-      <string>Font color for printing</string>
-     </property>
-     <property name="text">
-      <string>&amp;Color...</string>
-     </property>
-     <property name="icon">
-      <iconset resource="../resources/tspsg.qrc">
-       <normaloff>:/images/icons/color_line.png</normaloff>:/images/icons/color_line.png</iconset>
-     </property>
-    </widget>
-   </widget>
-   <widget class="QCheckBox" name="cbAutosize">
-    <property name="cursor">
-     <cursorShape>PointingHandCursor</cursorShape>
-    </property>
-    <property name="statusTip">
-     <string>Automatically resize rows and columns to their contents</string>
-    </property>
-    <property name="text">
-     <string>Autosize of rows and columns</string>
-    </property>
-   </widget>
-   <widget class="QCheckBox" name="cbShowMatrix">
-    <property name="cursor">
-     <cursorShape>PointingHandCursor</cursorShape>
-    </property>
-    <property name="statusTip">
-     <string>Show solution steps' matrices for every solution step</string>
-    </property>
-    <property name="text">
-     <string>Show solution steps' matrices</string>
-    </property>
-   </widget>
-   <widget class="QCheckBox" name="cbCitiesLimit">
-    <property name="cursor">
-     <cursorShape>PointingHandCursor</cursorShape>
-    </property>
-    <property name="statusTip">
-     <string>Show or hide solution steps' matrices based on number of cities in the task</string>
-    </property>
-    <property name="text">
-     <string>Only when &lt;=</string>
-    </property>
-   </widget>
-   <widget class="QSpinBox" name="spinCitiesLimit">
-    <property name="statusTip">
-     <string>Maximum number of cities to show solution steps' matrices</string>
-    </property>
-    <property name="suffix">
-     <string comment="Don't forget a space at the beginning!"> cities</string>
-    </property>
-    <property name="minimum">
-     <number>1</number>
-    </property>
-   </widget>
-   <widget class="QCheckBox" name="cbFractionalRandom">
-    <property name="cursor">
-     <cursorShape>PointingHandCursor</cursorShape>
-    </property>
-    <property name="statusTip">
-     <string>Generate fractional random values with the accuracy of 2 decimal places</string>
-    </property>
-    <property name="text">
-     <string>Fractional random values</string>
-    </property>
-   </widget>
-   <widget class="QCheckBox" name="cbScrollToEnd">
-    <property name="cursor">
-     <cursorShape>PointingHandCursor</cursorShape>
-    </property>
-    <property name="statusTip">
-     <string>Scroll to the end of solution output after solving</string>
-    </property>
-    <property name="text">
-     <string>Scroll to solution end</string>
-    </property>
-   </widget>
-   <widget class="QCheckBox" name="cbUseNativeDialogs">
-    <property name="cursor">
-     <cursorShape>PointingHandCursor</cursorShape>
-    </property>
-    <property name="statusTip">
-     <string>Use native File Open and File Save dialogs (uncheck to use Qt's File Dialogs)</string>
-    </property>
-    <property name="text">
-     <string>Use native file dialogs</string>
-    </property>
-   </widget>
+   <layout class="QVBoxLayout" name="verticalLayout_3">
+    <item>
+     <widget class="QTabWidget" name="tabWidget">
+      <property name="currentIndex">
+       <number>0</number>
+      </property>
+      <widget class="QWidget" name="tabGeneral">
+       <attribute name="title">
+        <string>General</string>
+       </attribute>
+       <attribute name="toolTip">
+        <string>General TSPSG settings</string>
+       </attribute>
+       <layout class="QVBoxLayout" name="verticalLayout_2">
+        <item>
+         <widget class="QCheckBox" name="cbAutosize">
+          <property name="cursor">
+           <cursorShape>PointingHandCursor</cursorShape>
+          </property>
+          <property name="statusTip">
+           <string>Automatically resize rows and columns to their contents</string>
+          </property>
+          <property name="text">
+           <string>Autosize of rows and columns</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QCheckBox" name="cbUseNativeDialogs">
+          <property name="cursor">
+           <cursorShape>PointingHandCursor</cursorShape>
+          </property>
+          <property name="statusTip">
+           <string>Use native File Open and File Save dialogs (uncheck to use Qt's Dialogs)</string>
+          </property>
+          <property name="text">
+           <string>Use native file dialogs</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="verticalSpacer_2">
+          <property name="orientation">
+           <enum>Qt::Vertical</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>0</width>
+            <height>0</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+       </layout>
+      </widget>
+      <widget class="QWidget" name="tabRandom">
+       <attribute name="title">
+        <string>Random</string>
+       </attribute>
+       <attribute name="toolTip">
+        <string>Random number generation settings</string>
+       </attribute>
+       <layout class="QVBoxLayout" name="verticalLayout_4">
+        <item>
+         <layout class="QHBoxLayout" name="horizontalLayout_2">
+          <item>
+           <layout class="QFormLayout" name="formLayout">
+            <item row="0" column="0">
+             <widget class="QLabel" name="labelRandMin">
+              <property name="text">
+               <string>&amp;Minimal:</string>
+              </property>
+              <property name="buddy">
+               <cstring>spinRandMin</cstring>
+              </property>
+             </widget>
+            </item>
+            <item row="0" column="1">
+             <widget class="QSpinBox" name="spinRandMin">
+              <property name="cursor">
+               <cursorShape>PointingHandCursor</cursorShape>
+              </property>
+              <property name="statusTip">
+               <string>Minimum for random number generation</string>
+              </property>
+             </widget>
+            </item>
+            <item row="1" column="0">
+             <widget class="QLabel" name="labelRandMax">
+              <property name="text">
+               <string>Ma&amp;ximal:</string>
+              </property>
+              <property name="buddy">
+               <cstring>spinRandMax</cstring>
+              </property>
+             </widget>
+            </item>
+            <item row="1" column="1">
+             <widget class="QSpinBox" name="spinRandMax">
+              <property name="cursor">
+               <cursorShape>PointingHandCursor</cursorShape>
+              </property>
+              <property name="statusTip">
+               <string>Maximum for random number generation</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <spacer name="horizontalSpacer_5">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>10</width>
+              <height>0</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <widget class="QCheckBox" name="cbFractionalRandom">
+          <property name="cursor">
+           <cursorShape>PointingHandCursor</cursorShape>
+          </property>
+          <property name="statusTip">
+           <string>Generate fractional random values with the accuracy of 2 decimal places</string>
+          </property>
+          <property name="text">
+           <string>Fractional random values</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="verticalSpacer_3">
+          <property name="orientation">
+           <enum>Qt::Vertical</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>0</width>
+            <height>25</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+       </layout>
+      </widget>
+      <widget class="QWidget" name="tabOutput">
+       <attribute name="title">
+        <string>Output</string>
+       </attribute>
+       <attribute name="toolTip">
+        <string>Solution output settings</string>
+       </attribute>
+       <layout class="QVBoxLayout" name="verticalLayout">
+        <item>
+         <widget class="QCheckBox" name="cbShowMatrix">
+          <property name="cursor">
+           <cursorShape>PointingHandCursor</cursorShape>
+          </property>
+          <property name="statusTip">
+           <string>Show solution steps' matrices for every solution step</string>
+          </property>
+          <property name="text">
+           <string>Show solution steps' matrices</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <layout class="QHBoxLayout" name="layoutCititesLimit">
+          <property name="spacing">
+           <number>0</number>
+          </property>
+          <item>
+           <spacer name="horizontalSpacer_3">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Fixed</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>10</width>
+              <height>0</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item>
+           <widget class="QCheckBox" name="cbCitiesLimit">
+            <property name="cursor">
+             <cursorShape>PointingHandCursor</cursorShape>
+            </property>
+            <property name="statusTip">
+             <string>Show or hide solution steps' matrices based on number of cities in the task</string>
+            </property>
+            <property name="text">
+             <string>Only when &lt;=</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QSpinBox" name="spinCitiesLimit">
+            <property name="statusTip">
+             <string>Maximum number of cities to show solution steps' matrices</string>
+            </property>
+            <property name="suffix">
+             <string comment="Don't forget a space at the beginning!"> cities</string>
+            </property>
+            <property name="minimum">
+             <number>1</number>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <spacer name="horizontalSpacer_4">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>0</width>
+              <height>0</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <widget class="QCheckBox" name="cbScrollToEnd">
+          <property name="cursor">
+           <cursorShape>PointingHandCursor</cursorShape>
+          </property>
+          <property name="statusTip">
+           <string>Scroll to the end of solution output after solving</string>
+          </property>
+          <property name="text">
+           <string>Scroll to solution end</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <layout class="QHBoxLayout" name="horizontalLayout">
+          <item>
+           <widget class="QPushButton" name="buttonFont">
+            <property name="cursor">
+             <cursorShape>PointingHandCursor</cursorShape>
+            </property>
+            <property name="statusTip">
+             <string>Font face for solution output</string>
+            </property>
+            <property name="text">
+             <string>&amp;Font...</string>
+            </property>
+            <property name="icon">
+             <iconset resource="../resources/tspsg.qrc">
+              <normaloff>:/images/icons/fonts.png</normaloff>:/images/icons/fonts.png</iconset>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QPushButton" name="buttonColor">
+            <property name="cursor">
+             <cursorShape>PointingHandCursor</cursorShape>
+            </property>
+            <property name="statusTip">
+             <string>Font color for solution output</string>
+            </property>
+            <property name="text">
+             <string>&amp;Color...</string>
+            </property>
+            <property name="icon">
+             <iconset resource="../resources/tspsg.qrc">
+              <normaloff>:/images/icons/color_line.png</normaloff>:/images/icons/color_line.png</iconset>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <spacer name="horizontalSpacer_2">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>0</width>
+              <height>0</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <spacer name="verticalSpacer">
+          <property name="orientation">
+           <enum>Qt::Vertical</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>0</width>
+            <height>0</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+       </layout>
+      </widget>
+     </widget>
+    </item>
+   </layout>
   </widget>
  </widget>
