Changeset 317ba0432e in tspsg


Ignore:
Timestamp:
Apr 19, 2010, 10:33:02 PM (14 years ago)
Author:
Oleksii Serdiuk
Branches:
0.1.3.145-beta1-symbian, 0.1.4.170-beta2-bb10, appveyor, imgbot, master, readme
Children:
b574c383b7
Parents:
a23f4c292f
git-author:
Oleksii Serdiuk <contacts@…> (04/19/10 22:33:02)
git-committer:
Oleksii Serdiuk <contacts@…> (06/29/12 19:41:27)
Message:
  • Improved the solution output generation algorithm. Now it works directly with QTextDocument instead of "feeding" it with HTML. Thanks to this the solution output generation is now about 1.65 times faster.
  • Added .txt extension to ChangeLog?, INSTALL and README files to simplify opening these files in Windows.
  • Made a small improvement to Settings Dialog to follow the current application palette.
  • Output text color if not set is now determmined based on the current application palette.
Files:
10 edited
3 moved

Legend:

Unmodified
Added
Removed
  • ChangeLog.txt

    ra23f4c292f r317ba0432e  
    33===========================================
    44
    5 $Id$
    6 $URL$
    75
    86TSPSG v0.1.2 alpha 2 (build 100)
     
    9290  * Multilinguality: English, Russian and Ukrainian languages.
    9391  * Linux/UNIX, Windows and Windows Mobile support.
     92
     93
     94$Id$
     95$URL$
  • INSTALL.txt

    ra23f4c292f r317ba0432e  
    22 TSPSG Installation Guide
    33==========================
    4 
    5 $Id$
    6 $URL$
    74
    85Thank you for trying TSPSG. This document will guide you through the
     
    312309[1] http://sourceware.org/bugzilla/show_bug.cgi?id=10165
    313310[2] https://www.symbiansigned.com/app/page/public/openSignedOnline.do
     311
     312
     313$Id$
     314$URL$
  • README.txt

    ra23f4c292f r317ba0432e  
    1 TSPSG: TSP Solver and Generator
     1=================================
     2 TSPSG: TSP Solver and Generator
     3=================================
     4
    25Copyright (C) 2007-2010 Lёppa <contacts[at]oleksii[dot]name>
    3 
    4 $Id$
    5 $URL$
    66
    77TSPSG is intended to generate and solve Travelling Salesman Problem
     
    3232
    3333Third parties:
    34 * This software is created using opensource version of Qt toolkit,
    35   see http://qt.nokia.com/
    36 * The icons used in this software are part of Oxygen Icons project
    37   licensed according to the GNU Lesser General Public License,
    38   see http://www.oxygen-icons.org/
    3934
     35  * This software is created using opensource version of Qt toolkit,
     36    see http://qt.nokia.com/
     37
     38  * The icons used in this software are part of Oxygen Icons project
     39    licensed according to the GNU Lesser General Public License,
     40    see http://www.oxygen-icons.org/
     41
     42
     43$Id$
     44$URL$
  • l10n/tspsg_en.ts

    ra23f4c292f r317ba0432e  
    1212    </message>
    1313    <message>
    14         <location filename="../src/mainwindow.cpp" line="727"/>
     14        <location filename="../src/mainwindow.cpp" line="798"/>
    1515        <source>LANGNAME</source>
    1616        <comment>Please, provide a native name of your translation language here.</comment>
     
    143143    <message>
    144144        <location filename="../ui/mainwindow.ui" line="15"/>
    145         <location filename="../src/mainwindow.cpp" line="923"/>
     145        <location filename="../src/mainwindow.cpp" line="994"/>
    146146        <source>Travelling Salesman Problem</source>
    147147        <translation type="unfinished"></translation>
    148148    </message>
    149149    <message>
    150         <location filename="../src/mainwindow.cpp" line="790"/>
    151         <location filename="../src/mainwindow.cpp" line="792"/>
     150        <location filename="../src/mainwindow.cpp" line="861"/>
     151        <location filename="../src/mainwindow.cpp" line="863"/>
    152152        <source>Language Change</source>
    153153        <translation type="unfinished"></translation>
    154154    </message>
    155155    <message>
    156         <location filename="../src/mainwindow.cpp" line="804"/>
     156        <location filename="../src/mainwindow.cpp" line="875"/>
    157157        <source>Unsaved Changes</source>
    158158        <translation type="unfinished"></translation>
     
    172172        <location filename="../src/mainwindow.cpp" line="137"/>
    173173        <location filename="../src/mainwindow.cpp" line="201"/>
    174         <location filename="../src/mainwindow.cpp" line="900"/>
     174        <location filename="../src/mainwindow.cpp" line="971"/>
    175175        <source>All Files</source>
    176176        <translation type="unfinished"></translation>
     
    213213    </message>
    214214    <message>
    215         <location filename="../src/mainwindow.cpp" line="522"/>
     215        <location filename="../src/mainwindow.cpp" line="541"/>
    216216        <source>Generating step %v</source>
    217217        <translation type="unfinished"></translation>
    218218    </message>
    219219    <message>
    220         <location filename="../src/mainwindow.cpp" line="536"/>
     220        <location filename="../src/mainwindow.cpp" line="565"/>
    221221        <source>Selected candidate for branching: %1.</source>
    222222        <translation type="unfinished"></translation>
    223223    </message>
    224224    <message>
    225         <location filename="../src/mainwindow.cpp" line="536"/>
    226         <location filename="../src/mainwindow.cpp" line="543"/>
     225        <location filename="../src/mainwindow.cpp" line="565"/>
     226        <location filename="../src/mainwindow.cpp" line="572"/>
    227227        <source>(%1;%2)</source>
    228228        <translation type="unfinished"></translation>
    229229    </message>
    230230    <message numerus="yes">
    231         <location filename="../src/mainwindow.cpp" line="545"/>
     231        <location filename="../src/mainwindow.cpp" line="575"/>
    232232        <source>%n alternate candidate(s) for branching: %1.</source>
    233233        <translation>
     
    237237    </message>
    238238    <message>
    239         <location filename="../src/mainwindow.cpp" line="557"/>
     239        <location filename="../src/mainwindow.cpp" line="589"/>
    240240        <source>Generating footer</source>
    241241        <translation type="unfinished"></translation>
    242242    </message>
    243243    <message numerus="yes">
    244         <location filename="../src/mainwindow.cpp" line="566"/>
     244        <location filename="../src/mainwindow.cpp" line="604"/>
    245245        <source>The price is &lt;b&gt;%n&lt;/b&gt; unit(s).</source>
    246246        <translation>
     
    250250    </message>
    251251    <message>
    252         <location filename="../src/mainwindow.cpp" line="580"/>
     252        <location filename="../src/mainwindow.cpp" line="544"/>
     253        <location filename="../src/mainwindow.cpp" line="624"/>
    253254        <source>Cleaning up...</source>
    254255        <translation type="unfinished"></translation>
    255256    </message>
    256257    <message>
    257         <location filename="../src/mainwindow.cpp" line="804"/>
     258        <location filename="../src/mainwindow.cpp" line="875"/>
    258259        <source>Would you like to save changes in the current task?</source>
    259260        <translation type="unfinished"></translation>
    260261    </message>
    261262    <message>
    262         <location filename="../src/mainwindow.cpp" line="890"/>
    263         <location filename="../src/mainwindow.cpp" line="893"/>
     263        <location filename="../src/mainwindow.cpp" line="961"/>
     264        <location filename="../src/mainwindow.cpp" line="964"/>
    264265        <source>Check for %1 updates</source>
    265266        <translation type="unfinished"></translation>
    266267    </message>
    267268    <message>
    268         <location filename="../src/mainwindow.cpp" line="899"/>
     269        <location filename="../src/mainwindow.cpp" line="970"/>
    269270        <source>%1 Task File</source>
    270271        <translation type="unfinished"></translation>
     
    400401    </message>
    401402    <message>
    402         <location filename="../src/mainwindow.cpp" line="516"/>
     403        <location filename="../src/mainwindow.cpp" line="523"/>
     404        <location filename="../src/mainwindow.cpp" line="536"/>
     405        <source>Solution of Variant #%1 Task</source>
     406        <translation type="unfinished"></translation>
     407    </message>
     408    <message>
     409        <location filename="../src/mainwindow.cpp" line="530"/>
    403410        <source>Variant #%1</source>
    404411        <translation type="unfinished"></translation>
    405412    </message>
    406413    <message>
    407         <location filename="../src/mainwindow.cpp" line="517"/>
     414        <location filename="../src/mainwindow.cpp" line="532"/>
    408415        <source>Task:</source>
    409416        <translation type="unfinished"></translation>
    410417    </message>
    411418    <message>
    412         <location filename="../src/mainwindow.cpp" line="515"/>
    413         <location filename="../src/mainwindow.cpp" line="519"/>
    414         <source>Solution of Variant #%1 task</source>
    415         <translation type="unfinished"></translation>
    416     </message>
    417     <message>
    418         <location filename="../src/mainwindow.cpp" line="532"/>
     419        <location filename="../src/mainwindow.cpp" line="560"/>
    419420        <source>Step #%1</source>
    420421        <translation type="unfinished"></translation>
    421422    </message>
    422423    <message>
    423         <location filename="../src/mainwindow.cpp" line="561"/>
     424        <location filename="../src/mainwindow.cpp" line="595"/>
    424425        <source>Optimal path:</source>
    425426        <translation type="unfinished"></translation>
    426427    </message>
    427428    <message>
    428         <location filename="../src/mainwindow.cpp" line="563"/>
     429        <location filename="../src/mainwindow.cpp" line="597"/>
    429430        <source>Resulting path:</source>
    430431        <translation type="unfinished"></translation>
    431432    </message>
    432433    <message>
    433         <location filename="../src/mainwindow.cpp" line="568"/>
     434        <location filename="../src/mainwindow.cpp" line="606"/>
    434435        <source>The price is &lt;b&gt;%1&lt;/b&gt; units.</source>
    435436        <translation type="unfinished"></translation>
    436437    </message>
    437438    <message>
    438         <location filename="../src/mainwindow.cpp" line="571"/>
     439        <location filename="../src/mainwindow.cpp" line="611"/>
    439440        <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>
    440441        <translation type="unfinished"></translation>
    441442    </message>
    442443    <message>
    443         <location filename="../src/mainwindow.cpp" line="790"/>
    444         <location filename="../src/mainwindow.cpp" line="792"/>
     444        <location filename="../src/mainwindow.cpp" line="861"/>
     445        <location filename="../src/mainwindow.cpp" line="863"/>
    445446        <source>Unable to load the translation language.
    446447Falling back to autodetection.</source>
     
    448449    </message>
    449450    <message>
    450         <location filename="../src/mainwindow.cpp" line="867"/>
     451        <location filename="../src/mainwindow.cpp" line="938"/>
    451452        <source>Set application language to %1</source>
    452453        <translation type="unfinished"></translation>
    453454    </message>
    454455    <message>
    455         <location filename="../src/mainwindow.cpp" line="888"/>
     456        <location filename="../src/mainwindow.cpp" line="959"/>
    456457        <source>Check for &amp;Updates...</source>
    457458        <translation type="unfinished"></translation>
    458459    </message>
    459460    <message>
    460         <location filename="../src/mainwindow.cpp" line="908"/>
     461        <location filename="../src/mainwindow.cpp" line="979"/>
    461462        <source>Task Save</source>
    462463        <translation type="unfinished"></translation>
     
    478479        <location filename="../src/mainwindow.cpp" line="179"/>
    479480        <location filename="../src/mainwindow.cpp" line="297"/>
    480         <location filename="../src/mainwindow.h" line="113"/>
     481        <location filename="../src/mainwindow.h" line="122"/>
    481482        <source>Untitled</source>
    482483        <translation type="unfinished"></translation>
     
    543544    </message>
    544545    <message>
    545         <location filename="../ui/mainwindow.ui" line="204"/>
    546         <location filename="../ui/mainwindow.ui" line="358"/>
     546        <location filename="../ui/mainwindow.ui" line="207"/>
     547        <location filename="../ui/mainwindow.ui" line="361"/>
    547548        <source>Save solution to a file</source>
    548549        <translation type="unfinished"></translation>
    549550    </message>
    550551    <message>
    551         <location filename="../ui/mainwindow.ui" line="207"/>
     552        <location filename="../ui/mainwindow.ui" line="210"/>
    552553        <source>Save Solution</source>
    553554        <translation type="unfinished"></translation>
    554555    </message>
    555556    <message>
    556         <location filename="../ui/mainwindow.ui" line="234"/>
     557        <location filename="../ui/mainwindow.ui" line="237"/>
    557558        <source>Go back to Task tab</source>
    558559        <translation type="unfinished"></translation>
    559560    </message>
    560561    <message>
    561         <location filename="../ui/mainwindow.ui" line="237"/>
     562        <location filename="../ui/mainwindow.ui" line="240"/>
    562563        <source>Back to Task</source>
    563564        <translation type="unfinished"></translation>
    564565    </message>
    565566    <message>
    566         <location filename="../ui/mainwindow.ui" line="266"/>
     567        <location filename="../ui/mainwindow.ui" line="269"/>
    567568        <source>&amp;File</source>
    568569        <translation type="unfinished"></translation>
    569570    </message>
    570571    <message>
    571         <location filename="../ui/mainwindow.ui" line="298"/>
     572        <location filename="../ui/mainwindow.ui" line="301"/>
    572573        <source>&amp;Language</source>
    573574        <comment>Please, append &quot; / Language&quot; when translating this string.</comment>
     
    575576    </message>
    576577    <message>
    577         <location filename="../ui/mainwindow.ui" line="436"/>
     578        <location filename="../ui/mainwindow.ui" line="439"/>
    578579        <source>Context &amp;Help</source>
    579580        <translation type="unfinished"></translation>
    580581    </message>
    581582    <message>
    582         <location filename="../ui/mainwindow.ui" line="451"/>
     583        <location filename="../ui/mainwindow.ui" line="454"/>
    583584        <source>&amp;About TSPSG...</source>
    584585        <translation type="unfinished"></translation>
    585586    </message>
    586587    <message>
    587         <location filename="../ui/mainwindow.ui" line="517"/>
     588        <location filename="../ui/mainwindow.ui" line="520"/>
    588589        <source>&amp;Save</source>
    589590        <translation type="unfinished"></translation>
    590591    </message>
    591592    <message>
    592         <location filename="../ui/mainwindow.ui" line="288"/>
     593        <location filename="../ui/mainwindow.ui" line="291"/>
    593594        <source>&amp;Settings</source>
    594595        <translation type="unfinished"></translation>
    595596    </message>
    596597    <message>
    597         <location filename="../ui/mainwindow.ui" line="314"/>
     598        <location filename="../ui/mainwindow.ui" line="317"/>
    598599        <source>&amp;Help</source>
    599600        <translation type="unfinished"></translation>
    600601    </message>
    601602    <message>
     603        <location filename="../ui/mainwindow.ui" line="358"/>
     604        <source>Save solution</source>
     605        <translation type="unfinished"></translation>
     606    </message>
     607    <message>
     608        <location filename="../ui/mainwindow.ui" line="370"/>
     609        <source>&amp;New</source>
     610        <translation type="unfinished"></translation>
     611    </message>
     612    <message>
     613        <location filename="../ui/mainwindow.ui" line="373"/>
     614        <source>New task</source>
     615        <translation type="unfinished"></translation>
     616    </message>
     617    <message>
     618        <location filename="../ui/mainwindow.ui" line="376"/>
     619        <source>Create new task</source>
     620        <translation type="unfinished"></translation>
     621    </message>
     622    <message>
     623        <location filename="../ui/mainwindow.ui" line="379"/>
     624        <source>Ctrl+N</source>
     625        <translation type="unfinished"></translation>
     626    </message>
     627    <message>
     628        <location filename="../ui/mainwindow.ui" line="388"/>
     629        <source>&amp;Open...</source>
     630        <translation type="unfinished"></translation>
     631    </message>
     632    <message>
     633        <location filename="../ui/mainwindow.ui" line="391"/>
     634        <source>Open task</source>
     635        <translation type="unfinished"></translation>
     636    </message>
     637    <message>
     638        <location filename="../ui/mainwindow.ui" line="394"/>
     639        <source>Open saved task</source>
     640        <translation type="unfinished"></translation>
     641    </message>
     642    <message>
     643        <location filename="../ui/mainwindow.ui" line="397"/>
     644        <source>Ctrl+O</source>
     645        <translation type="unfinished"></translation>
     646    </message>
     647    <message>
     648        <location filename="../ui/mainwindow.ui" line="406"/>
     649        <source>&amp;Preferences...</source>
     650        <translation type="unfinished"></translation>
     651    </message>
     652    <message>
     653        <location filename="../ui/mainwindow.ui" line="409"/>
     654        <source>Application preferences</source>
     655        <translation type="unfinished"></translation>
     656    </message>
     657    <message>
     658        <location filename="../ui/mainwindow.ui" line="421"/>
     659        <source>&amp;Contents</source>
     660        <translation type="unfinished"></translation>
     661    </message>
     662    <message>
     663        <location filename="../ui/mainwindow.ui" line="424"/>
     664        <source>Open help contents</source>
     665        <translation type="unfinished"></translation>
     666    </message>
     667    <message>
     668        <location filename="../ui/mainwindow.ui" line="427"/>
     669        <source>Ctrl+F1</source>
     670        <translation type="unfinished"></translation>
     671    </message>
     672    <message>
     673        <location filename="../ui/mainwindow.ui" line="442"/>
     674        <source>Open context help</source>
     675        <translation type="unfinished"></translation>
     676    </message>
     677    <message>
     678        <location filename="../ui/mainwindow.ui" line="445"/>
     679        <source>F1</source>
     680        <translation type="unfinished"></translation>
     681    </message>
     682    <message>
     683        <location filename="../ui/mainwindow.ui" line="457"/>
     684        <source>About application</source>
     685        <translation type="unfinished"></translation>
     686    </message>
     687    <message>
     688        <location filename="../ui/mainwindow.ui" line="466"/>
     689        <source>E&amp;xit</source>
     690        <translation type="unfinished"></translation>
     691    </message>
     692    <message>
     693        <location filename="../ui/mainwindow.ui" line="469"/>
     694        <source>Exit application</source>
     695        <translation type="unfinished"></translation>
     696    </message>
     697    <message>
     698        <location filename="../ui/mainwindow.ui" line="474"/>
     699        <source>&amp;Task...</source>
     700        <translation type="unfinished"></translation>
     701    </message>
     702    <message>
     703        <location filename="../ui/mainwindow.ui" line="477"/>
     704        <location filename="../ui/mainwindow.ui" line="523"/>
     705        <source>Save task</source>
     706        <translation type="unfinished"></translation>
     707    </message>
     708    <message>
     709        <location filename="../ui/mainwindow.ui" line="480"/>
     710        <source>Save task to file</source>
     711        <translation type="unfinished"></translation>
     712    </message>
     713    <message>
     714        <location filename="../ui/mainwindow.ui" line="529"/>
     715        <source>Ctrl+S</source>
     716        <translation type="unfinished"></translation>
     717    </message>
     718    <message>
     719        <location filename="../ui/mainwindow.ui" line="491"/>
     720        <source>&amp;Autodetect</source>
     721        <translation type="unfinished"></translation>
     722    </message>
     723    <message>
     724        <location filename="../ui/mainwindow.ui" line="526"/>
     725        <source>Save current task</source>
     726        <translation type="unfinished"></translation>
     727    </message>
     728    <message>
     729        <location filename="../ui/mainwindow.ui" line="538"/>
     730        <source>About &amp;Qt...</source>
     731        <translation type="unfinished"></translation>
     732    </message>
     733    <message>
     734        <location filename="../ui/mainwindow.ui" line="541"/>
     735        <source>About Qt library</source>
     736        <translation type="unfinished"></translation>
     737    </message>
     738    <message>
     739        <location filename="../ui/mainwindow.ui" line="295"/>
     740        <source>Select language</source>
     741        <translation type="unfinished"></translation>
     742    </message>
     743    <message>
     744        <location filename="../ui/mainwindow.ui" line="273"/>
     745        <source>Save &amp;As</source>
     746        <translation type="unfinished"></translation>
     747    </message>
     748    <message>
     749        <location filename="../ui/mainwindow.ui" line="298"/>
     750        <source>Select application language</source>
     751        <translation type="unfinished"></translation>
     752    </message>
     753    <message>
     754        <location filename="../src/mainwindow.cpp" line="949"/>
     755        <source>&amp;Print...</source>
     756        <translation type="unfinished"></translation>
     757    </message>
     758    <message>
     759        <location filename="../src/mainwindow.cpp" line="956"/>
     760        <source>Ctrl+P</source>
     761        <translation type="unfinished"></translation>
     762    </message>
     763    <message>
    602764        <location filename="../ui/mainwindow.ui" line="355"/>
    603         <source>Save solution</source>
    604         <translation type="unfinished"></translation>
    605     </message>
    606     <message>
    607         <location filename="../ui/mainwindow.ui" line="367"/>
    608         <source>&amp;New</source>
    609         <translation type="unfinished"></translation>
    610     </message>
    611     <message>
    612         <location filename="../ui/mainwindow.ui" line="370"/>
    613         <source>New task</source>
    614         <translation type="unfinished"></translation>
    615     </message>
    616     <message>
    617         <location filename="../ui/mainwindow.ui" line="373"/>
    618         <source>Create new task</source>
    619         <translation type="unfinished"></translation>
    620     </message>
    621     <message>
    622         <location filename="../ui/mainwindow.ui" line="376"/>
    623         <source>Ctrl+N</source>
    624         <translation type="unfinished"></translation>
    625     </message>
    626     <message>
    627         <location filename="../ui/mainwindow.ui" line="385"/>
    628         <source>&amp;Open...</source>
    629         <translation type="unfinished"></translation>
    630     </message>
    631     <message>
    632         <location filename="../ui/mainwindow.ui" line="388"/>
    633         <source>Open task</source>
    634         <translation type="unfinished"></translation>
    635     </message>
    636     <message>
    637         <location filename="../ui/mainwindow.ui" line="391"/>
    638         <source>Open saved task</source>
    639         <translation type="unfinished"></translation>
    640     </message>
    641     <message>
    642         <location filename="../ui/mainwindow.ui" line="394"/>
    643         <source>Ctrl+O</source>
    644         <translation type="unfinished"></translation>
    645     </message>
    646     <message>
    647         <location filename="../ui/mainwindow.ui" line="403"/>
    648         <source>&amp;Preferences...</source>
    649         <translation type="unfinished"></translation>
    650     </message>
    651     <message>
    652         <location filename="../ui/mainwindow.ui" line="406"/>
    653         <source>Application preferences</source>
    654         <translation type="unfinished"></translation>
    655     </message>
    656     <message>
    657         <location filename="../ui/mainwindow.ui" line="418"/>
    658         <source>&amp;Contents</source>
    659         <translation type="unfinished"></translation>
    660     </message>
    661     <message>
    662         <location filename="../ui/mainwindow.ui" line="421"/>
    663         <source>Open help contents</source>
    664         <translation type="unfinished"></translation>
    665     </message>
    666     <message>
    667         <location filename="../ui/mainwindow.ui" line="424"/>
    668         <source>Ctrl+F1</source>
    669         <translation type="unfinished"></translation>
    670     </message>
    671     <message>
    672         <location filename="../ui/mainwindow.ui" line="439"/>
    673         <source>Open context help</source>
    674         <translation type="unfinished"></translation>
    675     </message>
    676     <message>
    677         <location filename="../ui/mainwindow.ui" line="442"/>
    678         <source>F1</source>
    679         <translation type="unfinished"></translation>
    680     </message>
    681     <message>
    682         <location filename="../ui/mainwindow.ui" line="454"/>
    683         <source>About application</source>
    684         <translation type="unfinished"></translation>
    685     </message>
    686     <message>
    687         <location filename="../ui/mainwindow.ui" line="463"/>
    688         <source>E&amp;xit</source>
    689         <translation type="unfinished"></translation>
    690     </message>
    691     <message>
    692         <location filename="../ui/mainwindow.ui" line="466"/>
    693         <source>Exit application</source>
    694         <translation type="unfinished"></translation>
    695     </message>
    696     <message>
    697         <location filename="../ui/mainwindow.ui" line="471"/>
    698         <source>&amp;Task...</source>
    699         <translation type="unfinished"></translation>
    700     </message>
    701     <message>
    702         <location filename="../ui/mainwindow.ui" line="474"/>
    703         <location filename="../ui/mainwindow.ui" line="520"/>
    704         <source>Save task</source>
    705         <translation type="unfinished"></translation>
    706     </message>
    707     <message>
    708         <location filename="../ui/mainwindow.ui" line="477"/>
    709         <source>Save task to file</source>
    710         <translation type="unfinished"></translation>
    711     </message>
    712     <message>
    713         <location filename="../ui/mainwindow.ui" line="526"/>
    714         <source>Ctrl+S</source>
    715         <translation type="unfinished"></translation>
    716     </message>
    717     <message>
    718         <location filename="../ui/mainwindow.ui" line="488"/>
    719         <source>&amp;Autodetect</source>
    720         <translation type="unfinished"></translation>
    721     </message>
    722     <message>
    723         <location filename="../ui/mainwindow.ui" line="523"/>
    724         <source>Save current task</source>
    725         <translation type="unfinished"></translation>
    726     </message>
    727     <message>
    728         <location filename="../ui/mainwindow.ui" line="535"/>
    729         <source>About &amp;Qt...</source>
    730         <translation type="unfinished"></translation>
    731     </message>
    732     <message>
    733         <location filename="../ui/mainwindow.ui" line="538"/>
    734         <source>About Qt library</source>
    735         <translation type="unfinished"></translation>
    736     </message>
    737     <message>
    738         <location filename="../ui/mainwindow.ui" line="292"/>
    739         <source>Select language</source>
    740         <translation type="unfinished"></translation>
    741     </message>
    742     <message>
    743         <location filename="../ui/mainwindow.ui" line="270"/>
    744         <source>Save &amp;As</source>
    745         <translation type="unfinished"></translation>
    746     </message>
    747     <message>
    748         <location filename="../ui/mainwindow.ui" line="295"/>
    749         <source>Select application language</source>
    750         <translation type="unfinished"></translation>
    751     </message>
    752     <message>
    753         <location filename="../src/mainwindow.cpp" line="878"/>
    754         <source>&amp;Print...</source>
    755         <translation type="unfinished"></translation>
    756     </message>
    757     <message>
    758         <location filename="../src/mainwindow.cpp" line="885"/>
    759         <source>Ctrl+P</source>
    760         <translation type="unfinished"></translation>
    761     </message>
    762     <message>
    763         <location filename="../ui/mainwindow.ui" line="352"/>
    764765        <source>&amp;Solution...</source>
    765766        <translation type="unfinished"></translation>
    766767    </message>
    767768    <message>
    768         <location filename="../ui/mainwindow.ui" line="491"/>
     769        <location filename="../ui/mainwindow.ui" line="494"/>
    769770        <source>Detect language automatically</source>
    770771        <translation type="unfinished"></translation>
    771772    </message>
    772773    <message>
    773         <location filename="../ui/mainwindow.ui" line="331"/>
     774        <location filename="../ui/mainwindow.ui" line="334"/>
    774775        <source>Toolbar</source>
    775776        <translation type="unfinished"></translation>
    776777    </message>
    777778    <message>
    778         <location filename="../src/mainwindow.cpp" line="870"/>
     779        <location filename="../src/mainwindow.cpp" line="941"/>
    779780        <source>P&amp;rint Preview...</source>
    780781        <translation type="unfinished"></translation>
    781782    </message>
    782783    <message>
    783         <location filename="../src/mainwindow.cpp" line="872"/>
     784        <location filename="../src/mainwindow.cpp" line="943"/>
    784785        <source>Preview solution results</source>
    785786        <translation type="unfinished"></translation>
    786787    </message>
    787788    <message>
    788         <location filename="../src/mainwindow.cpp" line="875"/>
     789        <location filename="../src/mainwindow.cpp" line="946"/>
    789790        <source>Preview current solution results before printing</source>
    790791        <translation type="unfinished"></translation>
    791792    </message>
    792793    <message>
    793         <location filename="../src/mainwindow.cpp" line="880"/>
     794        <location filename="../src/mainwindow.cpp" line="951"/>
    794795        <source>Print solution</source>
    795796        <translation type="unfinished"></translation>
    796797    </message>
    797798    <message>
    798         <location filename="../src/mainwindow.cpp" line="883"/>
     799        <location filename="../src/mainwindow.cpp" line="954"/>
    799800        <source>Print current solution results</source>
    800801        <translation type="unfinished"></translation>
    801802    </message>
    802803    <message>
    803         <location filename="../ui/mainwindow.ui" line="494"/>
     804        <location filename="../ui/mainwindow.ui" line="497"/>
    804805        <source>Detect language automatically based on regional settings</source>
    805806        <translation type="unfinished"></translation>
     
    814815    </message>
    815816    <message>
    816         <location filename="../ui/settingsdialog.ui" line="226"/>
     817        <location filename="../ui/settingsdialog.ui" line="152"/>
    817818        <source>Task</source>
    818819        <translation type="unfinished"></translation>
    819820    </message>
    820821    <message>
    821         <location filename="../ui/settingsdialog.ui" line="229"/>
     822        <location filename="../ui/settingsdialog.ui" line="155"/>
    822823        <source>Task generation and solving settings</source>
    823824        <translation type="unfinished"></translation>
    824825    </message>
    825826    <message>
    826         <location filename="../ui/settingsdialog.ui" line="240"/>
     827        <location filename="../ui/settingsdialog.ui" line="166"/>
    827828        <source>Fractional accuracy:</source>
    828829        <translation type="unfinished"></translation>
    829830    </message>
    830831    <message>
    831         <location filename="../ui/settingsdialog.ui" line="250"/>
     832        <location filename="../ui/settingsdialog.ui" line="176"/>
    832833        <source>Accuracy of the fractional values (in decimal places)</source>
    833834        <translation type="unfinished"></translation>
    834835    </message>
    835836    <message>
    836         <location filename="../ui/settingsdialog.ui" line="265"/>
     837        <location filename="../ui/settingsdialog.ui" line="191"/>
    837838        <source>In this mode the cost of travel from city 1 to city 2 and vice versa is the same</source>
    838839        <translation type="unfinished"></translation>
    839840    </message>
    840841    <message>
    841         <location filename="../ui/settingsdialog.ui" line="268"/>
     842        <location filename="../ui/settingsdialog.ui" line="194"/>
    842843        <source>Symmetric mode</source>
    843844        <translation type="unfinished"></translation>
    844845    </message>
    845846    <message>
    846         <location filename="../ui/settingsdialog.ui" line="286"/>
     847        <location filename="../ui/settingsdialog.ui" line="212"/>
    847848        <source>Minimal random:</source>
    848849        <translation type="unfinished"></translation>
    849850    </message>
    850851    <message>
     852        <location filename="../ui/settingsdialog.ui" line="225"/>
     853        <source>Minimum for random number generation</source>
     854        <translation type="unfinished"></translation>
     855    </message>
     856    <message>
     857        <location filename="../ui/settingsdialog.ui" line="232"/>
     858        <source>Maximal random:</source>
     859        <translation type="unfinished"></translation>
     860    </message>
     861    <message>
     862        <location filename="../ui/settingsdialog.ui" line="245"/>
     863        <source>Maximum for random number generation</source>
     864        <translation type="unfinished"></translation>
     865    </message>
     866    <message>
     867        <location filename="../ui/settingsdialog.ui" line="257"/>
     868        <source>Generate fractional random values with the Fractional accuracy</source>
     869        <translation type="unfinished"></translation>
     870    </message>
     871    <message>
     872        <location filename="../ui/settingsdialog.ui" line="383"/>
     873        <source>Output font settings</source>
     874        <translation type="unfinished"></translation>
     875    </message>
     876    <message>
     877        <location filename="../ui/settingsdialog.ui" line="412"/>
     878        <source>&amp;Color...</source>
     879        <translation type="unfinished"></translation>
     880    </message>
     881    <message>
     882        <location filename="../ui/settingsdialog.ui" line="115"/>
     883        <source>Automatically resize rows and columns to their contents</source>
     884        <translation type="unfinished"></translation>
     885    </message>
     886    <message>
     887        <location filename="../ui/settingsdialog.ui" line="103"/>
     888        <source>General</source>
     889        <translation type="unfinished"></translation>
     890    </message>
     891    <message>
     892        <location filename="../ui/settingsdialog.ui" line="106"/>
     893        <source>General TSPSG settings</source>
     894        <translation type="unfinished"></translation>
     895    </message>
     896    <message>
     897        <location filename="../ui/settingsdialog.ui" line="118"/>
     898        <source>Autosize of rows and columns</source>
     899        <translation type="unfinished"></translation>
     900    </message>
     901    <message>
     902        <location filename="../ui/settingsdialog.ui" line="128"/>
     903        <source>Use native File Open and File Save dialogs (uncheck to use Qt&apos;s Dialogs)</source>
     904        <translation type="unfinished"></translation>
     905    </message>
     906    <message>
     907        <location filename="../ui/settingsdialog.ui" line="201"/>
     908        <source>Task generation</source>
     909        <translation type="unfinished"></translation>
     910    </message>
     911    <message>
     912        <location filename="../ui/settingsdialog.ui" line="284"/>
     913        <source>Output</source>
     914        <translation type="unfinished"></translation>
     915    </message>
     916    <message>
     917        <location filename="../ui/settingsdialog.ui" line="287"/>
     918        <source>Solution output settings</source>
     919        <translation type="unfinished"></translation>
     920    </message>
     921    <message>
     922        <location filename="../ui/settingsdialog.ui" line="296"/>
     923        <source>Show solution steps&apos; matrices for every solution step</source>
     924        <translation type="unfinished"></translation>
     925    </message>
     926    <message>
    851927        <location filename="../ui/settingsdialog.ui" line="299"/>
    852         <source>Minimum for random number generation</source>
    853         <translation type="unfinished"></translation>
    854     </message>
    855     <message>
    856         <location filename="../ui/settingsdialog.ui" line="306"/>
    857         <source>Maximal random:</source>
    858         <translation type="unfinished"></translation>
    859     </message>
    860     <message>
    861         <location filename="../ui/settingsdialog.ui" line="319"/>
    862         <source>Maximum for random number generation</source>
    863         <translation type="unfinished"></translation>
    864     </message>
    865     <message>
    866         <location filename="../ui/settingsdialog.ui" line="331"/>
    867         <source>Generate fractional random values with the Fractional accuracy</source>
    868         <translation type="unfinished"></translation>
    869     </message>
    870     <message>
    871         <location filename="../ui/settingsdialog.ui" line="457"/>
    872         <source>Output font settings</source>
    873         <translation type="unfinished"></translation>
    874     </message>
    875     <message>
    876         <location filename="../ui/settingsdialog.ui" line="486"/>
    877         <source>&amp;Color...</source>
    878         <translation type="unfinished"></translation>
    879     </message>
    880     <message>
    881         <location filename="../ui/settingsdialog.ui" line="189"/>
    882         <source>Automatically resize rows and columns to their contents</source>
    883         <translation type="unfinished"></translation>
    884     </message>
    885     <message>
    886         <location filename="../ui/settingsdialog.ui" line="177"/>
    887         <source>General</source>
    888         <translation type="unfinished"></translation>
    889     </message>
    890     <message>
    891         <location filename="../ui/settingsdialog.ui" line="180"/>
    892         <source>General TSPSG settings</source>
    893         <translation type="unfinished"></translation>
    894     </message>
    895     <message>
    896         <location filename="../ui/settingsdialog.ui" line="192"/>
    897         <source>Autosize of rows and columns</source>
    898         <translation type="unfinished"></translation>
    899     </message>
    900     <message>
    901         <location filename="../ui/settingsdialog.ui" line="202"/>
    902         <source>Use native File Open and File Save dialogs (uncheck to use Qt&apos;s Dialogs)</source>
    903         <translation type="unfinished"></translation>
    904     </message>
    905     <message>
    906         <location filename="../ui/settingsdialog.ui" line="275"/>
    907         <source>Task generation</source>
    908         <translation type="unfinished"></translation>
    909     </message>
    910     <message>
    911         <location filename="../ui/settingsdialog.ui" line="358"/>
    912         <source>Output</source>
    913         <translation type="unfinished"></translation>
    914     </message>
    915     <message>
    916         <location filename="../ui/settingsdialog.ui" line="361"/>
    917         <source>Solution output settings</source>
    918         <translation type="unfinished"></translation>
    919     </message>
    920     <message>
    921         <location filename="../ui/settingsdialog.ui" line="370"/>
    922         <source>Show solution steps&apos; matrices for every solution step</source>
    923         <translation type="unfinished"></translation>
    924     </message>
    925     <message>
    926         <location filename="../ui/settingsdialog.ui" line="373"/>
    927928        <source>Show solution steps&apos; matrices</source>
    928929        <translation type="unfinished"></translation>
    929930    </message>
    930931    <message>
    931         <location filename="../ui/settingsdialog.ui" line="404"/>
     932        <location filename="../ui/settingsdialog.ui" line="330"/>
    932933        <source>Show or hide solution steps&apos; matrices based on number of cities in the task</source>
    933934        <translation type="unfinished"></translation>
    934935    </message>
    935936    <message>
    936         <location filename="../ui/settingsdialog.ui" line="414"/>
     937        <location filename="../ui/settingsdialog.ui" line="340"/>
    937938        <source>Maximum number of cities to show solution steps&apos; matrices</source>
    938939        <translation type="unfinished"></translation>
    939940    </message>
    940941    <message>
    941         <location filename="../ui/settingsdialog.ui" line="466"/>
     942        <location filename="../ui/settingsdialog.ui" line="392"/>
    942943        <source>Font face for solution output</source>
    943944        <translation type="unfinished"></translation>
    944945    </message>
    945946    <message>
    946         <location filename="../ui/settingsdialog.ui" line="483"/>
     947        <location filename="../ui/settingsdialog.ui" line="409"/>
    947948        <source>Font color for solution output</source>
    948949        <translation type="unfinished"></translation>
    949950    </message>
    950951    <message>
    951         <location filename="../ui/settingsdialog.ui" line="334"/>
     952        <location filename="../ui/settingsdialog.ui" line="260"/>
    952953        <source>Fractional random values</source>
    953954        <translation type="unfinished"></translation>
    954955    </message>
    955956    <message>
    956         <location filename="../ui/settingsdialog.ui" line="445"/>
     957        <location filename="../ui/settingsdialog.ui" line="371"/>
    957958        <source>Scroll to the end of solution output after solving</source>
    958959        <translation type="unfinished"></translation>
    959960    </message>
    960961    <message>
    961         <location filename="../ui/settingsdialog.ui" line="448"/>
     962        <location filename="../ui/settingsdialog.ui" line="374"/>
    962963        <source>Scroll to solution end</source>
    963964        <translation type="unfinished"></translation>
    964965    </message>
    965966    <message>
    966         <location filename="../ui/settingsdialog.ui" line="205"/>
     967        <location filename="../ui/settingsdialog.ui" line="131"/>
    967968        <source>Use native file dialogs</source>
    968969        <translation type="unfinished"></translation>
    969970    </message>
    970971    <message>
    971         <location filename="../ui/settingsdialog.ui" line="407"/>
     972        <location filename="../ui/settingsdialog.ui" line="333"/>
    972973        <source>Only when &lt;=</source>
    973974        <translation>Only when ≤</translation>
    974975    </message>
    975976    <message>
    976         <location filename="../ui/settingsdialog.ui" line="417"/>
     977        <location filename="../ui/settingsdialog.ui" line="343"/>
    977978        <source> cities</source>
    978979        <comment>Don&apos;t forget a space at the beginning!</comment>
     
    980981    </message>
    981982    <message>
    982         <location filename="../ui/settingsdialog.ui" line="469"/>
     983        <location filename="../ui/settingsdialog.ui" line="395"/>
    983984        <source>&amp;Font...</source>
    984985        <translation type="unfinished"></translation>
    985986    </message>
    986987    <message>
    987         <location filename="../ui/settingsdialog.ui" line="103"/>
    988         <location filename="../ui/settingsdialog.ui" line="109"/>
     988        <location filename="../ui/settingsdialog.ui" line="66"/>
     989        <location filename="../ui/settingsdialog.ui" line="72"/>
    989990        <source>Help</source>
    990991        <translation type="unfinished"></translation>
    991992    </message>
    992993    <message>
    993         <location filename="../ui/settingsdialog.ui" line="106"/>
     994        <location filename="../ui/settingsdialog.ui" line="69"/>
    994995        <source>Get preferences help</source>
    995996        <translation type="unfinished"></translation>
     
    10061007    </message>
    10071008    <message>
    1008         <location filename="../src/settingsdialog.cpp" line="83"/>
     1009        <location filename="../src/settingsdialog.cpp" line="91"/>
    10091010        <source>Use translucent effect on the Main Window under Windows Vista and 7</source>
    10101011        <translation type="unfinished"></translation>
    10111012    </message>
    10121013    <message>
    1013         <location filename="../src/settingsdialog.cpp" line="85"/>
     1014        <location filename="../src/settingsdialog.cpp" line="93"/>
    10141015        <source>Use translucency effects</source>
    10151016        <translation type="unfinished"></translation>
    10161017    </message>
    10171018    <message>
    1018         <location filename="../src/settingsdialog.cpp" line="93"/>
     1019        <location filename="../src/settingsdialog.cpp" line="101"/>
    10191020        <source>Restore main window state and position on application restart</source>
    10201021        <translation type="unfinished"></translation>
    10211022    </message>
    10221023    <message>
    1023         <location filename="../src/settingsdialog.cpp" line="95"/>
     1024        <location filename="../src/settingsdialog.cpp" line="103"/>
    10241025        <source>Save main window state and position</source>
    10251026        <translation type="unfinished"></translation>
    10261027    </message>
    10271028    <message>
    1028         <location filename="../src/settingsdialog.cpp" line="117"/>
     1029        <location filename="../src/settingsdialog.cpp" line="125"/>
    10291030        <source>Hover mouse pointer over dialog elements to get additional help</source>
    10301031        <translation type="unfinished"></translation>
    10311032    </message>
    10321033    <message>
    1033         <location filename="../src/settingsdialog.cpp" line="239"/>
    1034         <location filename="../src/settingsdialog.cpp" line="245"/>
     1034        <location filename="../src/settingsdialog.cpp" line="247"/>
     1035        <location filename="../src/settingsdialog.cpp" line="253"/>
    10351036        <source>Settings Reset</source>
    10361037        <translation type="unfinished"></translation>
    10371038    </message>
    10381039    <message>
    1039         <location filename="../src/settingsdialog.cpp" line="239"/>
     1040        <location filename="../src/settingsdialog.cpp" line="247"/>
    10401041        <source>Do you really want to &lt;b&gt;reset all application settings to their defaults&lt;/b&gt;?</source>
    10411042        <translation type="unfinished"></translation>
    10421043    </message>
    10431044    <message>
    1044         <location filename="../src/settingsdialog.cpp" line="245"/>
     1045        <location filename="../src/settingsdialog.cpp" line="253"/>
    10451046        <source>All settings where successfully reset to their defaults.
    10461047It is recommended to restart the application now.</source>
  • l10n/tspsg_ru.ts

    ra23f4c292f r317ba0432e  
    1212    </message>
    1313    <message>
    14         <location filename="../src/mainwindow.cpp" line="727"/>
     14        <location filename="../src/mainwindow.cpp" line="798"/>
    1515        <source>LANGNAME</source>
    1616        <comment>Please, provide a native name of your translation language here.</comment>
     
    150150    <message>
    151151        <location filename="../ui/mainwindow.ui" line="15"/>
    152         <location filename="../src/mainwindow.cpp" line="923"/>
     152        <location filename="../src/mainwindow.cpp" line="994"/>
    153153        <source>Travelling Salesman Problem</source>
    154154        <translation>Задача коммивояжера</translation>
    155155    </message>
    156156    <message>
    157         <location filename="../src/mainwindow.cpp" line="804"/>
     157        <location filename="../src/mainwindow.cpp" line="875"/>
    158158        <source>Unsaved Changes</source>
    159159        <translation>Несохраненные изменения</translation>
     
    167167        <location filename="../src/mainwindow.cpp" line="137"/>
    168168        <location filename="../src/mainwindow.cpp" line="201"/>
    169         <location filename="../src/mainwindow.cpp" line="900"/>
     169        <location filename="../src/mainwindow.cpp" line="971"/>
    170170        <source>All Files</source>
    171171        <translation>Все файлы</translation>
     
    178178    </message>
    179179    <message>
    180         <location filename="../src/mainwindow.cpp" line="790"/>
    181         <location filename="../src/mainwindow.cpp" line="792"/>
     180        <location filename="../src/mainwindow.cpp" line="861"/>
     181        <location filename="../src/mainwindow.cpp" line="863"/>
    182182        <source>Language Change</source>
    183183        <translation>Смена языка</translation>
     
    199199    </message>
    200200    <message>
    201         <location filename="../src/mainwindow.cpp" line="536"/>
     201        <location filename="../src/mainwindow.cpp" line="565"/>
    202202        <source>Selected candidate for branching: %1.</source>
    203203        <translation>Выбранный кандидат для ветвления: %1.</translation>
    204204    </message>
    205205    <message>
    206         <location filename="../src/mainwindow.cpp" line="536"/>
    207         <location filename="../src/mainwindow.cpp" line="543"/>
     206        <location filename="../src/mainwindow.cpp" line="565"/>
     207        <location filename="../src/mainwindow.cpp" line="572"/>
    208208        <source>(%1;%2)</source>
    209209        <translation></translation>
    210210    </message>
    211211    <message numerus="yes">
    212         <location filename="../src/mainwindow.cpp" line="545"/>
     212        <location filename="../src/mainwindow.cpp" line="575"/>
    213213        <source>%n alternate candidate(s) for branching: %1.</source>
    214214        <translation>
     
    219219    </message>
    220220    <message numerus="yes">
    221         <location filename="../src/mainwindow.cpp" line="566"/>
     221        <location filename="../src/mainwindow.cpp" line="604"/>
    222222        <source>The price is &lt;b&gt;%n&lt;/b&gt; unit(s).</source>
    223223        <translation>
     
    228228    </message>
    229229    <message>
    230         <location filename="../src/mainwindow.cpp" line="890"/>
    231         <location filename="../src/mainwindow.cpp" line="893"/>
     230        <location filename="../src/mainwindow.cpp" line="961"/>
     231        <location filename="../src/mainwindow.cpp" line="964"/>
    232232        <source>Check for %1 updates</source>
    233233        <translation>Проверить обновления %1</translation>
    234234    </message>
    235235    <message>
    236         <location filename="../src/mainwindow.cpp" line="899"/>
     236        <location filename="../src/mainwindow.cpp" line="970"/>
    237237        <source>%1 Task File</source>
    238238        <translation>Файл условия %1</translation>
     
    354354    </message>
    355355    <message>
    356         <location filename="../src/mainwindow.cpp" line="516"/>
     356        <location filename="../src/mainwindow.cpp" line="523"/>
     357        <location filename="../src/mainwindow.cpp" line="536"/>
     358        <source>Solution of Variant #%1 Task</source>
     359        <translation>Решение варианта №%1</translation>
     360    </message>
     361    <message>
     362        <location filename="../src/mainwindow.cpp" line="530"/>
    357363        <source>Variant #%1</source>
    358364        <translation>Вариант №%1</translation>
    359365    </message>
    360366    <message>
    361         <location filename="../src/mainwindow.cpp" line="517"/>
     367        <location filename="../src/mainwindow.cpp" line="532"/>
    362368        <source>Task:</source>
    363369        <translation>Условие:</translation>
    364     </message>
    365     <message>
    366         <location filename="../src/mainwindow.cpp" line="515"/>
    367         <location filename="../src/mainwindow.cpp" line="519"/>
    368         <source>Solution of Variant #%1 task</source>
    369         <translation>Решение варианта №%1</translation>
    370370    </message>
    371371    <message>
     
    410410    </message>
    411411    <message>
    412         <location filename="../src/mainwindow.cpp" line="522"/>
     412        <location filename="../src/mainwindow.cpp" line="541"/>
    413413        <source>Generating step %v</source>
    414414        <translation>Генерация шага %v</translation>
    415415    </message>
    416416    <message>
    417         <location filename="../src/mainwindow.cpp" line="532"/>
     417        <location filename="../src/mainwindow.cpp" line="560"/>
    418418        <source>Step #%1</source>
    419419        <translation>Шаг №%1</translation>
    420420    </message>
    421421    <message>
    422         <location filename="../src/mainwindow.cpp" line="557"/>
     422        <location filename="../src/mainwindow.cpp" line="589"/>
    423423        <source>Generating footer</source>
    424424        <translation>Генерация окончания</translation>
    425425    </message>
    426426    <message>
    427         <location filename="../src/mainwindow.cpp" line="561"/>
     427        <location filename="../src/mainwindow.cpp" line="595"/>
    428428        <source>Optimal path:</source>
    429429        <translation>Оптимальный путь:</translation>
    430430    </message>
    431431    <message>
    432         <location filename="../src/mainwindow.cpp" line="563"/>
     432        <location filename="../src/mainwindow.cpp" line="597"/>
    433433        <source>Resulting path:</source>
    434434        <translation>Найденный путь:</translation>
    435435    </message>
    436436    <message>
    437         <location filename="../src/mainwindow.cpp" line="568"/>
     437        <location filename="../src/mainwindow.cpp" line="606"/>
    438438        <source>The price is &lt;b&gt;%1&lt;/b&gt; units.</source>
    439439        <translation>Стоимость - &lt;b&gt;%1&lt;/b&gt; единиц.</translation>
    440440    </message>
    441441    <message>
    442         <location filename="../src/mainwindow.cpp" line="571"/>
     442        <location filename="../src/mainwindow.cpp" line="611"/>
    443443        <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>
    444444        <translation>&lt;b&gt;ВНИМАНИЕ!!!&lt;/b&gt;&lt;br&gt;Найденное решение является рекордом, но может оказаться не оптимальным.&lt;br&gt;Для получения оптимального решения, или проверки текущего на оптимальность, требуется продолжить итерации.</translation>
    445445    </message>
    446446    <message>
    447         <location filename="../src/mainwindow.cpp" line="580"/>
     447        <location filename="../src/mainwindow.cpp" line="544"/>
     448        <location filename="../src/mainwindow.cpp" line="624"/>
    448449        <source>Cleaning up...</source>
    449450        <translation>Очистка...</translation>
    450451    </message>
    451452    <message>
    452         <location filename="../src/mainwindow.cpp" line="790"/>
    453         <location filename="../src/mainwindow.cpp" line="792"/>
     453        <location filename="../src/mainwindow.cpp" line="861"/>
     454        <location filename="../src/mainwindow.cpp" line="863"/>
    454455        <source>Unable to load the translation language.
    455456Falling back to autodetection.</source>
     
    458459    </message>
    459460    <message>
    460         <location filename="../src/mainwindow.cpp" line="804"/>
     461        <location filename="../src/mainwindow.cpp" line="875"/>
    461462        <source>Would you like to save changes in the current task?</source>
    462463        <translation>Желаете сохранить изменения в текущей задаче?</translation>
    463464    </message>
    464465    <message>
    465         <location filename="../src/mainwindow.cpp" line="867"/>
     466        <location filename="../src/mainwindow.cpp" line="938"/>
    466467        <source>Set application language to %1</source>
    467468        <translation>Изменить язык приложения на %1</translation>
    468469    </message>
    469470    <message>
    470         <location filename="../src/mainwindow.cpp" line="888"/>
     471        <location filename="../src/mainwindow.cpp" line="959"/>
    471472        <source>Check for &amp;Updates...</source>
    472473        <translation>Проверить &amp;обновления...</translation>
    473474    </message>
    474475    <message>
    475         <location filename="../src/mainwindow.cpp" line="908"/>
     476        <location filename="../src/mainwindow.cpp" line="979"/>
    476477        <source>Task Save</source>
    477478        <translation>Сохранение условия</translation>
     
    495496        <location filename="../src/mainwindow.cpp" line="179"/>
    496497        <location filename="../src/mainwindow.cpp" line="297"/>
    497         <location filename="../src/mainwindow.h" line="113"/>
     498        <location filename="../src/mainwindow.h" line="122"/>
    498499        <source>Untitled</source>
    499500        <translation>Без имени</translation>
     
    560561    </message>
    561562    <message>
    562         <location filename="../ui/mainwindow.ui" line="204"/>
    563         <location filename="../ui/mainwindow.ui" line="358"/>
     563        <location filename="../ui/mainwindow.ui" line="207"/>
     564        <location filename="../ui/mainwindow.ui" line="361"/>
    564565        <source>Save solution to a file</source>
    565566        <translation>Сохранить решение в файл</translation>
    566567    </message>
    567568    <message>
    568         <location filename="../ui/mainwindow.ui" line="207"/>
     569        <location filename="../ui/mainwindow.ui" line="210"/>
    569570        <source>Save Solution</source>
    570571        <translation>Сохранить</translation>
    571572    </message>
    572573    <message>
    573         <location filename="../ui/mainwindow.ui" line="234"/>
     574        <location filename="../ui/mainwindow.ui" line="237"/>
    574575        <source>Go back to Task tab</source>
    575576        <translation>Вернуться к закладке &quot;Условие&quot;</translation>
    576577    </message>
    577578    <message>
    578         <location filename="../ui/mainwindow.ui" line="237"/>
     579        <location filename="../ui/mainwindow.ui" line="240"/>
    579580        <source>Back to Task</source>
    580581        <translation>К условию</translation>
    581582    </message>
    582583    <message>
    583         <location filename="../ui/mainwindow.ui" line="266"/>
     584        <location filename="../ui/mainwindow.ui" line="269"/>
    584585        <source>&amp;File</source>
    585586        <translation>&amp;Файл</translation>
    586587    </message>
    587588    <message>
    588         <location filename="../ui/mainwindow.ui" line="298"/>
     589        <location filename="../ui/mainwindow.ui" line="301"/>
    589590        <source>&amp;Language</source>
    590591        <comment>Please, append &quot; / Language&quot; when translating this string.</comment>
     
    592593    </message>
    593594    <message>
    594         <location filename="../ui/mainwindow.ui" line="436"/>
     595        <location filename="../ui/mainwindow.ui" line="439"/>
    595596        <source>Context &amp;Help</source>
    596597        <translation>&amp;Контекстная справка</translation>
    597598    </message>
    598599    <message>
    599         <location filename="../ui/mainwindow.ui" line="451"/>
     600        <location filename="../ui/mainwindow.ui" line="454"/>
    600601        <source>&amp;About TSPSG...</source>
    601602        <translation>&amp;Про TSPSG...</translation>
    602603    </message>
    603604    <message>
    604         <location filename="../ui/mainwindow.ui" line="517"/>
     605        <location filename="../ui/mainwindow.ui" line="520"/>
    605606        <source>&amp;Save</source>
    606607        <translation>Со&amp;хранить</translation>
    607608    </message>
    608609    <message>
    609         <location filename="../ui/mainwindow.ui" line="288"/>
     610        <location filename="../ui/mainwindow.ui" line="291"/>
    610611        <source>&amp;Settings</source>
    611612        <translation>&amp;Настройки</translation>
    612613    </message>
    613614    <message>
    614         <location filename="../ui/mainwindow.ui" line="314"/>
     615        <location filename="../ui/mainwindow.ui" line="317"/>
    615616        <source>&amp;Help</source>
    616617        <translation>&amp;Помощь</translation>
    617618    </message>
    618619    <message>
    619         <location filename="../ui/mainwindow.ui" line="355"/>
     620        <location filename="../ui/mainwindow.ui" line="358"/>
    620621        <source>Save solution</source>
    621622        <translation>Сохранить решение</translation>
    622623    </message>
    623624    <message>
    624         <location filename="../ui/mainwindow.ui" line="367"/>
     625        <location filename="../ui/mainwindow.ui" line="370"/>
    625626        <source>&amp;New</source>
    626627        <translation>&amp;Создать</translation>
    627628    </message>
    628629    <message>
    629         <location filename="../ui/mainwindow.ui" line="370"/>
     630        <location filename="../ui/mainwindow.ui" line="373"/>
    630631        <source>New task</source>
    631632        <translation>Создать задачу</translation>
    632633    </message>
    633634    <message>
    634         <location filename="../ui/mainwindow.ui" line="373"/>
     635        <location filename="../ui/mainwindow.ui" line="376"/>
    635636        <source>Create new task</source>
    636637        <translation>Создать новую задачу</translation>
    637638    </message>
    638639    <message>
    639         <location filename="../ui/mainwindow.ui" line="376"/>
     640        <location filename="../ui/mainwindow.ui" line="379"/>
    640641        <source>Ctrl+N</source>
    641642        <translation></translation>
    642643    </message>
    643644    <message>
    644         <location filename="../ui/mainwindow.ui" line="385"/>
     645        <location filename="../ui/mainwindow.ui" line="388"/>
    645646        <source>&amp;Open...</source>
    646647        <translation>&amp;Открыть...</translation>
    647648    </message>
    648649    <message>
    649         <location filename="../ui/mainwindow.ui" line="388"/>
     650        <location filename="../ui/mainwindow.ui" line="391"/>
    650651        <source>Open task</source>
    651652        <translation>Открыть условие</translation>
    652653    </message>
    653654    <message>
    654         <location filename="../ui/mainwindow.ui" line="391"/>
     655        <location filename="../ui/mainwindow.ui" line="394"/>
    655656        <source>Open saved task</source>
    656657        <translation>Открыть сохраненное условие задачи</translation>
    657658    </message>
    658659    <message>
    659         <location filename="../ui/mainwindow.ui" line="394"/>
     660        <location filename="../ui/mainwindow.ui" line="397"/>
    660661        <source>Ctrl+O</source>
    661662        <translation></translation>
    662663    </message>
    663664    <message>
    664         <location filename="../ui/mainwindow.ui" line="403"/>
     665        <location filename="../ui/mainwindow.ui" line="406"/>
    665666        <source>&amp;Preferences...</source>
    666667        <translation>&amp;Параметры...</translation>
    667668    </message>
    668669    <message>
    669         <location filename="../ui/mainwindow.ui" line="406"/>
     670        <location filename="../ui/mainwindow.ui" line="409"/>
    670671        <source>Application preferences</source>
    671672        <translation>Настройка параметров программмы</translation>
    672673    </message>
    673674    <message>
    674         <location filename="../ui/mainwindow.ui" line="418"/>
     675        <location filename="../ui/mainwindow.ui" line="421"/>
    675676        <source>&amp;Contents</source>
    676677        <translation>&amp;Содежание</translation>
    677678    </message>
    678679    <message>
    679         <location filename="../ui/mainwindow.ui" line="421"/>
     680        <location filename="../ui/mainwindow.ui" line="424"/>
    680681        <source>Open help contents</source>
    681682        <translation>Вызвать справку программы</translation>
    682683    </message>
    683684    <message>
    684         <location filename="../ui/mainwindow.ui" line="424"/>
     685        <location filename="../ui/mainwindow.ui" line="427"/>
    685686        <source>Ctrl+F1</source>
    686687        <translation></translation>
    687688    </message>
    688689    <message>
    689         <location filename="../ui/mainwindow.ui" line="439"/>
     690        <location filename="../ui/mainwindow.ui" line="442"/>
    690691        <source>Open context help</source>
    691692        <translation>Вызвать контекстную справку</translation>
    692693    </message>
    693694    <message>
    694         <location filename="../ui/mainwindow.ui" line="442"/>
     695        <location filename="../ui/mainwindow.ui" line="445"/>
    695696        <source>F1</source>
    696697        <translation></translation>
    697698    </message>
    698699    <message>
    699         <location filename="../ui/mainwindow.ui" line="454"/>
     700        <location filename="../ui/mainwindow.ui" line="457"/>
    700701        <source>About application</source>
    701702        <translation>О программе</translation>
    702703    </message>
    703704    <message>
    704         <location filename="../ui/mainwindow.ui" line="463"/>
     705        <location filename="../ui/mainwindow.ui" line="466"/>
    705706        <source>E&amp;xit</source>
    706707        <translation>В&amp;ыход</translation>
    707708    </message>
    708709    <message>
    709         <location filename="../ui/mainwindow.ui" line="466"/>
     710        <location filename="../ui/mainwindow.ui" line="469"/>
    710711        <source>Exit application</source>
    711712        <translation>Выйти из приложения</translation>
    712713    </message>
    713714    <message>
    714         <location filename="../ui/mainwindow.ui" line="471"/>
     715        <location filename="../ui/mainwindow.ui" line="474"/>
    715716        <source>&amp;Task...</source>
    716717        <translation>&amp;Условие...</translation>
    717718    </message>
    718719    <message>
    719         <location filename="../ui/mainwindow.ui" line="474"/>
    720         <location filename="../ui/mainwindow.ui" line="520"/>
     720        <location filename="../ui/mainwindow.ui" line="477"/>
     721        <location filename="../ui/mainwindow.ui" line="523"/>
    721722        <source>Save task</source>
    722723        <translation>Сохранить условие</translation>
    723724    </message>
    724725    <message>
    725         <location filename="../ui/mainwindow.ui" line="477"/>
     726        <location filename="../ui/mainwindow.ui" line="480"/>
    726727        <source>Save task to file</source>
    727728        <translation>Сохранить условие задачи в файл</translation>
    728729    </message>
    729730    <message>
    730         <location filename="../ui/mainwindow.ui" line="526"/>
     731        <location filename="../ui/mainwindow.ui" line="529"/>
    731732        <source>Ctrl+S</source>
    732733        <translation></translation>
    733734    </message>
    734735    <message>
    735         <location filename="../ui/mainwindow.ui" line="488"/>
     736        <location filename="../ui/mainwindow.ui" line="491"/>
    736737        <source>&amp;Autodetect</source>
    737738        <translation>&amp;Автоопределение</translation>
    738739    </message>
    739740    <message>
    740         <location filename="../ui/mainwindow.ui" line="523"/>
     741        <location filename="../ui/mainwindow.ui" line="526"/>
    741742        <source>Save current task</source>
    742743        <translation>Сохранить текущее условие</translation>
    743744    </message>
    744745    <message>
    745         <location filename="../ui/mainwindow.ui" line="535"/>
     746        <location filename="../ui/mainwindow.ui" line="538"/>
    746747        <source>About &amp;Qt...</source>
    747748        <translation>Про &amp;Qt...</translation>
    748749    </message>
    749750    <message>
    750         <location filename="../ui/mainwindow.ui" line="538"/>
     751        <location filename="../ui/mainwindow.ui" line="541"/>
    751752        <source>About Qt library</source>
    752753        <translation>Про библиотеку Qt</translation>
    753754    </message>
    754755    <message>
    755         <location filename="../ui/mainwindow.ui" line="292"/>
     756        <location filename="../ui/mainwindow.ui" line="295"/>
    756757        <source>Select language</source>
    757758        <translation>Выбор языка</translation>
    758759    </message>
    759760    <message>
    760         <location filename="../ui/mainwindow.ui" line="270"/>
     761        <location filename="../ui/mainwindow.ui" line="273"/>
    761762        <source>Save &amp;As</source>
    762763        <translation>Сохранить &amp;как</translation>
    763764    </message>
    764765    <message>
    765         <location filename="../ui/mainwindow.ui" line="295"/>
     766        <location filename="../ui/mainwindow.ui" line="298"/>
    766767        <source>Select application language</source>
    767768        <translation>Выбрать язык приложения</translation>
    768769    </message>
    769770    <message>
    770         <location filename="../ui/mainwindow.ui" line="331"/>
     771        <location filename="../ui/mainwindow.ui" line="334"/>
    771772        <source>Toolbar</source>
    772773        <translation>Панель инструментов</translation>
    773774    </message>
    774775    <message>
    775         <location filename="../src/mainwindow.cpp" line="870"/>
     776        <location filename="../src/mainwindow.cpp" line="941"/>
    776777        <source>P&amp;rint Preview...</source>
    777778        <translation>П&amp;редварительный просмотр...</translation>
    778779    </message>
    779780    <message>
    780         <location filename="../src/mainwindow.cpp" line="872"/>
     781        <location filename="../src/mainwindow.cpp" line="943"/>
    781782        <source>Preview solution results</source>
    782783        <translation>Предварительный просмотр результатов решения</translation>
    783784    </message>
    784785    <message>
    785         <location filename="../src/mainwindow.cpp" line="875"/>
     786        <location filename="../src/mainwindow.cpp" line="946"/>
    786787        <source>Preview current solution results before printing</source>
    787788        <translation>Предварительный просмотр результатов решения перед печатью</translation>
    788789    </message>
    789790    <message>
    790         <location filename="../src/mainwindow.cpp" line="878"/>
     791        <location filename="../src/mainwindow.cpp" line="949"/>
    791792        <source>&amp;Print...</source>
    792793        <translation>&amp;Печать...</translation>
    793794    </message>
    794795    <message>
    795         <location filename="../src/mainwindow.cpp" line="880"/>
     796        <location filename="../src/mainwindow.cpp" line="951"/>
    796797        <source>Print solution</source>
    797798        <translation>Печать решения</translation>
    798799    </message>
    799800    <message>
    800         <location filename="../src/mainwindow.cpp" line="883"/>
     801        <location filename="../src/mainwindow.cpp" line="954"/>
    801802        <source>Print current solution results</source>
    802803        <translation>Распечатать текущие результаты решения</translation>
    803804    </message>
    804805    <message>
    805         <location filename="../src/mainwindow.cpp" line="885"/>
     806        <location filename="../src/mainwindow.cpp" line="956"/>
    806807        <source>Ctrl+P</source>
    807808        <translation></translation>
    808809    </message>
    809810    <message>
    810         <location filename="../ui/mainwindow.ui" line="352"/>
     811        <location filename="../ui/mainwindow.ui" line="355"/>
    811812        <source>&amp;Solution...</source>
    812813        <translation>&amp;Решение...</translation>
    813814    </message>
    814815    <message>
    815         <location filename="../ui/mainwindow.ui" line="491"/>
     816        <location filename="../ui/mainwindow.ui" line="494"/>
    816817        <source>Detect language automatically</source>
    817818        <translation>Определять язык автоматически</translation>
    818819    </message>
    819820    <message>
    820         <location filename="../ui/mainwindow.ui" line="494"/>
     821        <location filename="../ui/mainwindow.ui" line="497"/>
    821822        <source>Detect language automatically based on regional settings</source>
    822823        <translation>Определять язык автоматически, основываясь на региональных настройках</translation>
     
    831832    </message>
    832833    <message>
    833         <location filename="../ui/settingsdialog.ui" line="226"/>
     834        <location filename="../ui/settingsdialog.ui" line="152"/>
    834835        <source>Task</source>
    835836        <translation>Задача</translation>
    836837    </message>
    837838    <message>
    838         <location filename="../ui/settingsdialog.ui" line="229"/>
     839        <location filename="../ui/settingsdialog.ui" line="155"/>
    839840        <source>Task generation and solving settings</source>
    840841        <translation>Настройки генерации и решения задач</translation>
    841842    </message>
    842843    <message>
    843         <location filename="../ui/settingsdialog.ui" line="240"/>
     844        <location filename="../ui/settingsdialog.ui" line="166"/>
    844845        <source>Fractional accuracy:</source>
    845846        <translation>Точность дробных чисел:</translation>
    846847    </message>
    847848    <message>
    848         <location filename="../ui/settingsdialog.ui" line="250"/>
     849        <location filename="../ui/settingsdialog.ui" line="176"/>
    849850        <source>Accuracy of the fractional values (in decimal places)</source>
    850851        <translation>Точность дробных чисел (в знаках после запятой)</translation>
    851852    </message>
    852853    <message>
    853         <location filename="../ui/settingsdialog.ui" line="299"/>
     854        <location filename="../ui/settingsdialog.ui" line="225"/>
    854855        <source>Minimum for random number generation</source>
    855856        <translation>Нижняя граница для генерации случайных значений</translation>
    856857    </message>
    857858    <message>
    858         <location filename="../ui/settingsdialog.ui" line="319"/>
     859        <location filename="../ui/settingsdialog.ui" line="245"/>
    859860        <source>Maximum for random number generation</source>
    860861        <translation>Верхняя граница для генерации случайных значений</translation>
    861862    </message>
    862863    <message>
    863         <location filename="../ui/settingsdialog.ui" line="331"/>
     864        <location filename="../ui/settingsdialog.ui" line="257"/>
    864865        <source>Generate fractional random values with the Fractional accuracy</source>
    865866        <translation>Генерировать дробные случайные числа с заданной выше точностью</translation>
    866867    </message>
    867868    <message>
    868         <location filename="../ui/settingsdialog.ui" line="457"/>
     869        <location filename="../ui/settingsdialog.ui" line="383"/>
    869870        <source>Output font settings</source>
    870871        <translation>Параметры шрифта</translation>
    871872    </message>
    872873    <message>
    873         <location filename="../ui/settingsdialog.ui" line="486"/>
     874        <location filename="../ui/settingsdialog.ui" line="412"/>
    874875        <source>&amp;Color...</source>
    875876        <translation>&amp;Цвет...</translation>
    876877    </message>
    877878    <message>
    878         <location filename="../ui/settingsdialog.ui" line="189"/>
     879        <location filename="../ui/settingsdialog.ui" line="115"/>
    879880        <source>Automatically resize rows and columns to their contents</source>
    880881        <translation>Автоматически подганять размер строк и колонок под их содержание</translation>
    881882    </message>
    882883    <message>
    883         <location filename="../ui/settingsdialog.ui" line="177"/>
     884        <location filename="../ui/settingsdialog.ui" line="103"/>
    884885        <source>General</source>
    885886        <translation>Общие</translation>
    886887    </message>
    887888    <message>
    888         <location filename="../ui/settingsdialog.ui" line="180"/>
     889        <location filename="../ui/settingsdialog.ui" line="106"/>
    889890        <source>General TSPSG settings</source>
    890891        <translation>Общие настройки TSPSG</translation>
    891892    </message>
    892893    <message>
    893         <location filename="../ui/settingsdialog.ui" line="192"/>
     894        <location filename="../ui/settingsdialog.ui" line="118"/>
    894895        <source>Autosize of rows and columns</source>
    895896        <translation>Авторазмер строк и колонок</translation>
    896897    </message>
    897898    <message>
    898         <location filename="../ui/settingsdialog.ui" line="202"/>
     899        <location filename="../ui/settingsdialog.ui" line="128"/>
    899900        <source>Use native File Open and File Save dialogs (uncheck to use Qt&apos;s Dialogs)</source>
    900901        <translation>Использовать системные диалоги открытия и сохранения файла</translation>
    901902    </message>
    902903    <message>
    903         <location filename="../ui/settingsdialog.ui" line="275"/>
     904        <location filename="../ui/settingsdialog.ui" line="201"/>
    904905        <source>Task generation</source>
    905906        <translation>Генерация задач</translation>
    906907    </message>
    907908    <message>
    908         <location filename="../ui/settingsdialog.ui" line="358"/>
     909        <location filename="../ui/settingsdialog.ui" line="284"/>
    909910        <source>Output</source>
    910911        <translation>Вывод</translation>
    911912    </message>
    912913    <message>
    913         <location filename="../ui/settingsdialog.ui" line="361"/>
     914        <location filename="../ui/settingsdialog.ui" line="287"/>
    914915        <source>Solution output settings</source>
    915916        <translation>Настройки текста решения</translation>
    916917    </message>
    917918    <message>
    918         <location filename="../ui/settingsdialog.ui" line="370"/>
     919        <location filename="../ui/settingsdialog.ui" line="296"/>
    919920        <source>Show solution steps&apos; matrices for every solution step</source>
    920921        <translation>Показывать матрицы шагов решения для каждого шага</translation>
    921922    </message>
    922923    <message>
    923         <location filename="../ui/settingsdialog.ui" line="373"/>
     924        <location filename="../ui/settingsdialog.ui" line="299"/>
    924925        <source>Show solution steps&apos; matrices</source>
    925926        <translation>Показ матриц шагов решения</translation>
    926927    </message>
    927928    <message>
    928         <location filename="../ui/settingsdialog.ui" line="404"/>
     929        <location filename="../ui/settingsdialog.ui" line="330"/>
    929930        <source>Show or hide solution steps&apos; matrices based on number of cities in the task</source>
    930931        <translation>Показывать матрицы хода решения в зависимости от количества городов</translation>
    931932    </message>
    932933    <message>
    933         <location filename="../ui/settingsdialog.ui" line="414"/>
     934        <location filename="../ui/settingsdialog.ui" line="340"/>
    934935        <source>Maximum number of cities to show solution steps&apos; matrices</source>
    935936        <translation>Максимальное количество городов для показа матриц шагов решения</translation>
    936937    </message>
    937938    <message>
    938         <location filename="../ui/settingsdialog.ui" line="466"/>
     939        <location filename="../ui/settingsdialog.ui" line="392"/>
    939940        <source>Font face for solution output</source>
    940941        <translation>Вид шрифта, используемого при выводе</translation>
    941942    </message>
    942943    <message>
    943         <location filename="../ui/settingsdialog.ui" line="483"/>
     944        <location filename="../ui/settingsdialog.ui" line="409"/>
    944945        <source>Font color for solution output</source>
    945946        <translation>Цвет шрифта, используемого при выводе</translation>
    946947    </message>
    947948    <message>
    948         <location filename="../ui/settingsdialog.ui" line="334"/>
     949        <location filename="../ui/settingsdialog.ui" line="260"/>
    949950        <source>Fractional random values</source>
    950951        <translation>Дробные случайные числа</translation>
    951952    </message>
    952953    <message>
    953         <location filename="../ui/settingsdialog.ui" line="445"/>
     954        <location filename="../ui/settingsdialog.ui" line="371"/>
    954955        <source>Scroll to the end of solution output after solving</source>
    955956        <translation>Прокручивать в конец вывода после окончания решения задачи</translation>
    956957    </message>
    957958    <message>
    958         <location filename="../ui/settingsdialog.ui" line="448"/>
     959        <location filename="../ui/settingsdialog.ui" line="374"/>
    959960        <source>Scroll to solution end</source>
    960961        <translation>Прокручивать в конец решения</translation>
    961962    </message>
    962963    <message>
    963         <location filename="../ui/settingsdialog.ui" line="205"/>
     964        <location filename="../ui/settingsdialog.ui" line="131"/>
    964965        <source>Use native file dialogs</source>
    965966        <translation>Системные файловые диалоги</translation>
    966967    </message>
    967968    <message>
    968         <location filename="../ui/settingsdialog.ui" line="265"/>
     969        <location filename="../ui/settingsdialog.ui" line="191"/>
    969970        <source>In this mode the cost of travel from city 1 to city 2 and vice versa is the same</source>
    970971        <translation>В этом режиме стоимость переезда из города 1 в город 2 и наоборот совпадает</translation>
    971972    </message>
    972973    <message>
    973         <location filename="../ui/settingsdialog.ui" line="268"/>
     974        <location filename="../ui/settingsdialog.ui" line="194"/>
    974975        <source>Symmetric mode</source>
    975976        <translation>Симметричный режим</translation>
    976977    </message>
    977978    <message>
    978         <location filename="../ui/settingsdialog.ui" line="286"/>
     979        <location filename="../ui/settingsdialog.ui" line="212"/>
    979980        <source>Minimal random:</source>
    980981        <translation>Минимальное случайное:</translation>
    981982    </message>
    982983    <message>
    983         <location filename="../ui/settingsdialog.ui" line="306"/>
     984        <location filename="../ui/settingsdialog.ui" line="232"/>
    984985        <source>Maximal random:</source>
    985986        <translation>Максимальное случайное:</translation>
    986987    </message>
    987988    <message>
    988         <location filename="../ui/settingsdialog.ui" line="407"/>
     989        <location filename="../ui/settingsdialog.ui" line="333"/>
    989990        <source>Only when &lt;=</source>
    990991        <translation>Только когда ≤</translation>
    991992    </message>
    992993    <message>
    993         <location filename="../ui/settingsdialog.ui" line="417"/>
     994        <location filename="../ui/settingsdialog.ui" line="343"/>
    994995        <source> cities</source>
    995996        <comment>Don&apos;t forget a space at the beginning!</comment>
     
    997998    </message>
    998999    <message>
    999         <location filename="../ui/settingsdialog.ui" line="469"/>
     1000        <location filename="../ui/settingsdialog.ui" line="395"/>
    10001001        <source>&amp;Font...</source>
    10011002        <translation>&amp;Шрифт...</translation>
    10021003    </message>
    10031004    <message>
    1004         <location filename="../ui/settingsdialog.ui" line="103"/>
    1005         <location filename="../ui/settingsdialog.ui" line="109"/>
     1005        <location filename="../ui/settingsdialog.ui" line="66"/>
     1006        <location filename="../ui/settingsdialog.ui" line="72"/>
    10061007        <source>Help</source>
    10071008        <translation>Помощь</translation>
    10081009    </message>
    10091010    <message>
    1010         <location filename="../ui/settingsdialog.ui" line="106"/>
     1011        <location filename="../ui/settingsdialog.ui" line="69"/>
    10111012        <source>Get preferences help</source>
    10121013        <translation>Получить помощь по настройкам</translation>
     
    10231024    </message>
    10241025    <message>
    1025         <location filename="../src/settingsdialog.cpp" line="83"/>
     1026        <location filename="../src/settingsdialog.cpp" line="91"/>
    10261027        <source>Use translucent effect on the Main Window under Windows Vista and 7</source>
    10271028        <translation>Использовать эффект полупрозрачности для главного окна в Windows Vista и Windows 7</translation>
    10281029    </message>
    10291030    <message>
    1030         <location filename="../src/settingsdialog.cpp" line="85"/>
     1031        <location filename="../src/settingsdialog.cpp" line="93"/>
    10311032        <source>Use translucency effects</source>
    10321033        <translation>Использовать эффекты полупрозрачности</translation>
    10331034    </message>
    10341035    <message>
    1035         <location filename="../src/settingsdialog.cpp" line="93"/>
     1036        <location filename="../src/settingsdialog.cpp" line="101"/>
    10361037        <source>Restore main window state and position on application restart</source>
    10371038        <translation>Сохранять состояние и размеры главного окна после перезапуска</translation>
    10381039    </message>
    10391040    <message>
    1040         <location filename="../src/settingsdialog.cpp" line="95"/>
     1041        <location filename="../src/settingsdialog.cpp" line="103"/>
    10411042        <source>Save main window state and position</source>
    10421043        <translation>Сохранять состояние и положение главного окна</translation>
    10431044    </message>
    10441045    <message>
    1045         <location filename="../src/settingsdialog.cpp" line="117"/>
     1046        <location filename="../src/settingsdialog.cpp" line="125"/>
    10461047        <source>Hover mouse pointer over dialog elements to get additional help</source>
    10471048        <translation>Наведите указатель мыши на элемент диалога, чтоб получить подсказку</translation>
    10481049    </message>
    10491050    <message>
    1050         <location filename="../src/settingsdialog.cpp" line="239"/>
    1051         <location filename="../src/settingsdialog.cpp" line="245"/>
     1051        <location filename="../src/settingsdialog.cpp" line="247"/>
     1052        <location filename="../src/settingsdialog.cpp" line="253"/>
    10521053        <source>Settings Reset</source>
    10531054        <translation>Сброс настроек</translation>
    10541055    </message>
    10551056    <message>
    1056         <location filename="../src/settingsdialog.cpp" line="239"/>
     1057        <location filename="../src/settingsdialog.cpp" line="247"/>
    10571058        <source>Do you really want to &lt;b&gt;reset all application settings to their defaults&lt;/b&gt;?</source>
    10581059        <translation>Вы действительно хотите &lt;b&gt;сбросить все настройки на значения по-умолчанию&lt;/b&gt;?</translation>
    10591060    </message>
    10601061    <message>
    1061         <location filename="../src/settingsdialog.cpp" line="245"/>
     1062        <location filename="../src/settingsdialog.cpp" line="253"/>
    10621063        <source>All settings where successfully reset to their defaults.
    10631064It is recommended to restart the application now.</source>
  • l10n/tspsg_uk.ts

    ra23f4c292f r317ba0432e  
    1212    </message>
    1313    <message>
    14         <location filename="../src/mainwindow.cpp" line="727"/>
     14        <location filename="../src/mainwindow.cpp" line="798"/>
    1515        <source>LANGNAME</source>
    1616        <comment>Please, provide a native name of your translation language here.</comment>
     
    153153    </message>
    154154    <message>
    155         <location filename="../ui/mainwindow.ui" line="270"/>
     155        <location filename="../ui/mainwindow.ui" line="273"/>
    156156        <source>Save &amp;As</source>
    157157        <translation>Зберегти &amp;як</translation>
    158158    </message>
    159159    <message>
    160         <location filename="../ui/mainwindow.ui" line="292"/>
     160        <location filename="../ui/mainwindow.ui" line="295"/>
    161161        <source>Select language</source>
    162162        <translation>Вибір мови</translation>
    163163    </message>
    164164    <message>
    165         <location filename="../ui/mainwindow.ui" line="295"/>
     165        <location filename="../ui/mainwindow.ui" line="298"/>
    166166        <source>Select application language</source>
    167167        <translation>Обрати мову додатку</translation>
    168168    </message>
    169169    <message>
    170         <location filename="../ui/mainwindow.ui" line="331"/>
     170        <location filename="../ui/mainwindow.ui" line="334"/>
    171171        <source>Toolbar</source>
    172172        <translation>Панель інструментів</translation>
    173173    </message>
    174174    <message>
    175         <location filename="../src/mainwindow.cpp" line="870"/>
     175        <location filename="../src/mainwindow.cpp" line="941"/>
    176176        <source>P&amp;rint Preview...</source>
    177177        <translation>&amp;Попередній перегляд...</translation>
    178178    </message>
    179179    <message>
    180         <location filename="../src/mainwindow.cpp" line="872"/>
     180        <location filename="../src/mainwindow.cpp" line="943"/>
    181181        <source>Preview solution results</source>
    182182        <translation>Попередній перегляд результатів розв&apos;язку</translation>
    183183    </message>
    184184    <message>
    185         <location filename="../src/mainwindow.cpp" line="875"/>
     185        <location filename="../src/mainwindow.cpp" line="946"/>
    186186        <source>Preview current solution results before printing</source>
    187187        <translation>Попередній перегляд результатів розв&apos;язку перед друком</translation>
    188188    </message>
    189189    <message>
    190         <location filename="../src/mainwindow.cpp" line="878"/>
     190        <location filename="../src/mainwindow.cpp" line="949"/>
    191191        <source>&amp;Print...</source>
    192192        <translation>&amp;Друк...</translation>
    193193    </message>
    194194    <message>
    195         <location filename="../src/mainwindow.cpp" line="880"/>
     195        <location filename="../src/mainwindow.cpp" line="951"/>
    196196        <source>Print solution</source>
    197197        <translation>Друк розв&apos;язку</translation>
    198198    </message>
    199199    <message>
    200         <location filename="../src/mainwindow.cpp" line="883"/>
     200        <location filename="../src/mainwindow.cpp" line="954"/>
    201201        <source>Print current solution results</source>
    202202        <translation>Роздрукувати поточний результат розв&apos;язку</translation>
    203203    </message>
    204204    <message>
    205         <location filename="../src/mainwindow.cpp" line="885"/>
     205        <location filename="../src/mainwindow.cpp" line="956"/>
    206206        <source>Ctrl+P</source>
    207207        <translation></translation>
    208208    </message>
    209209    <message>
    210         <location filename="../ui/mainwindow.ui" line="352"/>
     210        <location filename="../ui/mainwindow.ui" line="355"/>
    211211        <source>&amp;Solution...</source>
    212212        <translation>&amp;Розв&apos;язок...</translation>
    213213    </message>
    214214    <message>
    215         <location filename="../ui/mainwindow.ui" line="491"/>
     215        <location filename="../ui/mainwindow.ui" line="494"/>
    216216        <source>Detect language automatically</source>
    217217        <translation>Визначати мову автоматично</translation>
    218218    </message>
    219219    <message>
    220         <location filename="../ui/mainwindow.ui" line="494"/>
     220        <location filename="../ui/mainwindow.ui" line="497"/>
    221221        <source>Detect language automatically based on regional settings</source>
    222222        <translation>Визначати мову автоматично, використовуючи регіональні стандарти</translation>
    223223    </message>
    224224    <message>
    225         <location filename="../ui/mainwindow.ui" line="526"/>
     225        <location filename="../ui/mainwindow.ui" line="529"/>
    226226        <source>Ctrl+S</source>
    227227        <translation></translation>
    228228    </message>
    229229    <message>
    230         <location filename="../ui/mainwindow.ui" line="376"/>
     230        <location filename="../ui/mainwindow.ui" line="379"/>
    231231        <source>Ctrl+N</source>
    232232        <translation></translation>
     
    283283    </message>
    284284    <message>
    285         <location filename="../ui/mainwindow.ui" line="204"/>
    286         <location filename="../ui/mainwindow.ui" line="358"/>
     285        <location filename="../ui/mainwindow.ui" line="207"/>
     286        <location filename="../ui/mainwindow.ui" line="361"/>
    287287        <source>Save solution to a file</source>
    288288        <translation>Зберегти розв&apos;язок у файл</translation>
    289289    </message>
    290290    <message>
    291         <location filename="../ui/mainwindow.ui" line="207"/>
     291        <location filename="../ui/mainwindow.ui" line="210"/>
    292292        <source>Save Solution</source>
    293293        <translation>Зберегти</translation>
    294294    </message>
    295295    <message>
    296         <location filename="../ui/mainwindow.ui" line="234"/>
     296        <location filename="../ui/mainwindow.ui" line="237"/>
    297297        <source>Go back to Task tab</source>
    298298        <translation>Повернутися до закладки &quot;Умова&quot;</translation>
    299299    </message>
    300300    <message>
    301         <location filename="../ui/mainwindow.ui" line="237"/>
     301        <location filename="../ui/mainwindow.ui" line="240"/>
    302302        <source>Back to Task</source>
    303303        <translation>До умови</translation>
    304304    </message>
    305305    <message>
    306         <location filename="../ui/mainwindow.ui" line="266"/>
     306        <location filename="../ui/mainwindow.ui" line="269"/>
    307307        <source>&amp;File</source>
    308308        <translation>&amp;Файл</translation>
    309309    </message>
    310310    <message>
    311         <location filename="../ui/mainwindow.ui" line="298"/>
     311        <location filename="../ui/mainwindow.ui" line="301"/>
    312312        <source>&amp;Language</source>
    313313        <comment>Please, append &quot; / Language&quot; when translating this string.</comment>
     
    315315    </message>
    316316    <message>
    317         <location filename="../ui/mainwindow.ui" line="436"/>
     317        <location filename="../ui/mainwindow.ui" line="439"/>
    318318        <source>Context &amp;Help</source>
    319319        <translation>&amp;Контекстна допомога</translation>
    320320    </message>
    321321    <message>
    322         <location filename="../ui/mainwindow.ui" line="451"/>
     322        <location filename="../ui/mainwindow.ui" line="454"/>
    323323        <source>&amp;About TSPSG...</source>
    324324        <translation>&amp;Про TSPSG...</translation>
    325325    </message>
    326326    <message>
    327         <location filename="../ui/mainwindow.ui" line="517"/>
     327        <location filename="../ui/mainwindow.ui" line="520"/>
    328328        <source>&amp;Save</source>
    329329        <translation>&amp;Зберегти</translation>
    330330    </message>
    331331    <message>
    332         <location filename="../ui/mainwindow.ui" line="288"/>
     332        <location filename="../ui/mainwindow.ui" line="291"/>
    333333        <source>&amp;Settings</source>
    334334        <translation>&amp;Налаштування</translation>
    335335    </message>
    336336    <message>
    337         <location filename="../ui/mainwindow.ui" line="314"/>
     337        <location filename="../ui/mainwindow.ui" line="317"/>
    338338        <source>&amp;Help</source>
    339339        <translation>&amp;Допомога</translation>
    340340    </message>
    341341    <message>
    342         <location filename="../ui/mainwindow.ui" line="355"/>
     342        <location filename="../ui/mainwindow.ui" line="358"/>
    343343        <source>Save solution</source>
    344344        <translation>Зберегти розв&apos;язок</translation>
    345345    </message>
    346346    <message>
    347         <location filename="../ui/mainwindow.ui" line="367"/>
     347        <location filename="../ui/mainwindow.ui" line="370"/>
    348348        <source>&amp;New</source>
    349349        <translation>&amp;Створити</translation>
    350350    </message>
    351351    <message>
    352         <location filename="../ui/mainwindow.ui" line="370"/>
     352        <location filename="../ui/mainwindow.ui" line="373"/>
    353353        <source>New task</source>
    354354        <translation>Нова задача</translation>
    355355    </message>
    356356    <message>
    357         <location filename="../ui/mainwindow.ui" line="373"/>
     357        <location filename="../ui/mainwindow.ui" line="376"/>
    358358        <source>Create new task</source>
    359359        <translation>Створити нову задачу</translation>
    360360    </message>
    361361    <message>
    362         <location filename="../ui/mainwindow.ui" line="385"/>
     362        <location filename="../ui/mainwindow.ui" line="388"/>
    363363        <source>&amp;Open...</source>
    364364        <translation>&amp;Відкрити...</translation>
    365365    </message>
    366366    <message>
    367         <location filename="../ui/mainwindow.ui" line="388"/>
     367        <location filename="../ui/mainwindow.ui" line="391"/>
    368368        <source>Open task</source>
    369369        <translation>Відкрити умову</translation>
    370370    </message>
    371371    <message>
    372         <location filename="../ui/mainwindow.ui" line="391"/>
     372        <location filename="../ui/mainwindow.ui" line="394"/>
    373373        <source>Open saved task</source>
    374374        <translation>Відкрити збережену умову</translation>
    375375    </message>
    376376    <message>
    377         <location filename="../ui/mainwindow.ui" line="394"/>
     377        <location filename="../ui/mainwindow.ui" line="397"/>
    378378        <source>Ctrl+O</source>
    379379        <translation></translation>
    380380    </message>
    381381    <message>
    382         <location filename="../ui/mainwindow.ui" line="403"/>
     382        <location filename="../ui/mainwindow.ui" line="406"/>
    383383        <source>&amp;Preferences...</source>
    384384        <translation>&amp;Параметри...</translation>
    385385    </message>
    386386    <message>
    387         <location filename="../ui/mainwindow.ui" line="406"/>
     387        <location filename="../ui/mainwindow.ui" line="409"/>
    388388        <source>Application preferences</source>
    389389        <translation>Параметри додатку</translation>
    390390    </message>
    391391    <message>
    392         <location filename="../ui/mainwindow.ui" line="418"/>
     392        <location filename="../ui/mainwindow.ui" line="421"/>
    393393        <source>&amp;Contents</source>
    394394        <translation>&amp;Зміст</translation>
    395395    </message>
    396396    <message>
    397         <location filename="../ui/mainwindow.ui" line="421"/>
     397        <location filename="../ui/mainwindow.ui" line="424"/>
    398398        <source>Open help contents</source>
    399399        <translation>Відкрити зміст допомоги</translation>
    400400    </message>
    401401    <message>
    402         <location filename="../ui/mainwindow.ui" line="424"/>
     402        <location filename="../ui/mainwindow.ui" line="427"/>
    403403        <source>Ctrl+F1</source>
    404404        <translation></translation>
    405405    </message>
    406406    <message>
    407         <location filename="../ui/mainwindow.ui" line="439"/>
     407        <location filename="../ui/mainwindow.ui" line="442"/>
    408408        <source>Open context help</source>
    409409        <translation>Відкрити контекстну допомогу</translation>
    410410    </message>
    411411    <message>
    412         <location filename="../ui/mainwindow.ui" line="442"/>
     412        <location filename="../ui/mainwindow.ui" line="445"/>
    413413        <source>F1</source>
    414414        <translation></translation>
    415415    </message>
    416416    <message>
    417         <location filename="../ui/mainwindow.ui" line="454"/>
     417        <location filename="../ui/mainwindow.ui" line="457"/>
    418418        <source>About application</source>
    419419        <translation>Про додаток</translation>
    420420    </message>
    421421    <message>
    422         <location filename="../ui/mainwindow.ui" line="463"/>
     422        <location filename="../ui/mainwindow.ui" line="466"/>
    423423        <source>E&amp;xit</source>
    424424        <translation>В&amp;ихід</translation>
    425425    </message>
    426426    <message>
    427         <location filename="../ui/mainwindow.ui" line="466"/>
     427        <location filename="../ui/mainwindow.ui" line="469"/>
    428428        <source>Exit application</source>
    429429        <translation>Вийти з додатку</translation>
    430430    </message>
    431431    <message>
    432         <location filename="../ui/mainwindow.ui" line="471"/>
     432        <location filename="../ui/mainwindow.ui" line="474"/>
    433433        <source>&amp;Task...</source>
    434434        <translation>&amp;Умову...</translation>
    435435    </message>
    436436    <message>
    437         <location filename="../ui/mainwindow.ui" line="474"/>
    438         <location filename="../ui/mainwindow.ui" line="520"/>
     437        <location filename="../ui/mainwindow.ui" line="477"/>
     438        <location filename="../ui/mainwindow.ui" line="523"/>
    439439        <source>Save task</source>
    440440        <translation>Зберегти умову</translation>
    441441    </message>
    442442    <message>
    443         <location filename="../ui/mainwindow.ui" line="477"/>
     443        <location filename="../ui/mainwindow.ui" line="480"/>
    444444        <source>Save task to file</source>
    445445        <translation>Зберегти умову задачі у файл</translation>
    446446    </message>
    447447    <message>
    448         <location filename="../ui/mainwindow.ui" line="488"/>
     448        <location filename="../ui/mainwindow.ui" line="491"/>
    449449        <source>&amp;Autodetect</source>
    450450        <translation>&amp;Автовизначення</translation>
    451451    </message>
    452452    <message>
    453         <location filename="../ui/mainwindow.ui" line="523"/>
     453        <location filename="../ui/mainwindow.ui" line="526"/>
    454454        <source>Save current task</source>
    455455        <translation>Зберегти поточну умову</translation>
    456456    </message>
    457457    <message>
    458         <location filename="../ui/mainwindow.ui" line="535"/>
     458        <location filename="../ui/mainwindow.ui" line="538"/>
    459459        <source>About &amp;Qt...</source>
    460460        <translation>Про &amp;Qt...</translation>
    461461    </message>
    462462    <message>
    463         <location filename="../ui/mainwindow.ui" line="538"/>
     463        <location filename="../ui/mainwindow.ui" line="541"/>
    464464        <source>About Qt library</source>
    465465        <translation>Про бібліотеку Qt</translation>
     
    473473    <message>
    474474        <location filename="../ui/mainwindow.ui" line="15"/>
    475         <location filename="../src/mainwindow.cpp" line="923"/>
     475        <location filename="../src/mainwindow.cpp" line="994"/>
    476476        <source>Travelling Salesman Problem</source>
    477477        <translation>Задача комівояжера</translation>
    478478    </message>
    479479    <message>
    480         <location filename="../src/mainwindow.cpp" line="804"/>
     480        <location filename="../src/mainwindow.cpp" line="875"/>
    481481        <source>Unsaved Changes</source>
    482482        <translation>Незбережені зміни</translation>
     
    490490        <location filename="../src/mainwindow.cpp" line="137"/>
    491491        <location filename="../src/mainwindow.cpp" line="201"/>
    492         <location filename="../src/mainwindow.cpp" line="900"/>
     492        <location filename="../src/mainwindow.cpp" line="971"/>
    493493        <source>All Files</source>
    494494        <translation>Усі файли</translation>
     
    501501    </message>
    502502    <message>
    503         <location filename="../src/mainwindow.cpp" line="790"/>
    504         <location filename="../src/mainwindow.cpp" line="792"/>
     503        <location filename="../src/mainwindow.cpp" line="861"/>
     504        <location filename="../src/mainwindow.cpp" line="863"/>
    505505        <source>Language Change</source>
    506506        <translation>Зміна мови</translation>
     
    522522    </message>
    523523    <message>
    524         <location filename="../src/mainwindow.cpp" line="536"/>
     524        <location filename="../src/mainwindow.cpp" line="565"/>
    525525        <source>Selected candidate for branching: %1.</source>
    526526        <translation>Обраний кандидат на розгалудження: %1.</translation>
    527527    </message>
    528528    <message>
    529         <location filename="../src/mainwindow.cpp" line="536"/>
    530         <location filename="../src/mainwindow.cpp" line="543"/>
     529        <location filename="../src/mainwindow.cpp" line="565"/>
     530        <location filename="../src/mainwindow.cpp" line="572"/>
    531531        <source>(%1;%2)</source>
    532532        <translation></translation>
    533533    </message>
    534534    <message numerus="yes">
    535         <location filename="../src/mainwindow.cpp" line="545"/>
     535        <location filename="../src/mainwindow.cpp" line="575"/>
    536536        <source>%n alternate candidate(s) for branching: %1.</source>
    537537        <translation>
     
    542542    </message>
    543543    <message numerus="yes">
    544         <location filename="../src/mainwindow.cpp" line="566"/>
     544        <location filename="../src/mainwindow.cpp" line="604"/>
    545545        <source>The price is &lt;b&gt;%n&lt;/b&gt; unit(s).</source>
    546546        <translation>
     
    551551    </message>
    552552    <message>
    553         <location filename="../src/mainwindow.cpp" line="890"/>
    554         <location filename="../src/mainwindow.cpp" line="893"/>
     553        <location filename="../src/mainwindow.cpp" line="961"/>
     554        <location filename="../src/mainwindow.cpp" line="964"/>
    555555        <source>Check for %1 updates</source>
    556556        <translation>Перевірити оновлення %1</translation>
    557557    </message>
    558558    <message>
    559         <location filename="../src/mainwindow.cpp" line="899"/>
     559        <location filename="../src/mainwindow.cpp" line="970"/>
    560560        <source>%1 Task File</source>
    561561        <translation>Файл умови %1</translation>
     
    677677    </message>
    678678    <message>
    679         <location filename="../src/mainwindow.cpp" line="516"/>
     679        <location filename="../src/mainwindow.cpp" line="523"/>
     680        <location filename="../src/mainwindow.cpp" line="536"/>
     681        <source>Solution of Variant #%1 Task</source>
     682        <translation>Розв&apos;язок варіанту №%1</translation>
     683    </message>
     684    <message>
     685        <location filename="../src/mainwindow.cpp" line="530"/>
    680686        <source>Variant #%1</source>
    681687        <translation>Варіант №%1</translation>
    682688    </message>
    683689    <message>
    684         <location filename="../src/mainwindow.cpp" line="517"/>
     690        <location filename="../src/mainwindow.cpp" line="532"/>
    685691        <source>Task:</source>
    686692        <translation>Умова:</translation>
    687     </message>
    688     <message>
    689         <location filename="../src/mainwindow.cpp" line="515"/>
    690         <location filename="../src/mainwindow.cpp" line="519"/>
    691         <source>Solution of Variant #%1 task</source>
    692         <translation>Розв&apos;язок варіанту №%1</translation>
    693693    </message>
    694694    <message>
     
    733733    </message>
    734734    <message>
    735         <location filename="../src/mainwindow.cpp" line="522"/>
     735        <location filename="../src/mainwindow.cpp" line="541"/>
    736736        <source>Generating step %v</source>
    737737        <translation>Генерація шагу %v</translation>
    738738    </message>
    739739    <message>
    740         <location filename="../src/mainwindow.cpp" line="532"/>
     740        <location filename="../src/mainwindow.cpp" line="560"/>
    741741        <source>Step #%1</source>
    742742        <translation>Крок №%1</translation>
    743743    </message>
    744744    <message>
    745         <location filename="../src/mainwindow.cpp" line="557"/>
     745        <location filename="../src/mainwindow.cpp" line="589"/>
    746746        <source>Generating footer</source>
    747747        <translation>Генерація закінчення</translation>
    748748    </message>
    749749    <message>
    750         <location filename="../src/mainwindow.cpp" line="561"/>
     750        <location filename="../src/mainwindow.cpp" line="595"/>
    751751        <source>Optimal path:</source>
    752752        <translation>Оптимальний шлях:</translation>
    753753    </message>
    754754    <message>
    755         <location filename="../src/mainwindow.cpp" line="563"/>
     755        <location filename="../src/mainwindow.cpp" line="597"/>
    756756        <source>Resulting path:</source>
    757757        <translation>Знайдений шлях:</translation>
    758758    </message>
    759759    <message>
    760         <location filename="../src/mainwindow.cpp" line="568"/>
     760        <location filename="../src/mainwindow.cpp" line="606"/>
    761761        <source>The price is &lt;b&gt;%1&lt;/b&gt; units.</source>
    762762        <translation>Вартість - &lt;b&gt;%1&lt;/b&gt; одиниць.</translation>
    763763    </message>
    764764    <message>
    765         <location filename="../src/mainwindow.cpp" line="571"/>
     765        <location filename="../src/mainwindow.cpp" line="611"/>
    766766        <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>
    767767        <translation>&lt;b&gt;Увага!!!&lt;/b&gt;&lt;br&gt;Знайдений розв&apos;язок є рекордом, але може бути неоптимальним.&lt;br&gt;Для отримання оптимального розв&apos;язку, або перевірки поточного на оптимальність, потрібно продовжити ітерації.</translation>
    768768    </message>
    769769    <message>
    770         <location filename="../src/mainwindow.cpp" line="580"/>
     770        <location filename="../src/mainwindow.cpp" line="544"/>
     771        <location filename="../src/mainwindow.cpp" line="624"/>
    771772        <source>Cleaning up...</source>
    772773        <translation>Очищення...</translation>
    773774    </message>
    774775    <message>
    775         <location filename="../src/mainwindow.cpp" line="790"/>
    776         <location filename="../src/mainwindow.cpp" line="792"/>
     776        <location filename="../src/mainwindow.cpp" line="861"/>
     777        <location filename="../src/mainwindow.cpp" line="863"/>
    777778        <source>Unable to load the translation language.
    778779Falling back to autodetection.</source>
     
    781782    </message>
    782783    <message>
    783         <location filename="../src/mainwindow.cpp" line="804"/>
     784        <location filename="../src/mainwindow.cpp" line="875"/>
    784785        <source>Would you like to save changes in the current task?</source>
    785786        <translation>Бажаете зберегти зміни у поточній задачі?</translation>
    786787    </message>
    787788    <message>
    788         <location filename="../src/mainwindow.cpp" line="867"/>
     789        <location filename="../src/mainwindow.cpp" line="938"/>
    789790        <source>Set application language to %1</source>
    790791        <translation>Змінити мову додатку на %1</translation>
    791792    </message>
    792793    <message>
    793         <location filename="../src/mainwindow.cpp" line="888"/>
     794        <location filename="../src/mainwindow.cpp" line="959"/>
    794795        <source>Check for &amp;Updates...</source>
    795796        <translation>Перевірити &amp;оновлення...</translation>
    796797    </message>
    797798    <message>
    798         <location filename="../src/mainwindow.cpp" line="908"/>
     799        <location filename="../src/mainwindow.cpp" line="979"/>
    799800        <source>Task Save</source>
    800801        <translation>Збереження умови</translation>
     
    818819        <location filename="../src/mainwindow.cpp" line="179"/>
    819820        <location filename="../src/mainwindow.cpp" line="297"/>
    820         <location filename="../src/mainwindow.h" line="113"/>
     821        <location filename="../src/mainwindow.h" line="122"/>
    821822        <source>Untitled</source>
    822823        <translation>Без імені</translation>
     
    826827    <name>SettingsDialog</name>
    827828    <message>
    828         <location filename="../src/settingsdialog.cpp" line="83"/>
     829        <location filename="../src/settingsdialog.cpp" line="91"/>
    829830        <source>Use translucent effect on the Main Window under Windows Vista and 7</source>
    830831        <translation>Використовувати ефект полупрозорості для головного вікна у Windows Vista та Windows 7</translation>
    831832    </message>
    832833    <message>
    833         <location filename="../src/settingsdialog.cpp" line="85"/>
     834        <location filename="../src/settingsdialog.cpp" line="93"/>
    834835        <source>Use translucency effects</source>
    835836        <translation>Використовувати ефекти напівпрозорості</translation>
    836837    </message>
    837838    <message>
    838         <location filename="../src/settingsdialog.cpp" line="93"/>
     839        <location filename="../src/settingsdialog.cpp" line="101"/>
    839840        <source>Restore main window state and position on application restart</source>
    840841        <translation>Відновлювати стан та розмір головного вікна після перезапуску</translation>
    841842    </message>
    842843    <message>
    843         <location filename="../src/settingsdialog.cpp" line="95"/>
     844        <location filename="../src/settingsdialog.cpp" line="103"/>
    844845        <source>Save main window state and position</source>
    845846        <translation>Зберігати стан та розміщення головного вікна</translation>
    846847    </message>
    847848    <message>
    848         <location filename="../src/settingsdialog.cpp" line="117"/>
     849        <location filename="../src/settingsdialog.cpp" line="125"/>
    849850        <source>Hover mouse pointer over dialog elements to get additional help</source>
    850851        <translation>Наведіть покажчик миші на елемент ділогу, щоб отримати підказку</translation>
    851852    </message>
    852853    <message>
    853         <location filename="../src/settingsdialog.cpp" line="239"/>
    854         <location filename="../src/settingsdialog.cpp" line="245"/>
     854        <location filename="../src/settingsdialog.cpp" line="247"/>
     855        <location filename="../src/settingsdialog.cpp" line="253"/>
    855856        <source>Settings Reset</source>
    856857        <translation>Скидання налагоджень</translation>
    857858    </message>
    858859    <message>
    859         <location filename="../src/settingsdialog.cpp" line="239"/>
     860        <location filename="../src/settingsdialog.cpp" line="247"/>
    860861        <source>Do you really want to &lt;b&gt;reset all application settings to their defaults&lt;/b&gt;?</source>
    861862        <translation>Ви дісно хочете &lt;b&gt;скинути усі налаштування на значення по-замовчуванню&lt;/b&gt;?</translation>
    862863    </message>
    863864    <message>
    864         <location filename="../src/settingsdialog.cpp" line="245"/>
     865        <location filename="../src/settingsdialog.cpp" line="253"/>
    865866        <source>All settings where successfully reset to their defaults.
    866867It is recommended to restart the application now.</source>
     
    874875    </message>
    875876    <message>
    876         <location filename="../ui/settingsdialog.ui" line="226"/>
     877        <location filename="../ui/settingsdialog.ui" line="152"/>
    877878        <source>Task</source>
    878879        <translation>Задача</translation>
    879880    </message>
    880881    <message>
    881         <location filename="../ui/settingsdialog.ui" line="229"/>
     882        <location filename="../ui/settingsdialog.ui" line="155"/>
    882883        <source>Task generation and solving settings</source>
    883884        <translation>Налаштування генерації та розв&apos;язку задач</translation>
    884885    </message>
    885886    <message>
    886         <location filename="../ui/settingsdialog.ui" line="240"/>
     887        <location filename="../ui/settingsdialog.ui" line="166"/>
    887888        <source>Fractional accuracy:</source>
    888889        <translation>Точність дробових чисел:</translation>
    889890    </message>
    890891    <message>
    891         <location filename="../ui/settingsdialog.ui" line="250"/>
     892        <location filename="../ui/settingsdialog.ui" line="176"/>
    892893        <source>Accuracy of the fractional values (in decimal places)</source>
    893894        <translation>Точність дробових чисел (у знаках після коми)</translation>
    894895    </message>
    895896    <message>
    896         <location filename="../ui/settingsdialog.ui" line="299"/>
     897        <location filename="../ui/settingsdialog.ui" line="225"/>
    897898        <source>Minimum for random number generation</source>
    898899        <translation>Нажня межа для генерації випадкових значень</translation>
    899900    </message>
    900901    <message>
    901         <location filename="../ui/settingsdialog.ui" line="319"/>
     902        <location filename="../ui/settingsdialog.ui" line="245"/>
    902903        <source>Maximum for random number generation</source>
    903904        <translation>Верхня межа для генерації випадкових значень</translation>
    904905    </message>
    905906    <message>
    906         <location filename="../ui/settingsdialog.ui" line="331"/>
     907        <location filename="../ui/settingsdialog.ui" line="257"/>
    907908        <source>Generate fractional random values with the Fractional accuracy</source>
    908909        <translation>Генерувати дробові випадкові числа з вказаною вище точністю</translation>
    909910    </message>
    910911    <message>
    911         <location filename="../ui/settingsdialog.ui" line="457"/>
     912        <location filename="../ui/settingsdialog.ui" line="383"/>
    912913        <source>Output font settings</source>
    913914        <translation>Параметри шрифта</translation>
    914915    </message>
    915916    <message>
    916         <location filename="../ui/settingsdialog.ui" line="486"/>
     917        <location filename="../ui/settingsdialog.ui" line="412"/>
    917918        <source>&amp;Color...</source>
    918919        <translation>&amp;Колір...</translation>
    919920    </message>
    920921    <message>
    921         <location filename="../ui/settingsdialog.ui" line="189"/>
     922        <location filename="../ui/settingsdialog.ui" line="115"/>
    922923        <source>Automatically resize rows and columns to their contents</source>
    923924        <translation>Автоматично підганяти розмір рядків під їх зміст</translation>
    924925    </message>
    925926    <message>
    926         <location filename="../ui/settingsdialog.ui" line="177"/>
     927        <location filename="../ui/settingsdialog.ui" line="103"/>
    927928        <source>General</source>
    928929        <translation>Загальні</translation>
    929930    </message>
    930931    <message>
    931         <location filename="../ui/settingsdialog.ui" line="180"/>
     932        <location filename="../ui/settingsdialog.ui" line="106"/>
    932933        <source>General TSPSG settings</source>
    933934        <translation>Загальні налаштування TSPSG</translation>
    934935    </message>
    935936    <message>
    936         <location filename="../ui/settingsdialog.ui" line="192"/>
     937        <location filename="../ui/settingsdialog.ui" line="118"/>
    937938        <source>Autosize of rows and columns</source>
    938939        <translation>Авторозмір рядків та колонок</translation>
    939940    </message>
    940941    <message>
    941         <location filename="../ui/settingsdialog.ui" line="202"/>
     942        <location filename="../ui/settingsdialog.ui" line="128"/>
    942943        <source>Use native File Open and File Save dialogs (uncheck to use Qt&apos;s Dialogs)</source>
    943944        <translation>Використовувати системні діалоги відкриття та збереження файлу</translation>
    944945    </message>
    945946    <message>
    946         <location filename="../ui/settingsdialog.ui" line="275"/>
     947        <location filename="../ui/settingsdialog.ui" line="201"/>
    947948        <source>Task generation</source>
    948949        <translation>Генерація задач</translation>
    949950    </message>
    950951    <message>
    951         <location filename="../ui/settingsdialog.ui" line="358"/>
     952        <location filename="../ui/settingsdialog.ui" line="284"/>
    952953        <source>Output</source>
    953954        <translation>Виведення</translation>
    954955    </message>
    955956    <message>
    956         <location filename="../ui/settingsdialog.ui" line="361"/>
     957        <location filename="../ui/settingsdialog.ui" line="287"/>
    957958        <source>Solution output settings</source>
    958959        <translation>Налаштування тексту розв&apos;язку</translation>
    959960    </message>
    960961    <message>
    961         <location filename="../ui/settingsdialog.ui" line="370"/>
     962        <location filename="../ui/settingsdialog.ui" line="296"/>
    962963        <source>Show solution steps&apos; matrices for every solution step</source>
    963964        <translation>Показувати матриці кроків розв&apos;язку для кожного кроку</translation>
    964965    </message>
    965966    <message>
    966         <location filename="../ui/settingsdialog.ui" line="373"/>
     967        <location filename="../ui/settingsdialog.ui" line="299"/>
    967968        <source>Show solution steps&apos; matrices</source>
    968969        <translation>Показ матриць кроків розв&apos;язку</translation>
    969970    </message>
    970971    <message>
    971         <location filename="../ui/settingsdialog.ui" line="404"/>
     972        <location filename="../ui/settingsdialog.ui" line="330"/>
    972973        <source>Show or hide solution steps&apos; matrices based on number of cities in the task</source>
    973974        <translation>Показувати матриці ходу розв&apos;язку в залежності від кількості міст</translation>
    974975    </message>
    975976    <message>
    976         <location filename="../ui/settingsdialog.ui" line="414"/>
     977        <location filename="../ui/settingsdialog.ui" line="340"/>
    977978        <source>Maximum number of cities to show solution steps&apos; matrices</source>
    978979        <translation>Максимальна кількість міст для показу матриць кроків розв&apos;язку</translation>
    979980    </message>
    980981    <message>
    981         <location filename="../ui/settingsdialog.ui" line="466"/>
     982        <location filename="../ui/settingsdialog.ui" line="392"/>
    982983        <source>Font face for solution output</source>
    983984        <translation>Вигляд шрифта для виводу</translation>
    984985    </message>
    985986    <message>
    986         <location filename="../ui/settingsdialog.ui" line="483"/>
     987        <location filename="../ui/settingsdialog.ui" line="409"/>
    987988        <source>Font color for solution output</source>
    988989        <translation>Колір шрифта для виводу</translation>
    989990    </message>
    990991    <message>
    991         <location filename="../ui/settingsdialog.ui" line="334"/>
     992        <location filename="../ui/settingsdialog.ui" line="260"/>
    992993        <source>Fractional random values</source>
    993994        <translation>Дробові випадкові числа</translation>
    994995    </message>
    995996    <message>
    996         <location filename="../ui/settingsdialog.ui" line="445"/>
     997        <location filename="../ui/settingsdialog.ui" line="371"/>
    997998        <source>Scroll to the end of solution output after solving</source>
    998999        <translation>Прокручувати в кінець виводу після закінчення розв&apos;язку задачі</translation>
    9991000    </message>
    10001001    <message>
    1001         <location filename="../ui/settingsdialog.ui" line="448"/>
     1002        <location filename="../ui/settingsdialog.ui" line="374"/>
    10021003        <source>Scroll to solution end</source>
    10031004        <translation>Прокручувати в кінець розв&apos;язку</translation>
    10041005    </message>
    10051006    <message>
    1006         <location filename="../ui/settingsdialog.ui" line="205"/>
     1007        <location filename="../ui/settingsdialog.ui" line="131"/>
    10071008        <source>Use native file dialogs</source>
    10081009        <translation>Системні файлові діалоги</translation>
    10091010    </message>
    10101011    <message>
    1011         <location filename="../ui/settingsdialog.ui" line="265"/>
     1012        <location filename="../ui/settingsdialog.ui" line="191"/>
    10121013        <source>In this mode the cost of travel from city 1 to city 2 and vice versa is the same</source>
    10131014        <translation>У цьому режимі вартість переїзду з міста 1 у місто 2 та навпаки співпадає</translation>
    10141015    </message>
    10151016    <message>
    1016         <location filename="../ui/settingsdialog.ui" line="268"/>
     1017        <location filename="../ui/settingsdialog.ui" line="194"/>
    10171018        <source>Symmetric mode</source>
    10181019        <translation>Симетричний режим</translation>
    10191020    </message>
    10201021    <message>
    1021         <location filename="../ui/settingsdialog.ui" line="286"/>
     1022        <location filename="../ui/settingsdialog.ui" line="212"/>
    10221023        <source>Minimal random:</source>
    10231024        <translation>Мінімальне випадкове:</translation>
    10241025    </message>
    10251026    <message>
    1026         <location filename="../ui/settingsdialog.ui" line="306"/>
     1027        <location filename="../ui/settingsdialog.ui" line="232"/>
    10271028        <source>Maximal random:</source>
    10281029        <translation>Максимальне випадкове:</translation>
    10291030    </message>
    10301031    <message>
    1031         <location filename="../ui/settingsdialog.ui" line="407"/>
     1032        <location filename="../ui/settingsdialog.ui" line="333"/>
    10321033        <source>Only when &lt;=</source>
    10331034        <translation>Лише коли ≤</translation>
    10341035    </message>
    10351036    <message>
    1036         <location filename="../ui/settingsdialog.ui" line="417"/>
     1037        <location filename="../ui/settingsdialog.ui" line="343"/>
    10371038        <source> cities</source>
    10381039        <comment>Don&apos;t forget a space at the beginning!</comment>
     
    10401041    </message>
    10411042    <message>
    1042         <location filename="../ui/settingsdialog.ui" line="469"/>
     1043        <location filename="../ui/settingsdialog.ui" line="395"/>
    10431044        <source>&amp;Font...</source>
    10441045        <translation>&amp;Шрифт...</translation>
    10451046    </message>
    10461047    <message>
    1047         <location filename="../ui/settingsdialog.ui" line="103"/>
    1048         <location filename="../ui/settingsdialog.ui" line="109"/>
     1048        <location filename="../ui/settingsdialog.ui" line="66"/>
     1049        <location filename="../ui/settingsdialog.ui" line="72"/>
    10491050        <source>Help</source>
    10501051        <translation>Допомога</translation>
    10511052    </message>
    10521053    <message>
    1053         <location filename="../ui/settingsdialog.ui" line="106"/>
     1054        <location filename="../ui/settingsdialog.ui" line="69"/>
    10541055        <source>Get preferences help</source>
    10551056        <translation>Отримати допомогу по налагодженням</translation>
  • src/defaults.h

    ra23f4c292f r317ba0432e  
    9191        #define DEF_FONT_SIZE 10
    9292#endif // Q_OS_SYMBIAN
    93 //! Default font color
    94 #define DEF_FONT_COLOR Qt::black
     93//! Default text color
     94#define DEF_TEXT_COLOR QPalette().color(QPalette::Text)
     95//! Default selected candidate color
     96#define DEF_SELECTED_COLOR QColor(0x008000)
     97//! Default alternate candidate color
     98#define DEF_ALTERNATE_COLOR QColor(0xA00000)
    9599
    96100#endif // DEFAULTS_H
  • src/mainwindow.cpp

    ra23f4c292f r317ba0432e  
    512512        pd.setValue(0);
    513513
     514#ifdef DEBUG
     515QTime t;
     516        t.start();
     517#endif
    514518        solutionText->clear();
    515         solutionText->setDocumentTitle(tr("Solution of Variant #%1 task").arg(spinVariant->value()));
    516         solutionText->append("<p>" + tr("Variant #%1").arg(spinVariant->value()) + "</p>");
    517         solutionText->append("<p>" + tr("Task:") + "</p>");
    518         solutionText->append(outputMatrix(matrix));
    519         solutionText->append("<hr><p>" + tr("Solution of Variant #%1 task").arg(spinVariant->value()) + "</p>");
     519#ifdef DEBUG
     520        qDebug() << "Clear:" << t.elapsed();
     521        t.restart();
     522#endif
     523        solutionText->setDocumentTitle(tr("Solution of Variant #%1 Task").arg(spinVariant->value()));
     524
     525QTextDocument *doc = solutionText->document();
     526QTextCursor cur(doc);
     527
     528        cur.beginEditBlock();
     529        cur.setBlockFormat(fmt_paragraph);
     530        cur.insertText(tr("Variant #%1").arg(spinVariant->value()), fmt_default);
     531        cur.insertBlock(fmt_paragraph);
     532        cur.insertText(tr("Task:"));
     533        outputMatrix(cur, matrix);
     534        cur.insertHtml("<hr>");
     535        cur.insertBlock(fmt_paragraph);
     536        cur.insertText(tr("Solution of Variant #%1 Task").arg(spinVariant->value()), fmt_default);
     537        cur.endEditBlock();
     538
    520539SStep *step = root;
    521540        n = 1;
     
    523542        while (n < spinCities->value()) {
    524543                if (pd.wasCanceled()) {
     544                        pd.setLabelText(tr("Cleaning up..."));
     545                        pd.setMaximum(0);
     546                        pd.setCancelButton(NULL);
     547                        pd.show();
     548                        QApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
     549                        solver.cleanup(true);
    525550                        solutionText->clear();
     551                        toggleSolutionActions(false);
    526552                        return;
    527553                }
     
    530556                if (step->prNode->prNode != NULL || ((step->prNode->prNode == NULL) && (step->plNode->prNode == NULL))) {
    531557                        if (n != spinCities->value()) {
    532                                 solutionText->append("<p>" + tr("Step #%1").arg(n++) + "</p>");
     558                                cur.beginEditBlock();
     559                                cur.insertBlock(fmt_paragraph);
     560                                cur.insertText(tr("Step #%1").arg(n++));
    533561                                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())))) {
    534                                         solutionText->append(outputMatrix(*step));
     562                                        outputMatrix(cur, *step);
    535563                                }
    536                                 solutionText->append("<p>" + tr("Selected candidate for branching: %1.").arg(tr("(%1;%2)").arg(step->candidate.nRow + 1).arg(step->candidate.nCol + 1)) + "</p>");
     564                                cur.insertBlock(fmt_paragraph);
     565                                cur.insertText(tr("Selected candidate for branching: %1.").arg(tr("(%1;%2)").arg(step->candidate.nRow + 1).arg(step->candidate.nCol + 1)), fmt_default);
    537566                                if (!step->alts.empty()) {
    538567SCandidate cand;
     
    543572                                                alts += tr("(%1;%2)").arg(cand.nRow + 1).arg(cand.nCol + 1);
    544573                                        }
    545                                         solutionText->append("<p class=\"hasalts\">" + tr("%n alternate candidate(s) for branching: %1.","",step->alts.count()).arg(alts) + "</p>");
     574                                        cur.insertBlock(fmt_paragraph);
     575                                        cur.insertText(tr("%n alternate candidate(s) for branching: %1.", "", step->alts.count()).arg(alts), fmt_altlist);
    546576                                }
    547                                 solutionText->append("<p>&nbsp;</p>");
     577                                cur.insertBlock(fmt_paragraph);
     578                                cur.insertText(" ", fmt_default);
     579                                cur.endEditBlock();
    548580                        }
    549581                }
     
    558590        pd.setValue(n);
    559591
     592        cur.beginEditBlock();
     593        cur.insertBlock(fmt_paragraph);
    560594        if (solver.isOptimal())
    561                 solutionText->append("<p>" + tr("Optimal path:") + "</p>");
     595                cur.insertText(tr("Optimal path:"));
    562596        else
    563                 solutionText->append("<p>" + tr("Resulting path:") + "</p>");
    564         solutionText->append("<p>&nbsp;&nbsp;" + solver.getSortedPath() + "</p>");
     597                cur.insertText(tr("Resulting path:"));
     598
     599        cur.insertBlock(fmt_paragraph);
     600        cur.insertText("  " + solver.getSortedPath());
     601
     602        cur.insertBlock(fmt_paragraph);
    565603        if (isInteger(step->price))
    566                 solutionText->append("<p>" + tr("The price is <b>%n</b> unit(s).", "", qRound(step->price)) + "</p>");
     604                cur.insertHtml("<p>" + tr("The price is <b>%n</b> unit(s).", "", qRound(step->price)) + "</p>");
    567605        else
    568                 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>");
     606                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>");
    569607        if (!solver.isOptimal()) {
    570                 solutionText->append("<p>&nbsp;</p>");
    571                 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>");
    572         }
     608                cur.insertBlock(fmt_paragraph);
     609                cur.insertText(" ");
     610                cur.insertBlock(fmt_paragraph);
     611                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>");
     612        }
     613        cur.endEditBlock();
     614#ifdef DEBUG
     615        qDebug() << "Generate:" << t.elapsed();
     616#endif
    573617
    574618        if (settings->value("Output/ScrollToEnd", DEF_SCROLL_TO_END).toBool()) {
    575                 // Scrolling to the end of text.
     619                // Scrolling to the end of the text.
    576620                solutionText->moveCursor(QTextCursor::End);
    577621        } else
     
    701745void MainWindow::initDocStyleSheet()
    702746{
    703 QColor color = settings->value("Output/Color",DEF_FONT_COLOR).value<QColor>();
     747        solutionText->document()->setDefaultFont(settings->value("Output/Font", QFont(DEF_FONT_FAMILY, DEF_FONT_SIZE)).value<QFont>());
     748
     749        fmt_paragraph.setTopMargin(0);
     750        fmt_paragraph.setRightMargin(10);
     751        fmt_paragraph.setBottomMargin(0);
     752        fmt_paragraph.setLeftMargin(10);
     753
     754        fmt_table.setTopMargin(5);
     755        fmt_table.setRightMargin(10);
     756        fmt_table.setBottomMargin(5);
     757        fmt_table.setLeftMargin(10);
     758        fmt_table.setBorder(0);
     759        fmt_table.setBorderStyle(QTextFrameFormat::BorderStyle_None);
     760        fmt_table.setCellSpacing(5);
     761
     762        fmt_center.setAlignment(Qt::AlignHCenter);
     763
     764QColor color = settings->value("Output/Colors/Text", DEF_TEXT_COLOR).value<QColor>();
    704765QColor hilight;
    705766        if (color.value() < 192)
    706                 hilight.setHsv(color.hue(),color.saturation(),127 + qRound(color.value() / 2));
     767                hilight.setHsv(color.hue(), color.saturation(), 127 + qRound(color.value() / 2));
    707768        else
    708                 hilight.setHsv(color.hue(),color.saturation(),color.value() / 2);
    709         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;}");
    710         solutionText->document()->setDefaultFont(settings->value("Output/Font",QFont(DEF_FONT_FAMILY,DEF_FONT_SIZE)).value<QFont>());
     769                hilight.setHsv(color.hue(), color.saturation(), color.value() / 2);
     770
     771        solutionText->document()->setDefaultStyleSheet(QString("* {color: %1;}").arg(color.name()));
     772        fmt_default.setForeground(QBrush(color));
     773
     774        fmt_selected.setForeground(QBrush(settings->value("Output/Colors/Selected", DEF_SELECTED_COLOR).value<QColor>()));
     775        fmt_selected.setFontWeight(QFont::Bold);
     776
     777        fmt_alternate.setForeground(QBrush(settings->value("Output/Colors/Alternate", DEF_ALTERNATE_COLOR).value<QColor>()));
     778        fmt_alternate.setFontWeight(QFont::Bold);
     779        fmt_altlist.setForeground(QBrush(hilight));
     780
     781        solutionText->setTextColor(color);
    711782}
    712783
     
    811882}
    812883
    813 QString MainWindow::outputMatrix(const TMatrix &matrix) const
     884void MainWindow::outputMatrix(QTextCursor &cur, const TMatrix &matrix)
    814885{
    815886int n = spinCities->value();
    816 QString output(""), line;
    817         output.append("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
     887QTextTable *table = cur.insertTable(n, n, fmt_table);
     888
    818889        for (int r = 0; r < n; r++) {
    819                 line = "<tr>";
    820890                for (int c = 0; c < n; c++) {
     891                        cur = table->cellAt(r, c).firstCursorPosition();
     892                        cur.setBlockFormat(fmt_center);
     893                        cur.setBlockCharFormat(fmt_default);
    821894                        if (matrix.at(r).at(c) == INFINITY)
    822                                 line += "<td align=\"center\">"INFSTR"</td>";
     895                                cur.insertText(INFSTR);
    823896                        else
    824                                 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());
    825                 }
    826                 line += "</tr>";
    827                 output.append(line);
    828         }
    829         output.append("</table>");
    830         return output;
    831 }
    832 
    833 QString MainWindow::outputMatrix(const SStep &step) const
     897                                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()));
     898                }
     899                QApplication::processEvents();
     900        }
     901        cur.movePosition(QTextCursor::End);
     902}
     903
     904void MainWindow::outputMatrix(QTextCursor &cur, const SStep &step)
    834905{
    835906int n = spinCities->value();
    836 QString output(""), line;
    837         output.append("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
     907QTextTable *table = cur.insertTable(n, n, fmt_table);
     908
    838909        for (int r = 0; r < n; r++) {
    839                 line = "<tr>";
    840910                for (int c = 0; c < n; c++) {
     911                        cur = table->cellAt(r, c).firstCursorPosition();
     912                        cur.setBlockFormat(fmt_center);
    841913                        if (step.matrix.at(r).at(c) == INFINITY)
    842                                 line += "<td align=\"center\">"INFSTR"</td>";
     914                                cur.insertText(INFSTR, fmt_default);
    843915                        else if ((r == step.candidate.nRow) && (c == step.candidate.nCol))
    844                                 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());
     916                                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);
    845917                        else {
    846918SCandidate cand;
     
    848920                                cand.nCol = c;
    849921                                if (step.alts.contains(cand))
    850                                         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());
     922                                        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);
    851923                                else
    852                                         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());
     924                                        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);
    853925                        }
    854926                }
    855                 line += "</tr>";
    856                 output.append(line);
    857         }
    858         output.append("</table>");
    859         return output;
     927                QApplication::processEvents();
     928        }
     929
     930        cur.movePosition(QTextCursor::End);
    860931}
    861932
     
    9581029#endif // Q_OS_WINCE_WM
    9591030
    960         solutionText->document()->setDefaultFont(settings->value("Output/Font",QFont(DEF_FONT_FAMILY,DEF_FONT_SIZE)).value<QFont>());
    961         solutionText->setTextColor(settings->value("Output/Color",DEF_FONT_COLOR).value<QColor>());
     1031        solutionText->document()->setDefaultFont(settings->value("Output/Font", QFont(DEF_FONT_FAMILY, DEF_FONT_SIZE)).value<QFont>());
    9621032        solutionText->setWordWrapMode(QTextOption::WordWrap);
    9631033
  • src/mainwindow.h

    ra23f4c292f r317ba0432e  
    101101#endif // Q_OS_WINCE_WM
    102102
     103        // Formats
     104        QTextTableFormat fmt_table;
     105        QTextBlockFormat fmt_paragraph,
     106                fmt_center;
     107        QTextCharFormat fmt_default,
     108                fmt_selected,
     109                fmt_alternate,
     110                fmt_altlist;
     111
    103112        void closeEvent(QCloseEvent *ev);
    104113        bool hasUpdater() const;
     
    107116        bool loadLanguage(const QString &lang = QString());
    108117        bool maybeSave();
    109         QString outputMatrix(const TMatrix &matrix) const;
    110         QString outputMatrix(const SStep &step) const;
     118        void outputMatrix(QTextCursor &cur, const TMatrix &matrix);
     119        void outputMatrix(QTextCursor &cur, const SStep &step);
    111120        void retranslateUi(bool all = true);
    112121        bool saveTask();
  • src/settingsdialog.cpp

    ra23f4c292f r317ba0432e  
    4141        buttonBox->button(QDialogButtonBox::Cancel)->setStatusTip(tr("Close without saving preferences"));
    4242        buttonBox->button(QDialogButtonBox::Cancel)->setCursor(QCursor(Qt::PointingHandCursor));
     43
     44QPalette p = bgWhite->palette();
     45        p.setColor(QPalette::Window, p.color(QPalette::Base));
     46        bgWhite->setPalette(p);
     47
     48        p = lineHorizontal->palette();
     49        p.setColor(QPalette::Window, p.color(QPalette::Text));
     50        lineHorizontal->setPalette(p);
    4351
    4452#ifdef HANDHELD
     
    195203
    196204        font = settings->value("Font",QFont(DEF_FONT_FAMILY,DEF_FONT_SIZE)).value<QFont>();
    197         color = settings->value("Color",DEF_FONT_COLOR).value<QColor>();
     205        color = settings->value("Colors/Text", DEF_TEXT_COLOR).value<QColor>();
    198206        settings->endGroup();
    199207
     
    239247                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) {
    240248                        _newFont = (font != QFont(DEF_FONT_FAMILY, DEF_FONT_SIZE));
    241                         _newColor = (color != DEF_FONT_COLOR);
     249                        _newColor = (color != DEF_TEXT_COLOR);
    242250                        settings->remove("");
    243251                        settings->setValue("SettingsReset", true);
     
    280288                settings->setValue("Font", font);
    281289        if (_newColor)
    282                 settings->setValue("Color", color);
     290                settings->setValue("Colors/Text", color);
    283291        settings->endGroup();
    284292        QDialog::accept();
  • tspsg.pro

    ra23f4c292f r317ba0432e  
    1818BUILD_VERSION_MAJOR = 0
    1919BUILD_VERSION_MINOR = 1
    20 BUILD_RELEASE = 2
     20BUILD_RELEASE = 3
    2121
    2222# These are only defined on releases
    23 DEFINES += TSPSG_RELEASE_BUILD
    24 !symbian {
    25         DEFINES += BUILD_STATUS="\"(alpha 2)\""
    26 } else {
    27         # Symbian doesn't handle spaces in defines well
    28         DEFINES += BUILD_STATUS="(alpha2)"
    29 }
     23#DEFINES += TSPSG_RELEASE_BUILD
     24#!symbian {
     25#      DEFINES += BUILD_STATUS="\"(alpha 2)\""
     26#} else {
     27#      # Symbian doesn't handle spaces in defines well
     28#      DEFINES += BUILD_STATUS="(alpha2)"
     29#}
    3030
    31 #REVISION = $$system(svnversion)
    32 #REVISION = $$replace(REVISION,"M","")
    33 REVISION = 100
     31#REVISION = 100
     32REVISION = $$system(svnversion)
     33REVISION = $$replace(REVISION,"M","")
    3434VERSION = $$sprintf("%1.%2.%3.%4",$$BUILD_VERSION_MAJOR,$$BUILD_VERSION_MINOR,$$BUILD_RELEASE,$$REVISION)
    3535
     
    6262        DESTDIR = debug
    6363        DEFINES += DEBUG
     64#       CONFIG += console
    6465        D = d
    6566}
     
    7879l10n.files = l10n/*.qm
    7980#share.files =
    80 docs.files = COPYING README
     81docs.files = COPYING README.txt
    8182INSTALLS += target l10n share docs
    8283
     
    156157        docs.sources = $$docs.files
    157158        docs.pkg_prerules = \
    158                 "\"README\" - \"\", FILETEXT, TEXTCONTINUE" \
     159                "\"README.txt\" - \"\", FILETEXT, TEXTCONTINUE" \
    159160                "\"COPYING\" - \"\", FILETEXT, TEXTEXIT"
    160161        DEPLOYMENT += share l10n docs
  • ui/mainwindow.ui

    ra23f4c292f r317ba0432e  
    182182           <property name="statusTip">
    183183                <string>Solution steps</string>
     184           </property>
     185           <property name="undoRedoEnabled">
     186                <bool>false</bool>
    184187           </property>
    185188           <property name="readOnly">
  • ui/settingsdialog.ui

    ra23f4c292f r317ba0432e  
    99  <property name="windowIcon">
    1010   <iconset resource="../resources/tspsg.qrc">
    11     <normaloff>:/images/icons/preferences_system.png</normaloff>:/images/icons/preferences_system.png</iconset>
     11        <normaloff>:/images/icons/preferences_system.png</normaloff>:/images/icons/preferences_system.png</iconset>
    1212  </property>
    1313  <widget class="QWidget" name="bgGrey" native="true">
    1414   <property name="sizePolicy">
    15     <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
    16      <horstretch>0</horstretch>
    17      <verstretch>0</verstretch>
    18     </sizepolicy>
    19    </property>
    20    <property name="palette">
    21     <palette>
    22      <active>
    23       <colorrole role="Window">
    24        <brush brushstyle="SolidPattern">
    25         <color alpha="255">
    26          <red>240</red>
    27          <green>240</green>
    28          <blue>240</blue>
    29         </color>
    30        </brush>
    31       </colorrole>
    32      </active>
    33      <inactive>
    34       <colorrole role="Window">
    35        <brush brushstyle="SolidPattern">
    36         <color alpha="255">
    37          <red>240</red>
    38          <green>240</green>
    39          <blue>240</blue>
    40         </color>
    41        </brush>
    42       </colorrole>
    43      </inactive>
    44      <disabled>
    45       <colorrole role="Window">
    46        <brush brushstyle="SolidPattern">
    47         <color alpha="255">
    48          <red>240</red>
    49          <green>240</green>
    50          <blue>240</blue>
    51         </color>
    52        </brush>
    53       </colorrole>
    54      </disabled>
    55     </palette>
     15        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
     16         <horstretch>0</horstretch>
     17         <verstretch>0</verstretch>
     18        </sizepolicy>
    5619   </property>
    5720   <property name="autoFillBackground">
    58     <bool>true</bool>
     21        <bool>true</bool>
    5922   </property>
    6023   <layout class="QVBoxLayout" name="_2">
    61     <property name="spacing">
    62     <number>0</number>
    63     </property>
    64     <property name="margin">
    65     <number>0</number>
    66     </property>
    67     <item>
    68     <widget class="Line" name="lineHorizontal">
    69       <property name="maximumSize">
    70        <size>
    71         <width>16777215</width>
    72         <height>2</height>
    73        </size>
    74       </property>
    75       <property name="frameShadow">
    76        <enum>QFrame::Plain</enum>
    77       </property>
    78       <property name="lineWidth">
    79        <number>2</number>
    80       </property>
    81       <property name="orientation">
    82        <enum>Qt::Horizontal</enum>
    83       </property>
    84     </widget>
    85     </item>
    86     <item>
    87     <layout class="QHBoxLayout" name="buttons">
    88       <property name="spacing">
    89        <number>6</number>
    90       </property>
    91       <property name="margin">
    92        <number>6</number>
    93       </property>
    94       <item>
    95        <widget class="QToolButton" name="buttonHelp">
    96         <property name="enabled">
    97         <bool>false</bool>
    98         </property>
    99         <property name="cursor">
    100         <cursorShape>PointingHandCursor</cursorShape>
    101         </property>
    102         <property name="toolTip">
    103         <string>Help</string>
    104         </property>
    105         <property name="statusTip">
    106         <string>Get preferences help</string>
    107         </property>
    108         <property name="text">
    109         <string>Help</string>
    110         </property>
    111         <property name="icon">
    112         <iconset resource="../resources/tspsg.qrc">
    113           <normaloff>:/images/icons/help_hint.png</normaloff>:/images/icons/help_hint.png</iconset>
    114         </property>
    115         <property name="autoRaise">
    116         <bool>true</bool>
    117         </property>
    118        </widget>
    119       </item>
    120       <item>
    121        <widget class="QDialogButtonBox" name="buttonBox">
    122         <property name="standardButtons">
    123         <set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
    124         </property>
    125        </widget>
    126       </item>
    127     </layout>
    128     </item>
     24        <property name="spacing">
     25        <number>0</number>
     26        </property>
     27        <property name="margin">
     28        <number>0</number>
     29        </property>
     30        <item>
     31        <widget class="Line" name="lineHorizontal">
     32          <property name="maximumSize">
     33           <size>
     34                <width>16777215</width>
     35                <height>2</height>
     36           </size>
     37          </property>
     38          <property name="frameShadow">
     39           <enum>QFrame::Plain</enum>
     40          </property>
     41          <property name="lineWidth">
     42           <number>2</number>
     43          </property>
     44          <property name="orientation">
     45           <enum>Qt::Horizontal</enum>
     46          </property>
     47        </widget>
     48        </item>
     49        <item>
     50        <layout class="QHBoxLayout" name="buttons">
     51          <property name="spacing">
     52           <number>6</number>
     53          </property>
     54          <property name="margin">
     55           <number>6</number>
     56          </property>
     57          <item>
     58           <widget class="QToolButton" name="buttonHelp">
     59                <property name="enabled">
     60                <bool>false</bool>
     61                </property>
     62                <property name="cursor">
     63                <cursorShape>PointingHandCursor</cursorShape>
     64                </property>
     65                <property name="toolTip">
     66                <string>Help</string>
     67                </property>
     68                <property name="statusTip">
     69                <string>Get preferences help</string>
     70                </property>
     71                <property name="text">
     72                <string>Help</string>
     73                </property>
     74                <property name="icon">
     75                <iconset resource="../resources/tspsg.qrc">
     76                  <normaloff>:/images/icons/help_hint.png</normaloff>:/images/icons/help_hint.png</iconset>
     77                </property>
     78                <property name="autoRaise">
     79                <bool>true</bool>
     80                </property>
     81           </widget>
     82          </item>
     83          <item>
     84           <widget class="QDialogButtonBox" name="buttonBox">
     85                <property name="standardButtons">
     86                <set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
     87                </property>
     88           </widget>
     89          </item>
     90        </layout>
     91        </item>
    12992   </layout>
    13093  </widget>
    13194  <widget class="QWidget" name="bgWhite" native="true">
    132    <property name="palette">
    133     <palette>
    134      <active>
    135       <colorrole role="Window">
    136        <brush brushstyle="SolidPattern">
    137         <color alpha="255">
    138          <red>255</red>
    139          <green>255</green>
    140          <blue>255</blue>
    141         </color>
    142        </brush>
    143       </colorrole>
    144      </active>
    145      <inactive>
    146       <colorrole role="Window">
    147        <brush brushstyle="SolidPattern">
    148         <color alpha="255">
    149          <red>255</red>
    150          <green>255</green>
    151          <blue>255</blue>
    152         </color>
    153        </brush>
    154       </colorrole>
    155      </inactive>
    156      <disabled>
    157       <colorrole role="Window">
    158        <brush brushstyle="SolidPattern">
    159         <color alpha="255">
    160          <red>255</red>
    161          <green>255</green>
    162          <blue>255</blue>
    163         </color>
    164        </brush>
    165       </colorrole>
    166      </disabled>
    167     </palette>
    168    </property>
    16995   <property name="autoFillBackground">
    170     <bool>true</bool>
     96        <bool>true</bool>
    17197   </property>
    17298   <layout class="QHBoxLayout" name="_3">
    173     <item>
    174     <widget class="QTabWidget" name="tabWidget">
    175       <widget class="QWidget" name="tabGeneral">
    176        <attribute name="title">
    177         <string>General</string>
    178        </attribute>
    179        <attribute name="toolTip">
    180         <string>General TSPSG settings</string>
    181        </attribute>
    182        <layout class="QVBoxLayout" name="_4">
    183         <item>
    184         <widget class="QCheckBox" name="cbAutosize">
    185           <property name="cursor">
    186            <cursorShape>PointingHandCursor</cursorShape>
    187           </property>
    188           <property name="statusTip">
    189            <string>Automatically resize rows and columns to their contents</string>
    190           </property>
    191           <property name="text">
    192            <string>Autosize of rows and columns</string>
    193           </property>
    194         </widget>
    195         </item>
    196         <item>
    197         <widget class="QCheckBox" name="cbUseNativeDialogs">
    198           <property name="cursor">
    199            <cursorShape>PointingHandCursor</cursorShape>
    200           </property>
    201           <property name="statusTip">
    202            <string>Use native File Open and File Save dialogs (uncheck to use Qt's Dialogs)</string>
    203           </property>
    204           <property name="text">
    205            <string>Use native file dialogs</string>
    206           </property>
    207         </widget>
    208         </item>
    209         <item>
    210         <spacer name="spacer">
    211           <property name="orientation">
    212            <enum>Qt::Vertical</enum>
    213           </property>
    214           <property name="sizeHint" stdset="0">
    215            <size>
    216             <width>0</width>
    217             <height>0</height>
    218            </size>
    219           </property>
    220         </spacer>
    221         </item>
    222        </layout>
    223       </widget>
    224       <widget class="QWidget" name="tabTask">
    225        <attribute name="title">
    226         <string>Task</string>
    227        </attribute>
    228        <attribute name="toolTip">
    229         <string>Task generation and solving settings</string>
    230        </attribute>
    231        <layout class="QVBoxLayout" name="_9">
    232         <item>
    233         <layout class="QFormLayout" name="_5">
    234           <property name="fieldGrowthPolicy">
    235            <enum>QFormLayout::ExpandingFieldsGrow</enum>
    236           </property>
    237           <item row="0" column="0">
    238            <widget class="QLabel" name="labelFractionalAccuracy">
    239             <property name="text">
    240             <string>Fractional accuracy:</string>
    241             </property>
    242            </widget>
    243           </item>
    244           <item row="0" column="1">
    245            <widget class="QSpinBox" name="spinFractionalAccuracy">
    246             <property name="cursor">
    247             <cursorShape>PointingHandCursor</cursorShape>
    248             </property>
    249             <property name="statusTip">
    250             <string>Accuracy of the fractional values (in decimal places)</string>
    251             </property>
    252             <property name="maximum">
    253             <number>6</number>
    254             </property>
    255            </widget>
    256           </item>
    257         </layout>
    258         </item>
    259         <item>
    260         <widget class="QCheckBox" name="cbSymmetricMode">
    261           <property name="cursor">
    262            <cursorShape>PointingHandCursor</cursorShape>
    263           </property>
    264           <property name="statusTip">
    265            <string>In this mode the cost of travel from city 1 to city 2 and vice versa is the same</string>
    266           </property>
    267           <property name="text">
    268            <string>Symmetric mode</string>
    269           </property>
    270         </widget>
    271         </item>
    272         <item>
    273         <widget class="QGroupBox" name="gbTaskGeneration">
    274           <property name="title">
    275            <string>Task generation</string>
    276           </property>
    277           <layout class="QVBoxLayout" name="_7">
    278            <item>
    279             <layout class="QFormLayout" name="_8">
    280             <property name="fieldGrowthPolicy">
    281               <enum>QFormLayout::ExpandingFieldsGrow</enum>
    282             </property>
    283             <item row="0" column="0">
    284               <widget class="QLabel" name="labelRandMin">
    285                <property name="text">
    286                 <string>Minimal random:</string>
    287                </property>
    288                <property name="buddy">
    289                 <cstring>spinRandMin</cstring>
    290                </property>
    291               </widget>
    292             </item>
    293             <item row="0" column="1">
    294               <widget class="QSpinBox" name="spinRandMin">
    295                <property name="cursor">
    296                 <cursorShape>PointingHandCursor</cursorShape>
    297                </property>
    298                <property name="statusTip">
    299                 <string>Minimum for random number generation</string>
    300                </property>
    301               </widget>
    302             </item>
    303             <item row="1" column="0">
    304               <widget class="QLabel" name="labelRandMax">
    305                <property name="text">
    306                 <string>Maximal random:</string>
    307                </property>
    308                <property name="buddy">
    309                 <cstring>spinRandMax</cstring>
    310                </property>
    311               </widget>
    312             </item>
    313             <item row="1" column="1">
    314               <widget class="QSpinBox" name="spinRandMax">
    315                <property name="cursor">
    316                 <cursorShape>PointingHandCursor</cursorShape>
    317                </property>
    318                <property name="statusTip">
    319                 <string>Maximum for random number generation</string>
    320                </property>
    321               </widget>
    322             </item>
    323             </layout>
    324            </item>
    325            <item>
    326             <widget class="QCheckBox" name="cbFractionalRandom">
    327             <property name="cursor">
    328               <cursorShape>PointingHandCursor</cursorShape>
    329             </property>
    330             <property name="statusTip">
    331               <string>Generate fractional random values with the Fractional accuracy</string>
    332             </property>
    333             <property name="text">
    334               <string>Fractional random values</string>
    335             </property>
    336             </widget>
    337            </item>
    338           </layout>
    339         </widget>
    340         </item>
    341         <item>
    342         <spacer name="spacer_2">
    343           <property name="orientation">
    344            <enum>Qt::Vertical</enum>
    345           </property>
    346           <property name="sizeHint" stdset="0">
    347            <size>
    348             <width>10</width>
    349             <height>0</height>
    350            </size>
    351           </property>
    352         </spacer>
    353         </item>
    354        </layout>
    355       </widget>
    356       <widget class="QWidget" name="tabOutput">
    357        <attribute name="title">
    358         <string>Output</string>
    359        </attribute>
    360        <attribute name="toolTip">
    361         <string>Solution output settings</string>
    362        </attribute>
    363        <layout class="QVBoxLayout" name="_6">
    364         <item>
    365         <widget class="QCheckBox" name="cbShowMatrix">
    366           <property name="cursor">
    367            <cursorShape>PointingHandCursor</cursorShape>
    368           </property>
    369           <property name="statusTip">
    370            <string>Show solution steps' matrices for every solution step</string>
    371           </property>
    372           <property name="text">
    373            <string>Show solution steps' matrices</string>
    374           </property>
    375         </widget>
    376         </item>
    377         <item>
    378         <layout class="QHBoxLayout" name="layoutCititesLimit">
    379           <property name="spacing">
    380            <number>0</number>
    381           </property>
    382           <item>
    383            <spacer name="spacer_3">
    384             <property name="orientation">
    385             <enum>Qt::Horizontal</enum>
    386             </property>
    387             <property name="sizeType">
    388             <enum>QSizePolicy::Fixed</enum>
    389             </property>
    390             <property name="sizeHint" stdset="0">
    391             <size>
    392               <width>10</width>
    393               <height>0</height>
    394             </size>
    395             </property>
    396            </spacer>
    397           </item>
    398           <item>
    399            <widget class="QCheckBox" name="cbCitiesLimit">
    400             <property name="cursor">
    401             <cursorShape>PointingHandCursor</cursorShape>
    402             </property>
    403             <property name="statusTip">
    404             <string>Show or hide solution steps' matrices based on number of cities in the task</string>
    405             </property>
    406             <property name="text">
    407             <string>Only when &lt;=</string>
    408             </property>
    409            </widget>
    410           </item>
    411           <item>
    412            <widget class="QSpinBox" name="spinCitiesLimit">
    413             <property name="statusTip">
    414             <string>Maximum number of cities to show solution steps' matrices</string>
    415             </property>
    416             <property name="suffix">
    417             <string comment="Don't forget a space at the beginning!"> cities</string>
    418             </property>
    419             <property name="minimum">
    420             <number>1</number>
    421             </property>
    422            </widget>
    423           </item>
    424           <item>
    425            <spacer name="spacer_4">
    426             <property name="orientation">
    427             <enum>Qt::Horizontal</enum>
    428             </property>
    429             <property name="sizeHint" stdset="0">
    430             <size>
    431               <width>0</width>
    432               <height>0</height>
    433             </size>
    434             </property>
    435            </spacer>
    436           </item>
    437         </layout>
    438         </item>
    439         <item>
    440         <widget class="QCheckBox" name="cbScrollToEnd">
    441           <property name="cursor">
    442            <cursorShape>PointingHandCursor</cursorShape>
    443           </property>
    444           <property name="statusTip">
    445            <string>Scroll to the end of solution output after solving</string>
    446           </property>
    447           <property name="text">
    448            <string>Scroll to solution end</string>
    449           </property>
    450         </widget>
    451         </item>
    452         <item>
    453         <layout class="QHBoxLayout" name="_11">
    454           <item>
    455            <widget class="QGroupBox" name="groupOutput">
    456             <property name="title">
    457             <string>Output font settings</string>
    458             </property>
    459             <layout class="QHBoxLayout" name="_13">
    460             <item>
    461               <widget class="QPushButton" name="buttonFont">
    462                <property name="cursor">
    463                 <cursorShape>PointingHandCursor</cursorShape>
    464                </property>
    465                <property name="statusTip">
    466                 <string>Font face for solution output</string>
    467                </property>
    468                <property name="text">
    469                 <string>&amp;Font...</string>
    470                </property>
    471                <property name="icon">
    472                 <iconset resource="../resources/tspsg.qrc">
    473                 <normaloff>:/images/icons/fonts.png</normaloff>:/images/icons/fonts.png</iconset>
    474                </property>
    475               </widget>
    476             </item>
    477             <item>
    478               <widget class="QPushButton" name="buttonColor">
    479                <property name="cursor">
    480                 <cursorShape>PointingHandCursor</cursorShape>
    481                </property>
    482                <property name="statusTip">
    483                 <string>Font color for solution output</string>
    484                </property>
    485                <property name="text">
    486                 <string>&amp;Color...</string>
    487                </property>
    488                <property name="icon">
    489                 <iconset resource="../resources/tspsg.qrc">
    490                 <normaloff>:/images/icons/color_line.png</normaloff>:/images/icons/color_line.png</iconset>
    491                </property>
    492               </widget>
    493             </item>
    494             <item>
    495               <spacer name="spacer_5">
    496                <property name="orientation">
    497                 <enum>Qt::Horizontal</enum>
    498                </property>
    499                <property name="sizeHint" stdset="0">
    500                 <size>
    501                 <width>0</width>
    502                 <height>0</height>
    503                 </size>
    504                </property>
    505               </spacer>
    506             </item>
    507             </layout>
    508            </widget>
    509           </item>
    510         </layout>
    511         </item>
    512         <item>
    513         <spacer name="spacer_6">
    514           <property name="orientation">
    515            <enum>Qt::Vertical</enum>
    516           </property>
    517           <property name="sizeHint" stdset="0">
    518            <size>
    519             <width>0</width>
    520             <height>0</height>
    521            </size>
    522           </property>
    523         </spacer>
    524         </item>
    525        </layout>
    526       </widget>
    527     </widget>
    528     </item>
     99        <item>
     100        <widget class="QTabWidget" name="tabWidget">
     101          <widget class="QWidget" name="tabGeneral">
     102           <attribute name="title">
     103                <string>General</string>
     104           </attribute>
     105           <attribute name="toolTip">
     106                <string>General TSPSG settings</string>
     107           </attribute>
     108           <layout class="QVBoxLayout" name="_4">
     109                <item>
     110                <widget class="QCheckBox" name="cbAutosize">
     111                  <property name="cursor">
     112                   <cursorShape>PointingHandCursor</cursorShape>
     113                  </property>
     114                  <property name="statusTip">
     115                   <string>Automatically resize rows and columns to their contents</string>
     116                  </property>
     117                  <property name="text">
     118                   <string>Autosize of rows and columns</string>
     119                  </property>
     120                </widget>
     121                </item>
     122                <item>
     123                <widget class="QCheckBox" name="cbUseNativeDialogs">
     124                  <property name="cursor">
     125                   <cursorShape>PointingHandCursor</cursorShape>
     126                  </property>
     127                  <property name="statusTip">
     128                   <string>Use native File Open and File Save dialogs (uncheck to use Qt's Dialogs)</string>
     129                  </property>
     130                  <property name="text">
     131                   <string>Use native file dialogs</string>
     132                  </property>
     133                </widget>
     134                </item>
     135                <item>
     136                <spacer name="spacer">
     137                  <property name="orientation">
     138                   <enum>Qt::Vertical</enum>
     139                  </property>
     140                  <property name="sizeHint" stdset="0">
     141                   <size>
     142                        <width>0</width>
     143                        <height>0</height>
     144                   </size>
     145                  </property>
     146                </spacer>
     147                </item>
     148           </layout>
     149          </widget>
     150          <widget class="QWidget" name="tabTask">
     151           <attribute name="title">
     152                <string>Task</string>
     153           </attribute>
     154           <attribute name="toolTip">
     155                <string>Task generation and solving settings</string>
     156           </attribute>
     157           <layout class="QVBoxLayout" name="_9">
     158                <item>
     159                <layout class="QFormLayout" name="_5">
     160                  <property name="fieldGrowthPolicy">
     161                   <enum>QFormLayout::ExpandingFieldsGrow</enum>
     162                  </property>
     163                  <item row="0" column="0">
     164                   <widget class="QLabel" name="labelFractionalAccuracy">
     165                        <property name="text">
     166                        <string>Fractional accuracy:</string>
     167                        </property>
     168                   </widget>
     169                  </item>
     170                  <item row="0" column="1">
     171                   <widget class="QSpinBox" name="spinFractionalAccuracy">
     172                        <property name="cursor">
     173                        <cursorShape>PointingHandCursor</cursorShape>
     174                        </property>
     175                        <property name="statusTip">
     176                        <string>Accuracy of the fractional values (in decimal places)</string>
     177                        </property>
     178                        <property name="maximum">
     179                        <number>6</number>
     180                        </property>
     181                   </widget>
     182                  </item>
     183                </layout>
     184                </item>
     185                <item>
     186                <widget class="QCheckBox" name="cbSymmetricMode">
     187                  <property name="cursor">
     188                   <cursorShape>PointingHandCursor</cursorShape>
     189                  </property>
     190                  <property name="statusTip">
     191                   <string>In this mode the cost of travel from city 1 to city 2 and vice versa is the same</string>
     192                  </property>
     193                  <property name="text">
     194                   <string>Symmetric mode</string>
     195                  </property>
     196                </widget>
     197                </item>
     198                <item>
     199                <widget class="QGroupBox" name="gbTaskGeneration">
     200                  <property name="title">
     201                   <string>Task generation</string>
     202                  </property>
     203                  <layout class="QVBoxLayout" name="_7">
     204                   <item>
     205                        <layout class="QFormLayout" name="_8">
     206                        <property name="fieldGrowthPolicy">
     207                          <enum>QFormLayout::ExpandingFieldsGrow</enum>
     208                        </property>
     209                        <item row="0" column="0">
     210                          <widget class="QLabel" name="labelRandMin">
     211                           <property name="text">
     212                                <string>Minimal random:</string>
     213                           </property>
     214                           <property name="buddy">
     215                                <cstring>spinRandMin</cstring>
     216                           </property>
     217                          </widget>
     218                        </item>
     219                        <item row="0" column="1">
     220                          <widget class="QSpinBox" name="spinRandMin">
     221                           <property name="cursor">
     222                                <cursorShape>PointingHandCursor</cursorShape>
     223                           </property>
     224                           <property name="statusTip">
     225                                <string>Minimum for random number generation</string>
     226                           </property>
     227                          </widget>
     228                        </item>
     229                        <item row="1" column="0">
     230                          <widget class="QLabel" name="labelRandMax">
     231                           <property name="text">
     232                                <string>Maximal random:</string>
     233                           </property>
     234                           <property name="buddy">
     235                                <cstring>spinRandMax</cstring>
     236                           </property>
     237                          </widget>
     238                        </item>
     239                        <item row="1" column="1">
     240                          <widget class="QSpinBox" name="spinRandMax">
     241                           <property name="cursor">
     242                                <cursorShape>PointingHandCursor</cursorShape>
     243                           </property>
     244                           <property name="statusTip">
     245                                <string>Maximum for random number generation</string>
     246                           </property>
     247                          </widget>
     248                        </item>
     249                        </layout>
     250                   </item>
     251                   <item>
     252                        <widget class="QCheckBox" name="cbFractionalRandom">
     253                        <property name="cursor">
     254                          <cursorShape>PointingHandCursor</cursorShape>
     255                        </property>
     256                        <property name="statusTip">
     257                          <string>Generate fractional random values with the Fractional accuracy</string>
     258                        </property>
     259                        <property name="text">
     260                          <string>Fractional random values</string>
     261                        </property>
     262                        </widget>
     263                   </item>
     264                  </layout>
     265                </widget>
     266                </item>
     267                <item>
     268                <spacer name="spacer_2">
     269                  <property name="orientation">
     270                   <enum>Qt::Vertical</enum>
     271                  </property>
     272                  <property name="sizeHint" stdset="0">
     273                   <size>
     274                        <width>10</width>
     275                        <height>0</height>
     276                   </size>
     277                  </property>
     278                </spacer>
     279                </item>
     280           </layout>
     281          </widget>
     282          <widget class="QWidget" name="tabOutput">
     283           <attribute name="title">
     284                <string>Output</string>
     285           </attribute>
     286           <attribute name="toolTip">
     287                <string>Solution output settings</string>
     288           </attribute>
     289           <layout class="QVBoxLayout" name="_6">
     290                <item>
     291                <widget class="QCheckBox" name="cbShowMatrix">
     292                  <property name="cursor">
     293                   <cursorShape>PointingHandCursor</cursorShape>
     294                  </property>
     295                  <property name="statusTip">
     296                   <string>Show solution steps' matrices for every solution step</string>
     297                  </property>
     298                  <property name="text">
     299                   <string>Show solution steps' matrices</string>
     300                  </property>
     301                </widget>
     302                </item>
     303                <item>
     304                <layout class="QHBoxLayout" name="layoutCititesLimit">
     305                  <property name="spacing">
     306                   <number>0</number>
     307                  </property>
     308                  <item>
     309                   <spacer name="spacer_3">
     310                        <property name="orientation">
     311                        <enum>Qt::Horizontal</enum>
     312                        </property>
     313                        <property name="sizeType">
     314                        <enum>QSizePolicy::Fixed</enum>
     315                        </property>
     316                        <property name="sizeHint" stdset="0">
     317                        <size>
     318                          <width>10</width>
     319                          <height>0</height>
     320                        </size>
     321                        </property>
     322                   </spacer>
     323                  </item>
     324                  <item>
     325                   <widget class="QCheckBox" name="cbCitiesLimit">
     326                        <property name="cursor">
     327                        <cursorShape>PointingHandCursor</cursorShape>
     328                        </property>
     329                        <property name="statusTip">
     330                        <string>Show or hide solution steps' matrices based on number of cities in the task</string>
     331                        </property>
     332                        <property name="text">
     333                        <string>Only when &lt;=</string>
     334                        </property>
     335                   </widget>
     336                  </item>
     337                  <item>
     338                   <widget class="QSpinBox" name="spinCitiesLimit">
     339                        <property name="statusTip">
     340                        <string>Maximum number of cities to show solution steps' matrices</string>
     341                        </property>
     342                        <property name="suffix">
     343                        <string comment="Don't forget a space at the beginning!"> cities</string>
     344                        </property>
     345                        <property name="minimum">
     346                        <number>1</number>
     347                        </property>
     348                   </widget>
     349                  </item>
     350                  <item>
     351                   <spacer name="spacer_4">
     352                        <property name="orientation">
     353                        <enum>Qt::Horizontal</enum>
     354                        </property>
     355                        <property name="sizeHint" stdset="0">
     356                        <size>
     357                          <width>0</width>
     358                          <height>0</height>
     359                        </size>
     360                        </property>
     361                   </spacer>
     362                  </item>
     363                </layout>
     364                </item>
     365                <item>
     366                <widget class="QCheckBox" name="cbScrollToEnd">
     367                  <property name="cursor">
     368                   <cursorShape>PointingHandCursor</cursorShape>
     369                  </property>
     370                  <property name="statusTip">
     371                   <string>Scroll to the end of solution output after solving</string>
     372                  </property>
     373                  <property name="text">
     374                   <string>Scroll to solution end</string>
     375                  </property>
     376                </widget>
     377                </item>
     378                <item>
     379                <layout class="QHBoxLayout" name="_11">
     380                  <item>
     381                   <widget class="QGroupBox" name="groupOutput">
     382                        <property name="title">
     383                        <string>Output font settings</string>
     384                        </property>
     385                        <layout class="QHBoxLayout" name="_13">
     386                        <item>
     387                          <widget class="QPushButton" name="buttonFont">
     388                           <property name="cursor">
     389                                <cursorShape>PointingHandCursor</cursorShape>
     390                           </property>
     391                           <property name="statusTip">
     392                                <string>Font face for solution output</string>
     393                           </property>
     394                           <property name="text">
     395                                <string>&amp;Font...</string>
     396                           </property>
     397                           <property name="icon">
     398                                <iconset resource="../resources/tspsg.qrc">
     399                                <normaloff>:/images/icons/fonts.png</normaloff>:/images/icons/fonts.png</iconset>
     400                           </property>
     401                          </widget>
     402                        </item>
     403                        <item>
     404                          <widget class="QPushButton" name="buttonColor">
     405                           <property name="cursor">
     406                                <cursorShape>PointingHandCursor</cursorShape>
     407                           </property>
     408                           <property name="statusTip">
     409                                <string>Font color for solution output</string>
     410                           </property>
     411                           <property name="text">
     412                                <string>&amp;Color...</string>
     413                           </property>
     414                           <property name="icon">
     415                                <iconset resource="../resources/tspsg.qrc">
     416                                <normaloff>:/images/icons/color_line.png</normaloff>:/images/icons/color_line.png</iconset>
     417                           </property>
     418                          </widget>
     419                        </item>
     420                        <item>
     421                          <spacer name="spacer_5">
     422                           <property name="orientation">
     423                                <enum>Qt::Horizontal</enum>
     424                           </property>
     425                           <property name="sizeHint" stdset="0">
     426                                <size>
     427                                <width>0</width>
     428                                <height>0</height>
     429                                </size>
     430                           </property>
     431                          </spacer>
     432                        </item>
     433                        </layout>
     434                   </widget>
     435                  </item>
     436                </layout>
     437                </item>
     438                <item>
     439                <spacer name="spacer_6">
     440                  <property name="orientation">
     441                   <enum>Qt::Vertical</enum>
     442                  </property>
     443                  <property name="sizeHint" stdset="0">
     444                   <size>
     445                        <width>0</width>
     446                        <height>0</height>
     447                   </size>
     448                  </property>
     449                </spacer>
     450                </item>
     451           </layout>
     452          </widget>
     453        </widget>
     454        </item>
    529455   </layout>
    530456  </widget>
     
    540466   <slot>accept()</slot>
    541467   <hints>
    542     <hint type="sourcelabel">
    543     <x>190</x>
    544     <y>30</y>
    545     </hint>
    546     <hint type="destinationlabel">
    547     <x>306</x>
    548     <y>231</y>
    549     </hint>
     468        <hint type="sourcelabel">
     469        <x>190</x>
     470        <y>30</y>
     471        </hint>
     472        <hint type="destinationlabel">
     473        <x>306</x>
     474        <y>231</y>
     475        </hint>
    550476   </hints>
    551477  </connection>
     
    556482   <slot>reject()</slot>
    557483   <hints>
    558     <hint type="sourcelabel">
    559     <x>190</x>
    560     <y>30</y>
    561     </hint>
    562     <hint type="destinationlabel">
    563     <x>262</x>
    564     <y>245</y>
    565     </hint>
     484        <hint type="sourcelabel">
     485        <x>190</x>
     486        <y>30</y>
     487        </hint>
     488        <hint type="destinationlabel">
     489        <x>262</x>
     490        <y>245</y>
     491        </hint>
    566492   </hints>
    567493  </connection>
     
    572498   <slot>setEnabled(bool)</slot>
    573499   <hints>
    574     <hint type="sourcelabel">
    575     <x>80</x>
    576     <y>150</y>
    577     </hint>
    578     <hint type="destinationlabel">
    579     <x>91</x>
    580     <y>175</y>
    581     </hint>
     500        <hint type="sourcelabel">
     501        <x>80</x>
     502        <y>150</y>
     503        </hint>
     504        <hint type="destinationlabel">
     505        <x>91</x>
     506        <y>175</y>
     507        </hint>
    582508   </hints>
    583509  </connection>
     
    588514   <slot>setChecked(bool)</slot>
    589515   <hints>
    590     <hint type="sourcelabel">
    591     <x>80</x>
    592     <y>150</y>
    593     </hint>
    594     <hint type="destinationlabel">
    595     <x>91</x>
    596     <y>175</y>
    597     </hint>
     516        <hint type="sourcelabel">
     517        <x>80</x>
     518        <y>150</y>
     519        </hint>
     520        <hint type="destinationlabel">
     521        <x>91</x>
     522        <y>175</y>
     523        </hint>
    598524   </hints>
    599525  </connection>
     
    604530   <slot>setEnabled(bool)</slot>
    605531   <hints>
    606     <hint type="sourcelabel">
    607     <x>91</x>
    608     <y>175</y>
    609     </hint>
    610     <hint type="destinationlabel">
    611     <x>184</x>
    612     <y>174</y>
    613     </hint>
     532        <hint type="sourcelabel">
     533        <x>91</x>
     534        <y>175</y>
     535        </hint>
     536        <hint type="destinationlabel">
     537        <x>184</x>
     538        <y>174</y>
     539        </hint>
    614540   </hints>
    615541  </connection>
Note: See TracChangeset for help on using the changeset viewer.