Index: unk/ChangeLog
===================================================================
--- /trunk/ChangeLog	(revision 103)
+++ 	(revision )
@@ -1,94 +1,0 @@
-===========================================
- TSPSG: TSP Solver and Generator Changelog
-===========================================
-
-$Id$
-$URL$
-
-
-TSPSG v0.1.2 alpha 2 (build 100)
-================================
-
-WHAT'S NEW
-----------
-
-  + New TSPSG icon.
-  + Symmetric mode: in this mode the cost of travel from city 1 to
-    city 2 and vice versa is the same.
-  + Printing of solution results (if the platform supports it).
-  + Saving solution to PDF (if the platform supports printing).
-  + An ability to reset all settings to their defaults: hold Shift
-    while clicking Save button in the Settings Dialog.
-  + An ability to generate fractional random numbers.
-  + An ability to set the fractional accuracy (in decimail places).
-  + An ability to select between using native and Qt's file dialogs
-    when opening and saving tasks and solutions.
-  + An ability to disable showing of the solution steps' matrices in
-    solution output.
-  + An ability to enable scroll to the end of the solution output after
-    solving.
-  + An ability ot enable automatic resize of columns and rows to their
-    contents on its change.
-  + Basic support for Symbian.
-  + Check for updates functionality (only in Windows version at this
-    moment).
-
-
-IMPROVEMENTS
-------------
-
-  + Improved the solution algorithm.
-  + The maximum number of cities in task was increased to 50.
-    NOTE: Showing the solution steps' matrices is disabled by default
-    for tasks with more than 15 cities to considerably speed up the
-    generation of the solution output process.
-  + List of alternate candidates for branching is now displayed.
-  + Warning about possible non-optimal result.
-  + Open a file, passed as command-line argument.
-  + Currently opened file name is displayed in the Main Window title.
-  + "Save Solution" and "Back to Task" buttons in Solution tab for
-    better usability.
-  + The size of the toolbar buttons is now determined based on the
-    device DPI in Windows Mobile and Symbian.
-  + SIP show/hide handling in Windows Mobile.
-  + Toolbar state and position are now saved and restored with the Main
-    Window state and position.
-  + Window translucency support in Windows Vista and Windows 7.
-
-
-CHANGES
--------
-
-  * The resulting path is now sorted, always starts from City 1 and has
-    "City 1 -> City n -> ... -> City 1" format.
-  * Translations were moved from i18n to l10n folder to follow common
-    standards.
-  * Reworked the Settings Dialog layout.
-  * Reworked the About dialog.
-
-
-BUGFIXES
---------
-
-  - A solution couldn't be found for some tasks while the task had at
-    least one solution (mostly, tasks with a lot of restrictions).
-  - An error when loading .zkt file with less than 5 cities.
-  - Generated random numbers were not in the range defined by Minimum
-    and Maximum settings.
-
-
-
-TSPSG v0.1.1 alpha 1 (build 42)
-===============================
-
-This is initial TSPSG release.
-
-FEATURES
---------
-
-  * Solving taks with up to 5 cities.
-  * Generating tasks.
-  * Saving solution results to HTML and ODF.
-  * Importing tasks from ZKomModRd.
-  * Multilinguality: English, Russian and Ukrainian languages.
-  * Linux/UNIX, Windows and Windows Mobile support.
Index: /trunk/ChangeLog.txt
===================================================================
--- /trunk/ChangeLog.txt	(revision 104)
+++ /trunk/ChangeLog.txt	(revision 104)
@@ -0,0 +1,95 @@
+===========================================
+ TSPSG: TSP Solver and Generator Changelog
+===========================================
+
+
+TSPSG v0.1.2 alpha 2 (build 100)
+================================
+
+WHAT'S NEW
+----------
+
+  + New TSPSG icon.
+  + Symmetric mode: in this mode the cost of travel from city 1 to
+    city 2 and vice versa is the same.
+  + Printing of solution results (if the platform supports it).
+  + Saving solution to PDF (if the platform supports printing).
+  + An ability to reset all settings to their defaults: hold Shift
+    while clicking Save button in the Settings Dialog.
+  + An ability to generate fractional random numbers.
+  + An ability to set the fractional accuracy (in decimail places).
+  + An ability to select between using native and Qt's file dialogs
+    when opening and saving tasks and solutions.
+  + An ability to disable showing of the solution steps' matrices in
+    solution output.
+  + An ability to enable scroll to the end of the solution output after
+    solving.
+  + An ability ot enable automatic resize of columns and rows to their
+    contents on its change.
+  + Basic support for Symbian.
+  + Check for updates functionality (only in Windows version at this
+    moment).
+
+
+IMPROVEMENTS
+------------
+
+  + Improved the solution algorithm.
+  + The maximum number of cities in task was increased to 50.
+    NOTE: Showing the solution steps' matrices is disabled by default
+    for tasks with more than 15 cities to considerably speed up the
+    generation of the solution output process.
+  + List of alternate candidates for branching is now displayed.
+  + Warning about possible non-optimal result.
+  + Open a file, passed as command-line argument.
+  + Currently opened file name is displayed in the Main Window title.
+  + "Save Solution" and "Back to Task" buttons in Solution tab for
+    better usability.
+  + The size of the toolbar buttons is now determined based on the
+    device DPI in Windows Mobile and Symbian.
+  + SIP show/hide handling in Windows Mobile.
+  + Toolbar state and position are now saved and restored with the Main
+    Window state and position.
+  + Window translucency support in Windows Vista and Windows 7.
+
+
+CHANGES
+-------
+
+  * The resulting path is now sorted, always starts from City 1 and has
+    "City 1 -> City n -> ... -> City 1" format.
+  * Translations were moved from i18n to l10n folder to follow common
+    standards.
+  * Reworked the Settings Dialog layout.
+  * Reworked the About dialog.
+
+
+BUGFIXES
+--------
+
+  - A solution couldn't be found for some tasks while the task had at
+    least one solution (mostly, tasks with a lot of restrictions).
+  - An error when loading .zkt file with less than 5 cities.
+  - Generated random numbers were not in the range defined by Minimum
+    and Maximum settings.
+
+
+
+TSPSG v0.1.1 alpha 1 (build 42)
+===============================
+
+This is initial TSPSG release.
+
+FEATURES
+--------
+
+  * Solving taks with up to 5 cities.
+  * Generating tasks.
+  * Saving solution results to HTML and ODF.
+  * Importing tasks from ZKomModRd.
+  * Multilinguality: English, Russian and Ukrainian languages.
+  * Linux/UNIX, Windows and Windows Mobile support.
+
+
+$Id$
+$URL$
Index: unk/INSTALL
===================================================================
--- /trunk/INSTALL	(revision 103)
+++ 	(revision )
@@ -1,313 +1,0 @@
-==========================
- TSPSG Installation Guide
-==========================
-
-$Id$
-$URL$
-
-Thank you for trying TSPSG. This document will guide you through the
-steps necessary to compile and run TSPSG.
-
-TABLE OF CONTENTS:
-
-  1. REQUIREMENTS
-  2. ASSUMPTIONS
-  3. SUPPORTED PLATFORMS
-  4. BUILDING AND INSTALLATION
-     4.1. GENERAL PROCEDURE
-     4.2. LINUX/UNIX
-     4.3. WINDOWS
-          4.3.1. USING MINGW
-          4.3.2. USING VISUAL STUDIO
-     4.4. WINDOWS MOBILE
-     4.5. SYMBIAN
-     4.6. OTHER PLATFORMS, SUPPORTED BY QT
-  5. UNINSTALLATION
-  6. TROUBLESHOOTING
-     6.1. WINDRES.EXE CRASH
-  7. NOTES
-  8. REFERENCES
-
-
-
-1. REQUIREMENTS
-===============
-
-To be able compile TSPSG you need to have Qt libraries. The minimum
-supported version of Qt is 4.4.0. The recommended version is 4.5.x
-or higher.
-
-
-
-2. ASSUMPTIONS
-==============
-
-This guide assumes that you already have Qt libraries and all necessary
-prerequisites installed.
-
-Also, the following assumptions are made:
-
-  - For Linux/UNIX: lrelease and qmake are avilable in $PATH.
-
-  - For Windows (minGW) and Symbian: you have installed Qt SDK or
-    prebuilt libraries and have Start Menu items for Qt tools.
-
-  - For Windows (Visual Studio) and Windows Mobile: the Qt libraries
-    reside in C:\Qt\.
-
-  - For Windows Mobile: Windows Mobile 5.0 Pocket PC SDK or later is
-    installed.
-
-
-
-3. SUPPORTED PLATFORMS
-======================
-
-TSPSG is oficially supported and tested on the following platforms:
-
-  - Linux: Gentoo AMD64 and Kubuntu 9.10 64-bit AMD.
-
-  - Windows: Windows XP 32-bit and Windows 7 64-bit.
-
-  - Windows Mobile: Windows Mobile 6.5 Professional Edition.
-
-
-
-4. BUILDING AND INSTALLATION
-============================
-
-4.1 GENERAL PROCEDURE
-
-On most platforms the general building and installation procedure is:
-
-  1. Run lrelease to generate binary translation files (.qm) from the
-     source (.ts).
-
-  2. Run qmake with CONFIG+=release parameter to generate makefiles.
-
-  3. Run make utility (e.g., make, nmake, mingw32-make) to build TSPSG.
-
-  4. Run make utility with 'install' parameter (without quotes).
-
-NOTE: It is important to run lrelease before qmake, or qmake will not
-"pick up" the translations when generating installation rules.
-
-
-4.2. LINUX/UNIX
----------------
-
-Open a shell, navigate to the directory where you have TSPSG source
-downloaded and type
-
-    tar xvjf tspsg-<VERSION>-src.tar.bz2
-    cd tspsg-<VERSION>-src
-
-where <VERSION> is the version of TSPSG you downloaded. Now run
-
-    lrelease tspsg.pro
-    qmake tspsg.pro
-    make
-
-In some cases you may need to type
-
-    qmake tspsg.pro CONFIG+=release
-
-
-If make step finished without errors you can install TSPSG by running
-
-    sudo make install
-
-or
-
-    su
-    make install
-
-depending on your distribution.
-
-By default, executable will go to /usr/bin, COPYING and README will go
-to /usr/share/TSPSG, translations will go /usr/share/TSPSG/l10n, docs
-will go to /usr/share/doc/TSPSG-<VERSION>.
-
-
-4.3. WINDOWS
-------------
-
-NOTE: Please, read the Section 7 after reading this Section.
-
-4.3.1. USING MINGW
-~~~~~~~~~~~~~~~~~~
-
-Unpack the downloaded source code of TSPSG with your favourite
-compression software. Now launch the Qt Command Prompt from the Start
-Menu, navigate to the directory where you unpacked the source and run
-
-    lrelease tspsg.pro
-    qmake tspsg.pro CONFIG+=release
-    mingw32-make
-
-NOTE: Make process may fail with a crash of windres.exe. If you've run
-into this issue, please, read the Section 6.1.
-
-If make step finished without errors you can install TSPSG by running
-
-    mingw32-make install
-
-TSPSG will be installed to %PROGRAMFILES%\TSPSG folder (usually, it is
-C:\Program Files\TSPSG).
-
-
-4.3.2. USING VISUAL STUDIO
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Unpack the downloaded source code of TSPSG with your favourite
-compression software. Now launch the Visual Studio Command Prompt from
-the Start Menu, navigate to the directory where you unpacked the source
-and run
-
-    C:\Qt\bin\lrelease tspsg.pro
-    C:\Qt\bin\qmake tspsg.pro CONFIG+=release
-	nmake
-
-If make step finished without errors you can install TSPSG by running
-
-    nmake install
-
-TSPSG will be installed to %PROGRAMFILES%\TSPSG folder (usually, it is
-C:\Program Files\TSPSG).
-
-
-4.4. WINDOWS CE/MOBILE
-----------------------
-
-Unpack the downloaded source code of TSPSG with your favourite
-compression software. Now launch the Visual Studio Command Prompt from
-the Start Menu and run
-
-    set PATH=C:\Qt\bin;%PATH%
-    setcepaths wincewm50pocket-msvc2008
-
-Now navigate to the directory where you unpacked the source and run
-
-    lrelease tspsg.pro
-    qmake tspsg.pro CONFIG+=release
-	nmake
-
-There is no automated installation process for Windows Mobile build. To
-install TSPSG on your PDA you need to create a folder on your device
-and copy the following files to it:
-
-  - tspsg.exe from release folder in the source directory.
-
-  - QtCore4.dll and QtGui4.dll from C:\Qt\bin folder.
-
-  - msvcr90.dll from
-    C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\dll\armv4i folder.
-
-  - all *.qm files from l10n folder in the source directory to l10n
-    subfolder.
-
-
-4.5. SYMBIAN
-------------
-
-Unpack the downloaded source code of TSPSG with your favourite
-compression software. Now launch the Qt for Symbian Command Prompt from
-the Start Menu, navigate to the directory where you unpacked the source
-and run
-
-    lrelease tspsg.pro
-    qmake tspsg.pro CONFIG+=release
-    make release-gcce
-
-NOTE: You need to unpack the source on the same drive as Qt and Symbian
-development tools.
-
-If make step finished without errors you can generate sis installation
-file by running
-
-    make sis
-
-You'll get tspsg.sis file in the source directory. Copy it to your
-phone and run or install using Nokia PC Suite.
-
-NOTE: You need to install Qt libraries on your device before installing
-TSPSG. Usually, it should be enough to install qt_installer.sis from
-the Qt installation directory.
-
-Alternatively, if you have installed Nokia Smart Installer you can run
-
-    make installer_sis
-
-You'll get an tspsg_installer.sis that will automatically download and
-install the required Qt libraries on TSPSG installation.
-
-NOTE: Please, be aware that you have to sign the sis file to be able to
-install it on your device. You can use Open Signed Online[2] to quickly
-sign the sis file for your device. Alternatively, you can try to enable
-the installation of self-signed files in the phone settings. Please,
-reffer to your phone manual on the instructions how to do this.
-
-
-4.6. OTHER PLATFORMS, SUPPORTED BY QT
--------------------------------------
-
-While TSPSG is oficially supported only on Linux, Windows and Windows
-Mobile it should be possible to compile it on any platform, supported
-by Qt. To do so, please, refer to the Section 4.1 for the general build
-and installation procedure.
-
-
-
-5. UNINSTALLATION
-=================
-
-Usually, it is enough to replace 'install' parameter with 'uninstall'
-in the installation command from the Section 4. Also, you can manually
-delete all installed TSPSG files and directories.
-
-
-
-6. TROUBLESHOOTING
-==================
-
-6.1. WINDRES.EXE CRASH
-----------------------
-
-When building under Windows using minGW toolchain make process may fail
-with windres.exe crash (access violation). This is a known bug in
-windres.exe regarding processing resource files with UTF-8 (cp65001)
-encoding [1]. To be able to successfully build TSPSG you will need to
-download and replace windres.exe with a fixed version. To do this:
-
-  1. Open https://sourceforge.net/projects/mingw/files/ in your
-     favourite browser.
-
-  2. Find and download the latest version of GNU Binutils. At the time
-     of writing this guide it was binutils-2.20.1-2-mingw32-bin.tar.gz.
-
-  3. Unpack the file bin\windres.exe from the downloaded archive to
-     <Your Qt installation path>\mingw\bin\ replacing the existing one.
-
-  4. Now run
-
-         mingw32-make distclean
-
-     in the TSPSG directory and repeat the installation process.
-
-
-
-7. NOTES
-========
-
-qmake doesn't always enclose installation paths in quotes. This may
-cause some files not to be installed or removed when their path
-contains quotes. In this case it is safe to delete this files and TSPSG
-installation directory manually.
-
-
-
-8. REFERNECES
-=============
-
-[1] http://sourceware.org/bugzilla/show_bug.cgi?id=10165
-[2] https://www.symbiansigned.com/app/page/public/openSignedOnline.do
Index: /trunk/INSTALL.txt
===================================================================
--- /trunk/INSTALL.txt	(revision 104)
+++ /trunk/INSTALL.txt	(revision 104)
@@ -0,0 +1,314 @@
+==========================
+ TSPSG Installation Guide
+==========================
+
+Thank you for trying TSPSG. This document will guide you through the
+steps necessary to compile and run TSPSG.
+
+TABLE OF CONTENTS:
+
+  1. REQUIREMENTS
+  2. ASSUMPTIONS
+  3. SUPPORTED PLATFORMS
+  4. BUILDING AND INSTALLATION
+     4.1. GENERAL PROCEDURE
+     4.2. LINUX/UNIX
+     4.3. WINDOWS
+          4.3.1. USING MINGW
+          4.3.2. USING VISUAL STUDIO
+     4.4. WINDOWS MOBILE
+     4.5. SYMBIAN
+     4.6. OTHER PLATFORMS, SUPPORTED BY QT
+  5. UNINSTALLATION
+  6. TROUBLESHOOTING
+     6.1. WINDRES.EXE CRASH
+  7. NOTES
+  8. REFERENCES
+
+
+
+1. REQUIREMENTS
+===============
+
+To be able compile TSPSG you need to have Qt libraries. The minimum
+supported version of Qt is 4.4.0. The recommended version is 4.5.x
+or higher.
+
+
+
+2. ASSUMPTIONS
+==============
+
+This guide assumes that you already have Qt libraries and all necessary
+prerequisites installed.
+
+Also, the following assumptions are made:
+
+  - For Linux/UNIX: lrelease and qmake are avilable in $PATH.
+
+  - For Windows (minGW) and Symbian: you have installed Qt SDK or
+    prebuilt libraries and have Start Menu items for Qt tools.
+
+  - For Windows (Visual Studio) and Windows Mobile: the Qt libraries
+    reside in C:\Qt\.
+
+  - For Windows Mobile: Windows Mobile 5.0 Pocket PC SDK or later is
+    installed.
+
+
+
+3. SUPPORTED PLATFORMS
+======================
+
+TSPSG is oficially supported and tested on the following platforms:
+
+  - Linux: Gentoo AMD64 and Kubuntu 9.10 64-bit AMD.
+
+  - Windows: Windows XP 32-bit and Windows 7 64-bit.
+
+  - Windows Mobile: Windows Mobile 6.5 Professional Edition.
+
+
+
+4. BUILDING AND INSTALLATION
+============================
+
+4.1 GENERAL PROCEDURE
+
+On most platforms the general building and installation procedure is:
+
+  1. Run lrelease to generate binary translation files (.qm) from the
+     source (.ts).
+
+  2. Run qmake with CONFIG+=release parameter to generate makefiles.
+
+  3. Run make utility (e.g., make, nmake, mingw32-make) to build TSPSG.
+
+  4. Run make utility with 'install' parameter (without quotes).
+
+NOTE: It is important to run lrelease before qmake, or qmake will not
+"pick up" the translations when generating installation rules.
+
+
+4.2. LINUX/UNIX
+---------------
+
+Open a shell, navigate to the directory where you have TSPSG source
+downloaded and type
+
+    tar xvjf tspsg-<VERSION>-src.tar.bz2
+    cd tspsg-<VERSION>-src
+
+where <VERSION> is the version of TSPSG you downloaded. Now run
+
+    lrelease tspsg.pro
+    qmake tspsg.pro
+    make
+
+In some cases you may need to type
+
+    qmake tspsg.pro CONFIG+=release
+
+
+If make step finished without errors you can install TSPSG by running
+
+    sudo make install
+
+or
+
+    su
+    make install
+
+depending on your distribution.
+
+By default, executable will go to /usr/bin, COPYING and README will go
+to /usr/share/TSPSG, translations will go /usr/share/TSPSG/l10n, docs
+will go to /usr/share/doc/TSPSG-<VERSION>.
+
+
+4.3. WINDOWS
+------------
+
+NOTE: Please, read the Section 7 after reading this Section.
+
+4.3.1. USING MINGW
+~~~~~~~~~~~~~~~~~~
+
+Unpack the downloaded source code of TSPSG with your favourite
+compression software. Now launch the Qt Command Prompt from the Start
+Menu, navigate to the directory where you unpacked the source and run
+
+    lrelease tspsg.pro
+    qmake tspsg.pro CONFIG+=release
+    mingw32-make
+
+NOTE: Make process may fail with a crash of windres.exe. If you've run
+into this issue, please, read the Section 6.1.
+
+If make step finished without errors you can install TSPSG by running
+
+    mingw32-make install
+
+TSPSG will be installed to %PROGRAMFILES%\TSPSG folder (usually, it is
+C:\Program Files\TSPSG).
+
+
+4.3.2. USING VISUAL STUDIO
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Unpack the downloaded source code of TSPSG with your favourite
+compression software. Now launch the Visual Studio Command Prompt from
+the Start Menu, navigate to the directory where you unpacked the source
+and run
+
+    C:\Qt\bin\lrelease tspsg.pro
+    C:\Qt\bin\qmake tspsg.pro CONFIG+=release
+	nmake
+
+If make step finished without errors you can install TSPSG by running
+
+    nmake install
+
+TSPSG will be installed to %PROGRAMFILES%\TSPSG folder (usually, it is
+C:\Program Files\TSPSG).
+
+
+4.4. WINDOWS CE/MOBILE
+----------------------
+
+Unpack the downloaded source code of TSPSG with your favourite
+compression software. Now launch the Visual Studio Command Prompt from
+the Start Menu and run
+
+    set PATH=C:\Qt\bin;%PATH%
+    setcepaths wincewm50pocket-msvc2008
+
+Now navigate to the directory where you unpacked the source and run
+
+    lrelease tspsg.pro
+    qmake tspsg.pro CONFIG+=release
+	nmake
+
+There is no automated installation process for Windows Mobile build. To
+install TSPSG on your PDA you need to create a folder on your device
+and copy the following files to it:
+
+  - tspsg.exe from release folder in the source directory.
+
+  - QtCore4.dll and QtGui4.dll from C:\Qt\bin folder.
+
+  - msvcr90.dll from
+    C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\dll\armv4i folder.
+
+  - all *.qm files from l10n folder in the source directory to l10n
+    subfolder.
+
+
+4.5. SYMBIAN
+------------
+
+Unpack the downloaded source code of TSPSG with your favourite
+compression software. Now launch the Qt for Symbian Command Prompt from
+the Start Menu, navigate to the directory where you unpacked the source
+and run
+
+    lrelease tspsg.pro
+    qmake tspsg.pro CONFIG+=release
+    make release-gcce
+
+NOTE: You need to unpack the source on the same drive as Qt and Symbian
+development tools.
+
+If make step finished without errors you can generate sis installation
+file by running
+
+    make sis
+
+You'll get tspsg.sis file in the source directory. Copy it to your
+phone and run or install using Nokia PC Suite.
+
+NOTE: You need to install Qt libraries on your device before installing
+TSPSG. Usually, it should be enough to install qt_installer.sis from
+the Qt installation directory.
+
+Alternatively, if you have installed Nokia Smart Installer you can run
+
+    make installer_sis
+
+You'll get an tspsg_installer.sis that will automatically download and
+install the required Qt libraries on TSPSG installation.
+
+NOTE: Please, be aware that you have to sign the sis file to be able to
+install it on your device. You can use Open Signed Online[2] to quickly
+sign the sis file for your device. Alternatively, you can try to enable
+the installation of self-signed files in the phone settings. Please,
+reffer to your phone manual on the instructions how to do this.
+
+
+4.6. OTHER PLATFORMS, SUPPORTED BY QT
+-------------------------------------
+
+While TSPSG is oficially supported only on Linux, Windows and Windows
+Mobile it should be possible to compile it on any platform, supported
+by Qt. To do so, please, refer to the Section 4.1 for the general build
+and installation procedure.
+
+
+
+5. UNINSTALLATION
+=================
+
+Usually, it is enough to replace 'install' parameter with 'uninstall'
+in the installation command from the Section 4. Also, you can manually
+delete all installed TSPSG files and directories.
+
+
+
+6. TROUBLESHOOTING
+==================
+
+6.1. WINDRES.EXE CRASH
+----------------------
+
+When building under Windows using minGW toolchain make process may fail
+with windres.exe crash (access violation). This is a known bug in
+windres.exe regarding processing resource files with UTF-8 (cp65001)
+encoding [1]. To be able to successfully build TSPSG you will need to
+download and replace windres.exe with a fixed version. To do this:
+
+  1. Open https://sourceforge.net/projects/mingw/files/ in your
+     favourite browser.
+
+  2. Find and download the latest version of GNU Binutils. At the time
+     of writing this guide it was binutils-2.20.1-2-mingw32-bin.tar.gz.
+
+  3. Unpack the file bin\windres.exe from the downloaded archive to
+     <Your Qt installation path>\mingw\bin\ replacing the existing one.
+
+  4. Now run
+
+         mingw32-make distclean
+
+     in the TSPSG directory and repeat the installation process.
+
+
+
+7. NOTES
+========
+
+qmake doesn't always enclose installation paths in quotes. This may
+cause some files not to be installed or removed when their path
+contains quotes. In this case it is safe to delete this files and TSPSG
+installation directory manually.
+
+
+
+8. REFERNECES
+=============
+
+[1] http://sourceware.org/bugzilla/show_bug.cgi?id=10165
+[2] https://www.symbiansigned.com/app/page/public/openSignedOnline.do
+
+
+$Id$
+$URL$
Index: unk/README
===================================================================
--- /trunk/README	(revision 103)
+++ 	(revision )
@@ -1,39 +1,0 @@
-TSPSG: TSP Solver and Generator
-Copyright (C) 2007-2010 Lёppa <contacts[at]oleksii[dot]name>
-
-$Id$
-$URL$
-
-TSPSG is intended to generate and solve Travelling Salesman Problem
-(TSP) tasks. It uses Branch and Bound method for solving. An input
-is number of cities and matrix of city-to-city travel costs.
-The matrix can be populated with random values in a given range
-(useful for generating tasks). The result is an optimal route, its
-price, step-by-step matrices of solving and solving graph. The task
-can be saved in internal binary format and opened later. The result
-can be printed without the answer (only input matrix) or with it.
-
-TSPSG may be useful for teachers to generate test tasks or just for
-regular users to solve TSPs. Also, it may be used as an example of
-using Branch and bound method to solve particular task.
-
-TSPSG is free software: you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published
-by the Free Software Foundation, either version 3 of the License,
-or (at your option) any later version.
-
-TSPSG is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with TSPSG.  If not, see <http://www.gnu.org/licenses/>.
-
-Third parties:
-* This software is created using opensource version of Qt toolkit,
-  see http://qt.nokia.com/
-* The icons used in this software are part of Oxygen Icons project
-  licensed according to the GNU Lesser General Public License,
-  see http://www.oxygen-icons.org/
-
Index: /trunk/README.txt
===================================================================
--- /trunk/README.txt	(revision 104)
+++ /trunk/README.txt	(revision 104)
@@ -0,0 +1,44 @@
+=================================
+ TSPSG: TSP Solver and Generator
+=================================
+
+Copyright (C) 2007-2010 Lёppa <contacts[at]oleksii[dot]name>
+
+TSPSG is intended to generate and solve Travelling Salesman Problem
+(TSP) tasks. It uses Branch and Bound method for solving. An input
+is number of cities and matrix of city-to-city travel costs.
+The matrix can be populated with random values in a given range
+(useful for generating tasks). The result is an optimal route, its
+price, step-by-step matrices of solving and solving graph. The task
+can be saved in internal binary format and opened later. The result
+can be printed without the answer (only input matrix) or with it.
+
+TSPSG may be useful for teachers to generate test tasks or just for
+regular users to solve TSPs. Also, it may be used as an example of
+using Branch and bound method to solve particular task.
+
+TSPSG is free software: you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published
+by the Free Software Foundation, either version 3 of the License,
+or (at your option) any later version.
+
+TSPSG is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with TSPSG.  If not, see <http://www.gnu.org/licenses/>.
+
+Third parties:
+
+  * This software is created using opensource version of Qt toolkit,
+    see http://qt.nokia.com/
+
+  * The icons used in this software are part of Oxygen Icons project
+    licensed according to the GNU Lesser General Public License,
+    see http://www.oxygen-icons.org/
+
+
+$Id$
+$URL$
Index: /trunk/l10n/tspsg_en.ts
===================================================================
--- /trunk/l10n/tspsg_en.ts	(revision 103)
+++ /trunk/l10n/tspsg_en.ts	(revision 104)
@@ -12,5 +12,5 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="727"/>
+        <location filename="../src/mainwindow.cpp" line="798"/>
         <source>LANGNAME</source>
         <comment>Please, provide a native name of your translation language here.</comment>
@@ -143,16 +143,16 @@
     <message>
         <location filename="../ui/mainwindow.ui" line="15"/>
-        <location filename="../src/mainwindow.cpp" line="923"/>
+        <location filename="../src/mainwindow.cpp" line="994"/>
         <source>Travelling Salesman Problem</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="790"/>
-        <location filename="../src/mainwindow.cpp" line="792"/>
+        <location filename="../src/mainwindow.cpp" line="861"/>
+        <location filename="../src/mainwindow.cpp" line="863"/>
         <source>Language Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="804"/>
+        <location filename="../src/mainwindow.cpp" line="875"/>
         <source>Unsaved Changes</source>
         <translation type="unfinished"></translation>
@@ -172,5 +172,5 @@
         <location filename="../src/mainwindow.cpp" line="137"/>
         <location filename="../src/mainwindow.cpp" line="201"/>
-        <location filename="../src/mainwindow.cpp" line="900"/>
+        <location filename="../src/mainwindow.cpp" line="971"/>
         <source>All Files</source>
         <translation type="unfinished"></translation>
@@ -213,21 +213,21 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="522"/>
+        <location filename="../src/mainwindow.cpp" line="541"/>
         <source>Generating step %v</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="536"/>
+        <location filename="../src/mainwindow.cpp" line="565"/>
         <source>Selected candidate for branching: %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="536"/>
-        <location filename="../src/mainwindow.cpp" line="543"/>
+        <location filename="../src/mainwindow.cpp" line="565"/>
+        <location filename="../src/mainwindow.cpp" line="572"/>
         <source>(%1;%2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/mainwindow.cpp" line="545"/>
+        <location filename="../src/mainwindow.cpp" line="575"/>
         <source>%n alternate candidate(s) for branching: %1.</source>
         <translation>
@@ -237,10 +237,10 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="557"/>
+        <location filename="../src/mainwindow.cpp" line="589"/>
         <source>Generating footer</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/mainwindow.cpp" line="566"/>
+        <location filename="../src/mainwindow.cpp" line="604"/>
         <source>The price is &lt;b&gt;%n&lt;/b&gt; unit(s).</source>
         <translation>
@@ -250,21 +250,22 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="580"/>
+        <location filename="../src/mainwindow.cpp" line="544"/>
+        <location filename="../src/mainwindow.cpp" line="624"/>
         <source>Cleaning up...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="804"/>
+        <location filename="../src/mainwindow.cpp" line="875"/>
         <source>Would you like to save changes in the current task?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="890"/>
-        <location filename="../src/mainwindow.cpp" line="893"/>
+        <location filename="../src/mainwindow.cpp" line="961"/>
+        <location filename="../src/mainwindow.cpp" line="964"/>
         <source>Check for %1 updates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="899"/>
+        <location filename="../src/mainwindow.cpp" line="970"/>
         <source>%1 Task File</source>
         <translation type="unfinished"></translation>
@@ -400,47 +401,47 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="516"/>
+        <location filename="../src/mainwindow.cpp" line="523"/>
+        <location filename="../src/mainwindow.cpp" line="536"/>
+        <source>Solution of Variant #%1 Task</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="530"/>
         <source>Variant #%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="517"/>
+        <location filename="../src/mainwindow.cpp" line="532"/>
         <source>Task:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="515"/>
-        <location filename="../src/mainwindow.cpp" line="519"/>
-        <source>Solution of Variant #%1 task</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/mainwindow.cpp" line="532"/>
+        <location filename="../src/mainwindow.cpp" line="560"/>
         <source>Step #%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="561"/>
+        <location filename="../src/mainwindow.cpp" line="595"/>
         <source>Optimal path:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="563"/>
+        <location filename="../src/mainwindow.cpp" line="597"/>
         <source>Resulting path:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="568"/>
+        <location filename="../src/mainwindow.cpp" line="606"/>
         <source>The price is &lt;b&gt;%1&lt;/b&gt; units.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="571"/>
+        <location filename="../src/mainwindow.cpp" line="611"/>
         <source>&lt;b&gt;WARNING!!!&lt;/b&gt;&lt;br&gt;This result is a record, but it may not be optimal.&lt;br&gt;Iterations need to be continued to check whether this result is optimal or get an optimal one.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="790"/>
-        <location filename="../src/mainwindow.cpp" line="792"/>
+        <location filename="../src/mainwindow.cpp" line="861"/>
+        <location filename="../src/mainwindow.cpp" line="863"/>
         <source>Unable to load the translation language.
 Falling back to autodetection.</source>
@@ -448,15 +449,15 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="867"/>
+        <location filename="../src/mainwindow.cpp" line="938"/>
         <source>Set application language to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="888"/>
+        <location filename="../src/mainwindow.cpp" line="959"/>
         <source>Check for &amp;Updates...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="908"/>
+        <location filename="../src/mainwindow.cpp" line="979"/>
         <source>Task Save</source>
         <translation type="unfinished"></translation>
@@ -478,5 +479,5 @@
         <location filename="../src/mainwindow.cpp" line="179"/>
         <location filename="../src/mainwindow.cpp" line="297"/>
-        <location filename="../src/mainwindow.h" line="113"/>
+        <location filename="../src/mainwindow.h" line="122"/>
         <source>Untitled</source>
         <translation type="unfinished"></translation>
@@ -543,31 +544,31 @@
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="204"/>
-        <location filename="../ui/mainwindow.ui" line="358"/>
+        <location filename="../ui/mainwindow.ui" line="207"/>
+        <location filename="../ui/mainwindow.ui" line="361"/>
         <source>Save solution to a file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="207"/>
+        <location filename="../ui/mainwindow.ui" line="210"/>
         <source>Save Solution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="234"/>
+        <location filename="../ui/mainwindow.ui" line="237"/>
         <source>Go back to Task tab</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="237"/>
+        <location filename="../ui/mainwindow.ui" line="240"/>
         <source>Back to Task</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="266"/>
+        <location filename="../ui/mainwindow.ui" line="269"/>
         <source>&amp;File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="298"/>
+        <location filename="../ui/mainwindow.ui" line="301"/>
         <source>&amp;Language</source>
         <comment>Please, append &quot; / Language&quot; when translating this string.</comment>
@@ -575,231 +576,231 @@
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="436"/>
+        <location filename="../ui/mainwindow.ui" line="439"/>
         <source>Context &amp;Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="451"/>
+        <location filename="../ui/mainwindow.ui" line="454"/>
         <source>&amp;About TSPSG...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="517"/>
+        <location filename="../ui/mainwindow.ui" line="520"/>
         <source>&amp;Save</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="288"/>
+        <location filename="../ui/mainwindow.ui" line="291"/>
         <source>&amp;Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="314"/>
+        <location filename="../ui/mainwindow.ui" line="317"/>
         <source>&amp;Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../ui/mainwindow.ui" line="358"/>
+        <source>Save solution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="370"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="373"/>
+        <source>New task</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="376"/>
+        <source>Create new task</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="379"/>
+        <source>Ctrl+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="388"/>
+        <source>&amp;Open...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="391"/>
+        <source>Open task</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="394"/>
+        <source>Open saved task</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="397"/>
+        <source>Ctrl+O</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="406"/>
+        <source>&amp;Preferences...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="409"/>
+        <source>Application preferences</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="421"/>
+        <source>&amp;Contents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="424"/>
+        <source>Open help contents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="427"/>
+        <source>Ctrl+F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="442"/>
+        <source>Open context help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="445"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="457"/>
+        <source>About application</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="466"/>
+        <source>E&amp;xit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="469"/>
+        <source>Exit application</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="474"/>
+        <source>&amp;Task...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="477"/>
+        <location filename="../ui/mainwindow.ui" line="523"/>
+        <source>Save task</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="480"/>
+        <source>Save task to file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="529"/>
+        <source>Ctrl+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="491"/>
+        <source>&amp;Autodetect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="526"/>
+        <source>Save current task</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="538"/>
+        <source>About &amp;Qt...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="541"/>
+        <source>About Qt library</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="295"/>
+        <source>Select language</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="273"/>
+        <source>Save &amp;As</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="298"/>
+        <source>Select application language</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="949"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="956"/>
+        <source>Ctrl+P</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../ui/mainwindow.ui" line="355"/>
-        <source>Save solution</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="367"/>
-        <source>&amp;New</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="370"/>
-        <source>New task</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="373"/>
-        <source>Create new task</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="376"/>
-        <source>Ctrl+N</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="385"/>
-        <source>&amp;Open...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="388"/>
-        <source>Open task</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="391"/>
-        <source>Open saved task</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="394"/>
-        <source>Ctrl+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="403"/>
-        <source>&amp;Preferences...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="406"/>
-        <source>Application preferences</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="418"/>
-        <source>&amp;Contents</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="421"/>
-        <source>Open help contents</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="424"/>
-        <source>Ctrl+F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="439"/>
-        <source>Open context help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="442"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="454"/>
-        <source>About application</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="463"/>
-        <source>E&amp;xit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="466"/>
-        <source>Exit application</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="471"/>
-        <source>&amp;Task...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="474"/>
-        <location filename="../ui/mainwindow.ui" line="520"/>
-        <source>Save task</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="477"/>
-        <source>Save task to file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="526"/>
-        <source>Ctrl+S</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="488"/>
-        <source>&amp;Autodetect</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="523"/>
-        <source>Save current task</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="535"/>
-        <source>About &amp;Qt...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="538"/>
-        <source>About Qt library</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="292"/>
-        <source>Select language</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="270"/>
-        <source>Save &amp;As</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="295"/>
-        <source>Select application language</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/mainwindow.cpp" line="878"/>
-        <source>&amp;Print...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/mainwindow.cpp" line="885"/>
-        <source>Ctrl+P</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/mainwindow.ui" line="352"/>
         <source>&amp;Solution...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="491"/>
+        <location filename="../ui/mainwindow.ui" line="494"/>
         <source>Detect language automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="331"/>
+        <location filename="../ui/mainwindow.ui" line="334"/>
         <source>Toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="870"/>
+        <location filename="../src/mainwindow.cpp" line="941"/>
         <source>P&amp;rint Preview...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="872"/>
+        <location filename="../src/mainwindow.cpp" line="943"/>
         <source>Preview solution results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="875"/>
+        <location filename="../src/mainwindow.cpp" line="946"/>
         <source>Preview current solution results before printing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="880"/>
+        <location filename="../src/mainwindow.cpp" line="951"/>
         <source>Print solution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="883"/>
+        <location filename="../src/mainwindow.cpp" line="954"/>
         <source>Print current solution results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="494"/>
+        <location filename="../ui/mainwindow.ui" line="497"/>
         <source>Detect language automatically based on regional settings</source>
         <translation type="unfinished"></translation>
@@ -814,165 +815,165 @@
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="226"/>
+        <location filename="../ui/settingsdialog.ui" line="152"/>
         <source>Task</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="229"/>
+        <location filename="../ui/settingsdialog.ui" line="155"/>
         <source>Task generation and solving settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="240"/>
+        <location filename="../ui/settingsdialog.ui" line="166"/>
         <source>Fractional accuracy:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="250"/>
+        <location filename="../ui/settingsdialog.ui" line="176"/>
         <source>Accuracy of the fractional values (in decimal places)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="265"/>
+        <location filename="../ui/settingsdialog.ui" line="191"/>
         <source>In this mode the cost of travel from city 1 to city 2 and vice versa is the same</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="268"/>
+        <location filename="../ui/settingsdialog.ui" line="194"/>
         <source>Symmetric mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="286"/>
+        <location filename="../ui/settingsdialog.ui" line="212"/>
         <source>Minimal random:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../ui/settingsdialog.ui" line="225"/>
+        <source>Minimum for random number generation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="232"/>
+        <source>Maximal random:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="245"/>
+        <source>Maximum for random number generation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="257"/>
+        <source>Generate fractional random values with the Fractional accuracy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="383"/>
+        <source>Output font settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="412"/>
+        <source>&amp;Color...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="115"/>
+        <source>Automatically resize rows and columns to their contents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="103"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="106"/>
+        <source>General TSPSG settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="118"/>
+        <source>Autosize of rows and columns</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="128"/>
+        <source>Use native File Open and File Save dialogs (uncheck to use Qt&apos;s Dialogs)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="201"/>
+        <source>Task generation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="284"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="287"/>
+        <source>Solution output settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="296"/>
+        <source>Show solution steps&apos; matrices for every solution step</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../ui/settingsdialog.ui" line="299"/>
-        <source>Minimum for random number generation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="306"/>
-        <source>Maximal random:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="319"/>
-        <source>Maximum for random number generation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="331"/>
-        <source>Generate fractional random values with the Fractional accuracy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="457"/>
-        <source>Output font settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="486"/>
-        <source>&amp;Color...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="189"/>
-        <source>Automatically resize rows and columns to their contents</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="177"/>
-        <source>General</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="180"/>
-        <source>General TSPSG settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="192"/>
-        <source>Autosize of rows and columns</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="202"/>
-        <source>Use native File Open and File Save dialogs (uncheck to use Qt&apos;s Dialogs)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="275"/>
-        <source>Task generation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="358"/>
-        <source>Output</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="361"/>
-        <source>Solution output settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="370"/>
-        <source>Show solution steps&apos; matrices for every solution step</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../ui/settingsdialog.ui" line="373"/>
         <source>Show solution steps&apos; matrices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="404"/>
+        <location filename="../ui/settingsdialog.ui" line="330"/>
         <source>Show or hide solution steps&apos; matrices based on number of cities in the task</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="414"/>
+        <location filename="../ui/settingsdialog.ui" line="340"/>
         <source>Maximum number of cities to show solution steps&apos; matrices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="466"/>
+        <location filename="../ui/settingsdialog.ui" line="392"/>
         <source>Font face for solution output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="483"/>
+        <location filename="../ui/settingsdialog.ui" line="409"/>
         <source>Font color for solution output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="334"/>
+        <location filename="../ui/settingsdialog.ui" line="260"/>
         <source>Fractional random values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="445"/>
+        <location filename="../ui/settingsdialog.ui" line="371"/>
         <source>Scroll to the end of solution output after solving</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="448"/>
+        <location filename="../ui/settingsdialog.ui" line="374"/>
         <source>Scroll to solution end</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="205"/>
+        <location filename="../ui/settingsdialog.ui" line="131"/>
         <source>Use native file dialogs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="407"/>
+        <location filename="../ui/settingsdialog.ui" line="333"/>
         <source>Only when &lt;=</source>
         <translation>Only when ≤</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="417"/>
+        <location filename="../ui/settingsdialog.ui" line="343"/>
         <source> cities</source>
         <comment>Don&apos;t forget a space at the beginning!</comment>
@@ -980,16 +981,16 @@
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="469"/>
+        <location filename="../ui/settingsdialog.ui" line="395"/>
         <source>&amp;Font...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="103"/>
-        <location filename="../ui/settingsdialog.ui" line="109"/>
+        <location filename="../ui/settingsdialog.ui" line="66"/>
+        <location filename="../ui/settingsdialog.ui" line="72"/>
         <source>Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="106"/>
+        <location filename="../ui/settingsdialog.ui" line="69"/>
         <source>Get preferences help</source>
         <translation type="unfinished"></translation>
@@ -1006,41 +1007,41 @@
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="83"/>
+        <location filename="../src/settingsdialog.cpp" line="91"/>
         <source>Use translucent effect on the Main Window under Windows Vista and 7</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="85"/>
+        <location filename="../src/settingsdialog.cpp" line="93"/>
         <source>Use translucency effects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="93"/>
+        <location filename="../src/settingsdialog.cpp" line="101"/>
         <source>Restore main window state and position on application restart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="95"/>
+        <location filename="../src/settingsdialog.cpp" line="103"/>
         <source>Save main window state and position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="117"/>
+        <location filename="../src/settingsdialog.cpp" line="125"/>
         <source>Hover mouse pointer over dialog elements to get additional help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="239"/>
-        <location filename="../src/settingsdialog.cpp" line="245"/>
+        <location filename="../src/settingsdialog.cpp" line="247"/>
+        <location filename="../src/settingsdialog.cpp" line="253"/>
         <source>Settings Reset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="239"/>
+        <location filename="../src/settingsdialog.cpp" line="247"/>
         <source>Do you really want to &lt;b&gt;reset all application settings to their defaults&lt;/b&gt;?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="245"/>
+        <location filename="../src/settingsdialog.cpp" line="253"/>
         <source>All settings where successfully reset to their defaults.
 It is recommended to restart the application now.</source>
Index: /trunk/l10n/tspsg_ru.ts
===================================================================
--- /trunk/l10n/tspsg_ru.ts	(revision 103)
+++ /trunk/l10n/tspsg_ru.ts	(revision 104)
@@ -12,5 +12,5 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="727"/>
+        <location filename="../src/mainwindow.cpp" line="798"/>
         <source>LANGNAME</source>
         <comment>Please, provide a native name of your translation language here.</comment>
@@ -150,10 +150,10 @@
     <message>
         <location filename="../ui/mainwindow.ui" line="15"/>
-        <location filename="../src/mainwindow.cpp" line="923"/>
+        <location filename="../src/mainwindow.cpp" line="994"/>
         <source>Travelling Salesman Problem</source>
         <translation>Задача коммивояжера</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="804"/>
+        <location filename="../src/mainwindow.cpp" line="875"/>
         <source>Unsaved Changes</source>
         <translation>Несохраненные изменения</translation>
@@ -167,5 +167,5 @@
         <location filename="../src/mainwindow.cpp" line="137"/>
         <location filename="../src/mainwindow.cpp" line="201"/>
-        <location filename="../src/mainwindow.cpp" line="900"/>
+        <location filename="../src/mainwindow.cpp" line="971"/>
         <source>All Files</source>
         <translation>Все файлы</translation>
@@ -178,6 +178,6 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="790"/>
-        <location filename="../src/mainwindow.cpp" line="792"/>
+        <location filename="../src/mainwindow.cpp" line="861"/>
+        <location filename="../src/mainwindow.cpp" line="863"/>
         <source>Language Change</source>
         <translation>Смена языка</translation>
@@ -199,16 +199,16 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="536"/>
+        <location filename="../src/mainwindow.cpp" line="565"/>
         <source>Selected candidate for branching: %1.</source>
         <translation>Выбранный кандидат для ветвления: %1.</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="536"/>
-        <location filename="../src/mainwindow.cpp" line="543"/>
+        <location filename="../src/mainwindow.cpp" line="565"/>
+        <location filename="../src/mainwindow.cpp" line="572"/>
         <source>(%1;%2)</source>
         <translation></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/mainwindow.cpp" line="545"/>
+        <location filename="../src/mainwindow.cpp" line="575"/>
         <source>%n alternate candidate(s) for branching: %1.</source>
         <translation>
@@ -219,5 +219,5 @@
     </message>
     <message numerus="yes">
-        <location filename="../src/mainwindow.cpp" line="566"/>
+        <location filename="../src/mainwindow.cpp" line="604"/>
         <source>The price is &lt;b&gt;%n&lt;/b&gt; unit(s).</source>
         <translation>
@@ -228,11 +228,11 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="890"/>
-        <location filename="../src/mainwindow.cpp" line="893"/>
+        <location filename="../src/mainwindow.cpp" line="961"/>
+        <location filename="../src/mainwindow.cpp" line="964"/>
         <source>Check for %1 updates</source>
         <translation>Проверить обновления %1</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="899"/>
+        <location filename="../src/mainwindow.cpp" line="970"/>
         <source>%1 Task File</source>
         <translation>Файл условия %1</translation>
@@ -354,18 +354,18 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="516"/>
+        <location filename="../src/mainwindow.cpp" line="523"/>
+        <location filename="../src/mainwindow.cpp" line="536"/>
+        <source>Solution of Variant #%1 Task</source>
+        <translation>Решение варианта №%1</translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="530"/>
         <source>Variant #%1</source>
         <translation>Вариант №%1</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="517"/>
+        <location filename="../src/mainwindow.cpp" line="532"/>
         <source>Task:</source>
         <translation>Условие:</translation>
-    </message>
-    <message>
-        <location filename="../src/mainwindow.cpp" line="515"/>
-        <location filename="../src/mainwindow.cpp" line="519"/>
-        <source>Solution of Variant #%1 task</source>
-        <translation>Решение варианта №%1</translation>
     </message>
     <message>
@@ -410,46 +410,47 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="522"/>
+        <location filename="../src/mainwindow.cpp" line="541"/>
         <source>Generating step %v</source>
         <translation>Генерация шага %v</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="532"/>
+        <location filename="../src/mainwindow.cpp" line="560"/>
         <source>Step #%1</source>
         <translation>Шаг №%1</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="557"/>
+        <location filename="../src/mainwindow.cpp" line="589"/>
         <source>Generating footer</source>
         <translation>Генерация окончания</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="561"/>
+        <location filename="../src/mainwindow.cpp" line="595"/>
         <source>Optimal path:</source>
         <translation>Оптимальный путь:</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="563"/>
+        <location filename="../src/mainwindow.cpp" line="597"/>
         <source>Resulting path:</source>
         <translation>Найденный путь:</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="568"/>
+        <location filename="../src/mainwindow.cpp" line="606"/>
         <source>The price is &lt;b&gt;%1&lt;/b&gt; units.</source>
         <translation>Стоимость - &lt;b&gt;%1&lt;/b&gt; единиц.</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="571"/>
+        <location filename="../src/mainwindow.cpp" line="611"/>
         <source>&lt;b&gt;WARNING!!!&lt;/b&gt;&lt;br&gt;This result is a record, but it may not be optimal.&lt;br&gt;Iterations need to be continued to check whether this result is optimal or get an optimal one.</source>
         <translation>&lt;b&gt;ВНИМАНИЕ!!!&lt;/b&gt;&lt;br&gt;Найденное решение является рекордом, но может оказаться не оптимальным.&lt;br&gt;Для получения оптимального решения, или проверки текущего на оптимальность, требуется продолжить итерации.</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="580"/>
+        <location filename="../src/mainwindow.cpp" line="544"/>
+        <location filename="../src/mainwindow.cpp" line="624"/>
         <source>Cleaning up...</source>
         <translation>Очистка...</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="790"/>
-        <location filename="../src/mainwindow.cpp" line="792"/>
+        <location filename="../src/mainwindow.cpp" line="861"/>
+        <location filename="../src/mainwindow.cpp" line="863"/>
         <source>Unable to load the translation language.
 Falling back to autodetection.</source>
@@ -458,20 +459,20 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="804"/>
+        <location filename="../src/mainwindow.cpp" line="875"/>
         <source>Would you like to save changes in the current task?</source>
         <translation>Желаете сохранить изменения в текущей задаче?</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="867"/>
+        <location filename="../src/mainwindow.cpp" line="938"/>
         <source>Set application language to %1</source>
         <translation>Изменить язык приложения на %1</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="888"/>
+        <location filename="../src/mainwindow.cpp" line="959"/>
         <source>Check for &amp;Updates...</source>
         <translation>Проверить &amp;обновления...</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="908"/>
+        <location filename="../src/mainwindow.cpp" line="979"/>
         <source>Task Save</source>
         <translation>Сохранение условия</translation>
@@ -495,5 +496,5 @@
         <location filename="../src/mainwindow.cpp" line="179"/>
         <location filename="../src/mainwindow.cpp" line="297"/>
-        <location filename="../src/mainwindow.h" line="113"/>
+        <location filename="../src/mainwindow.h" line="122"/>
         <source>Untitled</source>
         <translation>Без имени</translation>
@@ -560,31 +561,31 @@
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="204"/>
-        <location filename="../ui/mainwindow.ui" line="358"/>
+        <location filename="../ui/mainwindow.ui" line="207"/>
+        <location filename="../ui/mainwindow.ui" line="361"/>
         <source>Save solution to a file</source>
         <translation>Сохранить решение в файл</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="207"/>
+        <location filename="../ui/mainwindow.ui" line="210"/>
         <source>Save Solution</source>
         <translation>Сохранить</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="234"/>
+        <location filename="../ui/mainwindow.ui" line="237"/>
         <source>Go back to Task tab</source>
         <translation>Вернуться к закладке &quot;Условие&quot;</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="237"/>
+        <location filename="../ui/mainwindow.ui" line="240"/>
         <source>Back to Task</source>
         <translation>К условию</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="266"/>
+        <location filename="../ui/mainwindow.ui" line="269"/>
         <source>&amp;File</source>
         <translation>&amp;Файл</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="298"/>
+        <location filename="../ui/mainwindow.ui" line="301"/>
         <source>&amp;Language</source>
         <comment>Please, append &quot; / Language&quot; when translating this string.</comment>
@@ -592,231 +593,231 @@
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="436"/>
+        <location filename="../ui/mainwindow.ui" line="439"/>
         <source>Context &amp;Help</source>
         <translation>&amp;Контекстная справка</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="451"/>
+        <location filename="../ui/mainwindow.ui" line="454"/>
         <source>&amp;About TSPSG...</source>
         <translation>&amp;Про TSPSG...</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="517"/>
+        <location filename="../ui/mainwindow.ui" line="520"/>
         <source>&amp;Save</source>
         <translation>Со&amp;хранить</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="288"/>
+        <location filename="../ui/mainwindow.ui" line="291"/>
         <source>&amp;Settings</source>
         <translation>&amp;Настройки</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="314"/>
+        <location filename="../ui/mainwindow.ui" line="317"/>
         <source>&amp;Help</source>
         <translation>&amp;Помощь</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="355"/>
+        <location filename="../ui/mainwindow.ui" line="358"/>
         <source>Save solution</source>
         <translation>Сохранить решение</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="367"/>
+        <location filename="../ui/mainwindow.ui" line="370"/>
         <source>&amp;New</source>
         <translation>&amp;Создать</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="370"/>
+        <location filename="../ui/mainwindow.ui" line="373"/>
         <source>New task</source>
         <translation>Создать задачу</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="373"/>
+        <location filename="../ui/mainwindow.ui" line="376"/>
         <source>Create new task</source>
         <translation>Создать новую задачу</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="376"/>
+        <location filename="../ui/mainwindow.ui" line="379"/>
         <source>Ctrl+N</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="385"/>
+        <location filename="../ui/mainwindow.ui" line="388"/>
         <source>&amp;Open...</source>
         <translation>&amp;Открыть...</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="388"/>
+        <location filename="../ui/mainwindow.ui" line="391"/>
         <source>Open task</source>
         <translation>Открыть условие</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="391"/>
+        <location filename="../ui/mainwindow.ui" line="394"/>
         <source>Open saved task</source>
         <translation>Открыть сохраненное условие задачи</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="394"/>
+        <location filename="../ui/mainwindow.ui" line="397"/>
         <source>Ctrl+O</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="403"/>
+        <location filename="../ui/mainwindow.ui" line="406"/>
         <source>&amp;Preferences...</source>
         <translation>&amp;Параметры...</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="406"/>
+        <location filename="../ui/mainwindow.ui" line="409"/>
         <source>Application preferences</source>
         <translation>Настройка параметров программмы</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="418"/>
+        <location filename="../ui/mainwindow.ui" line="421"/>
         <source>&amp;Contents</source>
         <translation>&amp;Содежание</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="421"/>
+        <location filename="../ui/mainwindow.ui" line="424"/>
         <source>Open help contents</source>
         <translation>Вызвать справку программы</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="424"/>
+        <location filename="../ui/mainwindow.ui" line="427"/>
         <source>Ctrl+F1</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="439"/>
+        <location filename="../ui/mainwindow.ui" line="442"/>
         <source>Open context help</source>
         <translation>Вызвать контекстную справку</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="442"/>
+        <location filename="../ui/mainwindow.ui" line="445"/>
         <source>F1</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="454"/>
+        <location filename="../ui/mainwindow.ui" line="457"/>
         <source>About application</source>
         <translation>О программе</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="463"/>
+        <location filename="../ui/mainwindow.ui" line="466"/>
         <source>E&amp;xit</source>
         <translation>В&amp;ыход</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="466"/>
+        <location filename="../ui/mainwindow.ui" line="469"/>
         <source>Exit application</source>
         <translation>Выйти из приложения</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="471"/>
+        <location filename="../ui/mainwindow.ui" line="474"/>
         <source>&amp;Task...</source>
         <translation>&amp;Условие...</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="474"/>
-        <location filename="../ui/mainwindow.ui" line="520"/>
+        <location filename="../ui/mainwindow.ui" line="477"/>
+        <location filename="../ui/mainwindow.ui" line="523"/>
         <source>Save task</source>
         <translation>Сохранить условие</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="477"/>
+        <location filename="../ui/mainwindow.ui" line="480"/>
         <source>Save task to file</source>
         <translation>Сохранить условие задачи в файл</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="526"/>
+        <location filename="../ui/mainwindow.ui" line="529"/>
         <source>Ctrl+S</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="488"/>
+        <location filename="../ui/mainwindow.ui" line="491"/>
         <source>&amp;Autodetect</source>
         <translation>&amp;Автоопределение</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="523"/>
+        <location filename="../ui/mainwindow.ui" line="526"/>
         <source>Save current task</source>
         <translation>Сохранить текущее условие</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="535"/>
+        <location filename="../ui/mainwindow.ui" line="538"/>
         <source>About &amp;Qt...</source>
         <translation>Про &amp;Qt...</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="538"/>
+        <location filename="../ui/mainwindow.ui" line="541"/>
         <source>About Qt library</source>
         <translation>Про библиотеку Qt</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="292"/>
+        <location filename="../ui/mainwindow.ui" line="295"/>
         <source>Select language</source>
         <translation>Выбор языка</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="270"/>
+        <location filename="../ui/mainwindow.ui" line="273"/>
         <source>Save &amp;As</source>
         <translation>Сохранить &amp;как</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="295"/>
+        <location filename="../ui/mainwindow.ui" line="298"/>
         <source>Select application language</source>
         <translation>Выбрать язык приложения</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="331"/>
+        <location filename="../ui/mainwindow.ui" line="334"/>
         <source>Toolbar</source>
         <translation>Панель инструментов</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="870"/>
+        <location filename="../src/mainwindow.cpp" line="941"/>
         <source>P&amp;rint Preview...</source>
         <translation>П&amp;редварительный просмотр...</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="872"/>
+        <location filename="../src/mainwindow.cpp" line="943"/>
         <source>Preview solution results</source>
         <translation>Предварительный просмотр результатов решения</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="875"/>
+        <location filename="../src/mainwindow.cpp" line="946"/>
         <source>Preview current solution results before printing</source>
         <translation>Предварительный просмотр результатов решения перед печатью</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="878"/>
+        <location filename="../src/mainwindow.cpp" line="949"/>
         <source>&amp;Print...</source>
         <translation>&amp;Печать...</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="880"/>
+        <location filename="../src/mainwindow.cpp" line="951"/>
         <source>Print solution</source>
         <translation>Печать решения</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="883"/>
+        <location filename="../src/mainwindow.cpp" line="954"/>
         <source>Print current solution results</source>
         <translation>Распечатать текущие результаты решения</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="885"/>
+        <location filename="../src/mainwindow.cpp" line="956"/>
         <source>Ctrl+P</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="352"/>
+        <location filename="../ui/mainwindow.ui" line="355"/>
         <source>&amp;Solution...</source>
         <translation>&amp;Решение...</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="491"/>
+        <location filename="../ui/mainwindow.ui" line="494"/>
         <source>Detect language automatically</source>
         <translation>Определять язык автоматически</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="494"/>
+        <location filename="../ui/mainwindow.ui" line="497"/>
         <source>Detect language automatically based on regional settings</source>
         <translation>Определять язык автоматически, основываясь на региональных настройках</translation>
@@ -831,165 +832,165 @@
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="226"/>
+        <location filename="../ui/settingsdialog.ui" line="152"/>
         <source>Task</source>
         <translation>Задача</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="229"/>
+        <location filename="../ui/settingsdialog.ui" line="155"/>
         <source>Task generation and solving settings</source>
         <translation>Настройки генерации и решения задач</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="240"/>
+        <location filename="../ui/settingsdialog.ui" line="166"/>
         <source>Fractional accuracy:</source>
         <translation>Точность дробных чисел:</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="250"/>
+        <location filename="../ui/settingsdialog.ui" line="176"/>
         <source>Accuracy of the fractional values (in decimal places)</source>
         <translation>Точность дробных чисел (в знаках после запятой)</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="299"/>
+        <location filename="../ui/settingsdialog.ui" line="225"/>
         <source>Minimum for random number generation</source>
         <translation>Нижняя граница для генерации случайных значений</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="319"/>
+        <location filename="../ui/settingsdialog.ui" line="245"/>
         <source>Maximum for random number generation</source>
         <translation>Верхняя граница для генерации случайных значений</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="331"/>
+        <location filename="../ui/settingsdialog.ui" line="257"/>
         <source>Generate fractional random values with the Fractional accuracy</source>
         <translation>Генерировать дробные случайные числа с заданной выше точностью</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="457"/>
+        <location filename="../ui/settingsdialog.ui" line="383"/>
         <source>Output font settings</source>
         <translation>Параметры шрифта</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="486"/>
+        <location filename="../ui/settingsdialog.ui" line="412"/>
         <source>&amp;Color...</source>
         <translation>&amp;Цвет...</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="189"/>
+        <location filename="../ui/settingsdialog.ui" line="115"/>
         <source>Automatically resize rows and columns to their contents</source>
         <translation>Автоматически подганять размер строк и колонок под их содержание</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="177"/>
+        <location filename="../ui/settingsdialog.ui" line="103"/>
         <source>General</source>
         <translation>Общие</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="180"/>
+        <location filename="../ui/settingsdialog.ui" line="106"/>
         <source>General TSPSG settings</source>
         <translation>Общие настройки TSPSG</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="192"/>
+        <location filename="../ui/settingsdialog.ui" line="118"/>
         <source>Autosize of rows and columns</source>
         <translation>Авторазмер строк и колонок</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="202"/>
+        <location filename="../ui/settingsdialog.ui" line="128"/>
         <source>Use native File Open and File Save dialogs (uncheck to use Qt&apos;s Dialogs)</source>
         <translation>Использовать системные диалоги открытия и сохранения файла</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="275"/>
+        <location filename="../ui/settingsdialog.ui" line="201"/>
         <source>Task generation</source>
         <translation>Генерация задач</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="358"/>
+        <location filename="../ui/settingsdialog.ui" line="284"/>
         <source>Output</source>
         <translation>Вывод</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="361"/>
+        <location filename="../ui/settingsdialog.ui" line="287"/>
         <source>Solution output settings</source>
         <translation>Настройки текста решения</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="370"/>
+        <location filename="../ui/settingsdialog.ui" line="296"/>
         <source>Show solution steps&apos; matrices for every solution step</source>
         <translation>Показывать матрицы шагов решения для каждого шага</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="373"/>
+        <location filename="../ui/settingsdialog.ui" line="299"/>
         <source>Show solution steps&apos; matrices</source>
         <translation>Показ матриц шагов решения</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="404"/>
+        <location filename="../ui/settingsdialog.ui" line="330"/>
         <source>Show or hide solution steps&apos; matrices based on number of cities in the task</source>
         <translation>Показывать матрицы хода решения в зависимости от количества городов</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="414"/>
+        <location filename="../ui/settingsdialog.ui" line="340"/>
         <source>Maximum number of cities to show solution steps&apos; matrices</source>
         <translation>Максимальное количество городов для показа матриц шагов решения</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="466"/>
+        <location filename="../ui/settingsdialog.ui" line="392"/>
         <source>Font face for solution output</source>
         <translation>Вид шрифта, используемого при выводе</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="483"/>
+        <location filename="../ui/settingsdialog.ui" line="409"/>
         <source>Font color for solution output</source>
         <translation>Цвет шрифта, используемого при выводе</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="334"/>
+        <location filename="../ui/settingsdialog.ui" line="260"/>
         <source>Fractional random values</source>
         <translation>Дробные случайные числа</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="445"/>
+        <location filename="../ui/settingsdialog.ui" line="371"/>
         <source>Scroll to the end of solution output after solving</source>
         <translation>Прокручивать в конец вывода после окончания решения задачи</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="448"/>
+        <location filename="../ui/settingsdialog.ui" line="374"/>
         <source>Scroll to solution end</source>
         <translation>Прокручивать в конец решения</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="205"/>
+        <location filename="../ui/settingsdialog.ui" line="131"/>
         <source>Use native file dialogs</source>
         <translation>Системные файловые диалоги</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="265"/>
+        <location filename="../ui/settingsdialog.ui" line="191"/>
         <source>In this mode the cost of travel from city 1 to city 2 and vice versa is the same</source>
         <translation>В этом режиме стоимость переезда из города 1 в город 2 и наоборот совпадает</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="268"/>
+        <location filename="../ui/settingsdialog.ui" line="194"/>
         <source>Symmetric mode</source>
         <translation>Симметричный режим</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="286"/>
+        <location filename="../ui/settingsdialog.ui" line="212"/>
         <source>Minimal random:</source>
         <translation>Минимальное случайное:</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="306"/>
+        <location filename="../ui/settingsdialog.ui" line="232"/>
         <source>Maximal random:</source>
         <translation>Максимальное случайное:</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="407"/>
+        <location filename="../ui/settingsdialog.ui" line="333"/>
         <source>Only when &lt;=</source>
         <translation>Только когда ≤</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="417"/>
+        <location filename="../ui/settingsdialog.ui" line="343"/>
         <source> cities</source>
         <comment>Don&apos;t forget a space at the beginning!</comment>
@@ -997,16 +998,16 @@
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="469"/>
+        <location filename="../ui/settingsdialog.ui" line="395"/>
         <source>&amp;Font...</source>
         <translation>&amp;Шрифт...</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="103"/>
-        <location filename="../ui/settingsdialog.ui" line="109"/>
+        <location filename="../ui/settingsdialog.ui" line="66"/>
+        <location filename="../ui/settingsdialog.ui" line="72"/>
         <source>Help</source>
         <translation>Помощь</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="106"/>
+        <location filename="../ui/settingsdialog.ui" line="69"/>
         <source>Get preferences help</source>
         <translation>Получить помощь по настройкам</translation>
@@ -1023,41 +1024,41 @@
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="83"/>
+        <location filename="../src/settingsdialog.cpp" line="91"/>
         <source>Use translucent effect on the Main Window under Windows Vista and 7</source>
         <translation>Использовать эффект полупрозрачности для главного окна в Windows Vista и Windows 7</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="85"/>
+        <location filename="../src/settingsdialog.cpp" line="93"/>
         <source>Use translucency effects</source>
         <translation>Использовать эффекты полупрозрачности</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="93"/>
+        <location filename="../src/settingsdialog.cpp" line="101"/>
         <source>Restore main window state and position on application restart</source>
         <translation>Сохранять состояние и размеры главного окна после перезапуска</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="95"/>
+        <location filename="../src/settingsdialog.cpp" line="103"/>
         <source>Save main window state and position</source>
         <translation>Сохранять состояние и положение главного окна</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="117"/>
+        <location filename="../src/settingsdialog.cpp" line="125"/>
         <source>Hover mouse pointer over dialog elements to get additional help</source>
         <translation>Наведите указатель мыши на элемент диалога, чтоб получить подсказку</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="239"/>
-        <location filename="../src/settingsdialog.cpp" line="245"/>
+        <location filename="../src/settingsdialog.cpp" line="247"/>
+        <location filename="../src/settingsdialog.cpp" line="253"/>
         <source>Settings Reset</source>
         <translation>Сброс настроек</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="239"/>
+        <location filename="../src/settingsdialog.cpp" line="247"/>
         <source>Do you really want to &lt;b&gt;reset all application settings to their defaults&lt;/b&gt;?</source>
         <translation>Вы действительно хотите &lt;b&gt;сбросить все настройки на значения по-умолчанию&lt;/b&gt;?</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="245"/>
+        <location filename="../src/settingsdialog.cpp" line="253"/>
         <source>All settings where successfully reset to their defaults.
 It is recommended to restart the application now.</source>
Index: /trunk/l10n/tspsg_uk.ts
===================================================================
--- /trunk/l10n/tspsg_uk.ts	(revision 103)
+++ /trunk/l10n/tspsg_uk.ts	(revision 104)
@@ -12,5 +12,5 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="727"/>
+        <location filename="../src/mainwindow.cpp" line="798"/>
         <source>LANGNAME</source>
         <comment>Please, provide a native name of your translation language here.</comment>
@@ -153,80 +153,80 @@
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="270"/>
+        <location filename="../ui/mainwindow.ui" line="273"/>
         <source>Save &amp;As</source>
         <translation>Зберегти &amp;як</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="292"/>
+        <location filename="../ui/mainwindow.ui" line="295"/>
         <source>Select language</source>
         <translation>Вибір мови</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="295"/>
+        <location filename="../ui/mainwindow.ui" line="298"/>
         <source>Select application language</source>
         <translation>Обрати мову додатку</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="331"/>
+        <location filename="../ui/mainwindow.ui" line="334"/>
         <source>Toolbar</source>
         <translation>Панель інструментів</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="870"/>
+        <location filename="../src/mainwindow.cpp" line="941"/>
         <source>P&amp;rint Preview...</source>
         <translation>&amp;Попередній перегляд...</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="872"/>
+        <location filename="../src/mainwindow.cpp" line="943"/>
         <source>Preview solution results</source>
         <translation>Попередній перегляд результатів розв&apos;язку</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="875"/>
+        <location filename="../src/mainwindow.cpp" line="946"/>
         <source>Preview current solution results before printing</source>
         <translation>Попередній перегляд результатів розв&apos;язку перед друком</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="878"/>
+        <location filename="../src/mainwindow.cpp" line="949"/>
         <source>&amp;Print...</source>
         <translation>&amp;Друк...</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="880"/>
+        <location filename="../src/mainwindow.cpp" line="951"/>
         <source>Print solution</source>
         <translation>Друк розв&apos;язку</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="883"/>
+        <location filename="../src/mainwindow.cpp" line="954"/>
         <source>Print current solution results</source>
         <translation>Роздрукувати поточний результат розв&apos;язку</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="885"/>
+        <location filename="../src/mainwindow.cpp" line="956"/>
         <source>Ctrl+P</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="352"/>
+        <location filename="../ui/mainwindow.ui" line="355"/>
         <source>&amp;Solution...</source>
         <translation>&amp;Розв&apos;язок...</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="491"/>
+        <location filename="../ui/mainwindow.ui" line="494"/>
         <source>Detect language automatically</source>
         <translation>Визначати мову автоматично</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="494"/>
+        <location filename="../ui/mainwindow.ui" line="497"/>
         <source>Detect language automatically based on regional settings</source>
         <translation>Визначати мову автоматично, використовуючи регіональні стандарти</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="526"/>
+        <location filename="../ui/mainwindow.ui" line="529"/>
         <source>Ctrl+S</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="376"/>
+        <location filename="../ui/mainwindow.ui" line="379"/>
         <source>Ctrl+N</source>
         <translation></translation>
@@ -283,31 +283,31 @@
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="204"/>
-        <location filename="../ui/mainwindow.ui" line="358"/>
+        <location filename="../ui/mainwindow.ui" line="207"/>
+        <location filename="../ui/mainwindow.ui" line="361"/>
         <source>Save solution to a file</source>
         <translation>Зберегти розв&apos;язок у файл</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="207"/>
+        <location filename="../ui/mainwindow.ui" line="210"/>
         <source>Save Solution</source>
         <translation>Зберегти</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="234"/>
+        <location filename="../ui/mainwindow.ui" line="237"/>
         <source>Go back to Task tab</source>
         <translation>Повернутися до закладки &quot;Умова&quot;</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="237"/>
+        <location filename="../ui/mainwindow.ui" line="240"/>
         <source>Back to Task</source>
         <translation>До умови</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="266"/>
+        <location filename="../ui/mainwindow.ui" line="269"/>
         <source>&amp;File</source>
         <translation>&amp;Файл</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="298"/>
+        <location filename="../ui/mainwindow.ui" line="301"/>
         <source>&amp;Language</source>
         <comment>Please, append &quot; / Language&quot; when translating this string.</comment>
@@ -315,151 +315,151 @@
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="436"/>
+        <location filename="../ui/mainwindow.ui" line="439"/>
         <source>Context &amp;Help</source>
         <translation>&amp;Контекстна допомога</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="451"/>
+        <location filename="../ui/mainwindow.ui" line="454"/>
         <source>&amp;About TSPSG...</source>
         <translation>&amp;Про TSPSG...</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="517"/>
+        <location filename="../ui/mainwindow.ui" line="520"/>
         <source>&amp;Save</source>
         <translation>&amp;Зберегти</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="288"/>
+        <location filename="../ui/mainwindow.ui" line="291"/>
         <source>&amp;Settings</source>
         <translation>&amp;Налаштування</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="314"/>
+        <location filename="../ui/mainwindow.ui" line="317"/>
         <source>&amp;Help</source>
         <translation>&amp;Допомога</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="355"/>
+        <location filename="../ui/mainwindow.ui" line="358"/>
         <source>Save solution</source>
         <translation>Зберегти розв&apos;язок</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="367"/>
+        <location filename="../ui/mainwindow.ui" line="370"/>
         <source>&amp;New</source>
         <translation>&amp;Створити</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="370"/>
+        <location filename="../ui/mainwindow.ui" line="373"/>
         <source>New task</source>
         <translation>Нова задача</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="373"/>
+        <location filename="../ui/mainwindow.ui" line="376"/>
         <source>Create new task</source>
         <translation>Створити нову задачу</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="385"/>
+        <location filename="../ui/mainwindow.ui" line="388"/>
         <source>&amp;Open...</source>
         <translation>&amp;Відкрити...</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="388"/>
+        <location filename="../ui/mainwindow.ui" line="391"/>
         <source>Open task</source>
         <translation>Відкрити умову</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="391"/>
+        <location filename="../ui/mainwindow.ui" line="394"/>
         <source>Open saved task</source>
         <translation>Відкрити збережену умову</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="394"/>
+        <location filename="../ui/mainwindow.ui" line="397"/>
         <source>Ctrl+O</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="403"/>
+        <location filename="../ui/mainwindow.ui" line="406"/>
         <source>&amp;Preferences...</source>
         <translation>&amp;Параметри...</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="406"/>
+        <location filename="../ui/mainwindow.ui" line="409"/>
         <source>Application preferences</source>
         <translation>Параметри додатку</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="418"/>
+        <location filename="../ui/mainwindow.ui" line="421"/>
         <source>&amp;Contents</source>
         <translation>&amp;Зміст</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="421"/>
+        <location filename="../ui/mainwindow.ui" line="424"/>
         <source>Open help contents</source>
         <translation>Відкрити зміст допомоги</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="424"/>
+        <location filename="../ui/mainwindow.ui" line="427"/>
         <source>Ctrl+F1</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="439"/>
+        <location filename="../ui/mainwindow.ui" line="442"/>
         <source>Open context help</source>
         <translation>Відкрити контекстну допомогу</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="442"/>
+        <location filename="../ui/mainwindow.ui" line="445"/>
         <source>F1</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="454"/>
+        <location filename="../ui/mainwindow.ui" line="457"/>
         <source>About application</source>
         <translation>Про додаток</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="463"/>
+        <location filename="../ui/mainwindow.ui" line="466"/>
         <source>E&amp;xit</source>
         <translation>В&amp;ихід</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="466"/>
+        <location filename="../ui/mainwindow.ui" line="469"/>
         <source>Exit application</source>
         <translation>Вийти з додатку</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="471"/>
+        <location filename="../ui/mainwindow.ui" line="474"/>
         <source>&amp;Task...</source>
         <translation>&amp;Умову...</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="474"/>
-        <location filename="../ui/mainwindow.ui" line="520"/>
+        <location filename="../ui/mainwindow.ui" line="477"/>
+        <location filename="../ui/mainwindow.ui" line="523"/>
         <source>Save task</source>
         <translation>Зберегти умову</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="477"/>
+        <location filename="../ui/mainwindow.ui" line="480"/>
         <source>Save task to file</source>
         <translation>Зберегти умову задачі у файл</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="488"/>
+        <location filename="../ui/mainwindow.ui" line="491"/>
         <source>&amp;Autodetect</source>
         <translation>&amp;Автовизначення</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="523"/>
+        <location filename="../ui/mainwindow.ui" line="526"/>
         <source>Save current task</source>
         <translation>Зберегти поточну умову</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="535"/>
+        <location filename="../ui/mainwindow.ui" line="538"/>
         <source>About &amp;Qt...</source>
         <translation>Про &amp;Qt...</translation>
     </message>
     <message>
-        <location filename="../ui/mainwindow.ui" line="538"/>
+        <location filename="../ui/mainwindow.ui" line="541"/>
         <source>About Qt library</source>
         <translation>Про бібліотеку Qt</translation>
@@ -473,10 +473,10 @@
     <message>
         <location filename="../ui/mainwindow.ui" line="15"/>
-        <location filename="../src/mainwindow.cpp" line="923"/>
+        <location filename="../src/mainwindow.cpp" line="994"/>
         <source>Travelling Salesman Problem</source>
         <translation>Задача комівояжера</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="804"/>
+        <location filename="../src/mainwindow.cpp" line="875"/>
         <source>Unsaved Changes</source>
         <translation>Незбережені зміни</translation>
@@ -490,5 +490,5 @@
         <location filename="../src/mainwindow.cpp" line="137"/>
         <location filename="../src/mainwindow.cpp" line="201"/>
-        <location filename="../src/mainwindow.cpp" line="900"/>
+        <location filename="../src/mainwindow.cpp" line="971"/>
         <source>All Files</source>
         <translation>Усі файли</translation>
@@ -501,6 +501,6 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="790"/>
-        <location filename="../src/mainwindow.cpp" line="792"/>
+        <location filename="../src/mainwindow.cpp" line="861"/>
+        <location filename="../src/mainwindow.cpp" line="863"/>
         <source>Language Change</source>
         <translation>Зміна мови</translation>
@@ -522,16 +522,16 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="536"/>
+        <location filename="../src/mainwindow.cpp" line="565"/>
         <source>Selected candidate for branching: %1.</source>
         <translation>Обраний кандидат на розгалудження: %1.</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="536"/>
-        <location filename="../src/mainwindow.cpp" line="543"/>
+        <location filename="../src/mainwindow.cpp" line="565"/>
+        <location filename="../src/mainwindow.cpp" line="572"/>
         <source>(%1;%2)</source>
         <translation></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/mainwindow.cpp" line="545"/>
+        <location filename="../src/mainwindow.cpp" line="575"/>
         <source>%n alternate candidate(s) for branching: %1.</source>
         <translation>
@@ -542,5 +542,5 @@
     </message>
     <message numerus="yes">
-        <location filename="../src/mainwindow.cpp" line="566"/>
+        <location filename="../src/mainwindow.cpp" line="604"/>
         <source>The price is &lt;b&gt;%n&lt;/b&gt; unit(s).</source>
         <translation>
@@ -551,11 +551,11 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="890"/>
-        <location filename="../src/mainwindow.cpp" line="893"/>
+        <location filename="../src/mainwindow.cpp" line="961"/>
+        <location filename="../src/mainwindow.cpp" line="964"/>
         <source>Check for %1 updates</source>
         <translation>Перевірити оновлення %1</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="899"/>
+        <location filename="../src/mainwindow.cpp" line="970"/>
         <source>%1 Task File</source>
         <translation>Файл умови %1</translation>
@@ -677,18 +677,18 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="516"/>
+        <location filename="../src/mainwindow.cpp" line="523"/>
+        <location filename="../src/mainwindow.cpp" line="536"/>
+        <source>Solution of Variant #%1 Task</source>
+        <translation>Розв&apos;язок варіанту №%1</translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="530"/>
         <source>Variant #%1</source>
         <translation>Варіант №%1</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="517"/>
+        <location filename="../src/mainwindow.cpp" line="532"/>
         <source>Task:</source>
         <translation>Умова:</translation>
-    </message>
-    <message>
-        <location filename="../src/mainwindow.cpp" line="515"/>
-        <location filename="../src/mainwindow.cpp" line="519"/>
-        <source>Solution of Variant #%1 task</source>
-        <translation>Розв&apos;язок варіанту №%1</translation>
     </message>
     <message>
@@ -733,46 +733,47 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="522"/>
+        <location filename="../src/mainwindow.cpp" line="541"/>
         <source>Generating step %v</source>
         <translation>Генерація шагу %v</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="532"/>
+        <location filename="../src/mainwindow.cpp" line="560"/>
         <source>Step #%1</source>
         <translation>Крок №%1</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="557"/>
+        <location filename="../src/mainwindow.cpp" line="589"/>
         <source>Generating footer</source>
         <translation>Генерація закінчення</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="561"/>
+        <location filename="../src/mainwindow.cpp" line="595"/>
         <source>Optimal path:</source>
         <translation>Оптимальний шлях:</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="563"/>
+        <location filename="../src/mainwindow.cpp" line="597"/>
         <source>Resulting path:</source>
         <translation>Знайдений шлях:</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="568"/>
+        <location filename="../src/mainwindow.cpp" line="606"/>
         <source>The price is &lt;b&gt;%1&lt;/b&gt; units.</source>
         <translation>Вартість - &lt;b&gt;%1&lt;/b&gt; одиниць.</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="571"/>
+        <location filename="../src/mainwindow.cpp" line="611"/>
         <source>&lt;b&gt;WARNING!!!&lt;/b&gt;&lt;br&gt;This result is a record, but it may not be optimal.&lt;br&gt;Iterations need to be continued to check whether this result is optimal or get an optimal one.</source>
         <translation>&lt;b&gt;Увага!!!&lt;/b&gt;&lt;br&gt;Знайдений розв&apos;язок є рекордом, але може бути неоптимальним.&lt;br&gt;Для отримання оптимального розв&apos;язку, або перевірки поточного на оптимальність, потрібно продовжити ітерації.</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="580"/>
+        <location filename="../src/mainwindow.cpp" line="544"/>
+        <location filename="../src/mainwindow.cpp" line="624"/>
         <source>Cleaning up...</source>
         <translation>Очищення...</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="790"/>
-        <location filename="../src/mainwindow.cpp" line="792"/>
+        <location filename="../src/mainwindow.cpp" line="861"/>
+        <location filename="../src/mainwindow.cpp" line="863"/>
         <source>Unable to load the translation language.
 Falling back to autodetection.</source>
@@ -781,20 +782,20 @@
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="804"/>
+        <location filename="../src/mainwindow.cpp" line="875"/>
         <source>Would you like to save changes in the current task?</source>
         <translation>Бажаете зберегти зміни у поточній задачі?</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="867"/>
+        <location filename="../src/mainwindow.cpp" line="938"/>
         <source>Set application language to %1</source>
         <translation>Змінити мову додатку на %1</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="888"/>
+        <location filename="../src/mainwindow.cpp" line="959"/>
         <source>Check for &amp;Updates...</source>
         <translation>Перевірити &amp;оновлення...</translation>
     </message>
     <message>
-        <location filename="../src/mainwindow.cpp" line="908"/>
+        <location filename="../src/mainwindow.cpp" line="979"/>
         <source>Task Save</source>
         <translation>Збереження умови</translation>
@@ -818,5 +819,5 @@
         <location filename="../src/mainwindow.cpp" line="179"/>
         <location filename="../src/mainwindow.cpp" line="297"/>
-        <location filename="../src/mainwindow.h" line="113"/>
+        <location filename="../src/mainwindow.h" line="122"/>
         <source>Untitled</source>
         <translation>Без імені</translation>
@@ -826,41 +827,41 @@
     <name>SettingsDialog</name>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="83"/>
+        <location filename="../src/settingsdialog.cpp" line="91"/>
         <source>Use translucent effect on the Main Window under Windows Vista and 7</source>
         <translation>Використовувати ефект полупрозорості для головного вікна у Windows Vista та Windows 7</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="85"/>
+        <location filename="../src/settingsdialog.cpp" line="93"/>
         <source>Use translucency effects</source>
         <translation>Використовувати ефекти напівпрозорості</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="93"/>
+        <location filename="../src/settingsdialog.cpp" line="101"/>
         <source>Restore main window state and position on application restart</source>
         <translation>Відновлювати стан та розмір головного вікна після перезапуску</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="95"/>
+        <location filename="../src/settingsdialog.cpp" line="103"/>
         <source>Save main window state and position</source>
         <translation>Зберігати стан та розміщення головного вікна</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="117"/>
+        <location filename="../src/settingsdialog.cpp" line="125"/>
         <source>Hover mouse pointer over dialog elements to get additional help</source>
         <translation>Наведіть покажчик миші на елемент ділогу, щоб отримати підказку</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="239"/>
-        <location filename="../src/settingsdialog.cpp" line="245"/>
+        <location filename="../src/settingsdialog.cpp" line="247"/>
+        <location filename="../src/settingsdialog.cpp" line="253"/>
         <source>Settings Reset</source>
         <translation>Скидання налагоджень</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="239"/>
+        <location filename="../src/settingsdialog.cpp" line="247"/>
         <source>Do you really want to &lt;b&gt;reset all application settings to their defaults&lt;/b&gt;?</source>
         <translation>Ви дісно хочете &lt;b&gt;скинути усі налаштування на значення по-замовчуванню&lt;/b&gt;?</translation>
     </message>
     <message>
-        <location filename="../src/settingsdialog.cpp" line="245"/>
+        <location filename="../src/settingsdialog.cpp" line="253"/>
         <source>All settings where successfully reset to their defaults.
 It is recommended to restart the application now.</source>
@@ -874,165 +875,165 @@
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="226"/>
+        <location filename="../ui/settingsdialog.ui" line="152"/>
         <source>Task</source>
         <translation>Задача</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="229"/>
+        <location filename="../ui/settingsdialog.ui" line="155"/>
         <source>Task generation and solving settings</source>
         <translation>Налаштування генерації та розв&apos;язку задач</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="240"/>
+        <location filename="../ui/settingsdialog.ui" line="166"/>
         <source>Fractional accuracy:</source>
         <translation>Точність дробових чисел:</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="250"/>
+        <location filename="../ui/settingsdialog.ui" line="176"/>
         <source>Accuracy of the fractional values (in decimal places)</source>
         <translation>Точність дробових чисел (у знаках після коми)</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="299"/>
+        <location filename="../ui/settingsdialog.ui" line="225"/>
         <source>Minimum for random number generation</source>
         <translation>Нажня межа для генерації випадкових значень</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="319"/>
+        <location filename="../ui/settingsdialog.ui" line="245"/>
         <source>Maximum for random number generation</source>
         <translation>Верхня межа для генерації випадкових значень</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="331"/>
+        <location filename="../ui/settingsdialog.ui" line="257"/>
         <source>Generate fractional random values with the Fractional accuracy</source>
         <translation>Генерувати дробові випадкові числа з вказаною вище точністю</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="457"/>
+        <location filename="../ui/settingsdialog.ui" line="383"/>
         <source>Output font settings</source>
         <translation>Параметри шрифта</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="486"/>
+        <location filename="../ui/settingsdialog.ui" line="412"/>
         <source>&amp;Color...</source>
         <translation>&amp;Колір...</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="189"/>
+        <location filename="../ui/settingsdialog.ui" line="115"/>
         <source>Automatically resize rows and columns to their contents</source>
         <translation>Автоматично підганяти розмір рядків під їх зміст</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="177"/>
+        <location filename="../ui/settingsdialog.ui" line="103"/>
         <source>General</source>
         <translation>Загальні</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="180"/>
+        <location filename="../ui/settingsdialog.ui" line="106"/>
         <source>General TSPSG settings</source>
         <translation>Загальні налаштування TSPSG</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="192"/>
+        <location filename="../ui/settingsdialog.ui" line="118"/>
         <source>Autosize of rows and columns</source>
         <translation>Авторозмір рядків та колонок</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="202"/>
+        <location filename="../ui/settingsdialog.ui" line="128"/>
         <source>Use native File Open and File Save dialogs (uncheck to use Qt&apos;s Dialogs)</source>
         <translation>Використовувати системні діалоги відкриття та збереження файлу</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="275"/>
+        <location filename="../ui/settingsdialog.ui" line="201"/>
         <source>Task generation</source>
         <translation>Генерація задач</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="358"/>
+        <location filename="../ui/settingsdialog.ui" line="284"/>
         <source>Output</source>
         <translation>Виведення</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="361"/>
+        <location filename="../ui/settingsdialog.ui" line="287"/>
         <source>Solution output settings</source>
         <translation>Налаштування тексту розв&apos;язку</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="370"/>
+        <location filename="../ui/settingsdialog.ui" line="296"/>
         <source>Show solution steps&apos; matrices for every solution step</source>
         <translation>Показувати матриці кроків розв&apos;язку для кожного кроку</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="373"/>
+        <location filename="../ui/settingsdialog.ui" line="299"/>
         <source>Show solution steps&apos; matrices</source>
         <translation>Показ матриць кроків розв&apos;язку</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="404"/>
+        <location filename="../ui/settingsdialog.ui" line="330"/>
         <source>Show or hide solution steps&apos; matrices based on number of cities in the task</source>
         <translation>Показувати матриці ходу розв&apos;язку в залежності від кількості міст</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="414"/>
+        <location filename="../ui/settingsdialog.ui" line="340"/>
         <source>Maximum number of cities to show solution steps&apos; matrices</source>
         <translation>Максимальна кількість міст для показу матриць кроків розв&apos;язку</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="466"/>
+        <location filename="../ui/settingsdialog.ui" line="392"/>
         <source>Font face for solution output</source>
         <translation>Вигляд шрифта для виводу</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="483"/>
+        <location filename="../ui/settingsdialog.ui" line="409"/>
         <source>Font color for solution output</source>
         <translation>Колір шрифта для виводу</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="334"/>
+        <location filename="../ui/settingsdialog.ui" line="260"/>
         <source>Fractional random values</source>
         <translation>Дробові випадкові числа</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="445"/>
+        <location filename="../ui/settingsdialog.ui" line="371"/>
         <source>Scroll to the end of solution output after solving</source>
         <translation>Прокручувати в кінець виводу після закінчення розв&apos;язку задачі</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="448"/>
+        <location filename="../ui/settingsdialog.ui" line="374"/>
         <source>Scroll to solution end</source>
         <translation>Прокручувати в кінець розв&apos;язку</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="205"/>
+        <location filename="../ui/settingsdialog.ui" line="131"/>
         <source>Use native file dialogs</source>
         <translation>Системні файлові діалоги</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="265"/>
+        <location filename="../ui/settingsdialog.ui" line="191"/>
         <source>In this mode the cost of travel from city 1 to city 2 and vice versa is the same</source>
         <translation>У цьому режимі вартість переїзду з міста 1 у місто 2 та навпаки співпадає</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="268"/>
+        <location filename="../ui/settingsdialog.ui" line="194"/>
         <source>Symmetric mode</source>
         <translation>Симетричний режим</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="286"/>
+        <location filename="../ui/settingsdialog.ui" line="212"/>
         <source>Minimal random:</source>
         <translation>Мінімальне випадкове:</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="306"/>
+        <location filename="../ui/settingsdialog.ui" line="232"/>
         <source>Maximal random:</source>
         <translation>Максимальне випадкове:</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="407"/>
+        <location filename="../ui/settingsdialog.ui" line="333"/>
         <source>Only when &lt;=</source>
         <translation>Лише коли ≤</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="417"/>
+        <location filename="../ui/settingsdialog.ui" line="343"/>
         <source> cities</source>
         <comment>Don&apos;t forget a space at the beginning!</comment>
@@ -1040,16 +1041,16 @@
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="469"/>
+        <location filename="../ui/settingsdialog.ui" line="395"/>
         <source>&amp;Font...</source>
         <translation>&amp;Шрифт...</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="103"/>
-        <location filename="../ui/settingsdialog.ui" line="109"/>
+        <location filename="../ui/settingsdialog.ui" line="66"/>
+        <location filename="../ui/settingsdialog.ui" line="72"/>
         <source>Help</source>
         <translation>Допомога</translation>
     </message>
     <message>
-        <location filename="../ui/settingsdialog.ui" line="106"/>
+        <location filename="../ui/settingsdialog.ui" line="69"/>
         <source>Get preferences help</source>
         <translation>Отримати допомогу по налагодженням</translation>
Index: /trunk/src/defaults.h
===================================================================
--- /trunk/src/defaults.h	(revision 103)
+++ /trunk/src/defaults.h	(revision 104)
@@ -91,6 +91,10 @@
 	#define DEF_FONT_SIZE 10
 #endif // Q_OS_SYMBIAN
-//! Default font color
-#define DEF_FONT_COLOR Qt::black
+//! Default text color
+#define DEF_TEXT_COLOR QPalette().color(QPalette::Text)
+//! Default selected candidate color
+#define DEF_SELECTED_COLOR QColor(0x008000)
+//! Default alternate candidate color
+#define DEF_ALTERNATE_COLOR QColor(0xA00000)
 
 #endif // DEFAULTS_H
Index: /trunk/src/mainwindow.cpp
===================================================================
--- /trunk/src/mainwindow.cpp	(revision 103)
+++ /trunk/src/mainwindow.cpp	(revision 104)
@@ -512,10 +512,29 @@
 	pd.setValue(0);
 
+#ifdef DEBUG
+QTime t;
+	t.start();
+#endif
 	solutionText->clear();
-	solutionText->setDocumentTitle(tr("Solution of Variant #%1 task").arg(spinVariant->value()));
-	solutionText->append("<p>" + tr("Variant #%1").arg(spinVariant->value()) + "</p>");
-	solutionText->append("<p>" + tr("Task:") + "</p>");
-	solutionText->append(outputMatrix(matrix));
-	solutionText->append("<hr><p>" + tr("Solution of Variant #%1 task").arg(spinVariant->value()) + "</p>");
+#ifdef DEBUG
+	qDebug() << "Clear:" << t.elapsed();
+	t.restart();
+#endif
+	solutionText->setDocumentTitle(tr("Solution of Variant #%1 Task").arg(spinVariant->value()));
+
+QTextDocument *doc = solutionText->document();
+QTextCursor cur(doc);
+
+	cur.beginEditBlock();
+	cur.setBlockFormat(fmt_paragraph);
+	cur.insertText(tr("Variant #%1").arg(spinVariant->value()), fmt_default);
+	cur.insertBlock(fmt_paragraph);
+	cur.insertText(tr("Task:"));
+	outputMatrix(cur, matrix);
+	cur.insertHtml("<hr>");
+	cur.insertBlock(fmt_paragraph);
+	cur.insertText(tr("Solution of Variant #%1 Task").arg(spinVariant->value()), fmt_default);
+	cur.endEditBlock();
+
 SStep *step = root;
 	n = 1;
@@ -523,5 +542,12 @@
 	while (n < spinCities->value()) {
 		if (pd.wasCanceled()) {
+			pd.setLabelText(tr("Cleaning up..."));
+			pd.setMaximum(0);
+			pd.setCancelButton(NULL);
+			pd.show();
+			QApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
+			solver.cleanup(true);
 			solutionText->clear();
+			toggleSolutionActions(false);
 			return;
 		}
@@ -530,9 +556,12 @@
 		if (step->prNode->prNode != NULL || ((step->prNode->prNode == NULL) && (step->plNode->prNode == NULL))) {
 			if (n != spinCities->value()) {
-				solutionText->append("<p>" + tr("Step #%1").arg(n++) + "</p>");
+				cur.beginEditBlock();
+				cur.insertBlock(fmt_paragraph);
+				cur.insertText(tr("Step #%1").arg(n++));
 				if (settings->value("Output/ShowMatrix", DEF_SHOW_MATRIX).toBool() && (!settings->value("Output/UseShowMatrixLimit", DEF_USE_SHOW_MATRIX_LIMIT).toBool() || (settings->value("Output/UseShowMatrixLimit", DEF_USE_SHOW_MATRIX_LIMIT).toBool() && (spinCities->value() <= settings->value("Output/ShowMatrixLimit", DEF_SHOW_MATRIX_LIMIT).toInt())))) {
-					solutionText->append(outputMatrix(*step));
+					outputMatrix(cur, *step);
 				}
-				solutionText->append("<p>" + tr("Selected candidate for branching: %1.").arg(tr("(%1;%2)").arg(step->candidate.nRow + 1).arg(step->candidate.nCol + 1)) + "</p>");
+				cur.insertBlock(fmt_paragraph);
+				cur.insertText(tr("Selected candidate for branching: %1.").arg(tr("(%1;%2)").arg(step->candidate.nRow + 1).arg(step->candidate.nCol + 1)), fmt_default);
 				if (!step->alts.empty()) {
 SCandidate cand;
@@ -543,7 +572,10 @@
 						alts += tr("(%1;%2)").arg(cand.nRow + 1).arg(cand.nCol + 1);
 					}
-					solutionText->append("<p class=\"hasalts\">" + tr("%n alternate candidate(s) for branching: %1.","",step->alts.count()).arg(alts) + "</p>");
+					cur.insertBlock(fmt_paragraph);
+					cur.insertText(tr("%n alternate candidate(s) for branching: %1.", "", step->alts.count()).arg(alts), fmt_altlist);
 				}
-				solutionText->append("<p>&nbsp;</p>");
+				cur.insertBlock(fmt_paragraph);
+				cur.insertText(" ", fmt_default);
+				cur.endEditBlock();
 			}
 		}
@@ -558,20 +590,32 @@
 	pd.setValue(n);
 
+	cur.beginEditBlock();
+	cur.insertBlock(fmt_paragraph);
 	if (solver.isOptimal())
-		solutionText->append("<p>" + tr("Optimal path:") + "</p>");
+		cur.insertText(tr("Optimal path:"));
 	else
-		solutionText->append("<p>" + tr("Resulting path:") + "</p>");
-	solutionText->append("<p>&nbsp;&nbsp;" + solver.getSortedPath() + "</p>");
+		cur.insertText(tr("Resulting path:"));
+
+	cur.insertBlock(fmt_paragraph);
+	cur.insertText("  " + solver.getSortedPath());
+
+	cur.insertBlock(fmt_paragraph);
 	if (isInteger(step->price))
-		solutionText->append("<p>" + tr("The price is <b>%n</b> unit(s).", "", qRound(step->price)) + "</p>");
+		cur.insertHtml("<p>" + tr("The price is <b>%n</b> unit(s).", "", qRound(step->price)) + "</p>");
 	else
-		solutionText->append("<p>" + tr("The price is <b>%1</b> units.").arg(step->price, 0, 'f', settings->value("Task/FractionalAccuracy", DEF_FRACTIONAL_ACCURACY).toInt()) + "</p>");
+		cur.insertHtml("<p>" + tr("The price is <b>%1</b> units.").arg(step->price, 0, 'f', settings->value("Task/FractionalAccuracy", DEF_FRACTIONAL_ACCURACY).toInt()) + "</p>");
 	if (!solver.isOptimal()) {
-		solutionText->append("<p>&nbsp;</p>");
-		solutionText->append("<p>" + tr("<b>WARNING!!!</b><br>This result is a record, but it may not be optimal.<br>Iterations need to be continued to check whether this result is optimal or get an optimal one.") + "</p>");
-	}
+		cur.insertBlock(fmt_paragraph);
+		cur.insertText(" ");
+		cur.insertBlock(fmt_paragraph);
+		cur.insertHtml("<p>" + tr("<b>WARNING!!!</b><br>This result is a record, but it may not be optimal.<br>Iterations need to be continued to check whether this result is optimal or get an optimal one.") + "</p>");
+	}
+	cur.endEditBlock();
+#ifdef DEBUG
+	qDebug() << "Generate:" << t.elapsed();
+#endif
 
 	if (settings->value("Output/ScrollToEnd", DEF_SCROLL_TO_END).toBool()) {
-		// Scrolling to the end of text.
+		// Scrolling to the end of the text.
 		solutionText->moveCursor(QTextCursor::End);
 	} else
@@ -701,12 +745,39 @@
 void MainWindow::initDocStyleSheet()
 {
-QColor color = settings->value("Output/Color",DEF_FONT_COLOR).value<QColor>();
+	solutionText->document()->setDefaultFont(settings->value("Output/Font", QFont(DEF_FONT_FAMILY, DEF_FONT_SIZE)).value<QFont>());
+
+	fmt_paragraph.setTopMargin(0);
+	fmt_paragraph.setRightMargin(10);
+	fmt_paragraph.setBottomMargin(0);
+	fmt_paragraph.setLeftMargin(10);
+
+	fmt_table.setTopMargin(5);
+	fmt_table.setRightMargin(10);
+	fmt_table.setBottomMargin(5);
+	fmt_table.setLeftMargin(10);
+	fmt_table.setBorder(0);
+	fmt_table.setBorderStyle(QTextFrameFormat::BorderStyle_None);
+	fmt_table.setCellSpacing(5);
+
+	fmt_center.setAlignment(Qt::AlignHCenter);
+
+QColor color = settings->value("Output/Colors/Text", DEF_TEXT_COLOR).value<QColor>();
 QColor hilight;
 	if (color.value() < 192)
-		hilight.setHsv(color.hue(),color.saturation(),127 + qRound(color.value() / 2));
+		hilight.setHsv(color.hue(), color.saturation(), 127 + qRound(color.value() / 2));
 	else
-		hilight.setHsv(color.hue(),color.saturation(),color.value() / 2);
-	solutionText->document()->setDefaultStyleSheet("* {color: " + color.name() +";} p {margin: 0px 10px;} table {margin: 5px;} td {padding: 1px 5px;} .hasalts {color: " + hilight.name() + ";} .selected {color: #A00000; font-weight: bold;} .alternate {color: #008000; font-weight: bold;}");
-	solutionText->document()->setDefaultFont(settings->value("Output/Font",QFont(DEF_FONT_FAMILY,DEF_FONT_SIZE)).value<QFont>());
+		hilight.setHsv(color.hue(), color.saturation(), color.value() / 2);
+
+	solutionText->document()->setDefaultStyleSheet(QString("* {color: %1;}").arg(color.name()));
+	fmt_default.setForeground(QBrush(color));
+
+	fmt_selected.setForeground(QBrush(settings->value("Output/Colors/Selected", DEF_SELECTED_COLOR).value<QColor>()));
+	fmt_selected.setFontWeight(QFont::Bold);
+
+	fmt_alternate.setForeground(QBrush(settings->value("Output/Colors/Alternate", DEF_ALTERNATE_COLOR).value<QColor>()));
+	fmt_alternate.setFontWeight(QFont::Bold);
+	fmt_altlist.setForeground(QBrush(hilight));
+
+	solutionText->setTextColor(color);
 }
 
@@ -811,36 +882,37 @@
 }
 
-QString MainWindow::outputMatrix(const TMatrix &matrix) const
+void MainWindow::outputMatrix(QTextCursor &cur, const TMatrix &matrix)
 {
 int n = spinCities->value();
-QString output(""), line;
-	output.append("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
+QTextTable *table = cur.insertTable(n, n, fmt_table);
+
 	for (int r = 0; r < n; r++) {
-		line = "<tr>";
 		for (int c = 0; c < n; c++) {
+			cur = table->cellAt(r, c).firstCursorPosition();
+			cur.setBlockFormat(fmt_center);
+			cur.setBlockCharFormat(fmt_default);
 			if (matrix.at(r).at(c) == INFINITY)
-				line += "<td align=\"center\">"INFSTR"</td>";
+				cur.insertText(INFSTR);
 			else
-				line += isInteger(matrix.at(r).at(c)) ? QString("<td align=\"center\">%1</td>").arg(matrix.at(r).at(c)) : QString("<td align=\"center\">%1</td>").arg(matrix.at(r).at(c), 0, 'f', settings->value("Task/FractionalAccuracy", DEF_FRACTIONAL_ACCURACY).toInt());
-		}
-		line += "</tr>";
-		output.append(line);
-	}
-	output.append("</table>");
-	return output;
-}
-
-QString MainWindow::outputMatrix(const SStep &step) const
+				cur.insertText(isInteger(matrix.at(r).at(c)) ? QString("%1").arg(matrix.at(r).at(c)) : QString("%1").arg(matrix.at(r).at(c), 0, 'f', settings->value("Task/FractionalAccuracy", DEF_FRACTIONAL_ACCURACY).toInt()));
+		}
+		QApplication::processEvents();
+	}
+	cur.movePosition(QTextCursor::End);
+}
+
+void MainWindow::outputMatrix(QTextCursor &cur, const SStep &step)
 {
 int n = spinCities->value();
-QString output(""), line;
-	output.append("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
+QTextTable *table = cur.insertTable(n, n, fmt_table);
+
 	for (int r = 0; r < n; r++) {
-		line = "<tr>";
 		for (int c = 0; c < n; c++) {
+			cur = table->cellAt(r, c).firstCursorPosition();
+			cur.setBlockFormat(fmt_center);
 			if (step.matrix.at(r).at(c) == INFINITY)
-				line += "<td align=\"center\">"INFSTR"</td>";
+				cur.insertText(INFSTR, fmt_default);
 			else if ((r == step.candidate.nRow) && (c == step.candidate.nCol))
-				line += isInteger(step.matrix.at(r).at(c)) ? QString("<td align=\"center\" class=\"selected\">%1</td>").arg(step.matrix.at(r).at(c)) : QString("<td align=\"center\" class=\"selected\">%1</td>").arg(step.matrix.at(r).at(c), 0, 'f', settings->value("Task/FractionalAccuracy", DEF_FRACTIONAL_ACCURACY).toInt());
+				cur.insertText(isInteger(step.matrix.at(r).at(c)) ? QString("%1").arg(step.matrix.at(r).at(c)) : QString("%1").arg(step.matrix.at(r).at(c), 0, 'f', settings->value("Task/FractionalAccuracy", DEF_FRACTIONAL_ACCURACY).toInt()), fmt_selected);
 			else {
 SCandidate cand;
@@ -848,14 +920,13 @@
 				cand.nCol = c;
 				if (step.alts.contains(cand))
-					line += isInteger(step.matrix.at(r).at(c)) ? QString("<td align=\"center\" class=\"alternate\">%1</td>").arg(step.matrix.at(r).at(c)) : QString("<td align=\"center\" class=\"alternate\">%1</td>").arg(step.matrix.at(r).at(c), 0, 'f', settings->value("Task/FractionalAccuracy", DEF_FRACTIONAL_ACCURACY).toInt());
+					cur.insertText(isInteger(step.matrix.at(r).at(c)) ? QString("%1").arg(step.matrix.at(r).at(c)) : QString("%1").arg(step.matrix.at(r).at(c), 0, 'f', settings->value("Task/FractionalAccuracy", DEF_FRACTIONAL_ACCURACY).toInt()), fmt_alternate);
 				else
-					line += isInteger(step.matrix.at(r).at(c)) ? QString("<td align=\"center\">%1</td>").arg(step.matrix.at(r).at(c)) : QString("<td align=\"center\">%1</td>").arg(step.matrix.at(r).at(c), 0, 'f', settings->value("Task/FractionalAccuracy", DEF_FRACTIONAL_ACCURACY).toInt());
+					cur.insertText(isInteger(step.matrix.at(r).at(c)) ? QString("%1").arg(step.matrix.at(r).at(c)) : QString("%1").arg(step.matrix.at(r).at(c), 0, 'f', settings->value("Task/FractionalAccuracy", DEF_FRACTIONAL_ACCURACY).toInt()), fmt_default);
 			}
 		}
-		line += "</tr>";
-		output.append(line);
-	}
-	output.append("</table>");
-	return output;
+		QApplication::processEvents();
+	}
+
+	cur.movePosition(QTextCursor::End);
 }
 
@@ -958,6 +1029,5 @@
 #endif // Q_OS_WINCE_WM
 
-	solutionText->document()->setDefaultFont(settings->value("Output/Font",QFont(DEF_FONT_FAMILY,DEF_FONT_SIZE)).value<QFont>());
-	solutionText->setTextColor(settings->value("Output/Color",DEF_FONT_COLOR).value<QColor>());
+	solutionText->document()->setDefaultFont(settings->value("Output/Font", QFont(DEF_FONT_FAMILY, DEF_FONT_SIZE)).value<QFont>());
 	solutionText->setWordWrapMode(QTextOption::WordWrap);
 
Index: /trunk/src/mainwindow.h
===================================================================
--- /trunk/src/mainwindow.h	(revision 103)
+++ /trunk/src/mainwindow.h	(revision 104)
@@ -101,4 +101,13 @@
 #endif // Q_OS_WINCE_WM
 
+	// Formats
+	QTextTableFormat fmt_table;
+	QTextBlockFormat fmt_paragraph,
+		fmt_center;
+	QTextCharFormat fmt_default,
+		fmt_selected,
+		fmt_alternate,
+		fmt_altlist;
+
 	void closeEvent(QCloseEvent *ev);
 	bool hasUpdater() const;
@@ -107,6 +116,6 @@
 	bool loadLanguage(const QString &lang = QString());
 	bool maybeSave();
-	QString outputMatrix(const TMatrix &matrix) const;
-	QString outputMatrix(const SStep &step) const;
+	void outputMatrix(QTextCursor &cur, const TMatrix &matrix);
+	void outputMatrix(QTextCursor &cur, const SStep &step);
 	void retranslateUi(bool all = true);
 	bool saveTask();
Index: /trunk/src/settingsdialog.cpp
===================================================================
--- /trunk/src/settingsdialog.cpp	(revision 103)
+++ /trunk/src/settingsdialog.cpp	(revision 104)
@@ -41,4 +41,12 @@
 	buttonBox->button(QDialogButtonBox::Cancel)->setStatusTip(tr("Close without saving preferences"));
 	buttonBox->button(QDialogButtonBox::Cancel)->setCursor(QCursor(Qt::PointingHandCursor));
+
+QPalette p = bgWhite->palette();
+	p.setColor(QPalette::Window, p.color(QPalette::Base));
+	bgWhite->setPalette(p);
+
+	p = lineHorizontal->palette();
+	p.setColor(QPalette::Window, p.color(QPalette::Text));
+	lineHorizontal->setPalette(p);
 
 #ifdef HANDHELD
@@ -195,5 +203,5 @@
 
 	font = settings->value("Font",QFont(DEF_FONT_FAMILY,DEF_FONT_SIZE)).value<QFont>();
-	color = settings->value("Color",DEF_FONT_COLOR).value<QColor>();
+	color = settings->value("Colors/Text", DEF_TEXT_COLOR).value<QColor>();
 	settings->endGroup();
 
@@ -239,5 +247,5 @@
 		if (QMessageBox::question(this, tr("Settings Reset"), tr("Do you really want to <b>reset all application settings to their defaults</b>?"), QMessageBox::RestoreDefaults | QMessageBox::Cancel) == QMessageBox::RestoreDefaults) {
 			_newFont = (font != QFont(DEF_FONT_FAMILY, DEF_FONT_SIZE));
-			_newColor = (color != DEF_FONT_COLOR);
+			_newColor = (color != DEF_TEXT_COLOR);
 			settings->remove("");
 			settings->setValue("SettingsReset", true);
@@ -280,5 +288,5 @@
 		settings->setValue("Font", font);
 	if (_newColor)
-		settings->setValue("Color", color);
+		settings->setValue("Colors/Text", color);
 	settings->endGroup();
 	QDialog::accept();
Index: /trunk/tspsg.pro
===================================================================
--- /trunk/tspsg.pro	(revision 103)
+++ /trunk/tspsg.pro	(revision 104)
@@ -62,4 +62,5 @@
 	DESTDIR = debug
 	DEFINES += DEBUG
+#	CONFIG += console
 	D = d
 }
@@ -78,5 +79,5 @@
 l10n.files = l10n/*.qm
 #share.files =
-docs.files = COPYING README
+docs.files = COPYING README.txt
 INSTALLS += target l10n share docs
 
@@ -156,5 +157,5 @@
 	docs.sources = $$docs.files
 	docs.pkg_prerules = \
-		"\"README\" - \"\", FILETEXT, TEXTCONTINUE" \
+		"\"README.txt\" - \"\", FILETEXT, TEXTCONTINUE" \
 		"\"COPYING\" - \"\", FILETEXT, TEXTEXIT"
 	DEPLOYMENT += share l10n docs
Index: /trunk/ui/mainwindow.ui
===================================================================
--- /trunk/ui/mainwindow.ui	(revision 103)
+++ /trunk/ui/mainwindow.ui	(revision 104)
@@ -182,4 +182,7 @@
 	   <property name="statusTip">
 		<string>Solution steps</string>
+	   </property>
+	   <property name="undoRedoEnabled">
+		<bool>false</bool>
 	   </property>
 	   <property name="readOnly">
Index: /trunk/ui/settingsdialog.ui
===================================================================
--- /trunk/ui/settingsdialog.ui	(revision 103)
+++ /trunk/ui/settingsdialog.ui	(revision 104)
@@ -9,522 +9,448 @@
   <property name="windowIcon">
    <iconset resource="../resources/tspsg.qrc">
-    <normaloff>:/images/icons/preferences_system.png</normaloff>:/images/icons/preferences_system.png</iconset>
+	<normaloff>:/images/icons/preferences_system.png</normaloff>:/images/icons/preferences_system.png</iconset>
   </property>
   <widget class="QWidget" name="bgGrey" native="true">
    <property name="sizePolicy">
-    <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-     <horstretch>0</horstretch>
-     <verstretch>0</verstretch>
-    </sizepolicy>
-   </property>
-   <property name="palette">
-    <palette>
-     <active>
-      <colorrole role="Window">
-       <brush brushstyle="SolidPattern">
-        <color alpha="255">
-         <red>240</red>
-         <green>240</green>
-         <blue>240</blue>
-        </color>
-       </brush>
-      </colorrole>
-     </active>
-     <inactive>
-      <colorrole role="Window">
-       <brush brushstyle="SolidPattern">
-        <color alpha="255">
-         <red>240</red>
-         <green>240</green>
-         <blue>240</blue>
-        </color>
-       </brush>
-      </colorrole>
-     </inactive>
-     <disabled>
-      <colorrole role="Window">
-       <brush brushstyle="SolidPattern">
-        <color alpha="255">
-         <red>240</red>
-         <green>240</green>
-         <blue>240</blue>
-        </color>
-       </brush>
-      </colorrole>
-     </disabled>
-    </palette>
+	<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+	 <horstretch>0</horstretch>
+	 <verstretch>0</verstretch>
+	</sizepolicy>
    </property>
    <property name="autoFillBackground">
-    <bool>true</bool>
+	<bool>true</bool>
    </property>
    <layout class="QVBoxLayout" name="_2">
-    <property name="spacing">
-     <number>0</number>
-    </property>
-    <property name="margin">
-     <number>0</number>
-    </property>
-    <item>
-     <widget class="Line" name="lineHorizontal">
-      <property name="maximumSize">
-       <size>
-        <width>16777215</width>
-        <height>2</height>
-       </size>
-      </property>
-      <property name="frameShadow">
-       <enum>QFrame::Plain</enum>
-      </property>
-      <property name="lineWidth">
-       <number>2</number>
-      </property>
-      <property name="orientation">
-       <enum>Qt::Horizontal</enum>
-      </property>
-     </widget>
-    </item>
-    <item>
-     <layout class="QHBoxLayout" name="buttons">
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <property name="margin">
-       <number>6</number>
-      </property>
-      <item>
-       <widget class="QToolButton" name="buttonHelp">
-        <property name="enabled">
-         <bool>false</bool>
-        </property>
-        <property name="cursor">
-         <cursorShape>PointingHandCursor</cursorShape>
-        </property>
-        <property name="toolTip">
-         <string>Help</string>
-        </property>
-        <property name="statusTip">
-         <string>Get preferences help</string>
-        </property>
-        <property name="text">
-         <string>Help</string>
-        </property>
-        <property name="icon">
-         <iconset resource="../resources/tspsg.qrc">
-          <normaloff>:/images/icons/help_hint.png</normaloff>:/images/icons/help_hint.png</iconset>
-        </property>
-        <property name="autoRaise">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QDialogButtonBox" name="buttonBox">
-        <property name="standardButtons">
-         <set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </item>
+	<property name="spacing">
+	 <number>0</number>
+	</property>
+	<property name="margin">
+	 <number>0</number>
+	</property>
+	<item>
+	 <widget class="Line" name="lineHorizontal">
+	  <property name="maximumSize">
+	   <size>
+		<width>16777215</width>
+		<height>2</height>
+	   </size>
+	  </property>
+	  <property name="frameShadow">
+	   <enum>QFrame::Plain</enum>
+	  </property>
+	  <property name="lineWidth">
+	   <number>2</number>
+	  </property>
+	  <property name="orientation">
+	   <enum>Qt::Horizontal</enum>
+	  </property>
+	 </widget>
+	</item>
+	<item>
+	 <layout class="QHBoxLayout" name="buttons">
+	  <property name="spacing">
+	   <number>6</number>
+	  </property>
+	  <property name="margin">
+	   <number>6</number>
+	  </property>
+	  <item>
+	   <widget class="QToolButton" name="buttonHelp">
+		<property name="enabled">
+		 <bool>false</bool>
+		</property>
+		<property name="cursor">
+		 <cursorShape>PointingHandCursor</cursorShape>
+		</property>
+		<property name="toolTip">
+		 <string>Help</string>
+		</property>
+		<property name="statusTip">
+		 <string>Get preferences help</string>
+		</property>
+		<property name="text">
+		 <string>Help</string>
+		</property>
+		<property name="icon">
+		 <iconset resource="../resources/tspsg.qrc">
+		  <normaloff>:/images/icons/help_hint.png</normaloff>:/images/icons/help_hint.png</iconset>
+		</property>
+		<property name="autoRaise">
+		 <bool>true</bool>
+		</property>
+	   </widget>
+	  </item>
+	  <item>
+	   <widget class="QDialogButtonBox" name="buttonBox">
+		<property name="standardButtons">
+		 <set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
+		</property>
+	   </widget>
+	  </item>
+	 </layout>
+	</item>
    </layout>
   </widget>
   <widget class="QWidget" name="bgWhite" native="true">
-   <property name="palette">
-    <palette>
-     <active>
-      <colorrole role="Window">
-       <brush brushstyle="SolidPattern">
-        <color alpha="255">
-         <red>255</red>
-         <green>255</green>
-         <blue>255</blue>
-        </color>
-       </brush>
-      </colorrole>
-     </active>
-     <inactive>
-      <colorrole role="Window">
-       <brush brushstyle="SolidPattern">
-        <color alpha="255">
-         <red>255</red>
-         <green>255</green>
-         <blue>255</blue>
-        </color>
-       </brush>
-      </colorrole>
-     </inactive>
-     <disabled>
-      <colorrole role="Window">
-       <brush brushstyle="SolidPattern">
-        <color alpha="255">
-         <red>255</red>
-         <green>255</green>
-         <blue>255</blue>
-        </color>
-       </brush>
-      </colorrole>
-     </disabled>
-    </palette>
-   </property>
    <property name="autoFillBackground">
-    <bool>true</bool>
+	<bool>true</bool>
    </property>
    <layout class="QHBoxLayout" name="_3">
-    <item>
-     <widget class="QTabWidget" name="tabWidget">
-      <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="_4">
-        <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="spacer">
-          <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="tabTask">
-       <attribute name="title">
-        <string>Task</string>
-       </attribute>
-       <attribute name="toolTip">
-        <string>Task generation and solving settings</string>
-       </attribute>
-       <layout class="QVBoxLayout" name="_9">
-        <item>
-         <layout class="QFormLayout" name="_5">
-          <property name="fieldGrowthPolicy">
-           <enum>QFormLayout::ExpandingFieldsGrow</enum>
-          </property>
-          <item row="0" column="0">
-           <widget class="QLabel" name="labelFractionalAccuracy">
-            <property name="text">
-             <string>Fractional accuracy:</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="1">
-           <widget class="QSpinBox" name="spinFractionalAccuracy">
-            <property name="cursor">
-             <cursorShape>PointingHandCursor</cursorShape>
-            </property>
-            <property name="statusTip">
-             <string>Accuracy of the fractional values (in decimal places)</string>
-            </property>
-            <property name="maximum">
-             <number>6</number>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </item>
-        <item>
-         <widget class="QCheckBox" name="cbSymmetricMode">
-          <property name="cursor">
-           <cursorShape>PointingHandCursor</cursorShape>
-          </property>
-          <property name="statusTip">
-           <string>In this mode the cost of travel from city 1 to city 2 and vice versa is the same</string>
-          </property>
-          <property name="text">
-           <string>Symmetric mode</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QGroupBox" name="gbTaskGeneration">
-          <property name="title">
-           <string>Task generation</string>
-          </property>
-          <layout class="QVBoxLayout" name="_7">
-           <item>
-            <layout class="QFormLayout" name="_8">
-             <property name="fieldGrowthPolicy">
-              <enum>QFormLayout::ExpandingFieldsGrow</enum>
-             </property>
-             <item row="0" column="0">
-              <widget class="QLabel" name="labelRandMin">
-               <property name="text">
-                <string>Minimal random:</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>Maximal random:</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>
-            <widget class="QCheckBox" name="cbFractionalRandom">
-             <property name="cursor">
-              <cursorShape>PointingHandCursor</cursorShape>
-             </property>
-             <property name="statusTip">
-              <string>Generate fractional random values with the Fractional accuracy</string>
-             </property>
-             <property name="text">
-              <string>Fractional random values</string>
-             </property>
-            </widget>
-           </item>
-          </layout>
-         </widget>
-        </item>
-        <item>
-         <spacer name="spacer_2">
-          <property name="orientation">
-           <enum>Qt::Vertical</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>10</width>
-            <height>0</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="_6">
-        <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="spacer_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="spacer_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="_11">
-          <item>
-           <widget class="QGroupBox" name="groupOutput">
-            <property name="title">
-             <string>Output font settings</string>
-            </property>
-            <layout class="QHBoxLayout" name="_13">
-             <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="spacer_5">
-               <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>
-           </widget>
-          </item>
-         </layout>
-        </item>
-        <item>
-         <spacer name="spacer_6">
-          <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>
+	<item>
+	 <widget class="QTabWidget" name="tabWidget">
+	  <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="_4">
+		<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="spacer">
+		  <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="tabTask">
+	   <attribute name="title">
+		<string>Task</string>
+	   </attribute>
+	   <attribute name="toolTip">
+		<string>Task generation and solving settings</string>
+	   </attribute>
+	   <layout class="QVBoxLayout" name="_9">
+		<item>
+		 <layout class="QFormLayout" name="_5">
+		  <property name="fieldGrowthPolicy">
+		   <enum>QFormLayout::ExpandingFieldsGrow</enum>
+		  </property>
+		  <item row="0" column="0">
+		   <widget class="QLabel" name="labelFractionalAccuracy">
+			<property name="text">
+			 <string>Fractional accuracy:</string>
+			</property>
+		   </widget>
+		  </item>
+		  <item row="0" column="1">
+		   <widget class="QSpinBox" name="spinFractionalAccuracy">
+			<property name="cursor">
+			 <cursorShape>PointingHandCursor</cursorShape>
+			</property>
+			<property name="statusTip">
+			 <string>Accuracy of the fractional values (in decimal places)</string>
+			</property>
+			<property name="maximum">
+			 <number>6</number>
+			</property>
+		   </widget>
+		  </item>
+		 </layout>
+		</item>
+		<item>
+		 <widget class="QCheckBox" name="cbSymmetricMode">
+		  <property name="cursor">
+		   <cursorShape>PointingHandCursor</cursorShape>
+		  </property>
+		  <property name="statusTip">
+		   <string>In this mode the cost of travel from city 1 to city 2 and vice versa is the same</string>
+		  </property>
+		  <property name="text">
+		   <string>Symmetric mode</string>
+		  </property>
+		 </widget>
+		</item>
+		<item>
+		 <widget class="QGroupBox" name="gbTaskGeneration">
+		  <property name="title">
+		   <string>Task generation</string>
+		  </property>
+		  <layout class="QVBoxLayout" name="_7">
+		   <item>
+			<layout class="QFormLayout" name="_8">
+			 <property name="fieldGrowthPolicy">
+			  <enum>QFormLayout::ExpandingFieldsGrow</enum>
+			 </property>
+			 <item row="0" column="0">
+			  <widget class="QLabel" name="labelRandMin">
+			   <property name="text">
+				<string>Minimal random:</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>Maximal random:</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>
+			<widget class="QCheckBox" name="cbFractionalRandom">
+			 <property name="cursor">
+			  <cursorShape>PointingHandCursor</cursorShape>
+			 </property>
+			 <property name="statusTip">
+			  <string>Generate fractional random values with the Fractional accuracy</string>
+			 </property>
+			 <property name="text">
+			  <string>Fractional random values</string>
+			 </property>
+			</widget>
+		   </item>
+		  </layout>
+		 </widget>
+		</item>
+		<item>
+		 <spacer name="spacer_2">
+		  <property name="orientation">
+		   <enum>Qt::Vertical</enum>
+		  </property>
+		  <property name="sizeHint" stdset="0">
+		   <size>
+			<width>10</width>
+			<height>0</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="_6">
+		<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="spacer_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="spacer_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="_11">
+		  <item>
+		   <widget class="QGroupBox" name="groupOutput">
+			<property name="title">
+			 <string>Output font settings</string>
+			</property>
+			<layout class="QHBoxLayout" name="_13">
+			 <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="spacer_5">
+			   <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>
+		   </widget>
+		  </item>
+		 </layout>
+		</item>
+		<item>
+		 <spacer name="spacer_6">
+		  <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>
@@ -540,12 +466,12 @@
    <slot>accept()</slot>
    <hints>
-    <hint type="sourcelabel">
-     <x>190</x>
-     <y>30</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>306</x>
-     <y>231</y>
-    </hint>
+	<hint type="sourcelabel">
+	 <x>190</x>
+	 <y>30</y>
+	</hint>
+	<hint type="destinationlabel">
+	 <x>306</x>
+	 <y>231</y>
+	</hint>
    </hints>
   </connection>
@@ -556,12 +482,12 @@
    <slot>reject()</slot>
    <hints>
-    <hint type="sourcelabel">
-     <x>190</x>
-     <y>30</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>262</x>
-     <y>245</y>
-    </hint>
+	<hint type="sourcelabel">
+	 <x>190</x>
+	 <y>30</y>
+	</hint>
+	<hint type="destinationlabel">
+	 <x>262</x>
+	 <y>245</y>
+	</hint>
    </hints>
   </connection>
@@ -572,12 +498,12 @@
    <slot>setEnabled(bool)</slot>
    <hints>
-    <hint type="sourcelabel">
-     <x>80</x>
-     <y>150</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>91</x>
-     <y>175</y>
-    </hint>
+	<hint type="sourcelabel">
+	 <x>80</x>
+	 <y>150</y>
+	</hint>
+	<hint type="destinationlabel">
+	 <x>91</x>
+	 <y>175</y>
+	</hint>
    </hints>
   </connection>
@@ -588,12 +514,12 @@
    <slot>setChecked(bool)</slot>
    <hints>
-    <hint type="sourcelabel">
-     <x>80</x>
-     <y>150</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>91</x>
-     <y>175</y>
-    </hint>
+	<hint type="sourcelabel">
+	 <x>80</x>
+	 <y>150</y>
+	</hint>
+	<hint type="destinationlabel">
+	 <x>91</x>
+	 <y>175</y>
+	</hint>
    </hints>
   </connection>
@@ -604,12 +530,12 @@
    <slot>setEnabled(bool)</slot>
    <hints>
-    <hint type="sourcelabel">
-     <x>91</x>
-     <y>175</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>184</x>
-     <y>174</y>
-    </hint>
+	<hint type="sourcelabel">
+	 <x>91</x>
+	 <y>175</y>
+	</hint>
+	<hint type="destinationlabel">
+	 <x>184</x>
+	 <y>174</y>
+	</hint>
    </hints>
   </connection>
