Changeset 4ccf855df8 in tspsg


Ignore:
Timestamp:
Dec 22, 2009, 8:56:21 PM (15 years ago)
Author:
Oleksii Serdiuk
Branches:
0.1.3.145-beta1-symbian, 0.1.4.170-beta2-bb10, appveyor, imgbot, master, readme
Children:
f1fb54b9f7
Parents:
3bcb7e8910
Message:

+ Added Wait Cursor on city number change, because it can take some time (e.g. when changing from 5 to 50 cities).

  • Moved platform specific action definitions from .ui to source.
  • Changed random generation to include defined maximum (it was up to maximum previously).
  • Reverted from native to Qt open/save file dialog under WinCE, because it is more convenient than the native one.
  • English translation is now always loaded at application start before any other language is loaded. This is done to support plurals and some special characters that Qt translation system doesn't "like".
  • Updated translations to reflect recent changes.
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • i18n/en.ts

    r3bcb7e8910 r4ccf855df8  
    147147    <name>MainWindow</name>
    148148    <message>
    149         <location filename="../src/mainwindow.cpp" line="278"/>
    150         <location filename="../src/mainwindow.cpp" line="287"/>
     149        <location filename="../src/mainwindow.cpp" line="273"/>
     150        <location filename="../src/mainwindow.cpp" line="282"/>
    151151        <source>Language change</source>
    152152        <translation type="unfinished"></translation>
    153153    </message>
    154154    <message>
    155         <location filename="../src/mainwindow.cpp" line="624"/>
     155        <location filename="../src/mainwindow.cpp" line="627"/>
    156156        <source>Unable to load translation language.</source>
    157157        <translation type="unfinished"></translation>
    158158    </message>
    159159    <message>
    160         <location filename="../src/mainwindow.cpp" line="635"/>
     160        <location filename="../src/mainwindow.cpp" line="637"/>
    161161        <source>Would you like to save changes in current task?</source>
    162162        <translation type="unfinished"></translation>
     
    164164    <message>
    165165        <location filename="../ui/mainwindow.ui" line="15"/>
    166         <location filename="../src/mainwindow.cpp" line="714"/>
     166        <location filename="../src/mainwindow.cpp" line="746"/>
    167167        <source>Travelling Salesman Problem</source>
    168168        <translation type="unfinished"></translation>
    169169    </message>
    170170    <message>
    171         <location filename="../src/mainwindow.cpp" line="624"/>
     171        <location filename="../src/mainwindow.cpp" line="627"/>
    172172        <source>Language Change</source>
    173173        <translation type="unfinished"></translation>
    174174    </message>
    175175    <message>
    176         <location filename="../src/mainwindow.cpp" line="635"/>
     176        <location filename="../src/mainwindow.cpp" line="637"/>
    177177        <source>Unsaved Changes</source>
    178178        <translation type="unfinished"></translation>
    179179    </message>
    180180    <message>
    181         <location filename="../src/mainwindow.cpp" line="139"/>
     181        <location filename="../src/mainwindow.cpp" line="126"/>
    182182        <source>All Supported Formats</source>
    183183        <translation type="unfinished"></translation>
    184184    </message>
    185185    <message>
    186         <location filename="../src/mainwindow.cpp" line="140"/>
    187         <location filename="../src/mainwindow.cpp" line="141"/>
     186        <location filename="../src/mainwindow.cpp" line="127"/>
     187        <location filename="../src/mainwindow.cpp" line="128"/>
    188188        <source>%1 Task Files</source>
    189189        <translation type="unfinished"></translation>
    190190    </message>
    191191    <message>
    192         <location filename="../src/mainwindow.cpp" line="142"/>
    193         <location filename="../src/mainwindow.cpp" line="197"/>
    194         <location filename="../src/mainwindow.cpp" line="693"/>
     192        <location filename="../src/mainwindow.cpp" line="129"/>
     193        <location filename="../src/mainwindow.cpp" line="188"/>
     194        <location filename="../src/mainwindow.cpp" line="720"/>
    195195        <source>All Files</source>
    196196        <translation type="unfinished"></translation>
    197197    </message>
    198198    <message>
    199         <location filename="../src/mainwindow.cpp" line="191"/>
     199        <location filename="../src/mainwindow.cpp" line="182"/>
    200200        <source>PDF Files</source>
    201201        <translation type="unfinished"></translation>
    202202    </message>
    203203    <message>
    204         <location filename="../src/mainwindow.cpp" line="193"/>
     204        <location filename="../src/mainwindow.cpp" line="184"/>
    205205        <source>HTML Files</source>
    206206        <translation type="unfinished"></translation>
    207207    </message>
    208208    <message>
    209         <location filename="../src/mainwindow.cpp" line="195"/>
     209        <location filename="../src/mainwindow.cpp" line="186"/>
    210210        <source>OpenDocument Files</source>
    211211        <translation type="unfinished"></translation>
    212212    </message>
    213213    <message>
    214         <location filename="../src/mainwindow.cpp" line="428"/>
     214        <location filename="../src/mainwindow.cpp" line="426"/>
    215215        <source>Selected candidate for branching: %1.</source>
    216216        <translation type="unfinished"></translation>
    217217    </message>
    218218    <message>
    219         <location filename="../src/mainwindow.cpp" line="428"/>
     219        <location filename="../src/mainwindow.cpp" line="426"/>
     220        <location filename="../src/mainwindow.cpp" line="433"/>
     221        <source>(%1;%2)</source>
     222        <translation type="unfinished"></translation>
     223    </message>
     224    <message numerus="yes">
    220225        <location filename="../src/mainwindow.cpp" line="435"/>
    221         <source>(%1;%2)</source>
    222         <translation type="unfinished"></translation>
    223     </message>
    224     <message numerus="yes">
    225         <location filename="../src/mainwindow.cpp" line="437"/>
    226226        <source>%n alternate candidate(s) for branching: %1.</source>
    227227        <translation>
     
    230230        </translation>
    231231    </message>
    232     <message>
    233         <location filename="../src/mainwindow.cpp" line="692"/>
     232    <message numerus="yes">
     233        <location filename="../src/mainwindow.cpp" line="452"/>
     234        <source>The price is &lt;b&gt;%n&lt;/b&gt; unit(s).</source>
     235        <translation>
     236            <numerusform>The price is &lt;b&gt;%n&lt;/b&gt; unit.</numerusform>
     237            <numerusform>The price is &lt;b&gt;%n&lt;/b&gt; units.</numerusform>
     238        </translation>
     239    </message>
     240    <message>
     241        <location filename="../src/mainwindow.cpp" line="719"/>
    234242        <source>%1 Task File</source>
    235243        <translation type="unfinished"></translation>
    236244    </message>
    237245    <message>
    238         <location filename="../src/mainwindow.cpp" line="265"/>
     246        <location filename="../src/mainwindow.cpp" line="260"/>
    239247        <source>Settings Changed</source>
    240248        <translation type="unfinished"></translation>
    241249    </message>
    242250    <message>
    243         <location filename="../src/mainwindow.cpp" line="144"/>
     251        <location filename="../src/mainwindow.cpp" line="132"/>
     252        <location filename="../src/mainwindow.cpp" line="134"/>
    244253        <source>Task Load</source>
    245254        <translation type="unfinished"></translation>
    246255    </message>
    247256    <message>
    248         <location filename="../src/mainwindow.cpp" line="265"/>
     257        <location filename="../src/mainwindow.cpp" line="260"/>
    249258        <source>You have changed color settings.
    250259Do you wish to apply them to current solution text?</source>
     
    252261    </message>
    253262    <message>
    254         <location filename="../src/mainwindow.cpp" line="367"/>
     263        <location filename="../src/mainwindow.cpp" line="365"/>
    255264        <source>About TSPSG</source>
    256265        <translation type="unfinished"></translation>
    257266    </message>
    258267    <message>
    259         <location filename="../src/mainwindow.cpp" line="401"/>
     268        <location filename="../src/mainwindow.cpp" line="399"/>
    260269        <source>Data error</source>
    261270        <translation type="unfinished"></translation>
    262271    </message>
    263272    <message>
    264         <location filename="../src/mainwindow.cpp" line="401"/>
     273        <location filename="../src/mainwindow.cpp" line="399"/>
    265274        <source>Error in cell [Row %1; Column %2]: Invalid data format.</source>
    266275        <translation type="unfinished"></translation>
    267276    </message>
    268277    <message>
    269         <location filename="../src/mainwindow.cpp" line="414"/>
     278        <location filename="../src/mainwindow.cpp" line="412"/>
    270279        <source>Variant #%1</source>
    271280        <translation type="unfinished"></translation>
    272281    </message>
    273282    <message>
    274         <location filename="../src/mainwindow.cpp" line="415"/>
     283        <location filename="../src/mainwindow.cpp" line="413"/>
    275284        <source>Task:</source>
    276285        <translation type="unfinished"></translation>
    277286    </message>
    278287    <message>
    279         <location filename="../src/mainwindow.cpp" line="418"/>
    280         <location filename="../src/mainwindow.cpp" line="462"/>
     288        <location filename="../src/mainwindow.cpp" line="416"/>
     289        <location filename="../src/mainwindow.cpp" line="460"/>
    281290        <source>Solution of Variant #%1 task</source>
    282291        <translation type="unfinished"></translation>
    283292    </message>
    284293    <message>
    285         <location filename="../src/mainwindow.cpp" line="424"/>
     294        <location filename="../src/mainwindow.cpp" line="422"/>
    286295        <source>Step #%1</source>
    287296        <translation type="unfinished"></translation>
    288297    </message>
    289298    <message>
     299        <location filename="../src/mainwindow.cpp" line="448"/>
     300        <source>Optimal path:</source>
     301        <translation type="unfinished"></translation>
     302    </message>
     303    <message>
    290304        <location filename="../src/mainwindow.cpp" line="450"/>
    291         <source>Optimal path:</source>
    292         <translation type="unfinished"></translation>
    293     </message>
    294     <message>
    295         <location filename="../src/mainwindow.cpp" line="452"/>
    296305        <source>Resulting path:</source>
    297306        <translation type="unfinished"></translation>
    298307    </message>
    299308    <message>
    300         <location filename="../src/mainwindow.cpp" line="454"/>
    301         <source>The price is &lt;b&gt;%1&lt;/b&gt; units.</source>
    302         <translation type="unfinished"></translation>
    303     </message>
    304     <message>
    305         <location filename="../src/mainwindow.cpp" line="457"/>
     309        <location filename="../src/mainwindow.cpp" line="455"/>
    306310        <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>
    307311        <translation type="unfinished"></translation>
    308312    </message>
    309313    <message>
    310         <location filename="../src/mainwindow.cpp" line="700"/>
     314        <location filename="../src/mainwindow.cpp" line="728"/>
     315        <location filename="../src/mainwindow.cpp" line="730"/>
    311316        <source>Task Save</source>
    312317        <translation type="unfinished"></translation>
    313318    </message>
    314319    <message>
    315         <location filename="../src/mainwindow.cpp" line="278"/>
     320        <location filename="../src/mainwindow.cpp" line="273"/>
    316321        <source>Language will be autodetected on next application start.</source>
    317322        <translation type="unfinished"></translation>
    318323    </message>
    319324    <message>
    320         <location filename="../src/mainwindow.cpp" line="287"/>
     325        <location filename="../src/mainwindow.cpp" line="282"/>
    321326        <source>You have language autodetection turned on.
    322327It needs to be off.
     
    325330    </message>
    326331    <message>
    327         <location filename="../src/mainwindow.cpp" line="158"/>
    328         <location filename="../src/mainwindow.cpp" line="174"/>
    329         <location filename="../src/mainwindow.cpp" line="292"/>
    330         <location filename="../src/mainwindow.h" line="96"/>
     332        <location filename="../src/mainwindow.cpp" line="149"/>
     333        <location filename="../src/mainwindow.cpp" line="165"/>
     334        <location filename="../src/mainwindow.cpp" line="287"/>
     335        <location filename="../src/mainwindow.h" line="100"/>
    331336        <source>Untitled</source>
    332337        <translation type="unfinished"></translation>
     
    394399    <message>
    395400        <location filename="../ui/mainwindow.ui" line="222"/>
    396         <location filename="../ui/mainwindow.ui" line="425"/>
     401        <location filename="../ui/mainwindow.ui" line="377"/>
    397402        <source>Save solution to a file</source>
    398403        <translation type="unfinished"></translation>
     
    425430    </message>
    426431    <message>
    427         <location filename="../ui/mainwindow.ui" line="419"/>
    428         <source>Solution...</source>
    429         <translation type="unfinished"></translation>
    430     </message>
    431     <message>
    432         <location filename="../ui/mainwindow.ui" line="512"/>
     432        <location filename="../ui/mainwindow.ui" line="455"/>
    433433        <source>Context &amp;Help</source>
    434434        <translation type="unfinished"></translation>
    435435    </message>
    436436    <message>
    437         <location filename="../ui/mainwindow.ui" line="527"/>
     437        <location filename="../ui/mainwindow.ui" line="470"/>
    438438        <source>&amp;About TSPSG...</source>
    439439        <translation type="unfinished"></translation>
    440440    </message>
    441441    <message>
    442         <location filename="../ui/mainwindow.ui" line="530"/>
    443         <source>About TSPSG...</source>
    444         <translation type="unfinished"></translation>
    445     </message>
    446     <message>
    447         <location filename="../ui/mainwindow.ui" line="599"/>
     442        <location filename="../ui/mainwindow.ui" line="536"/>
    448443        <source>&amp;Save</source>
    449444        <translation type="unfinished"></translation>
     
    460455    </message>
    461456    <message>
     457        <location filename="../ui/mainwindow.ui" line="374"/>
     458        <source>Save solution</source>
     459        <translation type="unfinished"></translation>
     460    </message>
     461    <message>
     462        <location filename="../ui/mainwindow.ui" line="386"/>
     463        <source>&amp;New</source>
     464        <translation type="unfinished"></translation>
     465    </message>
     466    <message>
     467        <location filename="../ui/mainwindow.ui" line="389"/>
     468        <source>New task</source>
     469        <translation type="unfinished"></translation>
     470    </message>
     471    <message>
     472        <location filename="../ui/mainwindow.ui" line="392"/>
     473        <source>Create new task</source>
     474        <translation type="unfinished"></translation>
     475    </message>
     476    <message>
     477        <location filename="../ui/mainwindow.ui" line="395"/>
     478        <source>Ctrl+N</source>
     479        <translation type="unfinished"></translation>
     480    </message>
     481    <message>
     482        <location filename="../ui/mainwindow.ui" line="404"/>
     483        <source>&amp;Open...</source>
     484        <translation type="unfinished"></translation>
     485    </message>
     486    <message>
     487        <location filename="../ui/mainwindow.ui" line="407"/>
     488        <source>Open task</source>
     489        <translation type="unfinished"></translation>
     490    </message>
     491    <message>
     492        <location filename="../ui/mainwindow.ui" line="410"/>
     493        <source>Open saved task</source>
     494        <translation type="unfinished"></translation>
     495    </message>
     496    <message>
     497        <location filename="../ui/mainwindow.ui" line="413"/>
     498        <source>Ctrl+O</source>
     499        <translation type="unfinished"></translation>
     500    </message>
     501    <message>
    462502        <location filename="../ui/mainwindow.ui" line="422"/>
    463         <source>Save solution</source>
    464         <translation type="unfinished"></translation>
    465     </message>
    466     <message>
    467         <location filename="../ui/mainwindow.ui" line="434"/>
    468         <source>&amp;New</source>
     503        <source>&amp;Preferences...</source>
     504        <translation type="unfinished"></translation>
     505    </message>
     506    <message>
     507        <location filename="../ui/mainwindow.ui" line="425"/>
     508        <source>Application preferences</source>
    469509        <translation type="unfinished"></translation>
    470510    </message>
    471511    <message>
    472512        <location filename="../ui/mainwindow.ui" line="437"/>
    473         <source>New</source>
     513        <source>&amp;Contents</source>
    474514        <translation type="unfinished"></translation>
    475515    </message>
    476516    <message>
    477517        <location filename="../ui/mainwindow.ui" line="440"/>
    478         <source>New task</source>
     518        <source>Open help contents</source>
    479519        <translation type="unfinished"></translation>
    480520    </message>
    481521    <message>
    482522        <location filename="../ui/mainwindow.ui" line="443"/>
    483         <source>Create new task</source>
    484         <translation type="unfinished"></translation>
    485     </message>
    486     <message>
    487         <location filename="../ui/mainwindow.ui" line="446"/>
    488         <source>Ctrl+N</source>
    489         <translation type="unfinished"></translation>
    490     </message>
    491     <message>
    492         <location filename="../ui/mainwindow.ui" line="455"/>
    493         <source>&amp;Open...</source>
     523        <source>Ctrl+F1</source>
    494524        <translation type="unfinished"></translation>
    495525    </message>
    496526    <message>
    497527        <location filename="../ui/mainwindow.ui" line="458"/>
    498         <source>Open...</source>
     528        <source>Open context help</source>
    499529        <translation type="unfinished"></translation>
    500530    </message>
    501531    <message>
    502532        <location filename="../ui/mainwindow.ui" line="461"/>
    503         <source>Open task</source>
    504         <translation type="unfinished"></translation>
    505     </message>
    506     <message>
    507         <location filename="../ui/mainwindow.ui" line="464"/>
    508         <source>Open saved task</source>
    509         <translation type="unfinished"></translation>
    510     </message>
    511     <message>
    512         <location filename="../ui/mainwindow.ui" line="467"/>
    513         <source>Ctrl+O</source>
    514         <translation type="unfinished"></translation>
    515     </message>
    516     <message>
    517         <location filename="../ui/mainwindow.ui" line="476"/>
    518         <source>&amp;Preferences...</source>
    519         <translation type="unfinished"></translation>
    520     </message>
    521     <message>
    522         <location filename="../ui/mainwindow.ui" line="479"/>
    523         <source>Preferences...</source>
     533        <source>F1</source>
     534        <translation type="unfinished"></translation>
     535    </message>
     536    <message>
     537        <location filename="../ui/mainwindow.ui" line="473"/>
     538        <source>About application</source>
    524539        <translation type="unfinished"></translation>
    525540    </message>
    526541    <message>
    527542        <location filename="../ui/mainwindow.ui" line="482"/>
    528         <source>Application preferences</source>
    529         <translation type="unfinished"></translation>
    530     </message>
    531     <message>
    532         <location filename="../ui/mainwindow.ui" line="494"/>
    533         <source>&amp;Contents</source>
    534         <translation type="unfinished"></translation>
    535     </message>
    536     <message>
    537         <location filename="../ui/mainwindow.ui" line="497"/>
    538         <source>Open help contents</source>
    539         <translation type="unfinished"></translation>
    540     </message>
    541     <message>
    542         <location filename="../ui/mainwindow.ui" line="500"/>
    543         <source>Ctrl+F1</source>
    544         <translation type="unfinished"></translation>
    545     </message>
    546     <message>
    547         <location filename="../ui/mainwindow.ui" line="515"/>
    548         <source>Open context help</source>
    549         <translation type="unfinished"></translation>
    550     </message>
    551     <message>
    552         <location filename="../ui/mainwindow.ui" line="518"/>
    553         <source>F1</source>
    554         <translation type="unfinished"></translation>
    555     </message>
    556     <message>
    557         <location filename="../ui/mainwindow.ui" line="533"/>
    558         <source>About application</source>
     543        <source>E&amp;xit</source>
     544        <translation type="unfinished"></translation>
     545    </message>
     546    <message>
     547        <location filename="../ui/mainwindow.ui" line="485"/>
     548        <source>Exit application</source>
     549        <translation type="unfinished"></translation>
     550    </message>
     551    <message>
     552        <location filename="../ui/mainwindow.ui" line="490"/>
     553        <source>&amp;Task...</source>
     554        <translation type="unfinished"></translation>
     555    </message>
     556    <message>
     557        <location filename="../ui/mainwindow.ui" line="493"/>
     558        <location filename="../ui/mainwindow.ui" line="539"/>
     559        <source>Save task</source>
     560        <translation type="unfinished"></translation>
     561    </message>
     562    <message>
     563        <location filename="../ui/mainwindow.ui" line="496"/>
     564        <source>Save task to file</source>
     565        <translation type="unfinished"></translation>
     566    </message>
     567    <message>
     568        <location filename="../ui/mainwindow.ui" line="545"/>
     569        <source>Ctrl+S</source>
     570        <translation type="unfinished"></translation>
     571    </message>
     572    <message>
     573        <location filename="../ui/mainwindow.ui" line="507"/>
     574        <source>&amp;Autodetect</source>
    559575        <translation type="unfinished"></translation>
    560576    </message>
    561577    <message>
    562578        <location filename="../ui/mainwindow.ui" line="542"/>
    563         <source>E&amp;xit</source>
    564         <translation type="unfinished"></translation>
    565     </message>
    566     <message>
    567         <location filename="../ui/mainwindow.ui" line="545"/>
    568         <source>Exit application</source>
    569         <translation type="unfinished"></translation>
    570     </message>
    571     <message>
    572         <location filename="../ui/mainwindow.ui" line="550"/>
    573         <source>&amp;Task...</source>
    574         <translation type="unfinished"></translation>
    575     </message>
    576     <message>
    577         <location filename="../ui/mainwindow.ui" line="553"/>
    578         <source>Task...</source>
    579         <translation type="unfinished"></translation>
    580     </message>
    581     <message>
    582         <location filename="../ui/mainwindow.ui" line="556"/>
    583         <location filename="../ui/mainwindow.ui" line="605"/>
    584         <source>Save task</source>
    585         <translation type="unfinished"></translation>
    586     </message>
    587     <message>
    588         <location filename="../ui/mainwindow.ui" line="559"/>
    589         <source>Save task to file</source>
    590         <translation type="unfinished"></translation>
    591     </message>
    592     <message>
    593         <location filename="../ui/mainwindow.ui" line="611"/>
    594         <source>Ctrl+S</source>
    595         <translation type="unfinished"></translation>
    596     </message>
    597     <message>
    598         <location filename="../ui/mainwindow.ui" line="570"/>
    599         <source>&amp;Autodetect</source>
    600         <translation type="unfinished"></translation>
    601     </message>
    602     <message>
    603         <location filename="../ui/mainwindow.ui" line="608"/>
    604579        <source>Save current task</source>
    605580        <translation type="unfinished"></translation>
    606581    </message>
    607582    <message>
    608         <location filename="../ui/mainwindow.ui" line="620"/>
     583        <location filename="../ui/mainwindow.ui" line="554"/>
    609584        <source>About &amp;Qt...</source>
    610585        <translation type="unfinished"></translation>
    611586    </message>
    612587    <message>
    613         <location filename="../ui/mainwindow.ui" line="623"/>
    614         <source>About Qt...</source>
    615         <translation type="unfinished"></translation>
    616     </message>
    617     <message>
    618         <location filename="../ui/mainwindow.ui" line="626"/>
     588        <location filename="../ui/mainwindow.ui" line="557"/>
    619589        <source>About Qt library</source>
    620590        <translation type="unfinished"></translation>
     
    636606    </message>
    637607    <message>
    638         <location filename="../ui/mainwindow.ui" line="396"/>
     608        <location filename="../src/mainwindow.cpp" line="707"/>
    639609        <source>&amp;Print...</source>
    640610        <translation type="unfinished"></translation>
    641611    </message>
    642612    <message>
    643         <location filename="../ui/mainwindow.ui" line="408"/>
     613        <location filename="../src/mainwindow.cpp" line="714"/>
    644614        <source>Ctrl+P</source>
    645615        <translation type="unfinished"></translation>
    646616    </message>
    647617    <message>
    648         <location filename="../ui/mainwindow.ui" line="416"/>
     618        <location filename="../ui/mainwindow.ui" line="371"/>
    649619        <source>&amp;Solution...</source>
    650620        <translation type="unfinished"></translation>
    651621    </message>
    652622    <message>
    653         <location filename="../ui/mainwindow.ui" line="602"/>
    654         <source>Save</source>
    655         <translation type="unfinished"></translation>
    656     </message>
    657     <message>
    658         <location filename="../ui/mainwindow.ui" line="573"/>
     623        <location filename="../ui/mainwindow.ui" line="510"/>
    659624        <source>Detect language automatically</source>
    660625        <translation type="unfinished"></translation>
     
    666631    </message>
    667632    <message>
    668         <location filename="../ui/mainwindow.ui" line="375"/>
     633        <location filename="../src/mainwindow.cpp" line="699"/>
    669634        <source>P&amp;rint Preview...</source>
    670635        <translation type="unfinished"></translation>
    671636    </message>
    672637    <message>
    673         <location filename="../ui/mainwindow.ui" line="378"/>
    674         <source>Print Preview...</source>
    675         <translation type="unfinished"></translation>
    676     </message>
    677     <message>
    678         <location filename="../ui/mainwindow.ui" line="381"/>
     638        <location filename="../src/mainwindow.cpp" line="701"/>
    679639        <source>Preview solution results</source>
    680640        <translation type="unfinished"></translation>
    681641    </message>
    682642    <message>
    683         <location filename="../ui/mainwindow.ui" line="384"/>
     643        <location filename="../src/mainwindow.cpp" line="704"/>
    684644        <source>Preview current solution results before printing</source>
    685645        <translation type="unfinished"></translation>
    686646    </message>
    687647    <message>
    688         <location filename="../ui/mainwindow.ui" line="399"/>
    689         <source>Print...</source>
    690         <translation type="unfinished"></translation>
    691     </message>
    692     <message>
    693         <location filename="../ui/mainwindow.ui" line="402"/>
     648        <location filename="../src/mainwindow.cpp" line="709"/>
    694649        <source>Print solution</source>
    695650        <translation type="unfinished"></translation>
    696651    </message>
    697652    <message>
    698         <location filename="../ui/mainwindow.ui" line="405"/>
     653        <location filename="../src/mainwindow.cpp" line="712"/>
    699654        <source>Print current solution results</source>
    700655        <translation type="unfinished"></translation>
    701656    </message>
    702657    <message>
    703         <location filename="../ui/mainwindow.ui" line="576"/>
     658        <location filename="../ui/mainwindow.ui" line="513"/>
    704659        <source>Detect language automatically based on regional settings</source>
    705660        <translation type="unfinished"></translation>
  • i18n/ru.ts

    r3bcb7e8910 r4ccf855df8  
    155155    <name>MainWindow</name>
    156156    <message>
    157         <location filename="../src/mainwindow.cpp" line="278"/>
    158         <location filename="../src/mainwindow.cpp" line="287"/>
     157        <location filename="../src/mainwindow.cpp" line="273"/>
     158        <location filename="../src/mainwindow.cpp" line="282"/>
    159159        <source>Language change</source>
    160160        <translation>Смена языка</translation>
    161161    </message>
    162162    <message>
    163         <location filename="../src/mainwindow.cpp" line="624"/>
     163        <location filename="../src/mainwindow.cpp" line="627"/>
    164164        <source>Unable to load translation language.</source>
    165165        <translation>Невозможно загрузить перевод.</translation>
     
    167167    <message>
    168168        <location filename="../ui/mainwindow.ui" line="15"/>
    169         <location filename="../src/mainwindow.cpp" line="714"/>
     169        <location filename="../src/mainwindow.cpp" line="746"/>
    170170        <source>Travelling Salesman Problem</source>
    171171        <translation>Задача коммивояжера</translation>
    172172    </message>
    173173    <message>
    174         <location filename="../src/mainwindow.cpp" line="635"/>
     174        <location filename="../src/mainwindow.cpp" line="637"/>
    175175        <source>Unsaved Changes</source>
    176176        <translation>Несохраненные изменения</translation>
    177177    </message>
    178178    <message>
    179         <location filename="../src/mainwindow.cpp" line="139"/>
     179        <location filename="../src/mainwindow.cpp" line="126"/>
    180180        <source>All Supported Formats</source>
    181181        <translation>Все поддерживаемые форматы</translation>
    182182    </message>
    183183    <message>
    184         <location filename="../src/mainwindow.cpp" line="142"/>
    185         <location filename="../src/mainwindow.cpp" line="197"/>
    186         <location filename="../src/mainwindow.cpp" line="693"/>
     184        <location filename="../src/mainwindow.cpp" line="129"/>
     185        <location filename="../src/mainwindow.cpp" line="188"/>
     186        <location filename="../src/mainwindow.cpp" line="720"/>
    187187        <source>All Files</source>
    188188        <translation>Все файлы</translation>
    189189    </message>
    190190    <message>
    191         <location filename="../src/mainwindow.cpp" line="140"/>
    192         <location filename="../src/mainwindow.cpp" line="141"/>
     191        <location filename="../src/mainwindow.cpp" line="127"/>
     192        <location filename="../src/mainwindow.cpp" line="128"/>
    193193        <source>%1 Task Files</source>
    194194        <translation>Файлы условий %1</translation>
    195195    </message>
    196196    <message>
    197         <location filename="../src/mainwindow.cpp" line="624"/>
     197        <location filename="../src/mainwindow.cpp" line="627"/>
    198198        <source>Language Change</source>
    199199        <translation>Смена языка</translation>
    200200    </message>
    201201    <message>
    202         <location filename="../src/mainwindow.cpp" line="635"/>
     202        <location filename="../src/mainwindow.cpp" line="637"/>
    203203        <source>Would you like to save changes in current task?</source>
    204204        <translation>Желаете сохранить изменения в текущей задаче?</translation>
    205205    </message>
    206206    <message>
    207         <location filename="../src/mainwindow.cpp" line="191"/>
     207        <location filename="../src/mainwindow.cpp" line="182"/>
    208208        <source>PDF Files</source>
    209209        <translation>Файли PDF</translation>
    210210    </message>
    211211    <message>
    212         <location filename="../src/mainwindow.cpp" line="193"/>
     212        <location filename="../src/mainwindow.cpp" line="184"/>
    213213        <source>HTML Files</source>
    214214        <translation>Файлы HTML</translation>
    215215    </message>
    216216    <message>
    217         <location filename="../src/mainwindow.cpp" line="195"/>
     217        <location filename="../src/mainwindow.cpp" line="186"/>
    218218        <source>OpenDocument Files</source>
    219219        <translation>Файлы OpenDocument</translation>
    220220    </message>
    221221    <message>
    222         <location filename="../src/mainwindow.cpp" line="428"/>
     222        <location filename="../src/mainwindow.cpp" line="426"/>
    223223        <source>Selected candidate for branching: %1.</source>
    224224        <translation>Выбранный кандидат для ветвления: %1.</translation>
    225225    </message>
    226226    <message>
    227         <location filename="../src/mainwindow.cpp" line="428"/>
    228         <location filename="../src/mainwindow.cpp" line="435"/>
     227        <location filename="../src/mainwindow.cpp" line="426"/>
     228        <location filename="../src/mainwindow.cpp" line="433"/>
    229229        <source>(%1;%2)</source>
    230230        <translation></translation>
    231231    </message>
    232232    <message numerus="yes">
    233         <location filename="../src/mainwindow.cpp" line="437"/>
     233        <location filename="../src/mainwindow.cpp" line="435"/>
    234234        <source>%n alternate candidate(s) for branching: %1.</source>
    235235        <translation>
     
    239239        </translation>
    240240    </message>
    241     <message>
    242         <location filename="../src/mainwindow.cpp" line="692"/>
     241    <message numerus="yes">
     242        <location filename="../src/mainwindow.cpp" line="452"/>
     243        <source>The price is &lt;b&gt;%n&lt;/b&gt; unit(s).</source>
     244        <translation>
     245            <numerusform>Стоимость - &lt;b&gt;%n&lt;/b&gt; единица.</numerusform>
     246            <numerusform>Стоимость - &lt;b&gt;%n&lt;/b&gt; единицы.</numerusform>
     247            <numerusform>Стоимость - &lt;b&gt;%n&lt;/b&gt; единиц.</numerusform>
     248        </translation>
     249    </message>
     250    <message>
     251        <location filename="../src/mainwindow.cpp" line="719"/>
    243252        <source>%1 Task File</source>
    244253        <translation>Файл условия %1</translation>
    245254    </message>
    246255    <message>
    247         <location filename="../src/mainwindow.cpp" line="265"/>
     256        <location filename="../src/mainwindow.cpp" line="260"/>
    248257        <source>Settings Changed</source>
    249258        <translation>Параметры изменены</translation>
    250259    </message>
    251260    <message>
    252         <location filename="../src/mainwindow.cpp" line="144"/>
     261        <location filename="../src/mainwindow.cpp" line="132"/>
     262        <location filename="../src/mainwindow.cpp" line="134"/>
    253263        <source>Task Load</source>
    254264        <translation>Загрузка условия</translation>
    255265    </message>
    256266    <message>
    257         <location filename="../src/mainwindow.cpp" line="265"/>
     267        <location filename="../src/mainwindow.cpp" line="260"/>
    258268        <source>You have changed color settings.
    259269Do you wish to apply them to current solution text?</source>
     
    262272    </message>
    263273    <message>
    264         <location filename="../src/mainwindow.cpp" line="367"/>
     274        <location filename="../src/mainwindow.cpp" line="365"/>
    265275        <source>About TSPSG</source>
    266276        <translation>Про TSPSG</translation>
    267277    </message>
    268278    <message>
    269         <location filename="../src/mainwindow.cpp" line="401"/>
     279        <location filename="../src/mainwindow.cpp" line="399"/>
    270280        <source>Data error</source>
    271281        <translation>Ошибка в данных</translation>
    272282    </message>
    273283    <message>
    274         <location filename="../src/mainwindow.cpp" line="401"/>
     284        <location filename="../src/mainwindow.cpp" line="399"/>
    275285        <source>Error in cell [Row %1; Column %2]: Invalid data format.</source>
    276286        <translation>Ошибка в ячейке [Строка %1; Колонка %2]: Неверный формат данных.</translation>
    277287    </message>
    278288    <message>
    279         <location filename="../src/mainwindow.cpp" line="414"/>
     289        <location filename="../src/mainwindow.cpp" line="412"/>
    280290        <source>Variant #%1</source>
    281291        <translation>Вариант №%1</translation>
    282292    </message>
    283293    <message>
    284         <location filename="../src/mainwindow.cpp" line="415"/>
     294        <location filename="../src/mainwindow.cpp" line="413"/>
    285295        <source>Task:</source>
    286296        <translation>Условие:</translation>
    287297    </message>
    288298    <message>
    289         <location filename="../src/mainwindow.cpp" line="418"/>
    290         <location filename="../src/mainwindow.cpp" line="462"/>
     299        <location filename="../src/mainwindow.cpp" line="416"/>
     300        <location filename="../src/mainwindow.cpp" line="460"/>
    291301        <source>Solution of Variant #%1 task</source>
    292302        <translation>Решение варианта №%1</translation>
    293303    </message>
    294304    <message>
    295         <location filename="../src/mainwindow.cpp" line="424"/>
     305        <location filename="../src/mainwindow.cpp" line="422"/>
    296306        <source>Step #%1</source>
    297307        <translation>Шаг №%1</translation>
    298308    </message>
    299309    <message>
    300         <location filename="../src/mainwindow.cpp" line="450"/>
     310        <location filename="../src/mainwindow.cpp" line="448"/>
    301311        <source>Optimal path:</source>
    302312        <translation>Оптимальный путь:</translation>
    303313    </message>
    304314    <message>
    305         <location filename="../src/mainwindow.cpp" line="452"/>
     315        <location filename="../src/mainwindow.cpp" line="450"/>
    306316        <source>Resulting path:</source>
    307317        <translation>Найденный путь:</translation>
    308318    </message>
    309319    <message>
    310         <location filename="../src/mainwindow.cpp" line="454"/>
    311         <source>The price is &lt;b&gt;%1&lt;/b&gt; units.</source>
    312         <translation>Стоимость - &lt;b&gt;%1&lt;/b&gt; единиц.</translation>
    313     </message>
    314     <message>
    315         <location filename="../src/mainwindow.cpp" line="457"/>
     320        <location filename="../src/mainwindow.cpp" line="455"/>
    316321        <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>
    317322        <translation>&lt;b&gt;ВНИМАНИЕ!!!&lt;/b&gt;&lt;br&gt;Найденное решение является рекордом, но может оказаться не оптимальным.&lt;br&gt;Для получения оптимального решения, или проверки текущего на оптимальность, требуется продолжить итерации.</translation>
    318323    </message>
    319324    <message>
    320         <location filename="../src/mainwindow.cpp" line="700"/>
     325        <location filename="../src/mainwindow.cpp" line="728"/>
     326        <location filename="../src/mainwindow.cpp" line="730"/>
    321327        <source>Task Save</source>
    322328        <translation>Сохранение условия</translation>
    323329    </message>
    324330    <message>
    325         <location filename="../src/mainwindow.cpp" line="278"/>
     331        <location filename="../src/mainwindow.cpp" line="273"/>
    326332        <source>Language will be autodetected on next application start.</source>
    327333        <translation>Язык будет автоматически определен при следующем запуске приложения.</translation>
    328334    </message>
    329335    <message>
    330         <location filename="../src/mainwindow.cpp" line="287"/>
     336        <location filename="../src/mainwindow.cpp" line="282"/>
    331337        <source>You have language autodetection turned on.
    332338It needs to be off.
     
    337343    </message>
    338344    <message>
    339         <location filename="../src/mainwindow.cpp" line="158"/>
    340         <location filename="../src/mainwindow.cpp" line="174"/>
    341         <location filename="../src/mainwindow.cpp" line="292"/>
    342         <location filename="../src/mainwindow.h" line="96"/>
     345        <location filename="../src/mainwindow.cpp" line="149"/>
     346        <location filename="../src/mainwindow.cpp" line="165"/>
     347        <location filename="../src/mainwindow.cpp" line="287"/>
     348        <location filename="../src/mainwindow.h" line="100"/>
    343349        <source>Untitled</source>
    344350        <translation>Без имени</translation>
     
    406412    <message>
    407413        <location filename="../ui/mainwindow.ui" line="222"/>
    408         <location filename="../ui/mainwindow.ui" line="425"/>
     414        <location filename="../ui/mainwindow.ui" line="377"/>
    409415        <source>Save solution to a file</source>
    410416        <translation>Сохранить решение в файл</translation>
     
    437443    </message>
    438444    <message>
    439         <location filename="../ui/mainwindow.ui" line="419"/>
    440         <source>Solution...</source>
    441         <translation>Решение...</translation>
    442     </message>
    443     <message>
    444         <location filename="../ui/mainwindow.ui" line="512"/>
     445        <location filename="../ui/mainwindow.ui" line="455"/>
    445446        <source>Context &amp;Help</source>
    446447        <translation>&amp;Контекстная справка</translation>
    447448    </message>
    448449    <message>
    449         <location filename="../ui/mainwindow.ui" line="527"/>
     450        <location filename="../ui/mainwindow.ui" line="470"/>
    450451        <source>&amp;About TSPSG...</source>
    451452        <translation>&amp;Про TSPSG...</translation>
    452453    </message>
    453454    <message>
    454         <location filename="../ui/mainwindow.ui" line="530"/>
    455         <source>About TSPSG...</source>
    456         <translation>Про TSPSG...</translation>
    457     </message>
    458     <message>
    459         <location filename="../ui/mainwindow.ui" line="599"/>
     455        <location filename="../ui/mainwindow.ui" line="536"/>
    460456        <source>&amp;Save</source>
    461457        <translation>Со&amp;хранить</translation>
     
    472468    </message>
    473469    <message>
    474         <location filename="../ui/mainwindow.ui" line="422"/>
     470        <location filename="../ui/mainwindow.ui" line="374"/>
    475471        <source>Save solution</source>
    476472        <translation>Сохранить решение</translation>
    477473    </message>
    478474    <message>
    479         <location filename="../ui/mainwindow.ui" line="434"/>
     475        <location filename="../ui/mainwindow.ui" line="386"/>
    480476        <source>&amp;New</source>
    481477        <translation>&amp;Создать</translation>
    482478    </message>
    483479    <message>
    484         <location filename="../ui/mainwindow.ui" line="437"/>
    485         <source>New</source>
    486         <translation>Создать</translation>
    487     </message>
    488     <message>
    489         <location filename="../ui/mainwindow.ui" line="440"/>
     480        <location filename="../ui/mainwindow.ui" line="389"/>
    490481        <source>New task</source>
    491482        <translation>Создать задачу</translation>
    492483    </message>
    493484    <message>
    494         <location filename="../ui/mainwindow.ui" line="443"/>
     485        <location filename="../ui/mainwindow.ui" line="392"/>
    495486        <source>Create new task</source>
    496487        <translation>Создать новую задачу</translation>
    497488    </message>
    498489    <message>
    499         <location filename="../ui/mainwindow.ui" line="446"/>
     490        <location filename="../ui/mainwindow.ui" line="395"/>
    500491        <source>Ctrl+N</source>
    501492        <translation></translation>
    502493    </message>
    503494    <message>
    504         <location filename="../ui/mainwindow.ui" line="455"/>
     495        <location filename="../ui/mainwindow.ui" line="404"/>
    505496        <source>&amp;Open...</source>
    506497        <translation>&amp;Открыть...</translation>
    507498    </message>
    508499    <message>
    509         <location filename="../ui/mainwindow.ui" line="458"/>
    510         <source>Open...</source>
    511         <translation>Открыть...</translation>
    512     </message>
    513     <message>
    514         <location filename="../ui/mainwindow.ui" line="461"/>
     500        <location filename="../ui/mainwindow.ui" line="407"/>
    515501        <source>Open task</source>
    516502        <translation>Открыть условие</translation>
    517503    </message>
    518504    <message>
    519         <location filename="../ui/mainwindow.ui" line="464"/>
     505        <location filename="../ui/mainwindow.ui" line="410"/>
    520506        <source>Open saved task</source>
    521507        <translation>Открыть сохраненное условие задачи</translation>
    522508    </message>
    523509    <message>
    524         <location filename="../ui/mainwindow.ui" line="467"/>
     510        <location filename="../ui/mainwindow.ui" line="413"/>
    525511        <source>Ctrl+O</source>
    526512        <translation></translation>
    527513    </message>
    528514    <message>
    529         <location filename="../ui/mainwindow.ui" line="476"/>
     515        <location filename="../ui/mainwindow.ui" line="422"/>
    530516        <source>&amp;Preferences...</source>
    531517        <translation>&amp;Параметры...</translation>
    532518    </message>
    533519    <message>
    534         <location filename="../ui/mainwindow.ui" line="479"/>
    535         <source>Preferences...</source>
    536         <translation>Параметры...</translation>
    537     </message>
    538     <message>
    539         <location filename="../ui/mainwindow.ui" line="482"/>
     520        <location filename="../ui/mainwindow.ui" line="425"/>
    540521        <source>Application preferences</source>
    541522        <translation>Настройка параметров программмы</translation>
    542523    </message>
    543524    <message>
    544         <location filename="../ui/mainwindow.ui" line="494"/>
     525        <location filename="../ui/mainwindow.ui" line="437"/>
    545526        <source>&amp;Contents</source>
    546527        <translation>&amp;Содежание</translation>
    547528    </message>
    548529    <message>
    549         <location filename="../ui/mainwindow.ui" line="497"/>
     530        <location filename="../ui/mainwindow.ui" line="440"/>
    550531        <source>Open help contents</source>
    551532        <translation>Вызвать справку программы</translation>
    552533    </message>
    553534    <message>
    554         <location filename="../ui/mainwindow.ui" line="500"/>
     535        <location filename="../ui/mainwindow.ui" line="443"/>
    555536        <source>Ctrl+F1</source>
    556537        <translation></translation>
    557538    </message>
    558539    <message>
    559         <location filename="../ui/mainwindow.ui" line="515"/>
     540        <location filename="../ui/mainwindow.ui" line="458"/>
    560541        <source>Open context help</source>
    561542        <translation>Вызвать контекстную справку</translation>
    562543    </message>
    563544    <message>
    564         <location filename="../ui/mainwindow.ui" line="518"/>
     545        <location filename="../ui/mainwindow.ui" line="461"/>
    565546        <source>F1</source>
    566547        <translation></translation>
    567548    </message>
    568549    <message>
    569         <location filename="../ui/mainwindow.ui" line="533"/>
     550        <location filename="../ui/mainwindow.ui" line="473"/>
    570551        <source>About application</source>
    571552        <translation>О программе</translation>
    572553    </message>
    573554    <message>
    574         <location filename="../ui/mainwindow.ui" line="542"/>
     555        <location filename="../ui/mainwindow.ui" line="482"/>
    575556        <source>E&amp;xit</source>
    576557        <translation>В&amp;ыход</translation>
    577558    </message>
    578559    <message>
    579         <location filename="../ui/mainwindow.ui" line="545"/>
     560        <location filename="../ui/mainwindow.ui" line="485"/>
    580561        <source>Exit application</source>
    581562        <translation>Выйти из приложения</translation>
    582563    </message>
    583564    <message>
    584         <location filename="../ui/mainwindow.ui" line="550"/>
     565        <location filename="../ui/mainwindow.ui" line="490"/>
    585566        <source>&amp;Task...</source>
    586567        <translation>&amp;Условие...</translation>
    587568    </message>
    588569    <message>
    589         <location filename="../ui/mainwindow.ui" line="553"/>
    590         <source>Task...</source>
    591         <translation>Условие...</translation>
    592     </message>
    593     <message>
    594         <location filename="../ui/mainwindow.ui" line="556"/>
    595         <location filename="../ui/mainwindow.ui" line="605"/>
     570        <location filename="../ui/mainwindow.ui" line="493"/>
     571        <location filename="../ui/mainwindow.ui" line="539"/>
    596572        <source>Save task</source>
    597573        <translation>Сохранить условие</translation>
    598574    </message>
    599575    <message>
    600         <location filename="../ui/mainwindow.ui" line="559"/>
     576        <location filename="../ui/mainwindow.ui" line="496"/>
    601577        <source>Save task to file</source>
    602578        <translation>Сохранить условие задачи в файл</translation>
    603579    </message>
    604580    <message>
    605         <location filename="../ui/mainwindow.ui" line="611"/>
     581        <location filename="../ui/mainwindow.ui" line="545"/>
    606582        <source>Ctrl+S</source>
    607583        <translation></translation>
    608584    </message>
    609585    <message>
    610         <location filename="../ui/mainwindow.ui" line="570"/>
     586        <location filename="../ui/mainwindow.ui" line="507"/>
    611587        <source>&amp;Autodetect</source>
    612588        <translation>&amp;Автоопределение</translation>
    613589    </message>
    614590    <message>
    615         <location filename="../ui/mainwindow.ui" line="608"/>
     591        <location filename="../ui/mainwindow.ui" line="542"/>
    616592        <source>Save current task</source>
    617593        <translation>Сохранить текущее условие</translation>
    618594    </message>
    619595    <message>
    620         <location filename="../ui/mainwindow.ui" line="620"/>
     596        <location filename="../ui/mainwindow.ui" line="554"/>
    621597        <source>About &amp;Qt...</source>
    622598        <translation>Про &amp;Qt...</translation>
    623599    </message>
    624600    <message>
    625         <location filename="../ui/mainwindow.ui" line="623"/>
    626         <source>About Qt...</source>
    627         <translation>Про Qt...</translation>
    628     </message>
    629     <message>
    630         <location filename="../ui/mainwindow.ui" line="626"/>
     601        <location filename="../ui/mainwindow.ui" line="557"/>
    631602        <source>About Qt library</source>
    632603        <translation>Про библиотеку Qt</translation>
     
    653624    </message>
    654625    <message>
    655         <location filename="../ui/mainwindow.ui" line="375"/>
     626        <location filename="../src/mainwindow.cpp" line="699"/>
    656627        <source>P&amp;rint Preview...</source>
    657628        <translation>П&amp;редварительный просмотр...</translation>
    658629    </message>
    659630    <message>
    660         <location filename="../ui/mainwindow.ui" line="378"/>
    661         <source>Print Preview...</source>
    662         <translation>Предварительный просмотр...</translation>
    663     </message>
    664     <message>
    665         <location filename="../ui/mainwindow.ui" line="381"/>
     631        <location filename="../src/mainwindow.cpp" line="701"/>
    666632        <source>Preview solution results</source>
    667633        <translation>Предварительный просмотр результатов решения</translation>
    668634    </message>
    669635    <message>
    670         <location filename="../ui/mainwindow.ui" line="384"/>
     636        <location filename="../src/mainwindow.cpp" line="704"/>
    671637        <source>Preview current solution results before printing</source>
    672638        <translation>Предварительный просмотр результатов решения перед печатью</translation>
    673639    </message>
    674640    <message>
    675         <location filename="../ui/mainwindow.ui" line="396"/>
     641        <location filename="../src/mainwindow.cpp" line="707"/>
    676642        <source>&amp;Print...</source>
    677643        <translation>&amp;Печать...</translation>
    678644    </message>
    679645    <message>
    680         <location filename="../ui/mainwindow.ui" line="399"/>
    681         <source>Print...</source>
    682         <translation>Печать...</translation>
    683     </message>
    684     <message>
    685         <location filename="../ui/mainwindow.ui" line="402"/>
     646        <location filename="../src/mainwindow.cpp" line="709"/>
    686647        <source>Print solution</source>
    687648        <translation>Печать решения</translation>
    688649    </message>
    689650    <message>
    690         <location filename="../ui/mainwindow.ui" line="405"/>
     651        <location filename="../src/mainwindow.cpp" line="712"/>
    691652        <source>Print current solution results</source>
    692653        <translation>Распечатать текущие результаты решения</translation>
    693654    </message>
    694655    <message>
    695         <location filename="../ui/mainwindow.ui" line="408"/>
     656        <location filename="../src/mainwindow.cpp" line="714"/>
    696657        <source>Ctrl+P</source>
    697658        <translation></translation>
    698659    </message>
    699660    <message>
    700         <location filename="../ui/mainwindow.ui" line="416"/>
     661        <location filename="../ui/mainwindow.ui" line="371"/>
    701662        <source>&amp;Solution...</source>
    702663        <translation>&amp;Решение...</translation>
    703664    </message>
    704665    <message>
    705         <location filename="../ui/mainwindow.ui" line="602"/>
    706         <source>Save</source>
    707         <translation>Сохранить</translation>
    708     </message>
    709     <message>
    710         <location filename="../ui/mainwindow.ui" line="573"/>
     666        <location filename="../ui/mainwindow.ui" line="510"/>
    711667        <source>Detect language automatically</source>
    712668        <translation>Определять язык автоматически</translation>
    713669    </message>
    714670    <message>
    715         <location filename="../ui/mainwindow.ui" line="576"/>
     671        <location filename="../ui/mainwindow.ui" line="513"/>
    716672        <source>Detect language automatically based on regional settings</source>
    717673        <translation>Определять язык автоматически, основываясь на региональных настройках</translation>
  • i18n/uk.ts

    r3bcb7e8910 r4ccf855df8  
    185185    </message>
    186186    <message>
    187         <location filename="../ui/mainwindow.ui" line="375"/>
     187        <location filename="../src/mainwindow.cpp" line="699"/>
    188188        <source>P&amp;rint Preview...</source>
    189189        <translation>&amp;Попередній перегляд...</translation>
    190190    </message>
    191191    <message>
    192         <location filename="../ui/mainwindow.ui" line="378"/>
    193         <source>Print Preview...</source>
    194         <translation>Попередній перегляд...</translation>
    195     </message>
    196     <message>
    197         <location filename="../ui/mainwindow.ui" line="381"/>
     192        <location filename="../src/mainwindow.cpp" line="701"/>
    198193        <source>Preview solution results</source>
    199194        <translation>Попередній перегляд результатів розв&apos;язку</translation>
    200195    </message>
    201196    <message>
    202         <location filename="../ui/mainwindow.ui" line="384"/>
     197        <location filename="../src/mainwindow.cpp" line="704"/>
    203198        <source>Preview current solution results before printing</source>
    204199        <translation>Попередній перегляд результатів розв&apos;язку перед друком</translation>
    205200    </message>
    206201    <message>
    207         <location filename="../ui/mainwindow.ui" line="396"/>
     202        <location filename="../src/mainwindow.cpp" line="707"/>
    208203        <source>&amp;Print...</source>
    209204        <translation>&amp;Друк...</translation>
    210205    </message>
    211206    <message>
    212         <location filename="../ui/mainwindow.ui" line="399"/>
    213         <source>Print...</source>
    214         <translation>Друк...</translation>
    215     </message>
    216     <message>
    217         <location filename="../ui/mainwindow.ui" line="402"/>
     207        <location filename="../src/mainwindow.cpp" line="709"/>
    218208        <source>Print solution</source>
    219209        <translation>Друк розв&apos;зку</translation>
    220210    </message>
    221211    <message>
    222         <location filename="../ui/mainwindow.ui" line="405"/>
     212        <location filename="../src/mainwindow.cpp" line="712"/>
    223213        <source>Print current solution results</source>
    224214        <translation>Роздрукувати поточний результат розв&apos;язку</translation>
    225215    </message>
    226216    <message>
    227         <location filename="../ui/mainwindow.ui" line="408"/>
     217        <location filename="../src/mainwindow.cpp" line="714"/>
    228218        <source>Ctrl+P</source>
    229219        <translation></translation>
    230220    </message>
    231221    <message>
    232         <location filename="../ui/mainwindow.ui" line="416"/>
     222        <location filename="../ui/mainwindow.ui" line="371"/>
    233223        <source>&amp;Solution...</source>
    234224        <translation>&amp;Розв&apos;язок...</translation>
    235225    </message>
    236226    <message>
    237         <location filename="../ui/mainwindow.ui" line="602"/>
    238         <source>Save</source>
    239         <translation>Зберегти</translation>
    240     </message>
    241     <message>
    242         <location filename="../ui/mainwindow.ui" line="573"/>
     227        <location filename="../ui/mainwindow.ui" line="510"/>
    243228        <source>Detect language automatically</source>
    244229        <translation>Визначати мову автоматично</translation>
    245230    </message>
    246231    <message>
    247         <location filename="../ui/mainwindow.ui" line="576"/>
     232        <location filename="../ui/mainwindow.ui" line="513"/>
    248233        <source>Detect language automatically based on regional settings</source>
    249234        <translation>Визначати мову автоматично, використовуючи регіональні стандарти</translation>
    250235    </message>
    251236    <message>
    252         <location filename="../ui/mainwindow.ui" line="611"/>
     237        <location filename="../ui/mainwindow.ui" line="545"/>
    253238        <source>Ctrl+S</source>
    254239        <translation></translation>
    255240    </message>
    256241    <message>
    257         <location filename="../ui/mainwindow.ui" line="446"/>
     242        <location filename="../ui/mainwindow.ui" line="395"/>
    258243        <source>Ctrl+N</source>
    259244        <translation></translation>
     
    311296    <message>
    312297        <location filename="../ui/mainwindow.ui" line="222"/>
    313         <location filename="../ui/mainwindow.ui" line="425"/>
     298        <location filename="../ui/mainwindow.ui" line="377"/>
    314299        <source>Save solution to a file</source>
    315300        <translation>Зберегти розв&apos;язок у файл</translation>
     
    342327    </message>
    343328    <message>
    344         <location filename="../ui/mainwindow.ui" line="419"/>
    345         <source>Solution...</source>
    346         <translation>Розв&apos;язок...</translation>
    347     </message>
    348     <message>
    349         <location filename="../ui/mainwindow.ui" line="512"/>
     329        <location filename="../ui/mainwindow.ui" line="455"/>
    350330        <source>Context &amp;Help</source>
    351331        <translation>&amp;Контекстна допомога</translation>
    352332    </message>
    353333    <message>
    354         <location filename="../ui/mainwindow.ui" line="527"/>
     334        <location filename="../ui/mainwindow.ui" line="470"/>
    355335        <source>&amp;About TSPSG...</source>
    356336        <translation>&amp;Про TSPSG...</translation>
    357337    </message>
    358338    <message>
    359         <location filename="../ui/mainwindow.ui" line="530"/>
    360         <source>About TSPSG...</source>
    361         <translation>Про TSPSG...</translation>
    362     </message>
    363     <message>
    364         <location filename="../ui/mainwindow.ui" line="599"/>
     339        <location filename="../ui/mainwindow.ui" line="536"/>
    365340        <source>&amp;Save</source>
    366341        <translation>&amp;Зберегти</translation>
     
    377352    </message>
    378353    <message>
    379         <location filename="../ui/mainwindow.ui" line="422"/>
     354        <location filename="../ui/mainwindow.ui" line="374"/>
    380355        <source>Save solution</source>
    381356        <translation>Зберегти розв&apos;язок</translation>
    382357    </message>
    383358    <message>
    384         <location filename="../ui/mainwindow.ui" line="434"/>
     359        <location filename="../ui/mainwindow.ui" line="386"/>
    385360        <source>&amp;New</source>
    386361        <translation>&amp;Створити</translation>
    387362    </message>
    388363    <message>
    389         <location filename="../ui/mainwindow.ui" line="437"/>
    390         <source>New</source>
    391         <translation>Створити</translation>
    392     </message>
    393     <message>
    394         <location filename="../ui/mainwindow.ui" line="440"/>
     364        <location filename="../ui/mainwindow.ui" line="389"/>
    395365        <source>New task</source>
    396366        <translation>Нова задача</translation>
    397367    </message>
    398368    <message>
    399         <location filename="../ui/mainwindow.ui" line="443"/>
     369        <location filename="../ui/mainwindow.ui" line="392"/>
    400370        <source>Create new task</source>
    401371        <translation>Створити нову задачу</translation>
    402372    </message>
    403373    <message>
    404         <location filename="../ui/mainwindow.ui" line="455"/>
     374        <location filename="../ui/mainwindow.ui" line="404"/>
    405375        <source>&amp;Open...</source>
    406376        <translation>&amp;Відкрити...</translation>
    407377    </message>
    408378    <message>
    409         <location filename="../ui/mainwindow.ui" line="458"/>
    410         <source>Open...</source>
    411         <translation>Відкрити...</translation>
    412     </message>
    413     <message>
    414         <location filename="../ui/mainwindow.ui" line="461"/>
     379        <location filename="../ui/mainwindow.ui" line="407"/>
    415380        <source>Open task</source>
    416381        <translation>Відкрити умову</translation>
    417382    </message>
    418383    <message>
    419         <location filename="../ui/mainwindow.ui" line="464"/>
     384        <location filename="../ui/mainwindow.ui" line="410"/>
    420385        <source>Open saved task</source>
    421386        <translation>Відкрити збережену умову</translation>
    422387    </message>
    423388    <message>
    424         <location filename="../ui/mainwindow.ui" line="467"/>
     389        <location filename="../ui/mainwindow.ui" line="413"/>
    425390        <source>Ctrl+O</source>
    426391        <translation></translation>
    427392    </message>
    428393    <message>
    429         <location filename="../ui/mainwindow.ui" line="476"/>
     394        <location filename="../ui/mainwindow.ui" line="422"/>
    430395        <source>&amp;Preferences...</source>
    431396        <translation>&amp;Параметри...</translation>
    432397    </message>
    433398    <message>
    434         <location filename="../ui/mainwindow.ui" line="479"/>
    435         <source>Preferences...</source>
    436         <translation>Параметри...</translation>
    437     </message>
    438     <message>
    439         <location filename="../ui/mainwindow.ui" line="482"/>
     399        <location filename="../ui/mainwindow.ui" line="425"/>
    440400        <source>Application preferences</source>
    441401        <translation>Параметри додатку</translation>
    442402    </message>
    443403    <message>
    444         <location filename="../ui/mainwindow.ui" line="494"/>
     404        <location filename="../ui/mainwindow.ui" line="437"/>
    445405        <source>&amp;Contents</source>
    446406        <translation>&amp;Зміст</translation>
    447407    </message>
    448408    <message>
    449         <location filename="../ui/mainwindow.ui" line="497"/>
     409        <location filename="../ui/mainwindow.ui" line="440"/>
    450410        <source>Open help contents</source>
    451411        <translation>Відкрити зміст допомоги</translation>
    452412    </message>
    453413    <message>
    454         <location filename="../ui/mainwindow.ui" line="500"/>
     414        <location filename="../ui/mainwindow.ui" line="443"/>
    455415        <source>Ctrl+F1</source>
    456416        <translation></translation>
    457417    </message>
    458418    <message>
    459         <location filename="../ui/mainwindow.ui" line="515"/>
     419        <location filename="../ui/mainwindow.ui" line="458"/>
    460420        <source>Open context help</source>
    461421        <translation>Відкрити контекстну допомогу</translation>
    462422    </message>
    463423    <message>
    464         <location filename="../ui/mainwindow.ui" line="518"/>
     424        <location filename="../ui/mainwindow.ui" line="461"/>
    465425        <source>F1</source>
    466426        <translation></translation>
    467427    </message>
    468428    <message>
    469         <location filename="../ui/mainwindow.ui" line="533"/>
     429        <location filename="../ui/mainwindow.ui" line="473"/>
    470430        <source>About application</source>
    471431        <translation>Про додаток</translation>
    472432    </message>
    473433    <message>
    474         <location filename="../ui/mainwindow.ui" line="542"/>
     434        <location filename="../ui/mainwindow.ui" line="482"/>
    475435        <source>E&amp;xit</source>
    476436        <translation>В&amp;ихід</translation>
    477437    </message>
    478438    <message>
    479         <location filename="../ui/mainwindow.ui" line="545"/>
     439        <location filename="../ui/mainwindow.ui" line="485"/>
    480440        <source>Exit application</source>
    481441        <translation>Вийти з додатку</translation>
    482442    </message>
    483443    <message>
    484         <location filename="../ui/mainwindow.ui" line="550"/>
     444        <location filename="../ui/mainwindow.ui" line="490"/>
    485445        <source>&amp;Task...</source>
    486446        <translation>&amp;Умову...</translation>
    487447    </message>
    488448    <message>
    489         <location filename="../ui/mainwindow.ui" line="553"/>
    490         <source>Task...</source>
    491         <translation>Умову...</translation>
    492     </message>
    493     <message>
    494         <location filename="../ui/mainwindow.ui" line="556"/>
    495         <location filename="../ui/mainwindow.ui" line="605"/>
     449        <location filename="../ui/mainwindow.ui" line="493"/>
     450        <location filename="../ui/mainwindow.ui" line="539"/>
    496451        <source>Save task</source>
    497452        <translation>Зберегти умову</translation>
    498453    </message>
    499454    <message>
    500         <location filename="../ui/mainwindow.ui" line="559"/>
     455        <location filename="../ui/mainwindow.ui" line="496"/>
    501456        <source>Save task to file</source>
    502457        <translation>Зберегти умову задачі у файл</translation>
    503458    </message>
    504459    <message>
    505         <location filename="../ui/mainwindow.ui" line="570"/>
     460        <location filename="../ui/mainwindow.ui" line="507"/>
    506461        <source>&amp;Autodetect</source>
    507462        <translation>&amp;Автовизначення</translation>
    508463    </message>
    509464    <message>
    510         <location filename="../ui/mainwindow.ui" line="608"/>
     465        <location filename="../ui/mainwindow.ui" line="542"/>
    511466        <source>Save current task</source>
    512467        <translation>Зберегти поточну умову</translation>
    513468    </message>
    514469    <message>
    515         <location filename="../ui/mainwindow.ui" line="620"/>
     470        <location filename="../ui/mainwindow.ui" line="554"/>
    516471        <source>About &amp;Qt...</source>
    517472        <translation>Про &amp;Qt...</translation>
    518473    </message>
    519474    <message>
    520         <location filename="../ui/mainwindow.ui" line="623"/>
    521         <source>About Qt...</source>
    522         <translation>Про Qt...</translation>
    523     </message>
    524     <message>
    525         <location filename="../ui/mainwindow.ui" line="626"/>
     475        <location filename="../ui/mainwindow.ui" line="557"/>
    526476        <source>About Qt library</source>
    527477        <translation>Про бібліотеку Qt</translation>
    528478    </message>
    529479    <message>
    530         <location filename="../src/mainwindow.cpp" line="278"/>
    531         <location filename="../src/mainwindow.cpp" line="287"/>
     480        <location filename="../src/mainwindow.cpp" line="273"/>
     481        <location filename="../src/mainwindow.cpp" line="282"/>
    532482        <source>Language change</source>
    533483        <translation>Зміна мови</translation>
    534484    </message>
    535485    <message>
    536         <location filename="../src/mainwindow.cpp" line="624"/>
     486        <location filename="../src/mainwindow.cpp" line="627"/>
    537487        <source>Unable to load translation language.</source>
    538488        <translation>Неможливо завантажити переклад.</translation>
     
    540490    <message>
    541491        <location filename="../ui/mainwindow.ui" line="15"/>
    542         <location filename="../src/mainwindow.cpp" line="714"/>
     492        <location filename="../src/mainwindow.cpp" line="746"/>
    543493        <source>Travelling Salesman Problem</source>
    544494        <translation>Задача комівояжера</translation>
    545495    </message>
    546496    <message>
    547         <location filename="../src/mainwindow.cpp" line="635"/>
     497        <location filename="../src/mainwindow.cpp" line="637"/>
    548498        <source>Unsaved Changes</source>
    549499        <translation>Незбережені зміни</translation>
    550500    </message>
    551501    <message>
    552         <location filename="../src/mainwindow.cpp" line="139"/>
     502        <location filename="../src/mainwindow.cpp" line="126"/>
    553503        <source>All Supported Formats</source>
    554504        <translation>Усі підтримувані формати</translation>
    555505    </message>
    556506    <message>
    557         <location filename="../src/mainwindow.cpp" line="142"/>
    558         <location filename="../src/mainwindow.cpp" line="197"/>
    559         <location filename="../src/mainwindow.cpp" line="693"/>
     507        <location filename="../src/mainwindow.cpp" line="129"/>
     508        <location filename="../src/mainwindow.cpp" line="188"/>
     509        <location filename="../src/mainwindow.cpp" line="720"/>
    560510        <source>All Files</source>
    561511        <translation>Усі файли</translation>
    562512    </message>
    563513    <message>
    564         <location filename="../src/mainwindow.cpp" line="140"/>
    565         <location filename="../src/mainwindow.cpp" line="141"/>
     514        <location filename="../src/mainwindow.cpp" line="127"/>
     515        <location filename="../src/mainwindow.cpp" line="128"/>
    566516        <source>%1 Task Files</source>
    567517        <translation>Файли умов %1</translation>
    568518    </message>
    569519    <message>
    570         <location filename="../src/mainwindow.cpp" line="624"/>
     520        <location filename="../src/mainwindow.cpp" line="627"/>
    571521        <source>Language Change</source>
    572522        <translation>Зміна мови</translation>
    573523    </message>
    574524    <message>
    575         <location filename="../src/mainwindow.cpp" line="635"/>
     525        <location filename="../src/mainwindow.cpp" line="637"/>
    576526        <source>Would you like to save changes in current task?</source>
    577527        <translation>Бажаете зберегти зміни у поточній задачі?</translation>
    578528    </message>
    579529    <message>
    580         <location filename="../src/mainwindow.cpp" line="191"/>
     530        <location filename="../src/mainwindow.cpp" line="182"/>
    581531        <source>PDF Files</source>
    582532        <translation>Файлы PDF</translation>
    583533    </message>
    584534    <message>
    585         <location filename="../src/mainwindow.cpp" line="193"/>
     535        <location filename="../src/mainwindow.cpp" line="184"/>
    586536        <source>HTML Files</source>
    587537        <translation>Файли HTML</translation>
    588538    </message>
    589539    <message>
    590         <location filename="../src/mainwindow.cpp" line="195"/>
     540        <location filename="../src/mainwindow.cpp" line="186"/>
    591541        <source>OpenDocument Files</source>
    592542        <translation>Файли OpenDocument</translation>
    593543    </message>
    594544    <message>
    595         <location filename="../src/mainwindow.cpp" line="428"/>
     545        <location filename="../src/mainwindow.cpp" line="426"/>
    596546        <source>Selected candidate for branching: %1.</source>
    597547        <translation>Обраний кандидат на розгалудження: %1.</translation>
    598548    </message>
    599549    <message>
    600         <location filename="../src/mainwindow.cpp" line="428"/>
    601         <location filename="../src/mainwindow.cpp" line="435"/>
     550        <location filename="../src/mainwindow.cpp" line="426"/>
     551        <location filename="../src/mainwindow.cpp" line="433"/>
    602552        <source>(%1;%2)</source>
    603553        <translation></translation>
    604554    </message>
    605555    <message numerus="yes">
    606         <location filename="../src/mainwindow.cpp" line="437"/>
     556        <location filename="../src/mainwindow.cpp" line="435"/>
    607557        <source>%n alternate candidate(s) for branching: %1.</source>
    608558        <translation>
     
    612562        </translation>
    613563    </message>
    614     <message>
    615         <location filename="../src/mainwindow.cpp" line="692"/>
     564    <message numerus="yes">
     565        <location filename="../src/mainwindow.cpp" line="452"/>
     566        <source>The price is &lt;b&gt;%n&lt;/b&gt; unit(s).</source>
     567        <translation>
     568            <numerusform>Вартість - &lt;b&gt;%n&lt;/b&gt; одиниця.</numerusform>
     569            <numerusform>Вартість - &lt;b&gt;%n&lt;/b&gt; одиниці.</numerusform>
     570            <numerusform>Вартість - &lt;b&gt;%n&lt;/b&gt; одиниць.</numerusform>
     571        </translation>
     572    </message>
     573    <message>
     574        <location filename="../src/mainwindow.cpp" line="719"/>
    616575        <source>%1 Task File</source>
    617576        <translation>Файл умови %1</translation>
    618577    </message>
    619578    <message>
    620         <location filename="../src/mainwindow.cpp" line="265"/>
     579        <location filename="../src/mainwindow.cpp" line="260"/>
    621580        <source>Settings Changed</source>
    622581        <translation>Параметри змінено</translation>
    623582    </message>
    624583    <message>
    625         <location filename="../src/mainwindow.cpp" line="144"/>
     584        <location filename="../src/mainwindow.cpp" line="132"/>
     585        <location filename="../src/mainwindow.cpp" line="134"/>
    626586        <source>Task Load</source>
    627587        <translation>Завантаження умови</translation>
    628588    </message>
    629589    <message>
    630         <location filename="../src/mainwindow.cpp" line="265"/>
     590        <location filename="../src/mainwindow.cpp" line="260"/>
    631591        <source>You have changed color settings.
    632592Do you wish to apply them to current solution text?</source>
     
    635595    </message>
    636596    <message>
    637         <location filename="../src/mainwindow.cpp" line="367"/>
     597        <location filename="../src/mainwindow.cpp" line="365"/>
    638598        <source>About TSPSG</source>
    639599        <translation>Про TSPSG</translation>
    640600    </message>
    641601    <message>
    642         <location filename="../src/mainwindow.cpp" line="401"/>
     602        <location filename="../src/mainwindow.cpp" line="399"/>
    643603        <source>Data error</source>
    644604        <translation>Помилка у даних</translation>
    645605    </message>
    646606    <message>
    647         <location filename="../src/mainwindow.cpp" line="401"/>
     607        <location filename="../src/mainwindow.cpp" line="399"/>
    648608        <source>Error in cell [Row %1; Column %2]: Invalid data format.</source>
    649609        <translation>Помилка у комірці  [Рядок %1; Колонка %2]: Невірний формат даних.</translation>
    650610    </message>
    651611    <message>
    652         <location filename="../src/mainwindow.cpp" line="414"/>
     612        <location filename="../src/mainwindow.cpp" line="412"/>
    653613        <source>Variant #%1</source>
    654614        <translation>Варіант №%1</translation>
    655615    </message>
    656616    <message>
    657         <location filename="../src/mainwindow.cpp" line="415"/>
     617        <location filename="../src/mainwindow.cpp" line="413"/>
    658618        <source>Task:</source>
    659619        <translation>Умова:</translation>
    660620    </message>
    661621    <message>
    662         <location filename="../src/mainwindow.cpp" line="418"/>
    663         <location filename="../src/mainwindow.cpp" line="462"/>
     622        <location filename="../src/mainwindow.cpp" line="416"/>
     623        <location filename="../src/mainwindow.cpp" line="460"/>
    664624        <source>Solution of Variant #%1 task</source>
    665625        <translation>Розв&apos;язок варіанту №%1</translation>
    666626    </message>
    667627    <message>
    668         <location filename="../src/mainwindow.cpp" line="424"/>
     628        <location filename="../src/mainwindow.cpp" line="422"/>
    669629        <source>Step #%1</source>
    670630        <translation>Крок №%1</translation>
    671631    </message>
    672632    <message>
    673         <location filename="../src/mainwindow.cpp" line="450"/>
     633        <location filename="../src/mainwindow.cpp" line="448"/>
    674634        <source>Optimal path:</source>
    675635        <translation>Оптимальний шлях:</translation>
    676636    </message>
    677637    <message>
    678         <location filename="../src/mainwindow.cpp" line="452"/>
     638        <location filename="../src/mainwindow.cpp" line="450"/>
    679639        <source>Resulting path:</source>
    680640        <translation>Знайдений шлях:</translation>
    681641    </message>
    682642    <message>
    683         <location filename="../src/mainwindow.cpp" line="454"/>
    684         <source>The price is &lt;b&gt;%1&lt;/b&gt; units.</source>
    685         <translation>Вартість - &lt;b&gt;%1&lt;/b&gt; одиниць.</translation>
    686     </message>
    687     <message>
    688         <location filename="../src/mainwindow.cpp" line="457"/>
     643        <location filename="../src/mainwindow.cpp" line="455"/>
    689644        <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>
    690645        <translation>&lt;b&gt;Увага!!!&lt;/b&gt;&lt;br&gt;Знайдений розв&apos;язок є рекордом, але може бути неоптимальним.&lt;br&gt;Для отримання оптимального розв&apos;зку, або перевірки поточного на оптимальність, потрібно продовжити ітерації.</translation>
    691646    </message>
    692647    <message>
    693         <location filename="../src/mainwindow.cpp" line="700"/>
     648        <location filename="../src/mainwindow.cpp" line="728"/>
     649        <location filename="../src/mainwindow.cpp" line="730"/>
    694650        <source>Task Save</source>
    695651        <translation>Збереження умови</translation>
    696652    </message>
    697653    <message>
    698         <location filename="../src/mainwindow.cpp" line="278"/>
     654        <location filename="../src/mainwindow.cpp" line="273"/>
    699655        <source>Language will be autodetected on next application start.</source>
    700656        <translation>Мову буде автоматично визначено при наступному запуску додатку.</translation>
    701657    </message>
    702658    <message>
    703         <location filename="../src/mainwindow.cpp" line="287"/>
     659        <location filename="../src/mainwindow.cpp" line="282"/>
    704660        <source>You have language autodetection turned on.
    705661It needs to be off.
     
    710666    </message>
    711667    <message>
    712         <location filename="../src/mainwindow.cpp" line="158"/>
    713         <location filename="../src/mainwindow.cpp" line="174"/>
    714         <location filename="../src/mainwindow.cpp" line="292"/>
    715         <location filename="../src/mainwindow.h" line="96"/>
     668        <location filename="../src/mainwindow.cpp" line="149"/>
     669        <location filename="../src/mainwindow.cpp" line="165"/>
     670        <location filename="../src/mainwindow.cpp" line="287"/>
     671        <location filename="../src/mainwindow.h" line="100"/>
    716672        <source>Untitled</source>
    717673        <translation>Без імені</translation>
  • src/main.cpp

    r3bcb7e8910 r4ccf855df8  
    5353        qsrand(QDateTime::currentDateTime().toTime_t() ^ QCursor::pos().x() ^ QCursor::pos().y());
    5454
     55QTranslator en;
     56        if (en.load("en", PATH_I18N))
     57                app.installTranslator(&en);
     58
    5559MainWindow mainwindow;
    5660        mainwindow.show();
  • src/mainwindow.cpp

    r3bcb7e8910 r4ccf855df8  
    3434        : QMainWindow(parent)
    3535{
    36         settings = new QSettings(QSettings::IniFormat,QSettings::UserScope,"TSPSG","tspsg");
     36        settings = new QSettings(QSettings::IniFormat, QSettings::UserScope, "TSPSG", "tspsg", this);
    3737        loadLanguage();
    38         setupUi(this);
    39 #ifndef Q_OS_WINCE
    40 QStatusBar *statusbar = new QStatusBar(this);
    41         statusbar->setObjectName("statusbar");
    42         setStatusBar(statusbar);
    43 #endif // Q_OS_WINCE
     38        setupUi();
     39
    4440        initDocStyleSheet();
    45         solutionText->document()->setDefaultFont(settings->value("Output/Font",QFont(DEF_FONT_FAMILY,DEF_FONT_SIZE)).value<QFont>());
    46         solutionText->setTextColor(settings->value("Output/Color",DEF_FONT_COLOR).value<QColor>());
    47         solutionText->setWordWrapMode(QTextOption::WordWrap);
    48 #ifdef Q_OS_WINCE
    49         // A little hack for toolbar icons to have a sane size.
    50         toolBar->setIconSize(QSize(logicalDpiX() / 4, logicalDpiY() / 4));
    51 #endif
     41
    5242#ifndef QT_NO_PRINTER
    5343        printer = new QPrinter(QPrinter::HighResolution);
    5444#endif // QT_NO_PRINTER
    55         groupSettingsLanguageList = new QActionGroup(this);
    56         actionSettingsLanguageEnglish->setData("en");
    57         actionSettingsLanguageEnglish->setActionGroup(groupSettingsLanguageList);
    58         loadLangList();
    59         spinCities->setMaximum(MAX_NUM_CITIES);
    60         actionSettingsLanguageAutodetect->setChecked(settings->value("Language","").toString().isEmpty());
     45
    6146        connect(actionFileNew,SIGNAL(triggered()),this,SLOT(actionFileNewTriggered()));
    6247        connect(actionFileOpen,SIGNAL(triggered()),this,SLOT(actionFileOpenTriggered()));
     
    6449        connect(actionFileSaveAsTask,SIGNAL(triggered()),this,SLOT(actionFileSaveAsTaskTriggered()));
    6550        connect(actionFileSaveAsSolution,SIGNAL(triggered()),this,SLOT(actionFileSaveAsSolutionTriggered()));
     51#ifndef QT_NO_PRINTER
     52        connect(actionFilePrintPreview,SIGNAL(triggered()),this,SLOT(actionFilePrintPreviewTriggered()));
     53        connect(actionFilePrint,SIGNAL(triggered()),this,SLOT(actionFilePrintTriggered()));
     54#endif // QT_NO_PRINTER
    6655        connect(actionSettingsPreferences,SIGNAL(triggered()),this,SLOT(actionSettingsPreferencesTriggered()));
    6756        connect(actionSettingsLanguageAutodetect,SIGNAL(triggered(bool)),this,SLOT(actionSettingsLanguageAutodetectTriggered(bool)));
     
    6958        connect(actionHelpAboutQt,SIGNAL(triggered()),qApp,SLOT(aboutQt()));
    7059        connect(actionHelpAbout,SIGNAL(triggered()),this,SLOT(actionHelpAboutTriggered()));
    71 #ifndef QT_NO_PRINTER
    72         menuFile->insertAction(actionFileExit,actionFilePrintPreview);
    73         menuFile->insertAction(actionFileExit,actionFilePrint);
    74         menuFile->insertSeparator(actionFileExit);
    75         toolBar->insertAction(actionSettingsPreferences,actionFilePrint);
    76         connect(actionFilePrintPreview,SIGNAL(triggered()),this,SLOT(actionFilePrintPreviewTriggered()));
    77         connect(actionFilePrint,SIGNAL(triggered()),this,SLOT(actionFilePrintTriggered()));
    78 #endif // QT_NO_PRINTER
     60
    7961        connect(buttonSolve,SIGNAL(clicked()),this,SLOT(buttonSolveClicked()));
    8062        connect(buttonRandom,SIGNAL(clicked()),this,SLOT(buttonRandomClicked()));
    8163        connect(buttonBackToTask,SIGNAL(clicked()),this,SLOT(buttonBackToTaskClicked()));
    8264        connect(spinCities,SIGNAL(valueChanged(int)),this,SLOT(spinCitiesValueChanged(int)));
    83         setCentralWidget(tabWidget);
    8465
    8566        if (settings->value("SavePos", false).toBool()) {
     
    10081        }
    10182
    102         qsrand(QDateTime().currentDateTime().toTime_t());
    10383        tspmodel = new CTSPModel(this);
    10484        taskView->setModel(tspmodel);
     
    11696}
    11797
     98MainWindow::~MainWindow()
     99{
     100#ifndef QT_NO_PRINTER
     101        delete printer;
     102#endif
     103}
     104
    118105/* Privates **********************************************************/
    119106
     
    142129        filters.append(trUtf8("All Files") + " (*)");
    143130
     131#ifdef Q_OS_WINCE
     132        QString file = QFileDialog::getOpenFileName(this, trUtf8("Task Load"), QString(), filters.join(";;"), NULL, QFileDialog::DontUseNativeDialog);
     133#else
    144134QString file = QFileDialog::getOpenFileName(this, trUtf8("Task Load"), QString(), filters.join(";;"));
     135#endif // Q_OS_WINCE
    145136        if (file.isEmpty() || !QFileInfo(file).isFile())
    146137                return;
     
    197188        filters.append(trUtf8("All Files") + " (*)");
    198189
     190#ifdef Q_OS_WINCE
     191QString file = QFileDialog::getSaveFileName(this, QString(), selectedFile, filters.join(";;"), NULL, QFileDialog::DontUseNativeDialog);
     192#else
    199193QString file = QFileDialog::getSaveFileName(this, QString(), selectedFile, filters.join(";;"));
     194#endif
    200195        if (file.isEmpty())
    201196                return;
     
    292287bool untitled = (fileName == trUtf8("Untitled") + ".tspt");
    293288        if (loadLanguage(action->data().toString())) {
     289                QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
    294290                settings->setValue("Language",action->data().toString());
    295                 retranslateUi(this);
     291                retranslateUi();
    296292                if (untitled)
    297293                        setFileName();
     294                QApplication::restoreOverrideCursor();
    298295        }
    299296}
     
    348345        lblIcon->setPixmap(QPixmap(":/images/tspsg.png").scaledToWidth(logicalDpiX() * 2 / 3, Qt::SmoothTransformation));
    349346        lblIcon->setAlignment(Qt::AlignTop);
     347        lblTitle->setOpenExternalLinks(true);
    350348        lblTitle->setText(title);
    351349
     
    452450                output.append("<p>" + trUtf8("Resulting path:") + "</p>");
    453451        output.append("<p>&nbsp;&nbsp;" + solver.getSortedPath() + "</p>");
    454         output.append("<p>" + trUtf8("The price is <b>%1</b> units.").arg(step->price) + "</p>");
     452        output.append("<p>" + trUtf8("The price is <b>%n</b> unit(s).", "", step->price) + "</p>");
    455453        if (!solver.isOptimal()) {
    456454                output.append("<p>&nbsp;</p>");
     
    502500void MainWindow::spinCitiesValueChanged(int n)
    503501{
     502        QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
    504503int count = tspmodel->numCities();
    505504        tspmodel->setNumCities(n);
     
    509508                        taskView->resizeRowToContents(k);
    510509                }
     510        QApplication::restoreOverrideCursor();
    511511}
    512512
     
    596596                qApp->removeTranslator(translator);
    597597                delete translator;
    598         }
    599         translator = new QTranslator();
    600         if ((lng.compare("en") != 0) && !lng.startsWith("en_")) {
    601                 // Trying to load system Qt library translation...
    602                 qtTranslator = new QTranslator();
    603                 if (qtTranslator->load("qt_" + lng,QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
     598                translator = NULL;
     599        }
     600
     601        if (lng == "en")
     602                return true;
     603
     604        // Trying to load system Qt library translation...
     605        qtTranslator = new QTranslator(this);
     606        if (qtTranslator->load("qt_" + lng,QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
     607                qApp->installTranslator(qtTranslator);
     608        else {
     609                // No luck. Let's try to load a bundled one.
     610                if (qtTranslator->load("qt_" + lng,PATH_I18N))
    604611                        qApp->installTranslator(qtTranslator);
    605612                else {
    606                         // No luck. Let's try to load a bundled one.
    607                         if (qtTranslator->load("qt_" + lng,PATH_I18N))
    608                                 qApp->installTranslator(qtTranslator);
    609                         else {
    610                                 // Qt library translation unavailable
    611                                 delete qtTranslator;
    612                                 qtTranslator = NULL;
    613                         }
     613                        // Qt library translation unavailable
     614                        delete qtTranslator;
     615                        qtTranslator = NULL;
    614616                }
    615617        }
     618
    616619        // Now let's load application translation.
     620        translator = new QTranslator(this);
    617621        if (translator->load(lng,PATH_I18N))
    618622                qApp->installTranslator(translator);
     
    620624                delete translator;
    621625                translator = NULL;
    622                 if ((lng.compare("en") != 0) && !lng.startsWith("en_")) {
    623                         if (!ad)
    624                                 QMessageBox(QMessageBox::Warning,trUtf8("Language Change"),trUtf8("Unable to load translation language."),QMessageBox::Ok,this).exec();
    625                         return false;
    626                 }
     626                if (!ad)
     627                        QMessageBox(QMessageBox::Warning,trUtf8("Language Change"),trUtf8("Unable to load translation language."),QMessageBox::Ok,this).exec();
     628                return false;
    627629        }
    628630        return true;
     
    689691}
    690692
     693void MainWindow::retranslateUi(bool all)
     694{
     695        if (all)
     696                Ui::MainWindow::retranslateUi(this);
     697
     698#ifndef QT_NO_PRINTER
     699        actionFilePrintPreview->setText(QApplication::translate("MainWindow", "P&rint Preview...", 0, QApplication::UnicodeUTF8));
     700#ifndef QT_NO_TOOLTIP
     701        actionFilePrintPreview->setToolTip(QApplication::translate("MainWindow", "Preview solution results", 0, QApplication::UnicodeUTF8));
     702#endif // QT_NO_TOOLTIP
     703#ifndef QT_NO_STATUSTIP
     704        actionFilePrintPreview->setStatusTip(QApplication::translate("MainWindow", "Preview current solution results before printing", 0, QApplication::UnicodeUTF8));
     705#endif // QT_NO_STATUSTIP
     706
     707        actionFilePrint->setText(QApplication::translate("MainWindow", "&Print...", 0, QApplication::UnicodeUTF8));
     708#ifndef QT_NO_TOOLTIP
     709        actionFilePrint->setToolTip(QApplication::translate("MainWindow", "Print solution", 0, QApplication::UnicodeUTF8));
     710#endif // QT_NO_TOOLTIP
     711#ifndef QT_NO_STATUSTIP
     712        actionFilePrint->setStatusTip(QApplication::translate("MainWindow", "Print current solution results", 0, QApplication::UnicodeUTF8));
     713#endif // QT_NO_STATUSTIP
     714        actionFilePrint->setShortcut(QApplication::translate("MainWindow", "Ctrl+P", 0, QApplication::UnicodeUTF8));
     715#endif // QT_NO_PRINTER
     716}
     717
    691718bool MainWindow::saveTask() {
    692719QStringList filters(trUtf8("%1 Task File").arg("TSPSG") + " (*.tspt)");
     
    698725                file = QFileInfo(fileName).canonicalPath() + "/" + QFileInfo(fileName).completeBaseName() + ".tspt";
    699726
     727#ifdef Q_OS_WINCE
     728        file = QFileDialog::getSaveFileName(this, trUtf8("Task Save"), file, filters.join(";;"), NULL, QFileDialog::DontUseNativeDialog);
     729#else
    700730        file = QFileDialog::getSaveFileName(this, trUtf8("Task Save"), file, filters.join(";;"));
     731#endif // Q_OS_WINCE
     732
    701733        if (file.isEmpty())
    702734                return false;
     
    715747}
    716748
     749void MainWindow::setupUi()
     750{
     751        Ui::MainWindow::setupUi(this);
     752
     753#if QT_VERSION >= 0x040600
     754        setToolButtonStyle(Qt::ToolButtonFollowStyle);
     755#endif
     756
     757#ifndef Q_OS_WINCE
     758QStatusBar *statusbar = new QStatusBar(this);
     759        statusbar->setObjectName("statusbar");
     760        setStatusBar(statusbar);
     761#endif // Q_OS_WINCE
     762
     763#ifdef Q_OS_WINCE
     764        //! \hack HACK: A little hack for toolbar icons to have a sane size.
     765        toolBar->setIconSize(QSize(logicalDpiX() / 4, logicalDpiY() / 4));
     766#endif
     767
     768        solutionText->document()->setDefaultFont(settings->value("Output/Font",QFont(DEF_FONT_FAMILY,DEF_FONT_SIZE)).value<QFont>());
     769        solutionText->setTextColor(settings->value("Output/Color",DEF_FONT_COLOR).value<QColor>());
     770        solutionText->setWordWrapMode(QTextOption::WordWrap);
     771
     772#ifndef QT_NO_PRINTER
     773        actionFilePrintPreview = new QAction(this);
     774        actionFilePrintPreview->setObjectName("actionFilePrintPreview");
     775        actionFilePrintPreview->setEnabled(false);
     776        actionFilePrintPreview->setIcon(QIcon(":/images/icons/document_preview.png"));
     777
     778        actionFilePrint = new QAction(this);
     779        actionFilePrint->setObjectName("actionFilePrint");
     780        actionFilePrint->setEnabled(false);
     781        actionFilePrint->setIcon(QIcon(":/images/icons/fileprint.png"));
     782
     783        menuFile->insertAction(actionFileExit,actionFilePrintPreview);
     784        menuFile->insertAction(actionFileExit,actionFilePrint);
     785        menuFile->insertSeparator(actionFileExit);
     786
     787        toolBar->insertAction(actionSettingsPreferences,actionFilePrint);
     788#endif // QT_NO_PRINTER
     789
     790        groupSettingsLanguageList = new QActionGroup(this);
     791        actionSettingsLanguageEnglish->setData("en");
     792        actionSettingsLanguageEnglish->setActionGroup(groupSettingsLanguageList);
     793        loadLangList();
     794        actionSettingsLanguageAutodetect->setChecked(settings->value("Language","").toString().isEmpty());
     795
     796        spinCities->setMaximum(MAX_NUM_CITIES);
     797
     798        retranslateUi(false);
     799
     800        setCentralWidget(tabWidget);
     801}
     802
    717803void MainWindow::toggleSolutionActions(bool enable)
    718804{
  • src/mainwindow.h

    r3bcb7e8910 r4ccf855df8  
    4747public:
    4848        MainWindow(QWidget *parent = 0);
     49        ~MainWindow();
    4950
    5051private slots:
     
    8283#ifndef QT_NO_PRINTER
    8384        QPrinter *printer;
     85        QAction *actionFilePrintPreview;
     86        QAction *actionFilePrint;
    8487#endif // QT_NO_PRINTER
    8588        QSettings *settings;
     
    9396        void outputMatrix(const TMatrix &matrix, QStringList &output);
    9497        void outputMatrix(const SStep &step, QStringList &output);
     98        void retranslateUi(bool all = true);
    9599        bool saveTask();
    96100        void setFileName(const QString &fileName = trUtf8("Untitled") + ".tspt");
     101        void setupUi();
    97102        void toggleSolutionActions(bool enable = true);
    98103};
  • src/settingsdialog.cpp

    r3bcb7e8910 r4ccf855df8  
    181181        labelHint->setText(labelHint->statusTip());
    182182#endif // Q_OS_WINCE
    183         settings = new QSettings(QSettings::IniFormat,QSettings::UserScope,"TSPSG","tspsg");
     183
     184        settings = new QSettings(QSettings::IniFormat, QSettings::UserScope, "TSPSG", "tspsg", this);
     185
    184186        spinRandMin->setMaximum(MAX_RAND_VALUE);
    185187        spinRandMin->setValue(settings->value("MinCost",DEF_RAND_MIN).toInt());
  • src/tspmodel.cpp

    r3bcb7e8910 r4ccf855df8  
    3131        : QAbstractTableModel(parent), nCities(0)
    3232{
    33         settings = new QSettings(QSettings::IniFormat,QSettings::UserScope,"TSPSG","tspsg");
     33        settings = new QSettings(QSettings::IniFormat, QSettings::UserScope, "TSPSG", "tspsg", this);
    3434}
    3535
     
    468468inline int CTSPModel::rand(int min, int max) const
    469469{
    470         return min + (int)(((float)qrand() / RAND_MAX) * (max - min));
    471 }
     470        return min + (int)floor(((double)qrand() / RAND_MAX) * (max + 1 - min));
     471}
  • ui/mainwindow.ui

    r3bcb7e8910 r4ccf855df8  
    88    <x>0</x>
    99    <y>0</y>
    10     <width>503</width>
    11     <height>387</height>
     10    <width>297</width>
     11    <height>353</height>
    1212   </rect>
    1313  </property>
     
    272272     <x>0</x>
    273273     <y>0</y>
    274      <width>503</width>
     274     <width>297</width>
    275275     <height>21</height>
    276276    </rect>
     
    364364   <addaction name="actionFileExit"/>
    365365  </widget>
    366   <action name="actionFilePrintPreview">
    367    <property name="enabled">
    368     <bool>false</bool>
    369    </property>
    370    <property name="icon">
    371     <iconset resource="../resources/tspsg.qrc">
    372      <normaloff>:/images/icons/document_preview.png</normaloff>:/images/icons/document_preview.png</iconset>
    373    </property>
    374    <property name="text">
    375     <string>P&amp;rint Preview...</string>
    376    </property>
    377    <property name="iconText">
    378     <string>Print Preview...</string>
    379    </property>
    380    <property name="toolTip">
    381     <string>Preview solution results</string>
    382    </property>
    383    <property name="statusTip">
    384     <string>Preview current solution results before printing</string>
    385    </property>
    386   </action>
    387   <action name="actionFilePrint">
    388    <property name="enabled">
    389     <bool>false</bool>
    390    </property>
    391    <property name="icon">
    392     <iconset resource="../resources/tspsg.qrc">
    393      <normaloff>:/images/icons/fileprint.png</normaloff>:/images/icons/fileprint.png</iconset>
    394    </property>
    395    <property name="text">
    396     <string>&amp;Print...</string>
    397    </property>
    398    <property name="iconText">
    399     <string>Print...</string>
    400    </property>
    401    <property name="toolTip">
    402     <string>Print solution</string>
    403    </property>
    404    <property name="statusTip">
    405     <string>Print current solution results</string>
    406    </property>
    407    <property name="shortcut">
    408     <string>Ctrl+P</string>
    409    </property>
    410   </action>
    411366  <action name="actionFileSaveAsSolution">
    412367   <property name="enabled">
     
    416371    <string>&amp;Solution...</string>
    417372   </property>
    418    <property name="iconText">
    419     <string>Solution...</string>
    420    </property>
    421373   <property name="toolTip">
    422374    <string>Save solution</string>
     
    434386    <string>&amp;New</string>
    435387   </property>
    436    <property name="iconText">
    437     <string>New</string>
    438    </property>
    439388   <property name="toolTip">
    440389    <string>New task</string>
     
    455404    <string>&amp;Open...</string>
    456405   </property>
    457    <property name="iconText">
    458     <string>Open...</string>
    459    </property>
    460406   <property name="toolTip">
    461407    <string>Open task</string>
     
    475421   <property name="text">
    476422    <string>&amp;Preferences...</string>
    477    </property>
    478    <property name="iconText">
    479     <string>Preferences...</string>
    480423   </property>
    481424   <property name="statusTip">
     
    527470    <string>&amp;About TSPSG...</string>
    528471   </property>
    529    <property name="iconText">
    530     <string>About TSPSG...</string>
    531    </property>
    532472   <property name="statusTip">
    533473    <string>About application</string>
     
    549489   <property name="text">
    550490    <string>&amp;Task...</string>
    551    </property>
    552    <property name="iconText">
    553     <string>Task...</string>
    554491   </property>
    555492   <property name="toolTip">
     
    599536    <string>&amp;Save</string>
    600537   </property>
    601    <property name="iconText">
    602     <string>Save</string>
    603    </property>
    604538   <property name="toolTip">
    605539    <string>Save task</string>
     
    619553   <property name="text">
    620554    <string>About &amp;Qt...</string>
    621    </property>
    622    <property name="iconText">
    623     <string>About Qt...</string>
    624555   </property>
    625556   <property name="statusTip">
Note: See TracChangeset for help on using the changeset viewer.