Changeset 993d5af6f6 in tspsg


Ignore:
Timestamp:
Jun 30, 2009, 1:02:31 AM (15 years ago)
Author:
Oleksii Serdiuk
Branches:
0.1.3.145-beta1-symbian, 0.1.4.170-beta2-bb10, appveyor, imgbot, master, readme
Children:
2b9257627c
Parents:
ac4cb71650
Message:

+ Opening task file
+ Saving task file

  • Translations update to reflect recent changes.
Files:
1 added
12 edited
1 moved

Legend:

Unmodified
Added
Removed
  • i18n/ru.ts

    rac4cb71650 r993d5af6f6  
    66    <name>CTSPModel</name>
    77    <message>
    8         <location filename="../src/tspmodel.cpp" line="52"/>
     8        <location filename="../src/tspmodel.cpp" line="51"/>
    99        <source>City %1</source>
    1010        <translation>Город %1</translation>
    1111    </message>
    1212    <message>
    13         <location filename="../src/tspmodel.cpp" line="54"/>
     13        <location filename="../src/tspmodel.cpp" line="53"/>
    1414        <source>%1</source>
    1515        <translation></translation>
     16    </message>
     17    <message>
     18        <location filename="../src/tspmodel.cpp" line="165"/>
     19        <location filename="../src/tspmodel.cpp" line="177"/>
     20        <location filename="../src/tspmodel.cpp" line="203"/>
     21        <source>Task Load</source>
     22        <translation>Загрузка задания</translation>
     23    </message>
     24    <message>
     25        <location filename="../src/tspmodel.cpp" line="165"/>
     26        <source>Unable to load task:
     27Unknown file format or file is corrupted.</source>
     28        <translation>Невозможно загрузить задание:
     29Неизвестный формат файла или файл поврежден.</translation>
     30    </message>
     31    <message>
     32        <location filename="../src/tspmodel.cpp" line="177"/>
     33        <location filename="../src/tspmodel.cpp" line="203"/>
     34        <source>Unable to load task:
     35File version is newer than application supports.
     36Please, try to update application.</source>
     37        <translation>Невозможно загрузить задание:
     38Версия файла новее чем поддерживаемая приложением.
     39Пожалуйста, попробуйте обновить приложение.</translation>
    1640    </message>
    1741</context>
     
    1943    <name>MainWindow</name>
    2044    <message>
    21         <location filename="../src/mainwindow.cpp" line="125"/>
    22         <location filename="../src/mainwindow.cpp" line="246"/>
    23         <location filename="../src/mainwindow.cpp" line="255"/>
     45        <location filename="../src/mainwindow.cpp" line="124"/>
     46        <location filename="../src/mainwindow.cpp" line="279"/>
     47        <location filename="../src/mainwindow.cpp" line="288"/>
    2448        <source>Language change</source>
    2549        <translation>Смена языка</translation>
    2650    </message>
    2751    <message>
    28         <location filename="../src/mainwindow.cpp" line="125"/>
     52        <location filename="../src/mainwindow.cpp" line="124"/>
    2953        <source>Unable to load translation language.</source>
    3054        <translation>Невозможно загрузить перевод.</translation>
    3155    </message>
    3256    <message>
    33         <location filename="../src/mainwindow.cpp" line="192"/>
     57        <location filename="../src/mainwindow.cpp" line="159"/>
     58        <source>All Supported Formats</source>
     59        <translation>Все поддерживаемые форматы</translation>
     60    </message>
     61    <message>
     62        <source>TSPSG Task Files</source>
     63        <translation type="obsolete">Файлы задачи TSPSG</translation>
     64    </message>
     65    <message>
     66        <source>ZKomModRd Task Files</source>
     67        <translation type="obsolete">Файлы задачи ZKomModRd</translation>
     68    </message>
     69    <message>
     70        <location filename="../src/mainwindow.cpp" line="162"/>
     71        <location filename="../src/mainwindow.cpp" line="177"/>
     72        <source>All Files</source>
     73        <translation>Все файлы</translation>
     74    </message>
     75    <message>
     76        <source>TSPSG Task File</source>
     77        <translation type="obsolete">Файл задачи TSPSG</translation>
     78    </message>
     79    <message>
     80        <location filename="../src/mainwindow.cpp" line="160"/>
     81        <location filename="../src/mainwindow.cpp" line="161"/>
     82        <source>%1 Task Files</source>
     83        <translation>Файлы задач %1</translation>
     84    </message>
     85    <message>
     86        <location filename="../src/mainwindow.cpp" line="176"/>
     87        <source>%1 Task File</source>
     88        <translation>Файл задачи %1</translation>
     89    </message>
     90    <message>
     91        <location filename="../src/mainwindow.cpp" line="225"/>
    3492        <source>Data error</source>
    3593        <translation>Ошибка в данных</translation>
    3694    </message>
    3795    <message>
    38         <location filename="../src/mainwindow.cpp" line="192"/>
     96        <location filename="../src/mainwindow.cpp" line="225"/>
    3997        <source>Error in cell [Row %1; Column %2]: Invalid data format.</source>
    4098        <translation>Ошибка в ячейке [Строка %1; Колонка %2]: Неверный формат данных.</translation>
    4199    </message>
    42100    <message>
    43         <location filename="../src/mainwindow.cpp" line="201"/>
     101        <location filename="../src/mainwindow.cpp" line="234"/>
    44102        <source>Solution error</source>
    45103        <translation>Ошибка при решении</translation>
    46104    </message>
    47105    <message>
    48         <location filename="../src/mainwindow.cpp" line="201"/>
     106        <location filename="../src/mainwindow.cpp" line="234"/>
    49107        <source>There was an error while solving the task.</source>
    50108        <translation>Во время решения задачи возникла ошибка.</translation>
    51109    </message>
    52110    <message>
    53         <location filename="../src/mainwindow.cpp" line="246"/>
     111        <location filename="../src/mainwindow.cpp" line="279"/>
    54112        <source>Language will be autodetected on next application start.</source>
    55113        <translation>Язык будет автоматически определен при следующем запуске приложения.</translation>
    56114    </message>
    57115    <message>
    58         <location filename="../src/mainwindow.cpp" line="255"/>
     116        <location filename="../src/mainwindow.cpp" line="288"/>
    59117        <source>You have language autodetection turned on.
    60118It needs to be off.
     
    155213    </message>
    156214    <message>
     215        <location filename="../ui/mainwindow.ce.ui" line="558"/>
     216        <location filename="../ui/mainwindow.ui" line="571"/>
     217        <source>&amp;Save</source>
     218        <translation>Со&amp;хранить</translation>
     219    </message>
     220    <message>
     221        <location filename="../ui/mainwindow.ce.ui" line="283"/>
     222        <location filename="../ui/mainwindow.ui" line="264"/>
     223        <source>&amp;Settings</source>
     224        <translation>&amp;Настройки</translation>
     225    </message>
     226    <message>
    157227        <location filename="../ui/mainwindow.ce.ui" line="262"/>
    158228        <location filename="../ui/mainwindow.ui" line="240"/>
    159         <source>&amp;Save</source>
    160         <translation>Со&amp;хранить</translation>
    161     </message>
    162     <message>
    163         <location filename="../ui/mainwindow.ce.ui" line="282"/>
    164         <location filename="../ui/mainwindow.ui" line="263"/>
    165         <source>&amp;Settings</source>
    166         <translation>&amp;Настройки</translation>
    167     </message>
    168     <message>
    169         <location filename="../ui/mainwindow.ce.ui" line="292"/>
    170         <location filename="../ui/mainwindow.ui" line="273"/>
     229        <source>Save &amp;as...</source>
     230        <translation>Сохранить &amp;как...</translation>
     231    </message>
     232    <message>
     233        <location filename="../ui/mainwindow.ce.ui" line="293"/>
     234        <location filename="../ui/mainwindow.ui" line="274"/>
    171235        <source>&amp;Language</source>
    172236        <translation>Язык / &amp;Language</translation>
    173237    </message>
    174238    <message>
    175         <location filename="../ui/mainwindow.ce.ui" line="308"/>
    176         <location filename="../ui/mainwindow.ui" line="289"/>
     239        <location filename="../ui/mainwindow.ce.ui" line="309"/>
     240        <location filename="../ui/mainwindow.ui" line="290"/>
    177241        <source>&amp;Help</source>
    178242        <translation>&amp;Помощь</translation>
    179243    </message>
    180244    <message>
    181         <location filename="../ui/mainwindow.ce.ui" line="348"/>
    182         <location filename="../ui/mainwindow.ui" line="361"/>
     245        <location filename="../ui/mainwindow.ce.ui" line="349"/>
     246        <location filename="../ui/mainwindow.ui" line="362"/>
    183247        <source>Solution st&amp;eps</source>
    184248        <translation>&amp;Ход решения</translation>
    185249    </message>
    186250    <message>
    187         <location filename="../ui/mainwindow.ce.ui" line="351"/>
    188         <location filename="../ui/mainwindow.ui" line="364"/>
     251        <location filename="../ui/mainwindow.ce.ui" line="352"/>
     252        <location filename="../ui/mainwindow.ui" line="365"/>
    189253        <source>Save solution steps</source>
    190254        <translation>Сохранить ход решения</translation>
    191255    </message>
    192256    <message>
    193         <location filename="../ui/mainwindow.ce.ui" line="354"/>
    194         <location filename="../ui/mainwindow.ui" line="367"/>
     257        <location filename="../ui/mainwindow.ce.ui" line="355"/>
     258        <location filename="../ui/mainwindow.ui" line="368"/>
    195259        <source>Save solution steps only</source>
    196260        <translation>Сохранить только ход решения</translation>
    197261    </message>
    198262    <message>
    199         <location filename="../ui/mainwindow.ce.ui" line="362"/>
    200         <location filename="../ui/mainwindow.ui" line="375"/>
     263        <location filename="../ui/mainwindow.ce.ui" line="363"/>
     264        <location filename="../ui/mainwindow.ui" line="376"/>
    201265        <source>Solution &amp;graph</source>
    202266        <translation>&amp;Граф решения</translation>
    203267    </message>
    204268    <message>
    205         <location filename="../ui/mainwindow.ce.ui" line="365"/>
    206         <location filename="../ui/mainwindow.ui" line="378"/>
     269        <location filename="../ui/mainwindow.ce.ui" line="366"/>
     270        <location filename="../ui/mainwindow.ui" line="379"/>
    207271        <source>Save solution graph</source>
    208272        <translation>Сохранить граф решения</translation>
    209273    </message>
    210274    <message>
    211         <location filename="../ui/mainwindow.ce.ui" line="368"/>
    212         <location filename="../ui/mainwindow.ui" line="381"/>
     275        <location filename="../ui/mainwindow.ce.ui" line="369"/>
     276        <location filename="../ui/mainwindow.ui" line="382"/>
    213277        <source>Save solution graph only</source>
    214278        <translation>Сохранить только граф решения</translation>
    215279    </message>
    216280    <message>
    217         <location filename="../ui/mainwindow.ce.ui" line="376"/>
    218         <location filename="../ui/mainwindow.ui" line="389"/>
     281        <location filename="../ui/mainwindow.ce.ui" line="377"/>
     282        <location filename="../ui/mainwindow.ui" line="390"/>
    219283        <source>&amp;Solution</source>
    220284        <translation>&amp;Решение</translation>
    221285    </message>
    222286    <message>
    223         <location filename="../ui/mainwindow.ce.ui" line="379"/>
    224         <location filename="../ui/mainwindow.ui" line="392"/>
     287        <location filename="../ui/mainwindow.ce.ui" line="380"/>
     288        <location filename="../ui/mainwindow.ui" line="393"/>
    225289        <source>Save solution</source>
    226290        <translation>Сохранить решение</translation>
    227291    </message>
    228292    <message>
    229         <location filename="../ui/mainwindow.ce.ui" line="382"/>
    230         <location filename="../ui/mainwindow.ui" line="395"/>
     293        <location filename="../ui/mainwindow.ce.ui" line="383"/>
     294        <location filename="../ui/mainwindow.ui" line="396"/>
    231295        <source>Save solution steps and graph</source>
    232296        <translation>Сохранить ход и граф решения</translation>
    233297    </message>
    234298    <message>
    235         <location filename="../ui/mainwindow.ce.ui" line="391"/>
    236         <location filename="../ui/mainwindow.ui" line="404"/>
     299        <location filename="../ui/mainwindow.ce.ui" line="392"/>
     300        <location filename="../ui/mainwindow.ui" line="405"/>
    237301        <source>&amp;New</source>
    238302        <translation>&amp;Создать</translation>
    239303    </message>
    240304    <message>
    241         <location filename="../ui/mainwindow.ce.ui" line="394"/>
    242         <location filename="../ui/mainwindow.ui" line="407"/>
     305        <location filename="../ui/mainwindow.ce.ui" line="395"/>
     306        <location filename="../ui/mainwindow.ui" line="408"/>
    243307        <source>New</source>
    244308        <translation>Создать</translation>
    245309    </message>
    246310    <message>
    247         <location filename="../ui/mainwindow.ce.ui" line="397"/>
    248         <location filename="../ui/mainwindow.ui" line="410"/>
     311        <location filename="../ui/mainwindow.ce.ui" line="398"/>
     312        <location filename="../ui/mainwindow.ui" line="411"/>
    249313        <source>New task</source>
    250314        <translation>Создать задачу</translation>
    251315    </message>
    252316    <message>
    253         <location filename="../ui/mainwindow.ce.ui" line="400"/>
    254         <location filename="../ui/mainwindow.ui" line="413"/>
     317        <location filename="../ui/mainwindow.ce.ui" line="401"/>
     318        <location filename="../ui/mainwindow.ui" line="414"/>
    255319        <source>Create new task</source>
    256320        <translation>Создать новую задачу</translation>
    257321    </message>
    258322    <message>
    259         <location filename="../ui/mainwindow.ce.ui" line="403"/>
    260         <location filename="../ui/mainwindow.ui" line="416"/>
     323        <location filename="../ui/mainwindow.ce.ui" line="404"/>
     324        <location filename="../ui/mainwindow.ui" line="417"/>
    261325        <source>Ctrl+N</source>
    262326        <translation></translation>
    263327    </message>
    264328    <message>
    265         <location filename="../ui/mainwindow.ce.ui" line="415"/>
    266         <location filename="../ui/mainwindow.ui" line="428"/>
     329        <location filename="../ui/mainwindow.ce.ui" line="413"/>
     330        <location filename="../ui/mainwindow.ui" line="426"/>
    267331        <source>&amp;Open...</source>
    268332        <translation>&amp;Открыть...</translation>
    269333    </message>
    270334    <message>
    271         <location filename="../ui/mainwindow.ce.ui" line="418"/>
    272         <location filename="../ui/mainwindow.ui" line="431"/>
     335        <location filename="../ui/mainwindow.ce.ui" line="416"/>
     336        <location filename="../ui/mainwindow.ui" line="429"/>
    273337        <source>Open...</source>
    274338        <translation>Открыть...</translation>
    275339    </message>
    276340    <message>
    277         <location filename="../ui/mainwindow.ce.ui" line="421"/>
    278         <location filename="../ui/mainwindow.ui" line="434"/>
     341        <location filename="../ui/mainwindow.ce.ui" line="419"/>
     342        <location filename="../ui/mainwindow.ui" line="432"/>
    279343        <source>Open task</source>
    280344        <translation>Открыть задачу</translation>
    281345    </message>
    282346    <message>
    283         <location filename="../ui/mainwindow.ce.ui" line="424"/>
    284         <location filename="../ui/mainwindow.ui" line="437"/>
     347        <location filename="../ui/mainwindow.ce.ui" line="422"/>
     348        <location filename="../ui/mainwindow.ui" line="435"/>
    285349        <source>Open saved task</source>
    286350        <translation>Открыть сохраненное условие задачи</translation>
    287351    </message>
    288352    <message>
    289         <location filename="../ui/mainwindow.ce.ui" line="427"/>
    290         <location filename="../ui/mainwindow.ui" line="440"/>
     353        <location filename="../ui/mainwindow.ce.ui" line="425"/>
     354        <location filename="../ui/mainwindow.ui" line="438"/>
    291355        <source>Ctrl+O</source>
    292356        <translation></translation>
    293357    </message>
    294358    <message>
    295         <location filename="../ui/mainwindow.ce.ui" line="436"/>
    296         <location filename="../ui/mainwindow.ui" line="449"/>
     359        <location filename="../ui/mainwindow.ce.ui" line="434"/>
     360        <location filename="../ui/mainwindow.ui" line="447"/>
    297361        <source>&amp;Preferences...</source>
    298362        <translation>&amp;Параметры...</translation>
    299363    </message>
    300364    <message>
    301         <location filename="../ui/mainwindow.ce.ui" line="439"/>
    302         <location filename="../ui/mainwindow.ui" line="452"/>
     365        <location filename="../ui/mainwindow.ce.ui" line="437"/>
     366        <location filename="../ui/mainwindow.ui" line="450"/>
    303367        <source>Preferences...</source>
    304368        <translation>Параметры...</translation>
    305369    </message>
    306370    <message>
    307         <location filename="../ui/mainwindow.ce.ui" line="442"/>
    308         <location filename="../ui/mainwindow.ui" line="455"/>
     371        <location filename="../ui/mainwindow.ce.ui" line="440"/>
     372        <location filename="../ui/mainwindow.ui" line="453"/>
    309373        <source>Application preferences</source>
    310374        <translation>Настройка параметров программмы</translation>
    311375    </message>
    312376    <message>
    313         <location filename="../ui/mainwindow.ce.ui" line="454"/>
    314         <location filename="../ui/mainwindow.ui" line="467"/>
     377        <location filename="../ui/mainwindow.ce.ui" line="452"/>
     378        <location filename="../ui/mainwindow.ui" line="465"/>
    315379        <source>&amp;Contents</source>
    316380        <translation>&amp;Содежание</translation>
    317381    </message>
    318382    <message>
    319         <location filename="../ui/mainwindow.ce.ui" line="457"/>
    320         <location filename="../ui/mainwindow.ui" line="470"/>
     383        <location filename="../ui/mainwindow.ce.ui" line="455"/>
     384        <location filename="../ui/mainwindow.ui" line="468"/>
    321385        <source>Open help contents</source>
    322386        <translation>Вызвать справку программы</translation>
    323387    </message>
    324388    <message>
    325         <location filename="../ui/mainwindow.ce.ui" line="469"/>
    326         <location filename="../ui/mainwindow.ui" line="482"/>
     389        <location filename="../ui/mainwindow.ce.ui" line="467"/>
     390        <location filename="../ui/mainwindow.ui" line="480"/>
    327391        <source>&amp;Context help</source>
    328392        <translation>&amp;Контекстная справка</translation>
    329393    </message>
    330394    <message>
    331         <location filename="../ui/mainwindow.ce.ui" line="472"/>
    332         <location filename="../ui/mainwindow.ui" line="485"/>
     395        <location filename="../ui/mainwindow.ce.ui" line="470"/>
     396        <location filename="../ui/mainwindow.ui" line="483"/>
    333397        <source>Open context help</source>
    334398        <translation>Вызвать контекстную справку</translation>
    335399    </message>
    336400    <message>
    337         <location filename="../ui/mainwindow.ce.ui" line="481"/>
    338         <location filename="../ui/mainwindow.ui" line="494"/>
     401        <location filename="../ui/mainwindow.ce.ui" line="479"/>
     402        <location filename="../ui/mainwindow.ui" line="492"/>
    339403        <source>&amp;About...</source>
    340404        <translation>&amp;Про...</translation>
    341405    </message>
    342406    <message>
    343         <location filename="../ui/mainwindow.ce.ui" line="484"/>
    344         <location filename="../ui/mainwindow.ui" line="497"/>
     407        <location filename="../ui/mainwindow.ce.ui" line="482"/>
     408        <location filename="../ui/mainwindow.ui" line="495"/>
    345409        <source>About...</source>
    346410        <translation>Про...</translation>
    347411    </message>
    348412    <message>
    349         <location filename="../ui/mainwindow.ce.ui" line="487"/>
    350         <location filename="../ui/mainwindow.ui" line="500"/>
     413        <location filename="../ui/mainwindow.ce.ui" line="485"/>
     414        <location filename="../ui/mainwindow.ui" line="498"/>
    351415        <source>About application</source>
    352416        <translation>О программе</translation>
    353417    </message>
    354418    <message>
    355         <location filename="../ui/mainwindow.ce.ui" line="496"/>
    356         <location filename="../ui/mainwindow.ui" line="509"/>
     419        <location filename="../ui/mainwindow.ce.ui" line="494"/>
     420        <location filename="../ui/mainwindow.ui" line="507"/>
    357421        <source>E&amp;xit</source>
    358422        <translation>В&amp;ыход</translation>
    359423    </message>
    360424    <message>
    361         <location filename="../ui/mainwindow.ce.ui" line="499"/>
    362         <location filename="../ui/mainwindow.ui" line="512"/>
     425        <location filename="../ui/mainwindow.ce.ui" line="497"/>
     426        <location filename="../ui/mainwindow.ui" line="510"/>
    363427        <source>Exit application</source>
    364428        <translation>Выйти из приложения</translation>
    365429    </message>
    366430    <message>
    367         <location filename="../ui/mainwindow.ce.ui" line="511"/>
    368         <location filename="../ui/mainwindow.ui" line="524"/>
     431        <location filename="../ui/mainwindow.ce.ui" line="506"/>
     432        <location filename="../ui/mainwindow.ui" line="519"/>
    369433        <source>&amp;Task...</source>
    370434        <translation>&amp;Задачу...</translation>
    371435    </message>
    372436    <message>
    373         <location filename="../ui/mainwindow.ce.ui" line="514"/>
    374         <location filename="../ui/mainwindow.ui" line="527"/>
     437        <location filename="../ui/mainwindow.ce.ui" line="509"/>
     438        <location filename="../ui/mainwindow.ui" line="522"/>
    375439        <source>Task...</source>
    376440        <translation>Задачу...</translation>
    377441    </message>
    378442    <message>
    379         <location filename="../ui/mainwindow.ce.ui" line="517"/>
    380         <location filename="../ui/mainwindow.ui" line="530"/>
     443        <location filename="../ui/mainwindow.ce.ui" line="512"/>
     444        <location filename="../ui/mainwindow.ce.ui" line="561"/>
     445        <location filename="../ui/mainwindow.ui" line="525"/>
     446        <location filename="../ui/mainwindow.ui" line="577"/>
    381447        <source>Save task</source>
    382448        <translation>Сохранить задачу</translation>
    383449    </message>
    384450    <message>
    385         <location filename="../ui/mainwindow.ce.ui" line="520"/>
    386         <location filename="../ui/mainwindow.ui" line="533"/>
     451        <location filename="../ui/mainwindow.ce.ui" line="515"/>
     452        <location filename="../ui/mainwindow.ui" line="528"/>
    387453        <source>Save task to file</source>
    388454        <translation>Сохранить условие задачи в файл</translation>
    389455    </message>
    390456    <message>
    391         <location filename="../ui/mainwindow.ce.ui" line="523"/>
    392         <location filename="../ui/mainwindow.ui" line="536"/>
     457        <location filename="../ui/mainwindow.ce.ui" line="518"/>
     458        <location filename="../ui/mainwindow.ui" line="531"/>
    393459        <source>Ctrl+S</source>
    394460        <translation></translation>
    395461    </message>
    396462    <message>
    397         <location filename="../ui/mainwindow.ce.ui" line="534"/>
    398         <location filename="../ui/mainwindow.ui" line="547"/>
     463        <location filename="../ui/mainwindow.ce.ui" line="529"/>
     464        <location filename="../ui/mainwindow.ui" line="542"/>
    399465        <source>&amp;Autodetect</source>
    400466        <translation>&amp;Автоопределение</translation>
    401467    </message>
    402468    <message>
    403         <location filename="../ui/mainwindow.ce.ui" line="551"/>
     469        <location filename="../ui/mainwindow.ce.ui" line="546"/>
    404470        <source>English</source>
    405471        <translation>Английский</translation>
    406472    </message>
    407473    <message>
    408         <location filename="../ui/mainwindow.ce.ui" line="286"/>
    409         <location filename="../ui/mainwindow.ui" line="267"/>
     474        <location filename="../ui/mainwindow.ce.ui" line="564"/>
     475        <location filename="../ui/mainwindow.ui" line="580"/>
     476        <source>Save current task</source>
     477        <translation>Сохранить текущую задачу</translation>
     478    </message>
     479    <message>
     480        <location filename="../ui/mainwindow.ce.ui" line="287"/>
     481        <location filename="../ui/mainwindow.ui" line="268"/>
    410482        <source>Select language</source>
    411483        <translation>Выбор языка</translation>
    412484    </message>
    413485    <message>
    414         <location filename="../ui/mainwindow.ce.ui" line="289"/>
    415         <location filename="../ui/mainwindow.ui" line="270"/>
     486        <location filename="../ui/mainwindow.ce.ui" line="290"/>
     487        <location filename="../ui/mainwindow.ui" line="271"/>
    416488        <source>Select application language</source>
    417489        <translation>Выбрать язык приложения</translation>
    418490    </message>
    419491    <message>
    420         <location filename="../ui/mainwindow.ui" line="332"/>
     492        <location filename="../ui/mainwindow.ui" line="333"/>
    421493        <source>P&amp;rint setup...</source>
    422494        <translation>&amp;Настройка печати...</translation>
    423495    </message>
    424496    <message>
    425         <location filename="../ui/mainwindow.ui" line="335"/>
     497        <location filename="../ui/mainwindow.ui" line="336"/>
    426498        <source>Setup printing</source>
    427499        <translation>Настроить печать</translation>
    428500    </message>
    429501    <message>
    430         <location filename="../ui/mainwindow.ui" line="347"/>
     502        <location filename="../ui/mainwindow.ui" line="348"/>
    431503        <source>&amp;Print...</source>
    432504        <translation>&amp;Печать...</translation>
    433505    </message>
    434506    <message>
    435         <location filename="../ui/mainwindow.ui" line="350"/>
     507        <location filename="../ui/mainwindow.ui" line="351"/>
    436508        <source>Print solution results</source>
    437509        <translation>Распечатать результаты решения</translation>
    438510    </message>
    439511    <message>
    440         <location filename="../ui/mainwindow.ui" line="353"/>
     512        <location filename="../ui/mainwindow.ui" line="354"/>
    441513        <source>Ctrl+P</source>
    442514        <translation></translation>
    443515    </message>
    444516    <message>
    445         <location filename="../ui/mainwindow.ce.ui" line="537"/>
    446         <location filename="../ui/mainwindow.ui" line="550"/>
     517        <location filename="../ui/mainwindow.ui" line="574"/>
     518        <source>Save</source>
     519        <translation>Сохранить</translation>
     520    </message>
     521    <message>
     522        <location filename="../ui/mainwindow.ce.ui" line="532"/>
     523        <location filename="../ui/mainwindow.ui" line="545"/>
    447524        <source>Detect language automatically</source>
    448525        <translation>Определять язык автоматически</translation>
    449526    </message>
    450527    <message>
    451         <location filename="../ui/mainwindow.ce.ui" line="540"/>
    452         <location filename="../ui/mainwindow.ui" line="553"/>
     528        <location filename="../ui/mainwindow.ce.ui" line="535"/>
     529        <location filename="../ui/mainwindow.ui" line="548"/>
    453530        <source>Detect language automatically based on regional settings</source>
    454531        <translation>Определять язык автоматически, основываясь на региональных настройках</translation>
  • i18n/uk.ts

    rac4cb71650 r993d5af6f6  
    66    <name>CTSPModel</name>
    77    <message>
    8         <location filename="../src/tspmodel.cpp" line="52"/>
     8        <location filename="../src/tspmodel.cpp" line="51"/>
    99        <source>City %1</source>
    1010        <translation>Місто %1</translation>
    1111    </message>
    1212    <message>
    13         <location filename="../src/tspmodel.cpp" line="54"/>
     13        <location filename="../src/tspmodel.cpp" line="53"/>
    1414        <source>%1</source>
    1515        <translation></translation>
     16    </message>
     17    <message>
     18        <location filename="../src/tspmodel.cpp" line="165"/>
     19        <location filename="../src/tspmodel.cpp" line="177"/>
     20        <location filename="../src/tspmodel.cpp" line="203"/>
     21        <source>Task Load</source>
     22        <translation>Завантаження завдання</translation>
     23    </message>
     24    <message>
     25        <location filename="../src/tspmodel.cpp" line="165"/>
     26        <source>Unable to load task:
     27Unknown file format or file is corrupted.</source>
     28        <translation>Неможливо завантажити завдання:
     29Невідомий формат файлу або файл пошкоджено.</translation>
     30    </message>
     31    <message>
     32        <location filename="../src/tspmodel.cpp" line="177"/>
     33        <location filename="../src/tspmodel.cpp" line="203"/>
     34        <source>Unable to load task:
     35File version is newer than application supports.
     36Please, try to update application.</source>
     37        <translation>Неможливо завантажити завдання:
     38Версія файлу новіша ніж підримувана додатком.
     39Будь-ласка, спробуйте оновити додаток.</translation>
    1640    </message>
    1741</context>
     
    3155    </message>
    3256    <message>
    33         <location filename="../ui/mainwindow.ce.ui" line="286"/>
    34         <location filename="../ui/mainwindow.ui" line="267"/>
     57        <location filename="../ui/mainwindow.ce.ui" line="287"/>
     58        <location filename="../ui/mainwindow.ui" line="268"/>
    3559        <source>Select language</source>
    3660        <translation>Вибір мови</translation>
    3761    </message>
    3862    <message>
    39         <location filename="../ui/mainwindow.ce.ui" line="289"/>
    40         <location filename="../ui/mainwindow.ui" line="270"/>
     63        <location filename="../ui/mainwindow.ce.ui" line="290"/>
     64        <location filename="../ui/mainwindow.ui" line="271"/>
    4165        <source>Select application language</source>
    4266        <translation>Обрати мову додатку</translation>
    4367    </message>
    4468    <message>
    45         <location filename="../ui/mainwindow.ui" line="332"/>
     69        <location filename="../ui/mainwindow.ui" line="333"/>
    4670        <source>P&amp;rint setup...</source>
    4771        <translation>&amp;Налагодження друку...</translation>
    4872    </message>
    4973    <message>
    50         <location filename="../ui/mainwindow.ui" line="335"/>
     74        <location filename="../ui/mainwindow.ui" line="336"/>
    5175        <source>Setup printing</source>
    5276        <translation>Налагодити друк</translation>
    5377    </message>
    5478    <message>
    55         <location filename="../ui/mainwindow.ui" line="347"/>
     79        <location filename="../ui/mainwindow.ui" line="348"/>
    5680        <source>&amp;Print...</source>
    5781        <translation>&amp;Друк...</translation>
    5882    </message>
    5983    <message>
    60         <location filename="../ui/mainwindow.ui" line="350"/>
     84        <location filename="../ui/mainwindow.ui" line="351"/>
    6185        <source>Print solution results</source>
    6286        <translation>Роздрукувати результат розв&apos;язку</translation>
    6387    </message>
    6488    <message>
    65         <location filename="../ui/mainwindow.ui" line="353"/>
     89        <location filename="../ui/mainwindow.ui" line="354"/>
    6690        <source>Ctrl+P</source>
    6791        <translation></translation>
    6892    </message>
    6993    <message>
    70         <location filename="../ui/mainwindow.ce.ui" line="537"/>
    71         <location filename="../ui/mainwindow.ui" line="550"/>
     94        <location filename="../ui/mainwindow.ui" line="574"/>
     95        <source>Save</source>
     96        <translation>Зберегти</translation>
     97    </message>
     98    <message>
     99        <location filename="../ui/mainwindow.ce.ui" line="532"/>
     100        <location filename="../ui/mainwindow.ui" line="545"/>
    72101        <source>Detect language automatically</source>
    73102        <translation>Визначати мову автоматично</translation>
    74103    </message>
    75104    <message>
    76         <location filename="../ui/mainwindow.ce.ui" line="540"/>
    77         <location filename="../ui/mainwindow.ui" line="553"/>
     105        <location filename="../ui/mainwindow.ce.ui" line="535"/>
     106        <location filename="../ui/mainwindow.ui" line="548"/>
    78107        <source>Detect language automatically based on regional settings</source>
    79         <translation type="unfinished">Визначати мову автоматично, використовуючи регіональні стандарти</translation>
    80     </message>
    81     <message>
    82         <location filename="../ui/mainwindow.ce.ui" line="523"/>
    83         <location filename="../ui/mainwindow.ui" line="536"/>
     108        <translation>Визначати мову автоматично, використовуючи регіональні стандарти</translation>
     109    </message>
     110    <message>
     111        <location filename="../ui/mainwindow.ce.ui" line="518"/>
     112        <location filename="../ui/mainwindow.ui" line="531"/>
    84113        <source>Ctrl+S</source>
    85114        <translation></translation>
    86115    </message>
    87116    <message>
    88         <location filename="../ui/mainwindow.ce.ui" line="403"/>
    89         <location filename="../ui/mainwindow.ui" line="416"/>
     117        <location filename="../ui/mainwindow.ce.ui" line="404"/>
     118        <location filename="../ui/mainwindow.ui" line="417"/>
    90119        <source>Ctrl+N</source>
    91120        <translation></translation>
     
    170199    </message>
    171200    <message>
     201        <location filename="../ui/mainwindow.ce.ui" line="558"/>
     202        <location filename="../ui/mainwindow.ui" line="571"/>
     203        <source>&amp;Save</source>
     204        <translation>&amp;Зберегти</translation>
     205    </message>
     206    <message>
     207        <location filename="../ui/mainwindow.ce.ui" line="283"/>
     208        <location filename="../ui/mainwindow.ui" line="264"/>
     209        <source>&amp;Settings</source>
     210        <translation>&amp;Налагодження</translation>
     211    </message>
     212    <message>
    172213        <location filename="../ui/mainwindow.ce.ui" line="262"/>
    173214        <location filename="../ui/mainwindow.ui" line="240"/>
    174         <source>&amp;Save</source>
    175         <translation>&amp;Зберегти</translation>
    176     </message>
    177     <message>
    178         <location filename="../ui/mainwindow.ce.ui" line="282"/>
    179         <location filename="../ui/mainwindow.ui" line="263"/>
    180         <source>&amp;Settings</source>
    181         <translation>&amp;Налагодження</translation>
    182     </message>
    183     <message>
    184         <location filename="../ui/mainwindow.ce.ui" line="292"/>
    185         <location filename="../ui/mainwindow.ui" line="273"/>
     215        <source>Save &amp;as...</source>
     216        <translation>Зберегти &amp;як...</translation>
     217    </message>
     218    <message>
     219        <location filename="../ui/mainwindow.ce.ui" line="293"/>
     220        <location filename="../ui/mainwindow.ui" line="274"/>
    186221        <source>&amp;Language</source>
    187222        <translation>Мова / &amp;Language</translation>
    188223    </message>
    189224    <message>
    190         <location filename="../ui/mainwindow.ce.ui" line="308"/>
    191         <location filename="../ui/mainwindow.ui" line="289"/>
     225        <location filename="../ui/mainwindow.ce.ui" line="309"/>
     226        <location filename="../ui/mainwindow.ui" line="290"/>
    192227        <source>&amp;Help</source>
    193228        <translation>&amp;Допомога</translation>
    194229    </message>
    195230    <message>
    196         <location filename="../ui/mainwindow.ce.ui" line="348"/>
    197         <location filename="../ui/mainwindow.ui" line="361"/>
     231        <location filename="../ui/mainwindow.ce.ui" line="349"/>
     232        <location filename="../ui/mainwindow.ui" line="362"/>
    198233        <source>Solution st&amp;eps</source>
    199234        <translation>&amp;Хід розв&apos;язку</translation>
    200235    </message>
    201236    <message>
    202         <location filename="../ui/mainwindow.ce.ui" line="351"/>
    203         <location filename="../ui/mainwindow.ui" line="364"/>
     237        <location filename="../ui/mainwindow.ce.ui" line="352"/>
     238        <location filename="../ui/mainwindow.ui" line="365"/>
    204239        <source>Save solution steps</source>
    205240        <translation>Зберегти хід розв&apos;язку</translation>
    206241    </message>
    207242    <message>
    208         <location filename="../ui/mainwindow.ce.ui" line="354"/>
    209         <location filename="../ui/mainwindow.ui" line="367"/>
     243        <location filename="../ui/mainwindow.ce.ui" line="355"/>
     244        <location filename="../ui/mainwindow.ui" line="368"/>
    210245        <source>Save solution steps only</source>
    211246        <translation>Зберегти тільки хід розв&apos;язку</translation>
    212247    </message>
    213248    <message>
    214         <location filename="../ui/mainwindow.ce.ui" line="362"/>
    215         <location filename="../ui/mainwindow.ui" line="375"/>
     249        <location filename="../ui/mainwindow.ce.ui" line="363"/>
     250        <location filename="../ui/mainwindow.ui" line="376"/>
    216251        <source>Solution &amp;graph</source>
    217252        <translation>&amp;Граф розв&apos;язку</translation>
    218253    </message>
    219254    <message>
    220         <location filename="../ui/mainwindow.ce.ui" line="365"/>
    221         <location filename="../ui/mainwindow.ui" line="378"/>
     255        <location filename="../ui/mainwindow.ce.ui" line="366"/>
     256        <location filename="../ui/mainwindow.ui" line="379"/>
    222257        <source>Save solution graph</source>
    223258        <translation>Зберегти граф розв&apos;язку</translation>
    224259    </message>
    225260    <message>
    226         <location filename="../ui/mainwindow.ce.ui" line="368"/>
    227         <location filename="../ui/mainwindow.ui" line="381"/>
     261        <location filename="../ui/mainwindow.ce.ui" line="369"/>
     262        <location filename="../ui/mainwindow.ui" line="382"/>
    228263        <source>Save solution graph only</source>
    229264        <translation>Зберегти тільки граф розв&apos;язку</translation>
    230265    </message>
    231266    <message>
    232         <location filename="../ui/mainwindow.ce.ui" line="376"/>
    233         <location filename="../ui/mainwindow.ui" line="389"/>
     267        <location filename="../ui/mainwindow.ce.ui" line="377"/>
     268        <location filename="../ui/mainwindow.ui" line="390"/>
    234269        <source>&amp;Solution</source>
    235270        <translation>&amp;Розв&apos;язок</translation>
    236271    </message>
    237272    <message>
    238         <location filename="../ui/mainwindow.ce.ui" line="379"/>
    239         <location filename="../ui/mainwindow.ui" line="392"/>
     273        <location filename="../ui/mainwindow.ce.ui" line="380"/>
     274        <location filename="../ui/mainwindow.ui" line="393"/>
    240275        <source>Save solution</source>
    241276        <translation>Зберегти розв&apos;язок</translation>
    242277    </message>
    243278    <message>
    244         <location filename="../ui/mainwindow.ce.ui" line="382"/>
    245         <location filename="../ui/mainwindow.ui" line="395"/>
     279        <location filename="../ui/mainwindow.ce.ui" line="383"/>
     280        <location filename="../ui/mainwindow.ui" line="396"/>
    246281        <source>Save solution steps and graph</source>
    247282        <translation>Зберегти хід та граф розв&apos;язку</translation>
    248283    </message>
    249284    <message>
    250         <location filename="../ui/mainwindow.ce.ui" line="391"/>
    251         <location filename="../ui/mainwindow.ui" line="404"/>
     285        <location filename="../ui/mainwindow.ce.ui" line="392"/>
     286        <location filename="../ui/mainwindow.ui" line="405"/>
    252287        <source>&amp;New</source>
    253288        <translation>&amp;Створити</translation>
    254289    </message>
    255290    <message>
    256         <location filename="../ui/mainwindow.ce.ui" line="394"/>
    257         <location filename="../ui/mainwindow.ui" line="407"/>
     291        <location filename="../ui/mainwindow.ce.ui" line="395"/>
     292        <location filename="../ui/mainwindow.ui" line="408"/>
    258293        <source>New</source>
    259294        <translation>Створити</translation>
    260295    </message>
    261296    <message>
    262         <location filename="../ui/mainwindow.ce.ui" line="397"/>
    263         <location filename="../ui/mainwindow.ui" line="410"/>
     297        <location filename="../ui/mainwindow.ce.ui" line="398"/>
     298        <location filename="../ui/mainwindow.ui" line="411"/>
    264299        <source>New task</source>
    265300        <translation>Нове завдання</translation>
    266301    </message>
    267302    <message>
    268         <location filename="../ui/mainwindow.ce.ui" line="400"/>
    269         <location filename="../ui/mainwindow.ui" line="413"/>
     303        <location filename="../ui/mainwindow.ce.ui" line="401"/>
     304        <location filename="../ui/mainwindow.ui" line="414"/>
    270305        <source>Create new task</source>
    271306        <translation>Створити нове завдання</translation>
    272307    </message>
    273308    <message>
    274         <location filename="../ui/mainwindow.ce.ui" line="415"/>
    275         <location filename="../ui/mainwindow.ui" line="428"/>
     309        <location filename="../ui/mainwindow.ce.ui" line="413"/>
     310        <location filename="../ui/mainwindow.ui" line="426"/>
    276311        <source>&amp;Open...</source>
    277312        <translation>&amp;Відкрити...</translation>
    278313    </message>
    279314    <message>
    280         <location filename="../ui/mainwindow.ce.ui" line="418"/>
    281         <location filename="../ui/mainwindow.ui" line="431"/>
     315        <location filename="../ui/mainwindow.ce.ui" line="416"/>
     316        <location filename="../ui/mainwindow.ui" line="429"/>
    282317        <source>Open...</source>
    283318        <translation>Відкрити...</translation>
    284319    </message>
    285320    <message>
    286         <location filename="../ui/mainwindow.ce.ui" line="421"/>
    287         <location filename="../ui/mainwindow.ui" line="434"/>
     321        <location filename="../ui/mainwindow.ce.ui" line="419"/>
     322        <location filename="../ui/mainwindow.ui" line="432"/>
    288323        <source>Open task</source>
    289324        <translation>Відкрити завдання</translation>
    290325    </message>
    291326    <message>
    292         <location filename="../ui/mainwindow.ce.ui" line="424"/>
    293         <location filename="../ui/mainwindow.ui" line="437"/>
     327        <location filename="../ui/mainwindow.ce.ui" line="422"/>
     328        <location filename="../ui/mainwindow.ui" line="435"/>
    294329        <source>Open saved task</source>
    295330        <translation>Відкрити збережене завдання</translation>
    296331    </message>
    297332    <message>
    298         <location filename="../ui/mainwindow.ce.ui" line="427"/>
    299         <location filename="../ui/mainwindow.ui" line="440"/>
     333        <location filename="../ui/mainwindow.ce.ui" line="425"/>
     334        <location filename="../ui/mainwindow.ui" line="438"/>
    300335        <source>Ctrl+O</source>
    301336        <translation></translation>
    302337    </message>
    303338    <message>
    304         <location filename="../ui/mainwindow.ce.ui" line="436"/>
    305         <location filename="../ui/mainwindow.ui" line="449"/>
     339        <location filename="../ui/mainwindow.ce.ui" line="434"/>
     340        <location filename="../ui/mainwindow.ui" line="447"/>
    306341        <source>&amp;Preferences...</source>
    307342        <translation>&amp;Параметри...</translation>
    308343    </message>
    309344    <message>
    310         <location filename="../ui/mainwindow.ce.ui" line="439"/>
    311         <location filename="../ui/mainwindow.ui" line="452"/>
     345        <location filename="../ui/mainwindow.ce.ui" line="437"/>
     346        <location filename="../ui/mainwindow.ui" line="450"/>
    312347        <source>Preferences...</source>
    313348        <translation>Параметри...</translation>
    314349    </message>
    315350    <message>
    316         <location filename="../ui/mainwindow.ce.ui" line="442"/>
    317         <location filename="../ui/mainwindow.ui" line="455"/>
     351        <location filename="../ui/mainwindow.ce.ui" line="440"/>
     352        <location filename="../ui/mainwindow.ui" line="453"/>
    318353        <source>Application preferences</source>
    319354        <translation>Параметри додатку</translation>
    320355    </message>
    321356    <message>
    322         <location filename="../ui/mainwindow.ce.ui" line="454"/>
    323         <location filename="../ui/mainwindow.ui" line="467"/>
     357        <location filename="../ui/mainwindow.ce.ui" line="452"/>
     358        <location filename="../ui/mainwindow.ui" line="465"/>
    324359        <source>&amp;Contents</source>
    325360        <translation>&amp;Зміст</translation>
    326361    </message>
    327362    <message>
    328         <location filename="../ui/mainwindow.ce.ui" line="457"/>
    329         <location filename="../ui/mainwindow.ui" line="470"/>
     363        <location filename="../ui/mainwindow.ce.ui" line="455"/>
     364        <location filename="../ui/mainwindow.ui" line="468"/>
    330365        <source>Open help contents</source>
    331366        <translation>Відкрити зміст допомоги</translation>
    332367    </message>
    333368    <message>
    334         <location filename="../ui/mainwindow.ce.ui" line="469"/>
    335         <location filename="../ui/mainwindow.ui" line="482"/>
     369        <location filename="../ui/mainwindow.ce.ui" line="467"/>
     370        <location filename="../ui/mainwindow.ui" line="480"/>
    336371        <source>&amp;Context help</source>
    337372        <translation>&amp;Контекстна допомога</translation>
    338373    </message>
    339374    <message>
    340         <location filename="../ui/mainwindow.ce.ui" line="472"/>
    341         <location filename="../ui/mainwindow.ui" line="485"/>
     375        <location filename="../ui/mainwindow.ce.ui" line="470"/>
     376        <location filename="../ui/mainwindow.ui" line="483"/>
    342377        <source>Open context help</source>
    343378        <translation>Відкрити контекстну допомогу</translation>
    344379    </message>
    345380    <message>
    346         <location filename="../ui/mainwindow.ce.ui" line="481"/>
    347         <location filename="../ui/mainwindow.ui" line="494"/>
     381        <location filename="../ui/mainwindow.ce.ui" line="479"/>
     382        <location filename="../ui/mainwindow.ui" line="492"/>
    348383        <source>&amp;About...</source>
    349384        <translation>&amp;Про...</translation>
    350385    </message>
    351386    <message>
    352         <location filename="../ui/mainwindow.ce.ui" line="484"/>
    353         <location filename="../ui/mainwindow.ui" line="497"/>
     387        <location filename="../ui/mainwindow.ce.ui" line="482"/>
     388        <location filename="../ui/mainwindow.ui" line="495"/>
    354389        <source>About...</source>
    355390        <translation>Про...</translation>
    356391    </message>
    357392    <message>
    358         <location filename="../ui/mainwindow.ce.ui" line="487"/>
    359         <location filename="../ui/mainwindow.ui" line="500"/>
     393        <location filename="../ui/mainwindow.ce.ui" line="485"/>
     394        <location filename="../ui/mainwindow.ui" line="498"/>
    360395        <source>About application</source>
    361396        <translation>Про додаток</translation>
    362397    </message>
    363398    <message>
    364         <location filename="../ui/mainwindow.ce.ui" line="496"/>
    365         <location filename="../ui/mainwindow.ui" line="509"/>
     399        <location filename="../ui/mainwindow.ce.ui" line="494"/>
     400        <location filename="../ui/mainwindow.ui" line="507"/>
    366401        <source>E&amp;xit</source>
    367402        <translation>В&amp;ихід</translation>
    368403    </message>
    369404    <message>
    370         <location filename="../ui/mainwindow.ce.ui" line="499"/>
    371         <location filename="../ui/mainwindow.ui" line="512"/>
     405        <location filename="../ui/mainwindow.ce.ui" line="497"/>
     406        <location filename="../ui/mainwindow.ui" line="510"/>
    372407        <source>Exit application</source>
    373408        <translation>Вийти з додатку</translation>
    374409    </message>
    375410    <message>
    376         <location filename="../ui/mainwindow.ce.ui" line="511"/>
    377         <location filename="../ui/mainwindow.ui" line="524"/>
     411        <location filename="../ui/mainwindow.ce.ui" line="506"/>
     412        <location filename="../ui/mainwindow.ui" line="519"/>
    378413        <source>&amp;Task...</source>
    379414        <translation>&amp;Завдання...</translation>
    380415    </message>
    381416    <message>
    382         <location filename="../ui/mainwindow.ce.ui" line="514"/>
    383         <location filename="../ui/mainwindow.ui" line="527"/>
     417        <location filename="../ui/mainwindow.ce.ui" line="509"/>
     418        <location filename="../ui/mainwindow.ui" line="522"/>
    384419        <source>Task...</source>
    385420        <translation>Завдання...</translation>
    386421    </message>
    387422    <message>
    388         <location filename="../ui/mainwindow.ce.ui" line="517"/>
    389         <location filename="../ui/mainwindow.ui" line="530"/>
     423        <location filename="../ui/mainwindow.ce.ui" line="512"/>
     424        <location filename="../ui/mainwindow.ce.ui" line="561"/>
     425        <location filename="../ui/mainwindow.ui" line="525"/>
     426        <location filename="../ui/mainwindow.ui" line="577"/>
    390427        <source>Save task</source>
    391428        <translation>Зберегти завдання</translation>
    392429    </message>
    393430    <message>
    394         <location filename="../ui/mainwindow.ce.ui" line="520"/>
    395         <location filename="../ui/mainwindow.ui" line="533"/>
     431        <location filename="../ui/mainwindow.ce.ui" line="515"/>
     432        <location filename="../ui/mainwindow.ui" line="528"/>
    396433        <source>Save task to file</source>
    397434        <translation>Зберегти завдання до файлу</translation>
    398435    </message>
    399436    <message>
    400         <location filename="../ui/mainwindow.ce.ui" line="534"/>
    401         <location filename="../ui/mainwindow.ui" line="547"/>
     437        <location filename="../ui/mainwindow.ce.ui" line="529"/>
     438        <location filename="../ui/mainwindow.ui" line="542"/>
    402439        <source>&amp;Autodetect</source>
    403440        <translation>&amp;Автовизначення</translation>
    404441    </message>
    405442    <message>
    406         <location filename="../ui/mainwindow.ce.ui" line="551"/>
     443        <location filename="../ui/mainwindow.ce.ui" line="546"/>
    407444        <source>English</source>
    408445        <translation>Англійська</translation>
    409446    </message>
    410447    <message>
    411         <location filename="../src/mainwindow.cpp" line="125"/>
    412         <location filename="../src/mainwindow.cpp" line="246"/>
    413         <location filename="../src/mainwindow.cpp" line="255"/>
     448        <location filename="../ui/mainwindow.ce.ui" line="564"/>
     449        <location filename="../ui/mainwindow.ui" line="580"/>
     450        <source>Save current task</source>
     451        <translation>Зберегти поточне завдання</translation>
     452    </message>
     453    <message>
     454        <location filename="../src/mainwindow.cpp" line="124"/>
     455        <location filename="../src/mainwindow.cpp" line="279"/>
     456        <location filename="../src/mainwindow.cpp" line="288"/>
    414457        <source>Language change</source>
    415458        <translation>Зміна мови</translation>
    416459    </message>
    417460    <message>
    418         <location filename="../src/mainwindow.cpp" line="125"/>
     461        <location filename="../src/mainwindow.cpp" line="124"/>
    419462        <source>Unable to load translation language.</source>
    420463        <translation>Неможливо завантажити переклад.</translation>
    421464    </message>
    422465    <message>
    423         <location filename="../src/mainwindow.cpp" line="192"/>
     466        <location filename="../src/mainwindow.cpp" line="159"/>
     467        <source>All Supported Formats</source>
     468        <translation>Усі підтримувані формати</translation>
     469    </message>
     470    <message>
     471        <source>TSPSG Task Files</source>
     472        <translation type="obsolete">Файли завдання TSPSG</translation>
     473    </message>
     474    <message>
     475        <source>ZKomModRd Task Files</source>
     476        <translation type="obsolete">Файли завдання ZKomModRd</translation>
     477    </message>
     478    <message>
     479        <location filename="../src/mainwindow.cpp" line="162"/>
     480        <location filename="../src/mainwindow.cpp" line="177"/>
     481        <source>All Files</source>
     482        <translation>Усі файли</translation>
     483    </message>
     484    <message>
     485        <source>TSPSG Task File</source>
     486        <translation type="obsolete">Файл завдання TSPSG</translation>
     487    </message>
     488    <message>
     489        <location filename="../src/mainwindow.cpp" line="160"/>
     490        <location filename="../src/mainwindow.cpp" line="161"/>
     491        <source>%1 Task Files</source>
     492        <translation>Файли завдань %1</translation>
     493    </message>
     494    <message>
     495        <location filename="../src/mainwindow.cpp" line="176"/>
     496        <source>%1 Task File</source>
     497        <translation>Файл завдання %1</translation>
     498    </message>
     499    <message>
     500        <location filename="../src/mainwindow.cpp" line="225"/>
    424501        <source>Data error</source>
    425502        <translation>Помилка даних</translation>
    426503    </message>
    427504    <message>
    428         <location filename="../src/mainwindow.cpp" line="192"/>
     505        <location filename="../src/mainwindow.cpp" line="225"/>
    429506        <source>Error in cell [Row %1; Column %2]: Invalid data format.</source>
    430507        <translation>Помилка у комірці  [Рядок %1; Колонка %2]: Невірний формат даних.</translation>
    431508    </message>
    432509    <message>
    433         <location filename="../src/mainwindow.cpp" line="201"/>
     510        <location filename="../src/mainwindow.cpp" line="234"/>
    434511        <source>Solution error</source>
    435512        <translation>Помилка розв&apos;язку</translation>
    436513    </message>
    437514    <message>
    438         <location filename="../src/mainwindow.cpp" line="201"/>
     515        <location filename="../src/mainwindow.cpp" line="234"/>
    439516        <source>There was an error while solving the task.</source>
    440517        <translation>Під час розв&apos;язання задачі виникла помилка.</translation>
    441518    </message>
    442519    <message>
    443         <location filename="../src/mainwindow.cpp" line="246"/>
     520        <location filename="../src/mainwindow.cpp" line="279"/>
    444521        <source>Language will be autodetected on next application start.</source>
    445522        <translation>Мову буде автоматично визначено при наступному запуску додатку.</translation>
    446523    </message>
    447524    <message>
    448         <location filename="../src/mainwindow.cpp" line="255"/>
     525        <location filename="../src/mainwindow.cpp" line="288"/>
    449526        <source>You have language autodetection turned on.
    450527It needs to be off.
  • src/globals.h

    rac4cb71650 r993d5af6f6  
    2222 */
    2323
    24 #ifndef DEFINES_H
    25 #define DEFINES_H
     24#ifndef GLOBALS_H
     25#define GLOBALS_H
    2626
     27// INCLUDES
     28#include <QtCore>
     29#include <QtGui>
     30
     31// OS detection
     32#include "os.h"
     33
     34// DEFINES
    2735// Default values
    2836#define DEF_RAND_MIN 1
     
    3240#define DEF_FONT_SIZE 12
    3341#define DEF_FONT_COLOR Qt::black
     42
     43// TSPSG Task file signature - letters TSPT
     44#define TSPT quint32(0x54535054)
     45// TSPSG Task file version
     46#define TSPT_VERSION quint8(1)
     47// TSPSG Task file metadata version
     48#define TSPT_META_VERSION quint8(1)
     49// TSPSG Task file metadata size in bytes (incl. version)
     50#define TSPT_META_SIZE 2
     51// ZKomModRd Task file signature - letters ZK
     52#define ZKT quint16(0x5A4B)
     53// ZKomModRd Task file version
     54#define ZKT_VERSION quint8(1)
    3455
    3556// Decided, that static array with 100 of cities maximum hard limit
     
    4566#define INFSTR "-----"
    4667
    47 #endif // DEFINES_H
     68#endif // GLOBALS_H
  • src/main.cpp

    rac4cb71650 r993d5af6f6  
    2222 */
    2323
    24 #include <QApplication>
    25 #include <QTranslator>
    26 #include <QMessageBox>
    2724#include "mainwindow.h"
    2825
  • src/mainwindow.cpp

    rac4cb71650 r993d5af6f6  
    2222 */
    2323
    24 #include <QtGui>
    25 #ifndef Q_OS_WINCE
    26         #include <QPrintDialog>
    27 #endif // Q_OS_WINCE
    2824#include "mainwindow.h"
    2925
     
    4440        actionSettingsLanguageAutodetect->setChecked(settings->value("Language","").toString().isEmpty());
    4541        connect(actionFileNew,SIGNAL(triggered()),this,SLOT(actionFileNewTriggered()));
     42        connect(actionFileOpen,SIGNAL(triggered()),this,SLOT(actionFileOpenTriggered()));
     43        connect(actionFileSaveTask,SIGNAL(triggered()),this,SLOT(actionFileSaveTaskTriggered()));
    4644        connect(actionSettingsPreferences,SIGNAL(triggered()),this,SLOT(actionSettingsPreferencesTriggered()));
    4745        connect(actionSettingsLanguageAutodetect,SIGNAL(triggered(bool)),this,SLOT(actionSettingsLanguageAutodetectTriggered(bool)));
     
    7977        tspmodel->setNumCities(spinCities->value());
    8078        taskView->setModel(tspmodel);
     79        connect(tspmodel,SIGNAL(numCitiesChanged(int)),this,SLOT(numCitiesChanged(int)));
    8180#ifdef Q_OS_WINCE
    8281        taskView->resizeColumnsToContents();
     
    153152}
    154153
     154void MainWindow::actionFileOpenTriggered()
     155{
     156QFileDialog od(this);
     157        od.setAcceptMode(QFileDialog::AcceptOpen);
     158        od.setFileMode(QFileDialog::ExistingFile);
     159QStringList filters(trUtf8("All Supported Formats") + " (*.tspt *.zkt)");
     160        filters.append(QString(trUtf8("%1 Task Files")).arg("TSPSG") + " (*.tspt)");
     161        filters.append(QString(trUtf8("%1 Task Files")).arg("ZKomModRd") + " (*.zkt)");
     162        filters.append(trUtf8("All Files") + " (*)");
     163        od.setNameFilters(filters);
     164        if (od.exec() != QDialog::Accepted)
     165                return;
     166QStringList files = od.selectedFiles();
     167        if (files.size() < 1)
     168                return;
     169        tspmodel->loadTask(files.first());
     170}
     171
     172void MainWindow::actionFileSaveTaskTriggered()
     173{
     174QFileDialog sd(this);
     175        sd.setAcceptMode(QFileDialog::AcceptSave);
     176QStringList filters(QString(trUtf8("%1 Task File")).arg("TSPSG") + " (*.tspt)");
     177        filters.append(trUtf8("All Files") + " (*)");
     178        sd.setNameFilters(filters);
     179        sd.setDefaultSuffix("tspt");
     180        if (sd.exec() != QDialog::Accepted)
     181                return;
     182QStringList files = sd.selectedFiles();
     183        if (files.size() < 1)
     184                return;
     185        tspmodel->saveTask(files.first());
     186}
     187
    155188void MainWindow::actionSettingsPreferencesTriggered()
    156189{
     
    209242about += QString::fromUtf8("    Copyright (C) 2007-%1 Lёppa <contacts[at]oleksii[dot]name>\n").arg(QDate::currentDate().toString("yyyy"));
    210243        about += "Qt library versions:\n";
     244        about += QString::fromUtf8("    OS: %1\n").arg(OS);
    211245        about += QString::fromUtf8("    Compile time: %1\n").arg(QT_VERSION_STR);
    212246        about += QString::fromUtf8("    Runtime: %1\n").arg(qVersion());
     
    281315        QMainWindow::closeEvent(event);
    282316}
     317
     318void MainWindow::numCitiesChanged(int nCities)
     319{
     320        spinCities->setValue(nCities);
     321}
  • src/mainwindow.h

    rac4cb71650 r993d5af6f6  
    2525#define MAINWINDOW_H
    2626
    27 #include <QMainWindow>
    28 #include <QSettings>
     27#include "globals.h"
    2928#ifdef Q_OS_WINCE
    3029        #include "ui_mainwindow.ce.h"
     
    4140public:
    4241        MainWindow(QWidget *parent = 0);
    43         void closeEvent(QCloseEvent *event);
     42        void closeEvent(QCloseEvent *);
    4443private slots:
    4544        void actionFileNewTriggered();
     45        void actionFileOpenTriggered();
     46        void actionFileSaveTaskTriggered();
    4647        void actionSettingsPreferencesTriggered();
    47         void actionSettingsLanguageAutodetectTriggered(bool checked);
    48         void groupSettingsLanguageListTriggered(QAction *action);
     48        void actionSettingsLanguageAutodetectTriggered(bool);
     49        void groupSettingsLanguageListTriggered(QAction *);
    4950        void actionHelpAboutTriggered();
    5051#ifndef Q_OS_WINCE
     
    5354        void buttonSolveClicked();
    5455        void buttonRandomClicked();
    55         void spinCitiesValueChanged(int n);
     56        void spinCitiesValueChanged(int);
     57        void numCitiesChanged(int);
    5658private:
    5759        QSettings *settings;
  • src/settingsdialog.cpp

    rac4cb71650 r993d5af6f6  
    2222 */
    2323
    24 #include <QMessageBox>
    25 #include <QStatusTipEvent>
    26 #include <QFontDialog>
    27 #include <QColorDialog>
    28 #include "defines.h"
    2924#include "settingsdialog.h"
    3025
  • src/settingsdialog.h

    rac4cb71650 r993d5af6f6  
    2525#define SETTINGSDIALOG_H
    2626
    27 #include <QDialog>
    28 #include <QSettings>
     27#include "globals.h"
    2928#ifdef Q_OS_WINCE
    3029        #include "ui_settingsdialog.ce.h"
  • src/tspmodel.cpp

    rac4cb71650 r993d5af6f6  
    2222 */
    2323
    24 #include <QtGui>
    2524#include "tspmodel.h"
    2625
     
    109108}
    110109
    111 int CTSPModel::numCities() const
     110quint16 CTSPModel::numCities() const
    112111{
    113112        return nCities;
     
    116115void CTSPModel::setNumCities(int n)
    117116{
    118 int randMin = settings->value("MinCost",DEF_RAND_MIN).toInt();
    119 int randMax = settings->value("MaxCost",DEF_RAND_MAX).toInt();
     117// int randMin = settings->value("MinCost",DEF_RAND_MIN).toInt();
     118// int randMax = settings->value("MaxCost",DEF_RAND_MAX).toInt();
    120119        if (n == nCities)
    121120                return;
     
    127126                                        table[r][c] = INFINITY;
    128127                                else
    129                                         table[r][c] = rand(randMin,randMax);
     128                                        table[r][c] = 0; // rand(randMin,randMax);
    130129                }
    131130                for (int r = nCities; r < n; r++) {
     
    134133                                        table[r][c] = INFINITY;
    135134                                else
    136                                         table[r][c] = rand(randMin,randMax);
     135                                        table[r][c] = 0; // rand(randMin,randMax);
    137136                }
    138137        }
     
    148147                                table[r][c] = 0;
    149148        emit dataChanged(index(0,0),index(nCities - 1,nCities - 1));
     149}
     150
     151void CTSPModel::loadTask(QString fname)
     152{
     153QFile f(fname);
     154        f.open(QIODevice::ReadOnly);
     155QDataStream ds(&f);
     156        ds.setVersion(QDataStream::Qt_4_4);
     157quint32 sig;
     158        ds >> sig;
     159        ds.device()->reset();
     160        if (sig == TSPT)
     161                loadTSPT(&ds);
     162        else if ((sig >> 16) == ZKT)
     163                loadZKT(&ds);
     164        else
     165                QMessageBox(QMessageBox::Critical,trUtf8("Task Load"),trUtf8("Unable to load task:\nUnknown file format or file is corrupted."),QMessageBox::Ok).exec();
     166        f.close();
     167}
     168
     169void CTSPModel::loadTSPT(QDataStream *ds)
     170{
     171        // Skipping signature
     172        ds->skipRawData(sizeof(TSPT));
     173        // File version
     174quint8 version;
     175        *ds >> version;
     176        if (version > TSPT_VERSION) {
     177                QMessageBox(QMessageBox::Critical,trUtf8("Task Load"),trUtf8("Unable to load task:\nFile version is newer than application supports.\nPlease, try to update application."),QMessageBox::Ok).exec();
     178                return;
     179        }
     180        // Skipping metadata
     181        ds->skipRawData(TSPT_META_SIZE);
     182        // Cities number
     183quint16 size;
     184        *ds >> size;
     185        if (nCities != size)
     186                emit numCitiesChanged(size);
     187        // Costs
     188        for (int r = 0; r < size; r++)
     189                for (int c = 0; c < size; c++)
     190                        if (r != c)
     191                                *ds >> table[r][c];
     192        emit dataChanged(index(0,0),index(nCities - 1,nCities - 1));
     193}
     194
     195void CTSPModel::loadZKT(QDataStream *ds)
     196{
     197        // Skipping signature
     198        ds->skipRawData(sizeof(ZKT));
     199        // File version
     200quint16 version;
     201        ds->readRawData(reinterpret_cast<char *>(&version),2);
     202        if (version > ZKT_VERSION) {
     203                QMessageBox(QMessageBox::Critical,trUtf8("Task Load"),trUtf8("Unable to load task:\nFile version is newer than application supports.\nPlease, try to update application."),QMessageBox::Ok).exec();
     204                return;
     205        }
     206        // Cities number
     207quint8 size;
     208        ds->readRawData(reinterpret_cast<char *>(&size),1);
     209        if (nCities != size)
     210                emit numCitiesChanged(size);
     211        // Costs
     212double val;
     213        for (int r = 0; r < size; r++)
     214                for (int c = 0; c < size; c++)
     215                        if (r != c) {
     216                                ds->readRawData(reinterpret_cast<char *>(&val),8);
     217                                table[r][c] = val;
     218                        } else
     219                                ds->skipRawData(8);
     220        emit dataChanged(index(0,0),index(nCities - 1,nCities - 1));
     221}
     222
     223void CTSPModel::saveTask(QString fname)
     224{
     225QFile f(fname);
     226        f.open(QIODevice::WriteOnly);
     227QDataStream ds(&f);
     228        ds.setVersion(QDataStream::Qt_4_4);
     229        // File signature
     230        ds << TSPT;
     231        // File version
     232        ds << TSPT_VERSION;
     233        // File metadata version
     234        ds << TSPT_META_VERSION;
     235        // Metadata
     236        ds << OSID;
     237        // Number of cities
     238        ds << nCities;
     239        // Costs
     240        for (int r = 0; r < nCities; r++)
     241                for (int c = 0; c < nCities; c++)
     242                        if (r != c)
     243                                ds << table[r][c];
     244        f.close();
    150245}
    151246
  • src/tspmodel.h

    rac4cb71650 r993d5af6f6  
    2525#define TSPMODEL_H
    2626
    27 #include <QAbstractTableModel>
    28 #include <QSettings>
    29 #include "defines.h"
     27#include "globals.h"
    3028
    3129class CTSPModel: public QAbstractTableModel
     
    4038        bool setData(const QModelIndex &, const QVariant &, int);
    4139        Qt::ItemFlags flags(const QModelIndex &) const;
    42         int numCities() const;
     40        quint16 numCities() const;
    4341        void setNumCities(int);
    4442        void clear();
     43        void loadTask(QString);
     44        void saveTask(QString);
    4545        void randomize();
     46signals:
     47        void numCitiesChanged(int);
    4648private:
    4749        QSettings *settings;
    4850        double table[MAX_CITIES][MAX_CITIES];
    49         int nCities;
     51        quint16 nCities;
    5052        int rand(int, int);
     53        void loadZKT(QDataStream *);
     54        void loadTSPT(QDataStream *);
    5155};
    5256
  • src/tspsolver.h

    rac4cb71650 r993d5af6f6  
    2525#define TSPSOLVER_H
    2626
    27 #include <QtCore>
     27#include "globals.h"
    2828
    2929typedef QList<double *> tMatrix;
  • ui/mainwindow.ce.ui

    rac4cb71650 r993d5af6f6  
    255255     <string>&amp;File</string>
    256256    </property>
    257     <widget class="QMenu" name="menuFileSave">
     257    <widget class="QMenu" name="menuFileSaveAs">
    258258     <property name="statusTip">
    259259      <string/>
    260260     </property>
    261261     <property name="title">
    262       <string>&amp;Save</string>
     262      <string>Save &amp;as...</string>
    263263     </property>
    264264     <property name="icon">
     
    274274    <addaction name="actionFileNew"/>
    275275    <addaction name="actionFileOpen"/>
    276     <addaction name="menuFileSave"/>
     276    <addaction name="actionFileSave"/>
     277    <addaction name="menuFileSaveAs"/>
    277278    <addaction name="separator"/>
    278279    <addaction name="actionFileExit"/>
     
    405406  </action>
    406407  <action name="actionFileOpen">
    407    <property name="enabled">
    408     <bool>false</bool>
    409    </property>
    410408   <property name="icon">
    411409    <iconset resource="../resources/tspsg.qrc">
     
    501499  </action>
    502500  <action name="actionFileSaveTask">
    503    <property name="enabled">
    504     <bool>false</bool>
    505    </property>
    506501   <property name="icon">
    507502    <iconset resource="../resources/tspsg.qrc">
     
    550545   <property name="text">
    551546    <string>English</string>
     547   </property>
     548  </action>
     549  <action name="actionFileSave">
     550   <property name="enabled">
     551    <bool>false</bool>
     552   </property>
     553   <property name="icon">
     554    <iconset resource="../resources/tspsg.qrc">
     555     <normaloff>:/images/buttons/buttons/Save.png</normaloff>:/images/buttons/buttons/Save.png</iconset>
     556   </property>
     557   <property name="text">
     558    <string>&amp;Save</string>
     559   </property>
     560   <property name="toolTip">
     561    <string>Save task</string>
     562   </property>
     563   <property name="statusTip">
     564    <string>Save current task</string>
    552565   </property>
    553566  </action>
  • ui/mainwindow.ui

    rac4cb71650 r993d5af6f6  
    236236     <string>&amp;File</string>
    237237    </property>
    238     <widget class="QMenu" name="menuFileSave">
     238    <widget class="QMenu" name="menuFileSaveAs">
    239239     <property name="title">
    240       <string>&amp;Save</string>
     240      <string>Save &amp;as...</string>
    241241     </property>
    242242     <property name="icon">
     
    252252    <addaction name="actionFileNew"/>
    253253    <addaction name="actionFileOpen"/>
    254     <addaction name="menuFileSave"/>
     254    <addaction name="actionFileSave"/>
     255    <addaction name="menuFileSaveAs"/>
    255256    <addaction name="separator"/>
    256257    <addaction name="actionFilePrintSetup"/>
     
    418419  </action>
    419420  <action name="actionFileOpen">
    420    <property name="enabled">
    421     <bool>false</bool>
    422    </property>
    423421   <property name="icon">
    424422    <iconset resource="../resources/tspsg.qrc">
     
    514512  </action>
    515513  <action name="actionFileSaveTask">
    516    <property name="enabled">
    517     <bool>false</bool>
    518    </property>
    519514   <property name="icon">
    520515    <iconset resource="../resources/tspsg.qrc">
     
    563558   <property name="text">
    564559    <string notr="true">English</string>
     560   </property>
     561  </action>
     562  <action name="actionFileSave">
     563   <property name="enabled">
     564    <bool>false</bool>
     565   </property>
     566   <property name="icon">
     567    <iconset resource="../resources/tspsg.qrc">
     568     <normaloff>:/images/buttons/buttons/Save.png</normaloff>:/images/buttons/buttons/Save.png</iconset>
     569   </property>
     570   <property name="text">
     571    <string>&amp;Save</string>
     572   </property>
     573   <property name="iconText">
     574    <string>Save</string>
     575   </property>
     576   <property name="toolTip">
     577    <string>Save task</string>
     578   </property>
     579   <property name="statusTip">
     580    <string>Save current task</string>
    565581   </property>
    566582  </action>
Note: See TracChangeset for help on using the changeset viewer.