Changes in / [725:b5728792c4f0:731:0290e3f39968]
- Files:
-
- 15 added
- 55 edited
Legend:
- Unmodified
- Added
- Removed
-
MLXMANIFEST
r723 r726 1 1 library/encodings/shift_jis.pyc 1670 afdb08e9b2888f86fc71010edcf057b4 2 library/xml/__init__.pyc 1058 8f77f254e8c6db7a3b6d9930a686d7873 doc/manual/en/finish.png 28855 671eac74a9f5801c794f08d5861eafaa4 2 library/sre_constants.pyc 5988 060e037737c1096503cf9247fc353edf 5 3 library/encodings/euc_jis_2004.pyc 1694 e12bbd059d4fd595cf4be5440ab439c2 6 library/ encodings/iso8859_7.pyc 2686 db390f1961c1fd4181e351c330816ecd4 library/xml/dom/xmlbuilder.pyc 15414 42285fdd810a2aa92c06775b5d415c33 7 5 library/fnmatch.pyc 3414 4d50000f78e903598af06ef1c5cfb3ef 8 library/libexpat-1.dll 143096 701659d3689bf4a8265b669b7d774255 9 library/gtk/_gtk.pyc 549 fc79b81b10be66eb2514e690cc0090ac 6 library/gtk/_gtk.pyc 549 9458c6b0ddc3c1e11c1203b6fd4633a9 10 7 library/encodings/cp858.pyc 7591 02054a0b8e91b9758826eb70cddf096f 11 library/mlx/pirep.pyc 4623 6c485ea65ff6245ab56960a8bbec705112 8 library/encodings/cp1254.pyc 2678 17ff2ac86f90886d5c73ed789f0499f3 13 9 library/encodings/unicode_internal.pyc 2022 1e902113491e0c334b44deb0c8940e01 14 library/libpango-1.0-0.dll 333729 5a14efd93ee27cfe960220fe4a904911 15 library/mlx/gui/gui.pyc 53459 ff9a0ce7c21f1d3dfb7c1359a4226d34 16 library/stat.pyc 2503 d3b6dc7a54e705219f04d0be75a212de 17 library/posixpath.pyc 10734 d694316c239784c444b252c801c97efa 18 doc/manual/hu/landing.png 28525 2dd99249a389e9faf5c4d7b1180e8ebb 10 library/lxml/etree.pyc 555 698876f9fdc81ba76c8a6fe486c49dab 19 11 library/encodings/gbk.pyc 1622 71c1e7fe25116114241829a60e57c5f4 20 12 sounds/speed.mp3 26331 3d64da0eea9f48fa73be82d385354bf6 21 13 library/encodings/cp932.pyc 1638 e060301989634a7fb30ded375011cb09 22 doc/manual/hu/bugreport.png 12385 c71c7db56f19870ae5d6bb7f533d3679 23 library/share/locale/hu/LC_MESSAGES/gtk20.mo 58794 6ee4491ae7bc9d3dfb778578eb29a0b3 24 library/gobject/_gobject.pyc 573 81047d5239f6250991b28ed9d046173f 25 locale/en/LC_MESSAGES/mlx.mo 64494 5eb2e430656c49a02122e3ea54fe4698 26 library/encodings/utf_7.pyc 1747 2beeb059236527197d6c640396476ce8 14 locales/am.pak 10404 5501abf396344840777c5e65843dd680 15 locales/id.pak 6724 87f2077cb9f8a80f18ed5ab3c48d448b 16 library/distutils/__init__.pyc 365 6f7d10b79fa1086d3ac9ce0806b5ba23 27 17 doc/manual/hu/pirepViewer.png 26835 267e4325e550ed14ed22f86a2c7e8e9d 28 18 doc/manual/hu/prefsGeneral.png 25082 9775eaf0c8f1f770e1ad46ce9b6e6973 29 library/atexit.pyc 2083 595a09be339c73c3c02e378d99325d2a 30 library/cookielib.pyc 52852 2a1030653dc204a9ba1fb56fd32eca68 31 sounds/737taxi.mp3 157362 846c403e5cb660be53c8b6da16b68234 19 library/mlx/gui/statusbar.pyc 4812 490a882b53429fa18f317e146f0c70c0 32 20 doc/manual/hu/mainWindow.png 27770 42e5565ccb75d22b2f378d2df2b2865d 33 library/libgobject-2.0-0.dll 341594 356d697647a480562c4e2e921b13f8ed 34 library/email/charset.pyc 13200 771aee9802116e673d08b44bc0450f99 35 library/libpangocairo-1.0-0.dll 104729 d3ad38599649097a3645777ff95be08e 36 doc/manual/en/briefing.png 32129 65cf1236d009fd61c1bd6c374ffd261c 37 library/uu.pyc 4212 0073b65d26a6092e4e177c7763058fa4 38 library/encodings/iso8859_1.pyc 2678 f09ec3b7f6a348cbd7f7286b60572bd0 39 doc/manual/hu/monitorWindow.png 20577 34bfd26fe50e72706625a9203ac98217 21 library/lxml.etree.pyd 2977792 d9f46391d4eeb719304a07b1ddaa72d9 40 22 library/pdb.pyc 41336 cca4477d622e897335b3f0cecb667ff4 41 library/ pangocairo.pyd 17920 5fc69a7d29a6d3127710c64de440daa423 library/lxml/html/_setmixin.pyc 4312 eac09282d97aceede13bb8efc0da3a5f 42 24 doc/manual/en/fuel.png 27700 777f9f3431c2f53db4b98f3449e4baf7 43 library/mlx/gui/info.pyc 6538 78c97f25111c13dc94c6226140943916 44 library/ io.pyc 3378 197da422e1d85c483c94fa0251b5ff7625 subprocess.exe 267264 00107a8ed63a3e055e5d14f5c4b6cb0d 26 library/selenium/webdriver/android/webdriver.pyc 1348 d8e382aa629964bf424c14159dd4fd2d 45 27 library/xml/sax/xmlreader.pyc 17862 0362ded7016d21cdd85aea1170ebdda1 46 28 doc/manual/hu/fuel.png 29886 92a67f7d11e5101a7ac64034c7be26a4 47 29 doc/manual/hu/time.png 28618 50dd8f862b7e1034cb1066ab16e7c587 48 30 library/encodings/mac_croatian.pyc 2755 425b44ba614eff660b863cb7cc12e509 49 library/encodings/iso8859_6.pyc 2723 c8f9aa14a6a2ebf05d977317114bc65d50 31 library/stringprep.pyc 14089 1c0d248fa5ff974c44479a82d8deb72c 51 doc/manual/hu/prefsSounds.png 22667 452c396c2bda9684bf052c98fd7870d1 52 library/sre.pyc 499 92bb633daa0bab6550ec0e3677673b5b 32 library/WINHTTP.dll 354304 d29f2889baa10e19ad9ff70c8d5ecf50 33 locales/ca.pak 7484 6490335e2837ffefb296ff1fabb50372 34 library/selenium/webdriver/remote/switch_to.pyc 3203 203c551f8bb5b7999810cf31728c85ee 53 35 library/encodings/cp720.pyc 2736 a0f8bdcf6477a00166d2a38b1ba3ce7c 54 36 library/xml/sax/_exceptions.pyc 5829 9f1abe12a091b6808b131a0b4e179b5a 55 library/encodings/iso2022_jp_3.pyc 1699 ee1c3aa11bbe19eeb4deafa23856313356 library/encodings/mac_turkish.pyc 2739 1682e228ddfd2e74e3ccaee0b65e726157 37 doc/manual/en/prefsMessages.png 22653 9002bdcc9f1ecd395c67e0662dec62dc 58 38 library/xml/sax/handler.pyc 12528 655e21f07d79d8cde1d7af6fe0d9c2db 59 39 library/collections.pyc 23430 3b68687320ddc080ef5c92404487a161 60 40 library/encodings/hp_roman8.pyc 3922 cc8ddf1c5f5264309df0050775df2dc3 61 library/xmlrpclib.pyc 40724 d4f819f9199ea21236a74c967e335c4362 41 library/encodings/big5hkscs.pyc 1670 0ff54e70f21b5e4a359d3779367cba85 63 42 library/encodings/utf_8.pyc 1806 4b8dee0284ea2f55c4142fcde7463524 64 library/unicodedata.pyd 688128 c856c31a03dc892e4f2aee93d0bfee44 65 locale/hu/LC_MESSAGES/mlx.mo 69361 d6d8b2f8bd1a18bcc710b841e849d5c3 43 locale/hu/LC_MESSAGES/mlx.mo 73166 f479bb641fede1c31adbd0ff2a3d736b 66 44 library/encodings/mac_roman.pyc 2716 4b4745eccfcb77860b70b374ac07fbcc 67 library/ copy_reg.pyc 4893 7a58bc441232056d1c123cd3375b377445 library/py_compile.pyc 6292 425da7ee065aa158fd274946204a4a77 68 46 library/ctypes/_endian.pyc 2154 c73aab798475f9961158ed4f6c07a70b 69 doc/manual/en/debugLogTab.png 33696 5be65d41058f78554840032c51aa9d6d70 47 doc/manual/en/checklistEditor.png 26353 b8963432d1219a2138e22850b1b94b56 71 48 library/email/_parseaddr.pyc 13285 9a4c79b09ed093f1fc48b4d427b877e0 72 library/dummy_thread.pyc 5094 310a3d15c9cf20259b0ca4892811dec573 library/gtk._gtk.pyd 1882624 bbb1d1e41bbebc6abf69bed719d5049774 49 library/encodings/__init__.pyc 4298 df673fd19cf6e69f54e7638d05179a32 75 50 library/share/themes/MS-Windows/gtk-2.0/gtkrc 1825 94d104680cec5f3d8bbec56258d0c926 76 library/_hashlib.pyd 287232 a1a18de0644f481749fcbcf26005eeaf77 doc/manual/en/monitorWindow.png 20886 42e08d10c758e21209c4c021f391dee778 library/_hashlib.pyc 549 9e2049be4b8278f6106cd91d0b39a37579 51 library/libpng14-14.dll 230529 f3a15497e25baaa721f96638d7a4d2f8 80 library/copy.pyc 11674 30d1745c5e38ab170f8a0486fbebf30581 52 library/share/locale/hu/LC_MESSAGES/gdk-pixbuf.mo 21895 a932ead453f04de30e348c1689a4d896 53 library/selenium/webdriver/safari/__init__.pyc 125 4a6fe7f5be076227125ddd0577386fa7 54 locales/fil.pak 7790 38cdea149d120d8e9a8a0b0a90ac5dfd 82 55 library/mlx/gui/dcdata.pyc 19878 128e72fd5c4cf74b988abe22b9e9e641 83 library/ mlx/gui/__init__.pyc 107 22f268cac1c5be2f3a058810b6caead356 library/selenium/webdriver/common/utils.pyc 1718 4f61f38d0107f2694454eacb6d480f45 84 57 library/encodings/iso8859_5.pyc 2679 58a290e94b0266ef8ff4ee52da00e257 85 58 library/encodings/iso2022_kr.pyc 1683 ef9549932514d2deda6c4676e5e5f1db 86 59 library/libglib-2.0-0.dll 1242929 18e88b04da123bf05b07ff60a4e96654 87 library/select.pyd 11776 d90bf525f9f6c9c3aa6532fa6e569b4f88 60 library/base64.pyc 10528 39abec9c60dc011d3c763f443f9b1a11 89 61 library/mlx/gui/bugreport.pyc 4602 a32ca4d644f316b3d120ae3dc2597eba 90 library/traceback.pyc 11223 50ace5c2c6c040a923082442da94cd7891 library/_weakrefset.pyc 9290 a56e87c491c0511cd329a3c8c4cd956392 library/mlx/flight.pyc 21066 471a24b3678e6d684d6bf5aead1ae54493 library/urllib2.pyc 43566 7eb57ea0dcd1086d1d9073a5cefb090394 62 doc/manual/en/flightSelection.png 29847 7817c8f5ed8d7fe64cf72d0addaf3e4a 95 library/encodings/mac_farsi.pyc 2659 df751a61510129a25f7a43ae3aace4f796 library/tokenize.pyc 13565 354d02cd79df187a28c1851a1e3bad9697 63 library/encodings/cp500.pyc 2639 bb122a6e1384530e1b2efb14cf999239 98 64 sounds/TaxiAfterLand.mp3 155481 ded1908d2e7bf2ee2cbf445bb44cf756 99 65 library/urlparse.pyc 13222 cca8581f4f4fa9067ccc880f049a6032 100 library/mlx/common.pyc 1327 822ddec8bdeabcd64ec7927b275680c0 66 library/json/encoder.pyc 12918 d4d1f0b8a67df3e7c2f470ca19d0f964 67 library/selenium/webdriver/remote/webdriver.pyc 31960 5ef4044402659e32409fa4570a91f03c 101 68 doc/manual/en/mainWindow.png 25345 15b206118a6670f9edaceb8aa830fdd7 102 library/ctypes/__init__.pyc 18846 2bd183962453ae93d6887b303d3fd338103 library/mlx/acars.pyc 1690 733d057c94683c74079d6e096f601855104 69 library/encodings/iso8859_3.pyc 2685 7b5b2924647578ab7555db2d86cd1b9b 105 sounds/taps.mp3 16614 d4a019c7e9342ae329aee6932d6a43c3 70 locales/kn.pak 15411 d24e6fbfcbd4c8e76cc534bf63d75d61 71 library/xml/dom/minicompat.pyc 3256 4cb81e995ea180f716a8913fb0148a64 106 72 library/email/generator.pyc 9877 f387feb2b59e121f7b0ece209e8875ae 107 73 library/types.pyc 2386 25023bf7b2334153cfff8922979862c9 108 conn_grey.png 988 7a956ebba793197f324cec56d94073e7 109 library/getopt.pyc 6454 8f8cd6763f5339988d157d153c910bf5 74 doc/manual/en/bugreport.png 11730 a649c456acbbfa0419d183a7b8261c01 75 locales/mr.pak 13137 cdfba7767a139ab7c34ec01d496029a2 76 library/xml/dom/pulldom.pyc 12238 14c378c017da4b4a1576321c884c9ac4 110 77 doc/manual/en/landing.png 26272 97115671017d7dd3af55513ae912ff17 111 78 library/textwrap.pyc 11410 f7bfc56465324edf71b977397a4c7c0b 79 locales/nb.pak 6676 56894a866d7af9193faca13ef28c7b68 112 80 library/encodings/undefined.pyc 2399 030217a6a82b09af1a32dc18955d3355 113 library/encodings/idna.pyc 6124 6d67198be2b194c4c0acf48e2f1473ac 114 library/email/mime/__init__.pyc 110 bae57a199e3d0998a1364b9fbae8b3cd 115 library/calendar.pyc 26136 6f2f18efc99d759f99b2935b9dc9dbb1 116 library/winerror.pyc 112982 4986a8f2df094dddedd12c9fddf4966d 117 library/_LWPCookieJar.pyc 5440 3782ae675165b232a3f78608ac2dbccd 118 library/encodings/mac_latin2.pyc 4717 564dbaf5c296a147203eb821dc2466ba 81 library/cairo/__init__.pyc 142 010dd7cc8485565d5782d60e92e4ba34 119 82 library/encodings/utf_16_be.pyc 1854 84a1d1465453727af051eaeeb853782f 120 library/mlx/fsuipc.pyc 74670 4da0a45a9a6372a2e463ab21fdc43359 121 library/xml/sax/__init__.pyc 3579 c78222ad1fd4f3dbdea06666fe74e84e 122 doc/manual/en/connect.png 27436 5406dfe5408569cb95499c057bf0185b 83 library/selenium/webdriver/ie/webdriver.pyc 1917 121143596ab09d1c691eb62c08540471 84 library/selenium/webdriver/common/keys.pyc 2116 25c69327342e220cdafefcca6e79bfe5 123 85 library/encodings/cp1006.pyc 2725 99fe5e34e21f82126b87b830c382347f 124 86 logo.ico 44054 8a2bfc719521f8dc59540055941af7db … … 126 88 doc/manual/hu/takeoff.png 28255 c328eb866f78338e178f1fb761f57511 127 89 library/encodings/rot_13.pyc 3413 04994d9c6c3622213b73a23e86c4cd07 128 library/encodings/charmap.pyc 3203 2358b8eb05c66e2a2826b5db6f214547 129 library/os2emxpath.pyc 4312 0c35794eeb4739ebb4eb28b9a1daf0ca 130 library/libgdk-win32-2.0-0.dll 931390 a2b46daac3d4140efdf86429f7aea476 90 library/selenium/webdriver/chrome/service.pyc 3456 213d552983fc36a04948f1c1fb551965 131 91 library/win32file.pyd 111616 25ecaa0a381c6fd9ba4080bea63b952e 132 library/mlx/gui/common.pyc 10398 b94179414ef460863981a327bbea2cf3 133 library/dummy_threading.pyc 1265 5ab5c897721aeb346b5bccb84066c5bd 134 library/markupbase.pyc 9010 b33ff430e9b1adba3d540b5394ff289a 135 library/encodings/cp1258.pyc 2681 5c09b3b0a82036b0e785422376cb64cc 136 sounds/767taxi.mp3 160496 4cb43cda6e1214fbe15328a716827345 137 doc/manual/en/prefsAdvanced.png 16169 64c14e0842c413cac98b92926279f3e0 138 library/mlx/pyuipc_sim.pyc 57203 e1828998919f435bae2a5cbd969ff8f3 139 library/cairo/_cairo.pyc 561 74600b46e3cca88959de18f46fd35dd6 140 library/win32file.pyc 552 7cc3345bbc0f00a5ab26fd1fa2644112 141 library/encodings/cp865.pyc 7868 7d40a7ba053ac23339218be8799e5397 142 library/lib/gtk-2.0/2.10.0/engines/libwimp.dll 97984 a5bbbe46e1363aba9020a76f2d58e9d6 92 library/share/locale/hu/LC_MESSAGES/gtk20-properties.mo 167125 cd1b1b3693c1e3c74bfcea20be640cc6 93 library/lxml/_elementpath.pyc 6886 9a280fb32989572f97a77a8439c60b03 143 94 library/unittest/__init__.pyc 2945 3b9d3992b823bd7bc391d8b1bb434310 144 95 sounds/sikoly.mp3 126222 b0bb88361b253cd21bfd3706524f4aec 145 library/HTMLParser.pyc 11589 f641df5331b5bb552ebe180f79b85a6b 146 library/bz2.pyd 76800 1ca9ececd2c84b80996fe632627f857f 147 library/encodings/iso8859_16.pyc 2695 85e819a29dec2b601ce978dcd5a040fc 148 library/share/locale/hu/LC_MESSAGES/gtk20-properties.mo 167125 cd1b1b3693c1e3c74bfcea20be640cc6 96 library/selenium/webdriver/common/proxy.pyc 9645 560e74712da0a0e2f9115689b0dce0a2 149 97 conn_red.png 914 860388cb7c3b26b2f348fdbee40780ce 150 library/bz2.pyc 534 c0e76855ba3b871b6033bf3e93815fb8151 98 library/xml/sax/expatreader.pyc 13563 4f64c0efb2f1f8dbba84cdb5c6036f2d 152 library/ email/utils.pyc 8840 a7be428df6fddee6121cfce55382d1f899 library/lxml/html/__init__.pyc 57505 75e60bdbe2cda9fe95dc43345e79a0ae 153 100 library/encodings/iso8859_14.pyc 2714 b9baeb3f59da8a2137db576b2e434feb 154 101 library/unittest/signals.pyc 2126 d574469ae3f8e3c3c6054c48e8ff6fe1 155 102 library/encodings/cp949.pyc 1638 a248191502a186c4ee64598e5e684608 156 library/encodings/iso2022_jp_2.pyc 1699 4b917caa926e5779176612409c66be39157 library/_ssl.pyd 720896 90826a140137efd0d806038828e16f8e158 103 library/urllib.pyc 48771 4d4b07040a1d0b0b31f5779eeb01c269 159 104 doc/manual/hu/payload.png 29785 c9b8f7dd269629ea22764f531e5d27bf 160 105 doc/manual/en/gateSelection.png 28063 b02c97fe05d9cd8ea986a5023937f4bc 161 library/glib/__init__.pyc 187 d44c8c2772b263a36726ac0dcfc04b42162 106 library/UserDict.pyc 7920 c72896a5a8a1a3d93fa6ba23c50a04b0 163 107 library/encodings/koi8_r.pyc 2700 fff1b35002b9e938b7ea6fd0fbe824ae 164 library/mlx/gui/statusbar.pyc 4812 490a882b53429fa18f317e146f0c70c0 165 library/warnings.pyc 12666 9788b5f45765e8204e04c820f2711094 166 mlxupdate.exe 19456 ddccbdef96743f9fb9ef233581c240fc 167 library/mlx/const.pyc 6289 fda6baed7910fe29ee62a57e7818eb89 168 library/email/errors.pyc 3229 cdb78ab237e195ad69f059128bc03b1d 169 library/linecache.pyc 3091 666e6f81b0ea9a7637f8068493f738d5 170 sounds/malev.mp3 201247 8a00666288f14a1666eb112223c140e0 171 library/encodings/mac_iceland.pyc 2738 dfff28ea5edfda00df56b4ab9a35bc59 108 sounds/737taxi.mp3 157362 846c403e5cb660be53c8b6da16b68234 109 library/mlx/const.pyc 6294 5cdef68da98c1d03135d20e2b78668fc 110 locales/th.pak 13637 7262d0f5e1877212a45a1ef1ccc4c777 111 library/mlx/gui/cef.pyc 13834 c0aa2cc0103680c5c8f25a8b504839d8 172 112 library/encodings/punycode.pyc 7570 335ff94e207934ae64e6f5fc07a5cacc 173 library/unittest/util.pyc 4358 1530cc34b18ae6a6c6128a1d8b1355d7 174 library/gtk/__init__.pyc 3025 9f6605bf84c6cbd3c20f1d37e58af969 175 library/codecs.pyc 34722 339dc90c17d548887dbcf1bbbcae5d5b 113 mlx_cef_caller.bat 142 d1815645d52f5638f27f16903a977d00 176 114 library/encodings/shift_jisx0213.pyc 1710 1ec0383aafb1dcadb5f9b6afff16eb7f 177 doc/manual/hu/statusIcon2.png 7969 3ec6caa058848932d381da6e02c702be178 115 library/shlex.pyc 7282 cbe1a4823894c97c87d01f9d9faf5b8f 179 library/ cairo/__init__.pyc 142 010dd7cc8485565d5782d60e92e4ba34180 library/ _ssl.pyc 537 aca2f45a9b83601311c6292e537f4611116 library/encodings/idna.pyc 6124 6d67198be2b194c4c0acf48e2f1473ac 117 library/selenium/webdriver/support/wait.pyc 3062 0b45eef7d5f12effdcb7b3b3bf077953 181 118 library/encodings/iso8859_8.pyc 2717 f3ad6ce58cfac9e3ca86cf5c2fef092b 182 library/encodings/iso2022_jp_1.pyc 1699 faed9d5747e982cec9fa8b3ad8e1de26183 library/encodings/cp850.pyc 7621 20d776af743fa7acf090fbd575eea143184 library/xml/parsers/expat.pyc 259 d7be0c4de475d65e08ba7fdbabe088d3185 119 library/encodings/utf_16.pyc 4808 45343ba87ff1675cd72f656555193d29 186 library/struct.pyc 219 421271d66b783c3f13c37ec09efa8b65187 120 library/httplib.pyc 35251 2ac8119676b4b02ed78fd020ea423de5 188 doc/manual/en/bugreport.png 11730 a649c456acbbfa0419d183a7b8261c01 189 python27.dll 2206720 f8f39495ed4a813e8f3049a4b9f5cff4 190 library/encodings/mac_centeuro.pyc 2747 6461bd7ed7a57683d5c36001f9ac85c9 191 library/encodings/utf_32.pyc 5336 912103fef3db6edc29a35dd0cfb5c5b9 192 library/ntpath.pyc 11407 533c9331a1b72cc80dd3f88145ba4466 121 library/selenium/webdriver/remote/__init__.pyc 125 98c24cdbe880f259e3a39688b035f899 193 122 library/rfc822.pyc 30648 0d6ab1f052b2b58e19659373c57e6443 194 123 library/encodings/cp869.pyc 7915 404063f8111d018b17d803a12c956ee8 195 124 library/opcode.pyc 6052 4b056d1c0ecd2904ca1fb2a14f28da3c 196 library/mlx/gui/checklist.pyc 12279 555775aaed42b3d0687e1b0f501a9f61197 125 library/email/header.pyc 13339 f741f4c3543a278fec30f4d9bdd0f859 198 library/encodings/cp1252.pyc 2676 b4c43cc72650c911cf3654dbaf565df9199 126 library/share/locale/hu/LC_MESSAGES/atk10.mo 8465 e3f3466da367215aad971d7b0394229d 200 library/ unicodedata.pyc 558 9fff50a023ac65726b3f323860f16dc7201 library/select.pyc 543 ac1d1553c508b92a2f222dc5babd3060127 library/selenium/webdriver/android/__init__.pyc 126 2c08539a10f0de9d77dea0fb81f88c93 128 library/select.pyc 543 000aafbf9f916aa8dc56f48e6421ae8e 202 129 library/encodings/uu_codec.pyc 4646 5282a5fcb676851224d2924aa3e48a9e 130 library/selenium/webdriver/remote/file_detector.pyc 2025 06b01ab65d8732125257374fb263e879 131 library/selenium/webdriver/phantomjs/webdriver.pyc 2534 dedaa853a9d939c417e05069a74a0851 203 132 library/ConfigParser.pyc 23857 1d17020dd0000ce0f73de812effa152f 204 library/encodings/cp1256.pyc 2675 c1bf26ed9c9b5ee0eec495138993cffb 133 mlx_cef_caller_secondary.bat 172 c4864924a731e8ed4beae9e70018370f 205 134 library/genericpath.pyc 3063 eb5a2eacaea46c733ed68d770eb1d89c 206 135 sounds/notam.mp3 195604 9c5edf885a2ba68484a9554a1cd22c47 207 l ibrary/email/base64mime.pyc 5221 c536d6f0c03f029bba77f15ef6ba3d99136 locales/en-US.pak 6371 7dc755262eb4ba15fd0f2bd986801f13 208 137 library/gettext.pyc 14675 606ad2e00535dd0f4fee5bd8d8562b29 209 logo.png 69816 4a7517b22cfd75cc9c15e3fc1b7ebeec210 library/libpangoft2-1.0-0.dll 815421 1dbfead06e26edb81f0849490210e3ff211 138 library/random.pyc 24831 54b2048974a5c98912276ffa5dc637a9 212 library/mlx/util.pyc 4884 7537803cf47e18210ab5f298ba9eba9e 139 icudt.dll 9956864 5434e18b933e03f274d8da59fda4c676 213 140 library/mlx/soundsched.pyc 9185 4211730170fddb82b5683ce1849234ee 214 library/doctest.pyc 79210 620422f95e18417ff5f8440534a71e91215 141 library/mlx/logger.pyc 13109 a70c061d36cf6b4e540f5610133466d3 216 library/encodings/cp775.pyc 7888 25bf7dd514dff294aa02d5119399b2b7217 library/libfontconfig-1.dll 279059 dd583bedc5efe7bbd21a8ef107dec88d218 library/_strptime.pyc 14347 ad17a449b54061177a080e3a21507a39219 library/mlx/singleton.pyc 9184 9eec2ed5b230e043afc56592fb13a684220 library/mlx/airports.pyc 4350 e0fee9bae54850629841bbcf68b1b89f221 142 library/xplra.pyc 32012 50a1d9f19c0cc88783d264909ad1c678 222 library/socket.pyc 15488 35f8eb455d6d8df8e19826d1dd7193f2 223 doc/manual/en/statusIcon1.png 6472 10a7158dd8655de3f18ba914eb2373a5 224 doc/manual/hu/prefsAdvanced.png 16738 d39884283d7c0f25efa3dc97328749a3 225 library/encodings/euc_kr.pyc 1646 af2a5eaf1ea334c3f3bd60ea13db33a9 143 library/selenium/selenium.pyc 88274 e4b7af1a0fdb5800faba4cdbba1e85b3 144 library/selenium/webdriver/common/html5/__init__.pyc 131 e2214dcaff874176a4d2b8ecdaa8a677 226 145 library/encodings/string_escape.pyc 1907 5856af6d4b4bbbe84b0595434afe8d34 227 library/encodings/ptcp154.pyc 4700 377245b13f9246526c8c17b5e13bac4f 228 library/gobject/__init__.pyc 5154 944a57e672b63943bf88c5dbe459cd41 146 locales/lv.pak 7778 892b75d606ecee874c180454b1dcb956 229 147 library/xmllib.pyc 25767 3ec689dd4068f2f244823616800486f7 230 148 library/re.pyc 12699 5b157b40e294465c0f3d2ca82f70f66e 149 locales/gu.pak 13531 b227db903a5cadbf928e97133643415d 231 150 doc/manual/hu/flightInfoTab.png 28786 3e8af27775131f02696b0912ca441f36 232 library/encodings/utf_8_sig.pyc 4625 1b1405db186e5819fa271ff96c1ca2c5 233 library/pangocairo.pyc 555 6323df5caa1cde78b3888b71fb9ef34e 234 library/encodings/cp1255.pyc 2697 b265913c887f2e1c8736632b652c0093 235 library/encodings/zlib_codec.pyc 4308 319c9073aff840436a03cc1fa0b08fb5 236 library/encodings/unicode_escape.pyc 1996 32990583f1caf874e556087da7b92971 237 library/pprint.pyc 9852 6b4724e14285c257116655b1d4ba6db1 238 doc/manual/hu/connect.png 28822 929f3eb85ee3cad019e12017c923f664 239 library/encodings/palmos.pyc 2876 9284ad53dcfd82dfae0a79923b1cf91d 240 library/mlx/web.pyc 36866 96511f975c55c000b0e9c16dff3aa31b 241 library/mlx/gui/gates.pyc 5635 ea478376f306ce9d6d0ed2e759407c00 242 library/email/feedparser.pyc 10682 4de6a63da8dc270c9881edb9c2f28508 243 library/gobject/propertyhelper.pyc 8878 cc3598dab17d31ff46a6dee669ccb5ed 244 library/intl.dll 152489 eb2d4c4d4a527bc88a69a16cc99afcf5 151 library/xml/dom/expatbuilder.pyc 31399 c996bf83ee6078c9ddda33b79ce11d48 245 152 library/encodings/mbcs.pyc 1883 2213911a7dd0deada6799b63e18b695b 246 library/pyuipc.pyc 543 2977fd6e66c07bb48bb2c21f1b90139c 247 sounds/TOC.mp3 273032 fae1be2ad25c8b54806bd1d759919705 153 library/json/decoder.pyc 11727 edb191cd3c20a61e33cbe04edd422270 248 154 library/encodings/iso8859_4.pyc 2678 16f2fe7994051752360c533c052b892b 249 155 library/functools.pyc 5569 4af4ea4f948f8327649fd65f93cde1d4 250 156 library/getpass.pyc 4627 7c01bf3df2e0074115d1a484629b4c63 251 library/freetype6.dll 538324 fe5ec4b2a07d2c20a4cd3aa09ce0c571252 doc/manual/hu/finish.png 31044 adb40bacabf2cc597687fffe5c3340de253 157 library/encodings/mac_cyrillic.pyc 2745 c17fd9fd5bc854dd5ffe80076e1eeb02 254 158 library/threading.pyc 26361 ac75b44a3dfea9ec884fcde4f7aa3275 255 library/email/__init__.pyc 2752 5e1a1ba649ac697d631b031987d09c33256 library/share/icons/hicolor/index.theme 22255 5138b82a57488ee821b8a38c2aa1420e257 159 library/pywintypes27.dll 110080 7fa49d1d53588cca5071dfaa61061087 258 library/ glob.pyc 2238 d06c4386d18e2ab7f53fb866599403cc160 library/lxml/html/defs.pyc 3980 b5d26d607dc394b6a37511fc902fed94 259 161 doc/manual/en/calloutsEditor.png 14862 8041dc5f889a8913f510bdf0da923b58 260 l ibrary/encodings/iso2022_jp_ext.pyc 1715 97eda1c1468f65445951b0bf23a89570162 locales/ro.pak 8130 3220d7b7833d5a3df586c24a6f1696a9 261 163 library/unittest/runner.pyc 7220 118e9e76a41d050e53c2a5ef70189acb 262 library/ _threading_local.pyc 6424 9dfe88d58a5811d2d56347cc381ebf0a164 library/selenium/common/__init__.pyc 166 b2bcfbae2f994badd5e73c3ec186552f 263 165 library/abc.pyc 5923 c45df4ceeb48b9c74dcb8bc4d5928924 264 166 library/os.pyc 25063 7c7eee513ae4238d1b2c16af719c10a0 265 doc/manual/en/payload.png 28191 b9d22d6226541b8f58df89c7c9da9a62 266 library/pyuipc.pyd 47616 2b4fe2d52575de71dda6f72690cf581e 167 library/selenium/webdriver/chrome/options.pyc 5251 e62df837d9fe50d3f6464a0c4f02489e 267 168 library/encodings/cp424.pyc 2669 4667015363f54bae44e98d4748e8acfa 268 169 doc/manual/hu/flightSelection.png 30815 e8bcdda6079c6b16ffa72ca62c21ca85 269 170 library/win32pipe.pyd 24064 de374eded459293b2a7eb8ed8fb38eaa 270 library/win32pipe.pyc 552 19590da3d42ad587ab8f48ab66c92312171 library/win32pipe.pyc 552 91891e843acff73f0bf28e2450464e7b 271 172 doc/manual/hu/cruise.png 27460 a2610173563e45baae1b0f9e63007ebd 272 doc/manual/hu/logTab.png 28706 f48004202310bd2a1cb2f873d8064e93273 173 library/encodings/iso2022_jp_2004.pyc 1723 66376e788f3819e781897268c1100986 274 library/ win32event.pyc 555 c419ceffad157c77eb64a0567a49f85e174 library/cefpython3.cefpython_py27.pyd 968192 58161b73feae974f560d2c9f416adf3b 275 175 library/encodings/cp866.pyc 8103 f36418dcf93b17b3ced63bd544f44159 276 library/gio/_gio.pyc 549 dc1412f35c94fea43409ff9228163889176 library/gio/_gio.pyc 549 2965d8aa7312527dda6888c8f5ecb287 277 177 library/encodings/cp437.pyc 7874 63f1278c0a66129c6fb4f504d6b61b66 278 doc/manual/hu/ helpTab.png 27961 8e7cc4aeb8d7f40fcf186c7caf53583b178 doc/manual/hu/prefsSounds.png 22667 452c396c2bda9684bf052c98fd7870d1 279 179 library/mlx/gates.pyc 7002 20aca1eaf3de122eda51883b5b518f6f 280 library/encodings/shift_jis_2004.pyc 1710 f8bb22a8b02dba2b66b7f77122c98fd6281 library/encodings/cp856.pyc 2701 8b6649490089bedd87e9b8c56985f6b3282 180 library/mimetools.pyc 7837 c9accd6ef795bf71c90630be0161cadc 283 181 doc/manual/en/pirepLoaded.png 9887 e27a7c87e134944787e29874c455380d 284 library/mlx/gui/weighthelp.pyc 13179 9ebfa07c41e167371380dda80b5bd72b285 library/encodings/quopri_codec.pyc 3365 01342d4d2735bcbfeb333d784297547a286 library/libcairo-2.dll 1294335 c0da2a3ab704f338f0fc6df51fd99497287 182 library/encodings/cp852.pyc 7890 7d58aa3397615349148b7885dc0e5280 288 183 doc/manual/hu/pirepLoaded.png 10573 af950f8f037d6e17a24edcb3e849d159 289 library/gio/__init__.pyc 809 bc9332556e93183a58be5c10cba18557290 184 library/pygtk.pyc 1914 814f68243c9fd447c0aa02326f1ead2b 291 doc/manual/hu/debugLogTab.png 34237 e4d91a024beec781966f7de91ffd196d292 185 doc/manual/en/cruise.png 26531 fc94f27a40dad772437494c71e3c3d73 293 l ibrary/weakref.pyc 13028 5d1c14275f47e8cf6d40bc6877fde976186 locales/es.pak 7713 1bdcb1f825bf2bf68380662427f583b2 294 187 library/encodings/utf_32_be.pyc 1747 3e8c9ef8145de502320202b1688fd2ee 295 library/nturl2path.pyc 1755 7835082f2dd6806f99cc25bed13ff7dc 296 library/email/message.pyc 27764 493826f529d17f5a21080a4c98b49369 188 library/cefpython3/cefpython_py27.pyc 600 5aecdbd2ba6e2bcdc1bd808985d7825a 297 189 library/encodings/mac_romanian.pyc 2756 a3b2a0892236bc80c8efe8940e33339e 298 library/mlx/gui/pirep.pyc 16749 2006126d65a19999a20c4a34f1e94342 299 library/mimetypes.pyc 17806 927ce6a7079707aaee925e855ed23454 300 library/_ctypes.pyc 546 2d4307addb84216cfe89da22fc9e397c 301 library/mlx/gui/faultexplain.pyc 9707 938e02beb962d574df694c77536533ca 302 sounds/F70taxi.mp3 154854 51332dc691d3519355f61ed06c959d8d 303 library/encodings/cp857.pyc 7611 1b46c8959ac097b73e1c680d464cdc32 190 library/_ctypes.pyc 546 481eb87be1fe7c202bd442fdd963f41a 191 mlx_cef_caller_secondary.sh 178 ecb35d3294a5d1e729697f802a75cde4 304 192 library/encodings/iso8859_2.pyc 2678 da65f42e1be5bec97161e8c1cc4f0fb7 305 doc/manual/hu/statusIcon1.png 6920 614cde237a5b4e2678ed15d9cd01088e306 193 doc/manual/hu/briefing.png 31774 e090e1a6fab300a2d55cac03ad71d551 307 library/pango.pyd 111616 c934763bdf125c3dc92b56db817001d4308 194 library/encodings/cp855.pyc 8071 0a4259ba854c24186f2ce61d85883b4a 309 195 doc/manual/en/time.png 26508 0267dbdd59e65692bb0b9108103c07f5 310 196 doc/manual/en/flightInfoTab.png 27718 4634da26b64d2c1a07ff5a7eec1ae29f 311 library/encodings/ascii.pyc 2081 a5fffd04734740386629fdba1113d585312 197 library/libgio-2.0-0.dll 1222182 ea1263fb4c2230284f3e30c446bfea6b 313 doc/manual/en/helpTab.png 26243 cd5c021a2fc40485805b9fde03bcd060314 198 library/encodings/cp037.pyc 2639 2981678e762ba857e30becbe27eb6614 315 199 library/email/parser.pyc 3669 b4c89014f11b6551907291d3b789f371 316 library/_MozillaCookieJar.pyc 4392 21966f49c75d0bd7827ec82d4e6e5d30317 200 library/repr.pyc 5045 82f0d89c685c3dacd941e01e4b2f31ef 318 201 library/quopri.pyc 6352 87c42d94f753dd4c8a761cfa79453bb8 319 202 library/htmlentitydefs.pyc 6347 814dc784fdb3d998dccee4c3f4c0394f 320 203 library/mlx/gui/monitor.pyc 12980 dc303c215e1380adee44b691870d45e8 204 library/selenium/webdriver/common/action_chains.pyc 12050 696113f4eb85587998c08b915d8269a4 321 205 library/encodings/latin_1.pyc 2111 52427573ccbfd06220b67d5a9dd1376e 322 library/mlx/update.pyc 16956 458d28bd83dc10d0b2cb3c1a2623bca9 323 library/encodings/gb2312.pyc 1646 466ac29d34de1ad4b3d299ca834e28d9 324 library/libgdk_pixbuf-2.0-0.dll 285194 e4c64b0e7e4c6606f3973a16c0c1ee84 325 library/encodings/big5.pyc 1630 a21b45d3e487bf09f40a08448040c97d 326 library/mlx/gui/update.pyc 11427 5698abbc9b133f18fa2c37d3bfa74bee 327 doc/manual/en/gatesTab.png 29585 00ebc96a2b4a7473dbb6a3162a04192f 206 library/mlx/update.pyc 16925 8c57d867b7f8ed088ab2b2afb2ae455c 207 library/selenium/webdriver/firefox/extension_connection.pyc 3145 5f8929a22a172a0aa71d4d4acb2aaf17 208 library/selenium/webdriver/remote/webelement.pyc 17884 6fa60da9a8bc1d2dc6e1286d9bd8f1ab 328 209 library/bdb.pyc 17708 9a8fdcaa65f595c842689247847879d9 329 l ibrary/mlx/gui/flight.pyc 126827 159f2acb2bda5ab2719affc81d8e1c7f210 locales/sl.pak 6956 f4f7de66d579c41682c64ee1ef1f11f8 330 211 library/unittest/case.pyc 37758 1d2235e74c246b562c5c00ddf73c621a 331 212 library/subprocess.pyc 38648 c9f749db06dfc9fb32079de51d6efd01 332 library/mlx/acft.pyc 39301 a2bc53905f026b474e7b50df620ee7dc 213 library/mlx/acft.pyc 40830 effafce121013f2b7631e46bf568b2ac 214 library/selenium/webdriver/firefox/firefox_binary.pyc 7758 cee737a6fd574b0f2e6ca28508844a30 333 215 library/gobject._gobject.pyd 113152 3d05dd191361f83aa247b62c700fa04e 334 216 doc/manual/hu/checklistEditor.png 27863 8c750892a52dc10ca654a9d0b2765358 335 library/keyword.pyc 2063 4d5bab044f614cfdabe89011cd3d7375336 217 library/bisect.pyc 2971 ad8ce3e265b404ed3971b842106f8179 337 doc/manual/hu/index.html 51903 4bfbb26709c699f21fe593cb4efd2d98 338 library/encodings/cp862.pyc 8003 261df6dd1a6e5ad90a83dfc739a25e0a 218 library/mlx/gui/acars.pyc 1057 27238740a8776e6d8e6c8867d23955ea 339 219 library/gtk/_lazyutils.pyc 2772 93f9aa41ad4223106d99340cd539a566 340 library/mlx/gui/statusicon.pyc 5616 03e079307c1f83f36284e1b32887b28e341 220 library/mlx/mlx.pyc 2979 876ff2c4456985567d8a8af6d156b743 221 library/selenium/webdriver/remote/utils.pyc 3073 592eeca209cae991779c97ddd322b388 342 222 library/encodings/cp864.pyc 7999 ca90afae086cb6b8f69b8419cc3cd1cb 343 223 library/pyexpat.pyd 152576 5a82e9ec95005aca6130751e5b961cc3 344 library/encodings/cp863.pyc 7868 fc7ff06dab536b93c68fcb8e7bac713f 345 library/xml/parsers/__init__.pyc 294 83f6a77ed8cd962b3c75c4779dc557ac 346 library/pyexpat.pyc 546 8554aacca112be2cb661f77bee54716f 347 doc/manual/hu/gateSelection.png 29237 bac37e7001261a40a84e4202247f6052 348 library/cmd.pyc 13512 808f813d5e354b7073a1356e44c7b554 224 library/pyexpat.pyc 546 bc188a96c9c3a69312eb9fb5d9183558 349 225 library/unittest/loader.pyc 10884 591a785be23fba35582ce33bdd3d7acd 350 226 library/ftplib.pyc 32043 5a1925388a0874e459aed6891f4cf0c1 351 227 library/libgmodule-2.0-0.dll 36986 b0b2396fc6413016a45a5e8ca2ea8152 352 library/gzip.pyc 14358 2a4a036a0b24586b6bdde419847a18f6353 228 library/libatk-1.0-0.dll 163476 c703f592ddf798472189d895b652aff4 354 doc/manual/en/route.png 25228 c1b2fb99d21cd862ea292d693400c955 355 library/email/quoprimime.pyc 8590 f6c7a8ad81d44037dd074f4871053dab 356 library/encodings/cp1140.pyc 2639 8320825626639ecf4604aac43477b65c 229 library/platform.pyc 35896 50aadbb6c4c78153f204e07704a2f892 357 230 library/unittest/suite.pyc 9838 bf2c79bd4a6b6032f1ea53fa4908748f 358 library/encodings/cp1251.pyc 2673 cb5ce7a7207c53f1d9e7cae48b3fb258359 library/encodings/koi8_u.pyc 2686 b7e5a52eaaaf6b340075b40dc7596f42360 231 library/encodings/mac_arabic.pyc 7824 820deef79b02e1f7e52eb18e9be655bf 361 library/mlx/gui/prefs.pyc 27685 9f1dd6950e694169e6e12a768fb4d2a8 362 library/atk.pyd 208384 ebe7f0929eac23a3205d17d69906e172 363 library/win32event.pyd 18432 8b65330a56e2bc60d43d6e266c3a922a 232 library/mlx/gui/prefs.pyc 27921 24af38ec7e9b5dd275557147785f3d74 364 233 library/encodings/tis_620.pyc 2748 5969b4db4f967b11ae7992cdfbf5890e 365 234 library/encodings/base64_codec.pyc 3568 1d8f13d09024bd124a9ff73a9244c0f1 366 library/_ctypes.pyd 106496 deccede0781726ce0daa75a4635bf919367 library/encodings/euc_jp.pyc 1646 c0d60e6d08161643bd7dbe651063f334368 library/encodings/utf_16_le.pyc 1854 dfa68705c26fd303adfc7ce3322166f2369 235 Microsoft.VC90.CRT/msvcr90.dll 655872 e7d91d008fe76423962b91c43c88e4eb 370 library/_socket.pyd 38400 5d273be76603399e88cf57f2605004bf 236 library/selenium/webdriver/phantomjs/__init__.pyc 128 48073c8ec42358f04a36b7f127c3db92 237 library/distutils/spawn.pyc 5292 4cbe559081b3f8cab915a083bd9ef4bd 371 238 sounds/ding.wav 80856 18e639792d3767436ac6955eb60e4f54 372 library/_socket.pyc 546 b1108e87d6be8d38c7e2c6e6cfa03992 373 library/encodings/hex_codec.pyc 3520 a8b8d5b7c8810379c7007bcbc253951c 239 library/selenium/webdriver/firefox/__init__.pyc 126 0ce57f6223e88783f1a5d4d8c4998682 374 240 library/mlx/checks.pyc 62721 759425ec78c8430f699691e5abf92c1d 375 241 doc/manual/en/statusIcon2.png 5875 71fc121823dee0a4c00715fac1b5665c 376 library/mlx/sound.pyc 8226 03b098ed1dd965db98ef4f75b07d6cae377 242 doc/manual/en/pirepViewer.png 25098 7c545e70b995ac0f9fcae93fe5d0e899 378 library/encodings/aliases.pyc 8750 75c22196420d0157fec085d285947a71379 library/glib/_glib.pyc 555 f29fe66820e637dadd911b7b8275820e380 243 library/libpangowin32-1.0-0.dll 108945 d07f128828225b7cc38e9e590eb3ba8a 381 library/encodings/iso8859_10.pyc 2693 5e6cc8f721486ddbc1c99da285e13191382 library/win32api.pyc 549 a39e5810fa1f2f7d4c0738f05e64cdac383 244 library/gobject/constants.pyc 1957 2e9cdc605e7c449ef4fc23f56128acec 384 library/libgtk-win32-2.0-0.dll 4938115 cc6dca192aca6f91bd96a5b5f86e036d385 245 doc/manual/hu/calloutsEditor.png 16026 fede870894a85e5d21ca16a026aa6a98 386 246 library/mlx/xplane.pyc 67098 a714130f818d2d0220760c98268a1e66 … … 390 250 w9xpopen.exe 49664 e6895233ad1e6f3dcdd04c7c26b0e7c0 391 251 library/locale.pyc 48754 a51d20267132acc6bc66ac6252cf870f 392 library/mlx/gui/callouts.pyc 16060 7a3055f313e693779e9d2df22bb7568a393 252 library/encodings/cp1026.pyc 2653 ced5dd0cc0da378b0968f82309b9bcfb 394 l ibrary/encodings/iso8859_15.pyc 2693 b892f358bbc25ae9d3824be158aabe28395 doc/manual/hu/prefsMessages.png 22980 6e60ec51305e95e5d057c0dd82b69460 253 locales/ms.pak 6916 b7742e34f8fff506ced8caedc5dde0ff 254 locales/lt.pak 7703 6fa4b1f4e7a936189a41811e0d0e3431 396 255 library/win32api.pyd 98816 4a1ebd35719d263205eb014913b784bf 397 256 library/encodings/utf_32_le.pyc 1747 8679f9c7cca87ad540b30c176ef914de 398 library/_abcoll.pyc 19891 a5c1881934f1533c22b22b9317ac1d68 399 library/encodings/iso8859_11.pyc 2787 a31e6d0d34e35259d7183cc9437eacca 257 library/selenium/webdriver/common/touch_actions.pyc 7806 8de07e30cc8e6b7014b6a5c80ba7bc6b 258 locales/zh-TW.pak 6505 ba45f30c77d990e9139af1f48927f717 259 library/selenium/webdriver/opera/__init__.pyc 124 7b04c3d7c320d1da1cb3cda037eba3b1 400 260 doc/manual/en/prefsSounds.png 21397 9037f17f772e554e7d9d24133acd5c4d 401 sounds/cpt_takeoff.mp3 8255 254edcf79b8b3752d1a7c191c57f615a261 library/posixpath.pyc 10734 d694316c239784c444b252c801c97efa 402 262 library/encodings/cp860.pyc 7857 59c6f69108873700081e71b2faaa29f8 403 library/mlx/__init__.pyc 103 029f80bd80f880e6ca70ef4ba46f7d06 404 library/encodings/iso8859_13.pyc 2696 f901ae0bbcfbb78f0c1783e89b2e2dc5 405 library/mlx/i18n.pyc 1972 fe45816e49cf5e380bc39942a9dfa875 406 library/xml/sax/saxutils.pyc 12382 32ed045b3b520234ebea6a508a6569fe 263 library/selenium/webdriver/support/select.pyc 8438 be8c4fccc3c268163b6800af0a83dac8 264 library/_MozillaCookieJar.pyc 4392 21966f49c75d0bd7827ec82d4e6e5d30 407 265 library/share/locale/hu/LC_MESSAGES/glib20.mo 84697 a3167f1c306a43d662f7c261abc69156 408 266 library/heapq.pyc 13109 20df4990fffba06bbdda995ce7466caa 409 doc/manual/hu/gatesTab.png 30710 a6a59e6a2660c15418489e8785e4bcee 410 library/webbrowser.pyc 18138 c85009edebad6d278fe786fec10ebbbe 267 library/selenium/webdriver/remote/mobile.pyc 2444 e666ca905ceeb2a1569a60ed6eea974a 411 268 library/sre_compile.pyc 10792 c58f94fbee661f3bb0c59ecc13c0416e 412 sounds/notify.wav 119384 108025b17f67e61946df5d7fbf713cdb413 269 library/encodings/iso8859_9.pyc 2678 88880e046738ebd2012c8034416a9adf 414 library/encodings/cp875.pyc 2636 c72faa5d1cb6105ae81c971448fea479415 270 library/encodings/mac_greek.pyc 2699 770cdf4f35a081a8ce71e776e6ecd804 416 library/dis.pyc 6068 3934ab23d64f3da393305b19df0f1fd0 417 library/difflib.pyc 60869 38d2e1340b64e22d7b1fed90a57fb83a 271 library/struct.pyc 219 421271d66b783c3f13c37ec09efa8b65 418 272 library/hashlib.pyc 4346 fc9aecaadc9607989e48449f46cbdfd1 419 conn_green.png 936 0b7fbe8ee0af2cbeefdb42110a8fdf34420 doc/manual/en/index.html 47073 66a8cdd22cfd3d819c02f3aaab48eaea421 library/encodings/cp1253.pyc 2689 52d4a723e9e86940701cb648b40ed884422 273 library/email/encoders.pyc 2092 cd83727bafdb4145b8fa43dd10ea48f3 423 274 library/email/iterators.pyc 2266 b8a0df35815bc00be1ed8ece42aac537 424 library/encodings/hz.pyc 1614 876bb7c36683358c3e95005619b10541 425 library/encodings/cp737.pyc 8102 40e61988748e4ca1742a2bad43949f4e 426 library/encodings/iso2022_jp.pyc 1683 40c2b92127f99452f84b250c2b4b2cda 427 library/libgthread-2.0-0.dll 44287 7ad6f303082b382bff7bafbab246c61f 428 library/glib._glib.pyd 58368 0de636503e43c4eb00e80927bc9bda97 429 library/mlx/config.pyc 30521 18f980c9cfecafe53ae473bb1ca69a54 430 library/atk.pyc 534 45ea15aa2ebf37b7d14f67ae940b0ba6 275 locales/pt-PT.pak 7270 731a9c54bd2331f411a5a2976d1f3622 276 library/selenium/webdriver/remote/command.pyc 5463 3e7f6443358e670e58a7fc6c97e4ab16 277 library/encodings/iso8859_10.pyc 2693 5e6cc8f721486ddbc1c99da285e13191 278 library/mlx/gui/statusicon.pyc 5616 03e079307c1f83f36284e1b32887b28e 279 library/mlx/config.pyc 32743 5a5523901d6fcb215f84e3d217c47f31 280 library/atk.pyc 534 2a53b13519b7419e8cf08f48baa4c1b6 431 281 library/gio._gio.pyd 263168 acb8c95fdc391079bebdf7d8685b0dbc 432 282 library/encodings/cp861.pyc 7868 c97a8970ce4d9f40cbafbea6576fbdca 433 283 library/encodings/cp950.pyc 1638 00b7b6457e3fef8feb173ed8e561825c 434 doc/manual/en/logTab.png 28522 305732f8485a15b7c802801038d688b7 435 doc/manual/en/prefsGeneral.png 24487 4858becb6764518a428273e5ee8ee4d5 436 library/encodings/johab.pyc 1638 5346c11a863ffbcfb21aba8f1d2236b7 437 library/encodings/cp1257.pyc 2683 d24f94b6abbda684c0ad9f3370d86956 284 library/selenium/webdriver/safari/webdriver.pyc 2470 f5e61aec420bfc43a08db515c9b75276 285 locales/cs.pak 7347 82b7a3d87a1307e65b6dac449e858721 438 286 library/__future__.pyc 4177 43d264d951ac2085334c7b9dd4558595 439 library/logging/__init__.pyc 54813 7bcdf2e8da474f5e94d8e499f6fc3ed4440 runmlx.exe 64000 c7d906aea1b4aa8b4496febdf150717d441 287 library/optparse.pyc 51253 39594a40bc1222173d57b7d5740e3d92 442 library/mlx/fs.pyc 11863 63fda2c4e0727136be69ed82f9e2bbc8443 288 doc/manual/en/takeoff.png 26128 63fb0227347eba88fe4f108d730dc8c0 444 library/unittest/result.pyc 7444 aefbb3cc79c0ff17787ce84faed7f5e8 445 library/inspect.pyc 38547 836f659fad54f5ee7e8f9d565003aacd 446 library/pickle.pyc 36348 2b55640f6f4e2fd70d95482fd16bfb73 447 library/encodings/cp1250.pyc 2676 c92e287a2aa6a1c924df287d826aa3b7 448 library/encodings/cp874.pyc 2767 fe0c510a9aafa14cae6b037955a93f0b 289 library/selenium/webdriver/safari/service.pyc 2695 e70fc7f74f77a3824804835b54bcfea4 449 290 library/cairo._cairo.pyd 69632 46d708899832abc0123c4e9cb4f61d5d 450 291 library/zlib1.dll 100352 d90dad5eea33a178bac56fff2847d4c2 451 library/glib/option.pyc 11891 bd90183c75d8f473ecf653e3d63a27f9 452 library/StringIO.pyc 11100 f4eb4a2bb3d6fb0af925681c5375c673 453 library/pango.pyc 540 516526ae5531b783342c20285ba0ee7d 454 Microsoft.VC90.CRT/msvcp90.dll 568832 6de5c66e434a9c1729575763d891c6c2 455 library/sre_parse.pyc 18380 fe2376a101668be1124f9ee316662bab 292 locales/en-GB.pak 6364 2a92f4fc905c2743129ccbcdf80d443a 456 293 library/mlx/gui/delaycodes.pyc 12929 e8c1d6f46ef6e369451be3cbde0a3127 457 294 library/encodings/raw_unicode_escape.pyc 2048 8138045029da04bf45204ab756d1bcd4 458 295 sounds/TOD.mp3 174707 92176d53d948fbfebd08c011b063179a 459 296 sounds/board.mp3 296751 bbacc6eabce97cbae49b4157ece7b8fe 297 locales/uk.pak 11136 21bcaa6fd116b4f5f23ee207e96fa156 298 library/gtk/deprecation.pyc 3104 2e6c9eef82dfa8aa3beb05abd3e274a4 299 Microsoft.VC90.CRT/msvcm90.dll 224768 4a8bc195abdc93f0db5dab7f5093c52f 300 doc/manual/hu/route.png 26601 fd1ee7c47290f4c3a2f9fd6618aeb678 301 chromedriver.exe 5009408 d662fef51894e4e5b6a6f508ed214904 302 library/encodings/iso8859_7.pyc 2686 db390f1961c1fd4181e351c330816ecd 303 library/xml/__init__.pyc 1058 8f77f254e8c6db7a3b6d9930a686d787 304 doc/manual/en/finish.png 28855 671eac74a9f5801c794f08d5861eafaa 305 doc/manual/hu/bugreport.png 12385 c71c7db56f19870ae5d6bb7f533d3679 306 locales/pt-BR.pak 7211 d0542b9b325ea58be590d021aeb7333d 307 library/libexpat-1.dll 143096 701659d3689bf4a8265b669b7d774255 308 library/mlx/gui/info.pyc 6538 78c97f25111c13dc94c6226140943916 309 library/encodings/iso8859_6.pyc 2723 c8f9aa14a6a2ebf05d977317114bc65d 310 library/xml/dom/minidom.pyc 61068 74ffa387e505b9fec2f2ad6a5dcd415d 311 library/selenium/webdriver/chrome/__init__.pyc 125 ff98e760d2c777eacfc473761486a702 312 library/mlx/gui/gui.pyc 54583 52c366560eec66413e5e7850fb5b3308 313 library/stat.pyc 2503 d3b6dc7a54e705219f04d0be75a212de 314 locales/ru.pak 10392 1b66f03dd656a2433ce643d0259fca6f 315 doc/manual/hu/landing.png 28525 2dd99249a389e9faf5c4d7b1180e8ebb 316 library/gobject/_gobject.pyc 573 e4e42f72e063e30757a0183f9b06fe39 317 libcef.dll 38585344 4dfb8a77f35c41bdbe8469877d4af853 318 library/encodings/utf_7.pyc 1747 2beeb059236527197d6c640396476ce8 319 library/atexit.pyc 2083 595a09be339c73c3c02e378d99325d2a 320 library/cookielib.pyc 52852 2a1030653dc204a9ba1fb56fd32eca68 321 library/email/charset.pyc 13200 771aee9802116e673d08b44bc0450f99 322 library/libpangocairo-1.0-0.dll 104729 d3ad38599649097a3645777ff95be08e 323 doc/manual/en/briefing.png 32129 65cf1236d009fd61c1bd6c374ffd261c 324 library/uu.pyc 4212 0073b65d26a6092e4e177c7763058fa4 325 library/encodings/iso8859_1.pyc 2678 f09ec3b7f6a348cbd7f7286b60572bd0 326 doc/manual/hu/monitorWindow.png 20577 34bfd26fe50e72706625a9203ac98217 327 library/pangocairo.pyd 17920 5fc69a7d29a6d3127710c64de440daa4 328 library/pangocairo.pyc 555 d83b002b1ec69315516867733a206a60 329 library/zipfile.pyc 37345 568c6ee7e0404625f47248340afb4524 330 locales/it.pak 7188 10ae10d8bfcffbfa1160574134e14edb 331 doc/manual/hu/helpTab.png 27961 8e7cc4aeb8d7f40fcf186c7caf53583b 332 library/sre.pyc 499 92bb633daa0bab6550ec0e3677673b5b 333 library/tokenize.pyc 13565 354d02cd79df187a28c1851a1e3bad96 334 library/win32con.pyc 140797 84d2d064066cfbcc219230f7e9c6e0b0 335 library/mlx/gui/flight.pyc 147639 f487da6516256651fdc2410dac2ed76e 336 library/xmlrpclib.pyc 40724 d4f819f9199ea21236a74c967e335c43 337 library/lib/gtk-2.0/2.10.0/engines/libwimp.dll 97984 a5bbbe46e1363aba9020a76f2d58e9d6 338 library/email/quoprimime.pyc 8590 f6c7a8ad81d44037dd074f4871053dab 339 library/copy_reg.pyc 4893 7a58bc441232056d1c123cd3375b3774 340 library/libgtk-win32-2.0-0.dll 4938115 cc6dca192aca6f91bd96a5b5f86e036d 341 doc/manual/en/debugLogTab.png 33696 5be65d41058f78554840032c51aa9d6d 342 library/dummy_thread.pyc 5094 310a3d15c9cf20259b0ca4892811dec5 343 library/gtk._gtk.pyd 1882624 bbb1d1e41bbebc6abf69bed719d50497 344 library/_hashlib.pyd 287232 a1a18de0644f481749fcbcf26005eeaf 345 locales/fi.pak 7098 70c7e2fb26c7abf09cb0f9972fb6c93a 346 doc/manual/en/monitorWindow.png 20886 42e08d10c758e21209c4c021f391dee7 347 library/_hashlib.pyc 549 d4aff375686d5501893ac1116dbaf7a1 348 library/copy.pyc 11674 30d1745c5e38ab170f8a0486fbebf305 349 locales/et.pak 6856 18a0a857e46c28b7f1cd8ff639a24aec 350 library/unittest/result.pyc 7444 aefbb3cc79c0ff17787ce84faed7f5e8 351 library/mlx/gui/__init__.pyc 107 22f268cac1c5be2f3a058810b6caead3 352 library/mlx/pirep.pyc 4623 6c485ea65ff6245ab56960a8bbec7051 353 library/json/scanner.pyc 2169 e19ee185b7c79ab5cc433b39fcd33faa 354 library/traceback.pyc 11223 50ace5c2c6c040a923082442da94cd78 355 library/mlx/flight.pyc 21066 471a24b3678e6d684d6bf5aead1ae544 356 library/urllib2.pyc 43566 7eb57ea0dcd1086d1d9073a5cefb0903 357 library/encodings/mac_farsi.pyc 2659 df751a61510129a25f7a43ae3aace4f7 358 library/encodings/iso2022_jp_3.pyc 1699 ee1c3aa11bbe19eeb4deafa238563133 359 library/cefpython3/__init__.pyc 556 38a652a0209e49e323bee4dd54a018af 360 library/mlx/common.pyc 1300 9c6f2d502b9274073cd96caaf4fb90ff 361 library/ctypes/__init__.pyc 18846 2bd183962453ae93d6887b303d3fd338 362 library/mlx/acars.pyc 1690 733d057c94683c74079d6e096f601855 363 library/encodings/cp865.pyc 7868 7d40a7ba053ac23339218be8799e5397 364 locales/bn.pak 14431 f402d363b8a07649b6787b745434daf7 365 sounds/taps.mp3 16614 d4a019c7e9342ae329aee6932d6a43c3 366 library/markupbase.pyc 9010 b33ff430e9b1adba3d540b5394ff289a 367 library/cairo/_cairo.pyc 561 fb6b7b442e46dce7a08d5875101f4a21 368 locales/te.pak 16110 c3af85e60b78273a93970cf8805ded04 369 library/lxml/cssselect.pyc 3861 2e693f0c25ab04b1d130646cddd4e081 370 library/warnings.pyc 12666 9788b5f45765e8204e04c820f2711094 371 library/selenium/webdriver/chrome/webdriver.pyc 2758 a7d3d371b22119d0327d9af9f77fd845 372 locales/sv.pak 6641 4e11abed42cc59a403ae4767d2acbeff 373 library/encodings/iso2022_jp_1.pyc 1699 faed9d5747e982cec9fa8b3ad8e1de26 374 library/email/mime/__init__.pyc 110 bae57a199e3d0998a1364b9fbae8b3cd 375 library/winerror.pyc 112982 4986a8f2df094dddedd12c9fddf4966d 376 library/encodings/cp775.pyc 7888 25bf7dd514dff294aa02d5119399b2b7 377 library/mlx/fsuipc.pyc 74670 4da0a45a9a6372a2e463ab21fdc43359 378 library/xml/sax/__init__.pyc 3579 c78222ad1fd4f3dbdea06666fe74e84e 379 doc/manual/en/connect.png 27436 5406dfe5408569cb95499c057bf0185b 380 library/selenium/webdriver/opera/service.pyc 2411 df01b6f7348ad54da47919158fe7e596 381 library/selenium/webdriver/opera/webdriver.pyc 5308 7ba71ef197d7d537635427f166da0f1c 382 library/encodings/charmap.pyc 3203 2358b8eb05c66e2a2826b5db6f214547 383 library/libgdk-win32-2.0-0.dll 931390 a2b46daac3d4140efdf86429f7aea476 384 library/mlx/gui/common.pyc 10433 e96ada4071fcdd2937398627d5d281dd 385 library/dummy_threading.pyc 1265 5ab5c897721aeb346b5bccb84066c5bd 386 doc/manual/hu/index.html 51903 4bfbb26709c699f21fe593cb4efd2d98 387 library/encodings/cp1258.pyc 2681 5c09b3b0a82036b0e785422376cb64cc 388 sounds/767taxi.mp3 160496 4cb43cda6e1214fbe15328a716827345 389 doc/manual/en/prefsAdvanced.png 16169 64c14e0842c413cac98b92926279f3e0 390 library/xml/dom/NodeFilter.pyc 1066 c5061d268ede84cbb951957f9ca3d820 391 library/calendar.pyc 26136 6f2f18efc99d759f99b2935b9dc9dbb1 392 library/encodings/aliases.pyc 8750 75c22196420d0157fec085d285947a71 393 conn_grey.png 988 7a956ebba793197f324cec56d94073e7 394 library/HTMLParser.pyc 11589 f641df5331b5bb552ebe180f79b85a6b 395 library/bz2.pyd 76800 1ca9ececd2c84b80996fe632627f857f 396 library/encodings/iso8859_16.pyc 2695 85e819a29dec2b601ce978dcd5a040fc 397 sounds/cpt_takeoff.mp3 8255 254edcf79b8b3752d1a7c191c57f615a 398 library/bz2.pyc 534 950c3961b75846807cc186203935c92d 399 library/email/utils.pyc 8840 a7be428df6fddee6121cfce55382d1f8 400 doc/manual/en/prefsGeneral.png 24487 4858becb6764518a428273e5ee8ee4d5 401 library/encodings/iso2022_jp_2.pyc 1699 4b917caa926e5779176612409c66be39 402 library/_ssl.pyd 720896 90826a140137efd0d806038828e16f8e 403 library/pango.pyc 540 4a4e27fa2068680ba2a67bb99132370a 404 locales/de.pak 7420 18ba99b07536017ed8b87cb4f77aee1c 405 library/glib/__init__.pyc 187 d44c8c2772b263a36726ac0dcfc04b42 406 library/pango.pyd 111616 c934763bdf125c3dc92b56db817001d4 407 library/libgobject-2.0-0.dll 341594 356d697647a480562c4e2e921b13f8ed 408 mlxupdate.exe 18944 b8bf9f3d22348aa1f78727f81d967f93 409 library/email/errors.pyc 3229 cdb78ab237e195ad69f059128bc03b1d 410 library/linecache.pyc 3091 666e6f81b0ea9a7637f8068493f738d5 411 sounds/malev.mp3 201247 8a00666288f14a1666eb112223c140e0 412 library/encodings/mac_iceland.pyc 2738 dfff28ea5edfda00df56b4ab9a35bc59 413 library/unittest/util.pyc 4358 1530cc34b18ae6a6c6128a1d8b1355d7 414 locales/tr.pak 6938 55435ada333db8c7c60a3223d6885558 415 doc/manual/hu/statusIcon2.png 7969 3ec6caa058848932d381da6e02c702be 416 library/getopt.pyc 6454 8f8cd6763f5339988d157d153c910bf5 417 library/encodings/cp857.pyc 7611 1b46c8959ac097b73e1c680d464cdc32 418 library/_ssl.pyc 537 9292cb548f29c21f4b0125656d34f0f0 419 library/os2emxpath.pyc 4312 0c35794eeb4739ebb4eb28b9a1daf0ca 420 library/pprint.pyc 9852 6b4724e14285c257116655b1d4ba6db1 421 library/xml/parsers/expat.pyc 259 d7be0c4de475d65e08ba7fdbabe088d3 422 python27.dll 2206720 f8f39495ed4a813e8f3049a4b9f5cff4 423 library/encodings/mac_centeuro.pyc 2747 6461bd7ed7a57683d5c36001f9ac85c9 424 library/encodings/utf_32.pyc 5336 912103fef3db6edc29a35dd0cfb5c5b9 425 library/ntpath.pyc 11407 533c9331a1b72cc80dd3f88145ba4466 426 library/json/__init__.pyc 12974 d7e08774d4fee83dd2a6d3868855a800 427 library/xml/dom/__init__.pyc 6039 5e78d16289c5ae3a9678d53f552862fd 428 library/encodings/cp1252.pyc 2676 b4c43cc72650c911cf3654dbaf565df9 429 library/unicodedata.pyd 688128 c856c31a03dc892e4f2aee93d0bfee44 430 library/unicodedata.pyc 558 dcdfa7fdce1179d8097934a44c983de1 431 library/encodings/cp1256.pyc 2675 c1bf26ed9c9b5ee0eec495138993cffb 432 doc/manual/en/index.html 47073 66a8cdd22cfd3d819c02f3aaab48eaea 433 library/email/base64mime.pyc 5221 c536d6f0c03f029bba77f15ef6ba3d99 434 logo.png 69816 4a7517b22cfd75cc9c15e3fc1b7ebeec 435 library/libpangoft2-1.0-0.dll 815421 1dbfead06e26edb81f0849490210e3ff 436 library/mlx/util.pyc 4884 7537803cf47e18210ab5f298ba9eba9e 437 library/selenium/webdriver/common/__init__.pyc 125 6c65d6e881b33e7aedb01f167184288c 438 library/_LWPCookieJar.pyc 5440 3782ae675165b232a3f78608ac2dbccd 439 library/libfontconfig-1.dll 279059 dd583bedc5efe7bbd21a8ef107dec88d 440 library/_strptime.pyc 14347 ad17a449b54061177a080e3a21507a39 441 library/mlx/singleton.pyc 9184 9eec2ed5b230e043afc56592fb13a684 442 library/mlx/airports.pyc 4350 e0fee9bae54850629841bbcf68b1b89f 443 library/socket.pyc 15488 35f8eb455d6d8df8e19826d1dd7193f2 444 sounds/notify.wav 119384 108025b17f67e61946df5d7fbf713cdb 445 doc/manual/hu/prefsAdvanced.png 16738 d39884283d7c0f25efa3dc97328749a3 446 library/encodings/euc_kr.pyc 1646 af2a5eaf1ea334c3f3bd60ea13db33a9 447 library/encodings/hz.pyc 1614 876bb7c36683358c3e95005619b10541 448 library/encodings/ptcp154.pyc 4700 377245b13f9246526c8c17b5e13bac4f 449 library/gobject/__init__.pyc 5154 944a57e672b63943bf88c5dbe459cd41 450 library/encodings/utf_8_sig.pyc 4625 1b1405db186e5819fa271ff96c1ca2c5 451 library/encodings/cp1255.pyc 2697 b265913c887f2e1c8736632b652c0093 452 library/encodings/zlib_codec.pyc 4308 319c9073aff840436a03cc1fa0b08fb5 453 locales/nl.pak 7068 939be31defbe6bd9f925331ef3987f9a 454 doc/manual/hu/connect.png 28822 929f3eb85ee3cad019e12017c923f664 455 library/encodings/palmos.pyc 2876 9284ad53dcfd82dfae0a79923b1cf91d 456 library/mlx/web.pyc 36866 96511f975c55c000b0e9c16dff3aa31b 457 library/mlx/gui/gates.pyc 5635 ea478376f306ce9d6d0ed2e759407c00 458 library/gobject/propertyhelper.pyc 8878 cc3598dab17d31ff46a6dee669ccb5ed 459 library/intl.dll 152489 eb2d4c4d4a527bc88a69a16cc99afcf5 460 library/selenium/webdriver/common/desired_capabilities.pyc 2206 9769c03bedeb640913decb1a9a23a695 461 library/xml/dom/domreg.pyc 3211 1b8e458700a5b538a4f3e18af5403666 462 library/selenium/webdriver/firefox/webdriver.pyc 2447 83d55a8eec9d18004aefe20d1622f352 463 sounds/TOC.mp3 273032 fae1be2ad25c8b54806bd1d759919705 464 library/share/locale/hu/LC_MESSAGES/gtk20.mo 58794 6ee4491ae7bc9d3dfb778578eb29a0b3 465 library/distutils/log.pyc 2546 c50dfe4041313cc366461a899a1650cf 466 locales/hr.pak 7430 a06f81a87b3fdb822a4f733abd21d1e9 467 doc/manual/hu/finish.png 31044 adb40bacabf2cc597687fffe5c3340de 468 locales/pl.pak 7227 14de2b7637dd2b260184c6ec85976091 469 library/email/__init__.pyc 2752 5e1a1ba649ac697d631b031987d09c33 470 library/share/icons/hicolor/index.theme 22255 5138b82a57488ee821b8a38c2aa1420e 471 simbrief.html 116 d158a7e9f7f34da230229a5c2aab3e66 472 library/glob.pyc 2238 d06c4386d18e2ab7f53fb866599403cc 473 library/_threading_local.pyc 6424 9dfe88d58a5811d2d56347cc381ebf0a 474 locales/fa.pak 9886 475b94417d7b2af113fb147a0c45da0f 475 locales/fr.pak 7917 bac6c149685b4b84617ca8c8c39306b7 476 doc/manual/en/payload.png 28191 b9d22d6226541b8f58df89c7c9da9a62 477 library/selenium/webdriver/support/__init__.pyc 126 b99fdca3533d28cae3e7a63624932966 478 library/sets.pyc 15775 ea560db2e34dae27d1fc9619a342ced8 479 library/doctest.pyc 79210 620422f95e18417ff5f8440534a71e91 480 library/libpango-1.0-0.dll 333729 5a14efd93ee27cfe960220fe4a904911 481 library/encodings/unicode_escape.pyc 1996 32990583f1caf874e556087da7b92971 482 library/selenium/webdriver/support/expected_conditions.pyc 14298 43b8884d089d85e074d0d9f2fbcd5e28 483 doc/manual/hu/logTab.png 28706 f48004202310bd2a1cb2f873d8064e93 484 library/win32event.pyc 555 d66e08d9b35f124fdff12cf4f8273869 485 library/win32file.pyc 552 6a3826b7caca276e9a6e1b84f20302f5 486 library/encodings/shift_jis_2004.pyc 1710 f8bb22a8b02dba2b66b7f77122c98fd6 487 library/encodings/cp856.pyc 2701 8b6649490089bedd87e9b8c56985f6b3 488 locales/hu.pak 7647 7a37ba9f9113e4f7e9de5b5b9643a48c 489 library/mlx/gui/weighthelp.pyc 13179 9ebfa07c41e167371380dda80b5bd72b 490 library/encodings/cp850.pyc 7621 20d776af743fa7acf090fbd575eea143 491 library/gio/__init__.pyc 809 bc9332556e93183a58be5c10cba18557 492 doc/manual/hu/debugLogTab.png 34237 e4d91a024beec781966f7de91ffd196d 493 library/weakref.pyc 13028 5d1c14275f47e8cf6d40bc6877fde976 494 library/mlx/gui/checklist.pyc 12279 555775aaed42b3d0687e1b0f501a9f61 495 library/mlx/fs.pyc 11863 63fda2c4e0727136be69ed82f9e2bbc8 496 locales/he.pak 8198 2486731ee9bedc244d41143a2741775f 497 doc/manual/en/statusIcon1.png 6472 10a7158dd8655de3f18ba914eb2373a5 498 library/email/message.pyc 27764 493826f529d17f5a21080a4c98b49369 499 library/mlx/gui/pirep.pyc 16749 2006126d65a19999a20c4a34f1e94342 500 library/mimetypes.pyc 17806 927ce6a7079707aaee925e855ed23454 501 library/mlx/gui/faultexplain.pyc 9707 938e02beb962d574df694c77536533ca 502 sounds/F70taxi.mp3 154854 51332dc691d3519355f61ed06c959d8d 503 mlx_cef_caller.sh 148 bd16cf4c784490bcd46d7845f2b6edf9 504 library/selenium/webdriver/support/ui.pyc 228 f4a3e26b8378ea9c87e3c97595c42246 505 doc/manual/hu/statusIcon1.png 6920 614cde237a5b4e2678ed15d9cd01088e 506 library/encodings/cp1253.pyc 2689 52d4a723e9e86940701cb648b40ed884 507 library/StringIO.pyc 11100 f4eb4a2bb3d6fb0af925681c5375c673 508 library/gtk/__init__.pyc 3025 9f6605bf84c6cbd3c20f1d37e58af969 509 doc/manual/en/helpTab.png 26243 cd5c021a2fc40485805b9fde03bcd060 510 library/encodings/cp1257.pyc 2683 d24f94b6abbda684c0ad9f3370d86956 511 library/selenium/webdriver/ie/service.pyc 3392 1f0c97b93092c2a239d70a3de49f0642 512 library/_weakrefset.pyc 9290 a56e87c491c0511cd329a3c8c4cd9563 513 library/selenium/webdriver/common/html5/application_cache.pyc 1322 934402964858ad8f330911c4a483d194 514 library/selenium/webdriver/remote/errorhandler.pyc 5753 68a4e26bde6e1f039aa737ded0c3b781 515 library/encodings/gb2312.pyc 1646 466ac29d34de1ad4b3d299ca834e28d9 516 library/libgdk_pixbuf-2.0-0.dll 285194 e4c64b0e7e4c6606f3973a16c0c1ee84 517 library/encodings/big5.pyc 1630 a21b45d3e487bf09f40a08448040c97d 518 library/mlx/gui/update.pyc 11427 5698abbc9b133f18fa2c37d3bfa74bee 519 library/encodings/cp1250.pyc 2676 c92e287a2aa6a1c924df287d826aa3b7 520 doc/manual/en/gatesTab.png 29585 00ebc96a2b4a7473dbb6a3162a04192f 521 library/libcairo-2.dll 1294335 c0da2a3ab704f338f0fc6df51fd99497 522 library/keyword.pyc 2063 4d5bab044f614cfdabe89011cd3d7375 523 locales/vi.pak 7990 f0d8ddd9bdabaef79a9c92f3fd021f25 524 library/encodings/cp862.pyc 8003 261df6dd1a6e5ad90a83dfc739a25e0a 525 library/selenium/webdriver/__init__.pyc 1011 9cce0a4d491b458d651474dc6fd09be0 526 library/selenium/webdriver/common/alert.pyc 2550 cfd59475010657b35ef31c47d8c86fc3 527 library/lxml/__init__.pyc 708 4e6d5e156fb2fe6a8103dd02a1037634 528 library/selenium/webdriver/common/by.pyc 957 9cc3d4670125998f95147624f20d05b0 529 library/encodings/cp863.pyc 7868 fc7ff06dab536b93c68fcb8e7bac713f 530 library/codecs.pyc 34722 339dc90c17d548887dbcf1bbbcae5d5b 531 doc/manual/hu/gateSelection.png 29237 bac37e7001261a40a84e4202247f6052 532 library/cmd.pyc 13512 808f813d5e354b7073a1356e44c7b554 533 locales/ko.pak 7278 41ecc83d5eef5887c7c288b3b570c7b4 534 library/gzip.pyc 14358 2a4a036a0b24586b6bdde419847a18f6 535 locales/ja.pak 8340 21ab6501f6d0c8d3e73b4921ce1b0086 536 locales/ta.pak 16595 5136010addd237205a5560f92b635589 537 library/email/feedparser.pyc 10682 4de6a63da8dc270c9881edb9c2f28508 538 doc/manual/en/route.png 25228 c1b2fb99d21cd862ea292d693400c955 539 library/freetype6.dll 538324 fe5ec4b2a07d2c20a4cd3aa09ce0c571 540 library/encodings/cp1140.pyc 2639 8320825626639ecf4604aac43477b65c 541 library/encodings/cp1251.pyc 2673 cb5ce7a7207c53f1d9e7cae48b3fb258 542 library/encodings/koi8_u.pyc 2686 b7e5a52eaaaf6b340075b40dc7596f42 543 library/selenium/__init__.pyc 187 a6b683ed0e7ff6f74be5d45717a38d10 544 library/atk.pyd 208384 ebe7f0929eac23a3205d17d69906e172 545 library/win32event.pyd 18432 8b65330a56e2bc60d43d6e266c3a922a 546 library/_ctypes.pyd 106496 deccede0781726ce0daa75a4635bf919 547 library/encodings/euc_jp.pyc 1646 c0d60e6d08161643bd7dbe651063f334 548 library/encodings/utf_16_le.pyc 1854 dfa68705c26fd303adfc7ce3322166f2 549 locales/bg.pak 11216 4b55274ffb8f7432bce15cd8b951472e 550 library/_socket.pyd 38400 5d273be76603399e88cf57f2605004bf 551 library/plistlib.pyc 18067 d8d36573e80bfdde7c73e47828f6e710 552 library/_socket.pyc 546 fb1681f80f0e722983f70a325c23b3b5 553 library/encodings/hex_codec.pyc 3520 a8b8d5b7c8810379c7007bcbc253951c 554 library/nturl2path.pyc 1755 7835082f2dd6806f99cc25bed13ff7dc 555 library/mlx/sound.pyc 8226 03b098ed1dd965db98ef4f75b07d6cae 556 library/glib/_glib.pyc 555 ab1cf44ec256636cfd820e5bbdb5cf14 557 library/win32api.pyc 549 5753c8241e91acd8cb4b02cfc18719a3 558 library/encodings/iso8859_13.pyc 2696 f901ae0bbcfbb78f0c1783e89b2e2dc5 559 library/selenium/webdriver/remote/remote_connection.pyc 21225 287db6d396dcce7180eada87e8c6ace0 560 library/mlx/gui/callouts.pyc 16060 7a3055f313e693779e9d2df22bb7568a 561 library/selenium/webdriver/opera/options.pyc 3303 243909f5d36e653ad3ad4921c8df4f78 562 library/encodings/iso8859_15.pyc 2693 b892f358bbc25ae9d3824be158aabe28 563 locales/sr.pak 10790 fd63b700458a187aca8dde86c160a059 564 doc/manual/hu/prefsMessages.png 22980 6e60ec51305e95e5d057c0dd82b69460 565 library/xml/parsers/__init__.pyc 294 83f6a77ed8cd962b3c75c4779dc557ac 566 locale/en/LC_MESSAGES/mlx.mo 68019 e360bc22970f91fa071eec517a0a173c 567 library/_abcoll.pyc 19891 a5c1881934f1533c22b22b9317ac1d68 568 library/encodings/iso8859_11.pyc 2787 a31e6d0d34e35259d7183cc9437eacca 569 library/tarfile.pyc 71654 aca50f546f1356a3e4b33db41bddb9f9 570 locales/es-419.pak 7558 6a9495a0e074a933f0a04a5e5927e2de 571 locales/da.pak 6631 1bf496bcde38f3f2899cd0fab6986959 572 library/encodings/mac_latin2.pyc 4717 564dbaf5c296a147203eb821dc2466ba 573 library/mlx/__init__.pyc 103 029f80bd80f880e6ca70ef4ba46f7d06 574 library/mlx/i18n.pyc 1972 fe45816e49cf5e380bc39942a9dfa875 575 library/xml/sax/saxutils.pyc 12382 32ed045b3b520234ebea6a508a6569fe 576 locales/sw.pak 7078 5406f21a67934bbf0e6c633d2ca573f9 577 library/encodings/mac_turkish.pyc 2739 1682e228ddfd2e74e3ccaee0b65e7261 578 doc/manual/hu/gatesTab.png 30710 a6a59e6a2660c15418489e8785e4bcee 579 library/webbrowser.pyc 18138 c85009edebad6d278fe786fec10ebbbe 580 library/mlx/pyuipc_sim.pyc 57203 e1828998919f435bae2a5cbd969ff8f3 581 library/encodings/cp875.pyc 2636 c72faa5d1cb6105ae81c971448fea479 582 library/dis.pyc 6068 3934ab23d64f3da393305b19df0f1fd0 583 library/difflib.pyc 60869 38d2e1340b64e22d7b1fed90a57fb83a 584 locales/ar.pak 11942 495ed374baef7a96d1a59629f535d084 585 conn_green.png 936 0b7fbe8ee0af2cbeefdb42110a8fdf34 586 locales/ml.pak 17867 1041f687d729ea22199a84dc6d6c8eb8 587 library/selenium/webdriver/firefox/firefox_profile.pyc 13834 6109af4f9224623f12f34284b19a2d74 588 library/selenium/webdriver/ie/__init__.pyc 121 7b4e0c9b6ffbe3385f67f09687f325e7 589 library/encodings/cp737.pyc 8102 40e61988748e4ca1742a2bad43949f4e 590 library/encodings/iso2022_jp.pyc 1683 40c2b92127f99452f84b250c2b4b2cda 591 library/libgthread-2.0-0.dll 44287 7ad6f303082b382bff7bafbab246c61f 592 locales/sk.pak 7622 dfdff6206e5a79aef8b46d0d9c2a8367 593 library/select.pyd 11776 d90bf525f9f6c9c3aa6532fa6e569b4f 594 library/pyuipc.pyc 543 906cca78dfad2ae877c0a2e1595d3d61 595 library/selenium/common/exceptions.pyc 9313 2140bc8b29eb7c3f4fc29622d0060152 596 doc/manual/en/logTab.png 28522 305732f8485a15b7c802801038d688b7 597 library/pyuipc.pyd 47616 2b4fe2d52575de71dda6f72690cf581e 598 library/encodings/johab.pyc 1638 5346c11a863ffbcfb21aba8f1d2236b7 599 library/shutil.pyc 17657 571e2606b42956f9e233242969ceec0d 600 library/encodings/quopri_codec.pyc 3365 01342d4d2735bcbfeb333d784297547a 601 library/distutils/errors.pyc 5885 fbeaddf5d59ea781ec63197dd950aa89 602 library/mlx/gui/mava_simbrief.pyc 10689 e91c026bd70fdde0432196a536017b7b 603 library/logging/__init__.pyc 54813 7bcdf2e8da474f5e94d8e499f6fc3ed4 604 library/selenium/webdriver/phantomjs/service.pyc 3263 3a56577bb9f058e0d7e5be544a8e850b 605 runmlx.exe 63488 3060aa0ed73648edc26992e224568352 606 locales/zh-CN.pak 6386 36e1df83611aef6fbfeeafd067dd4241 607 locales/hi.pak 13321 4b6b27ab4421c94685fc09051a2339f8 608 library/inspect.pyc 38547 836f659fad54f5ee7e8f9d565003aacd 609 library/pickle.pyc 36348 2b55640f6f4e2fd70d95482fd16bfb73 610 library/io.pyc 3378 197da422e1d85c483c94fa0251b5ff76 611 library/encodings/cp874.pyc 2767 fe0c510a9aafa14cae6b037955a93f0b 612 library/glib/option.pyc 11891 bd90183c75d8f473ecf653e3d63a27f9 613 library/encodings/ascii.pyc 2081 a5fffd04734740386629fdba1113d585 614 Microsoft.VC90.CRT/msvcp90.dll 568832 6de5c66e434a9c1729575763d891c6c2 615 library/sre_parse.pyc 18380 fe2376a101668be1124f9ee316662bab 460 616 library/token.pyc 3716 732fa0a0cd1c7d9ae9cc696311160fc1 461 617 library/encodings/gb18030.pyc 1654 b103fe74a6cdae113476f1fc5255550b 462 library/g tk/deprecation.pyc 3104 2e6c9eef82dfa8aa3beb05abd3e274a4463 Microsoft.VC90.CRT/msvcm90.dll 224768 4a8bc195abdc93f0db5dab7f5093c52f 618 library/glib._glib.pyd 58368 0de636503e43c4eb00e80927bc9bda97 619 locales/el.pak 12310 8f69e235eb651b5c91569cd91c69c689 464 620 library/encodings/bz2_codec.pyc 4388 d5ef2b625b70cfae3771a9601d37523b 465 621 library/unittest/main.pyc 7701 82258a486f5133466c9cf10323814fbf 466 doc/manual/hu/route.png 26601 fd1ee7c47290f4c3a2f9fd6618aeb678 622 library/encodings/iso2022_jp_ext.pyc 1715 97eda1c1468f65445951b0bf23a89570 467 623 library/mlx/watchdog.pyc 3957 4b6c34d79e730066e8af7cf71689f9ad -
doc/manual/en/index.html
r725 r730 58 58 configuration, however is saved at the time of exceeding 50 knots GS, but 59 59 will be checked and logged when leaving the ground. If you do not lift-off 60 within 60 seconds of exceeding 50 knots GS, a fault will be logged. If, 61 however, you check the <i>Rejected takeoff</i> checkbox on 62 the <a href="#takeOffPage"><i>Takeoff</i></a> page, the fault will 60 within 60 seconds of exceeding 50 knots GS, a speed fault will be 61 logged. The same occurs, if your GS decreases to or below 50 knots after 62 having exceeded it earllier. If, however, you check the 63 <i>Rejected takeoff</i> checkbox on the 64 <a href="#takeOffPage"><i>Takeoff</i></a> page, the fault will 63 65 disappear and your flight will enter the <b>RTO</b> (rejected takeoff) 64 66 stage.</li> … … 74 76 to descend during a climb and the previous conditions also hold.</li> 75 77 <li><b>go-around</b>: If you retract the gears during landing.</li> 76 <li><b>taxi after landing</b>: When the aircraft is in the78 <li><b>taxi after landing</b>: When the aircraft is on the 77 79 ground and its ground speed is below 25 knots after landing.</li> 78 80 <li><b>end</b>: If the N<sub>1</sub> of the turbines becomes … … 100 102 the front page of the <a href="http://virtualairlines.hu">MAVA 101 103 website</a> and also on a 102 <a href="http://virtualairlines.hu/acars2/show.html">map</a>. 104 <a href="http://virtualairlines.hu/acars2/show.html">map</a>. This map is 105 also <a href="#acarsTab">displayed</a> by the program. 103 106 </p> 104 107 … … 399 402 This page displays some important information about your flight, 400 403 such as the type and tail number of the aircraft to use, the 401 departure airport and possibly the gate. 404 departure airport and possibly the gate. You can also select whether you 405 would like to connect to a variant of Microsoft Flight Simulator or 406 X-Plane. The choice is remembered by the program and the selected one will be 407 the default next time. (<i>Support for X-Plane is currently experimental. The 408 logger is used by the author on Linux with good results. Volunteers are 409 wanted to test X-Plane support on Windows.</i>) 402 410 </p> 403 411 … … 459 467 When you have set the time of the simulator properly, press 460 468 the <b>Next</b> button. 469 </p> 470 471 <h4><a name="routePage">The <i>Route</i> Page</a></h4> 472 473 <img src="route.png" alt="The Route page"/> 474 475 <p> 476 This page displays the flight plan route taken from the booked flight. This 477 can be edited if necessary (e.g. when you will enter some airspace that will 478 require you to change the flight level during flight.) You should also 479 specify the cruise level and the ICAO code of the alternate airport. 480 </p> 481 482 <p> 483 When satisfied with the information on the page, press 484 the <b>Next</b> button to advance. Note, that these data can be 485 edited later as well if you come back to this page. 486 </p> 487 488 <h4><a name="simbriefSetupPage">The <i>SimBrief setup</i> page</a></h4> 489 490 <img src="simbriefSetup.png" alt="The SimBrief setup page"/> 491 492 <p> 493 If using the <a href="http://simbrief.com">SimBrief</a> flight planning 494 service has been enabled in the <a href="#prefsGeneral">Preferences</a> 495 window, this page is displayed following the 496 <a href="#routePage"><i>Route</i></a> page. 497 </p> 498 499 <p> 500 Enter your SimBrief user name and password. The former one is always saved 501 and offered as the default entry, but the latter one only when the checkbox 502 below is checked. Some further data should also be entered. 503 </p> 504 505 <p> 506 Press the <b>Next</b> button to start generating the flight plan. The program 507 then contacts the SimBrief website, sends the data and downloads the 508 result. This can take a relatively long time, during which the lower right 509 corner of the Logger window displays some progress information. If there is 510 some error, a popup window is displayed. If the login attempt is 511 unsuccessful, the user name and/or the password can be entered again, but you 512 can decide to abort using SimBrief. 513 </p> 514 515 <p> 516 If the result is successfully produced, it can be studied on page 517 <a href="#simbriefResultPage"><i>SimBrief flight plan</i></a>. In case of a 518 failure, the flight setup continues with 519 the <a href="#fuelPage"><i>Fuel</i></a> page. 520 </p> 521 522 <h4><a name="simbriefResultPage">The <i>SimBrief flight plan</i> page</a></h4> 523 524 <img src="simbriefResult.png" alt="The SimBrief flight plan page"/> 525 526 <p> 527 This page displays the SimBrief flight plan created. When carefully read and 528 understood, press the button at the bottom to the right to continue. Of 529 course, you can come back to this page later. 461 530 </p> 462 531 … … 494 563 </p> 495 564 496 <h4><a name="routePage">The <i>Route</i> Page</a></h4> 497 498 <img src="route.png" alt="The Route page"/> 499 500 <p> 501 This page displays the cruise level and the flight plan route. The 502 cruise level starts out at FL240, but the route comes from the 503 booked flight. Set the cruise level to the one you have calculated 504 with, and modify the flight plan if needed. For example, if you will 505 enter some airspace that will require you to change the flight 506 level, you should add that here. 507 </p> 508 509 <p> 510 When satisfied with the information on the page, press 511 the <b>Next</b> button to advance. Note, that these data can be 512 edited later as well if you come back to this page. 513 </p> 565 <p> 566 When fuel pumping has completed, and the SimBrief service is used, and the 567 generation of the flight plan has been successful, the program jumps to the 568 <a href="#takeoffPage"><i>Takeoff</i></a> page. Otherwise the 569 <a href="#briefingPage"><i>Briefing</i></a> pages come next. 514 570 515 571 <h4><a name="briefingPage">The <i>Briefing</i> Pages</a></h4> … … 519 575 <p> 520 576 These pages display the NOTAMs and the METAR for the departure and 521 the arrival airports. You can edit the METAR if your network 577 the arrival airports unless we have used SimBrief for flight planning. 578 You can edit the METAR if your network 522 579 provides a different weather, or you do not fly with real 523 580 weather. The METAR of the arrival airport will be updated when … … 540 597 541 598 <p> 542 On this page you have to enter the name of the departure runway, the 599 This page displays the current METAR of the departure airport. It can be 600 modified if necessary, e.g. when the weather in the simulator is different 601 from it. Below you have to enter the name of the departure runway, the 543 602 name of the Standard Instrument Departure procedure you follow after 544 takeoff and the takeoff V-speeds. While you can edit these data 545 anytime, it is recommended to do so before takeoff. 603 takeoff and the takeoff V-speeds. In case of the SID you can select 604 the <i>VECTORS</i> "procedure" if, for some reason, no SID is flown. 605 While you can edit these data anytime, it is recommended to do so before 606 takeoff. 546 607 <p> 547 608 … … 576 637 577 638 <p> 578 This page displays your cruise altitude as set on the579 <a href="#routePage"> Routepage</a>. If you need to modify your639 This page displays your cruise altitude as set in the 640 <a href="#routePage"><i>Route</i> page</a>. If you need to modify your 580 641 cruise level due to airspace requirements, step climb or any other 581 642 justified reason, you can set the new level here and then press 582 the <b>Update</b> button when you have reached the specified level.643 the <b>Update</b> button. 583 644 </p> 584 645 … … 593 654 594 655 <p> 595 On this page you have to enter the name of the STAR and/or 596 transition you planned to follow (even if you get a different one, 597 or simply vectors from ATC, in which case add a 598 <a href="#flightInfoTab">comment</a> about it), 656 The upper part of this page displays the METAR of the landing airport, which 657 can be edited, if necessary. Below you have to enter the name of the STAR 658 and/or transition you planned to follow or have followed, 599 659 the approach type (e.g. <q>ILS</q>, <q>VOR</q>, <q>VISUAL</q>, 600 660 etc.), the name of the landing runway, and the landing reference speed, 601 V<sub>ref</sub>. You can enter this data during the flight, or after 661 V<sub>ref</sub>. In case of the procedures you can select <i>VECTORS</i> 662 from the drop-down list if you have received vectors from ATC. 663 You can enter this data during the flight, or after 602 664 you have landed, at your discretion. Note, that if you fly one of 603 665 the Tupolev or Yak aircraft, the speed will have to be entered in km/h. … … 620 682 <p> 621 683 This is the final page of the flight wizard. It contains a summary 622 of your flight: the rating, the flight and block times, the distance 623 flown and the amount of fuel burnt. 684 of your flight: the rating, the deptarture, arrival, flight and block times, 685 the distance flown and the amount of fuel burnt. If the departure or the 686 arrival time is too off of the schedule, they are displayed in orange or red 687 depending on the difference. In case of a red colour, comment on the 688 difference in the <a href="#flightInfoTab"><i>Flight info</i> tab</a>. 624 689 </p> 625 690 … … 651 716 <p> 652 717 You can also start a new flight using the <b>New flight</b> 653 button. If you have not saved or sent the PIREP , you will be asked718 button. If you have not saved or sent the PIREP yet, you will be asked 654 719 to confirm your intention. When starting a new flight you are taken 655 720 to the <a href="#flightSelectionPage">flight selection page</a>, if … … 676 741 677 742 <p> 678 The <i>Flight defects</i> text area should contain information about 679 any problems you encountered with the plane during the flight. For 680 example an engine stopped and why (if known), that flaps could not 681 be extended or retracted, etc. 743 The <i>Faults, observations</i> area contains the faults logged with a small 744 field below each of them. The PIREP cannot be sent until an explanation has 745 been provided in these fields for each fault. The thick frame around the area 746 appears as long as there is at least one unexplained fault. A warning is also 747 presented in the upper part of the <a href="#finishPage"<i>Finish</i></a> 748 page, if something is missing from here. 682 749 </p> 683 750 … … 776 843 </p> 777 844 845 <h3><a name="acarsTab">The ACARS tab</a></h3> 846 847 <img src="acarsTab.png" alt="The ACARS tab"/> 848 849 <p> 850 This tab displays the MAVA ACARS system, which is a map with aircraft symbols 851 representing the flights in progress with icons denoting the departure and 852 landing airports. Clicking on an airplane displays information on the 853 corresponding flight. 854 </p> 855 856 <p> 857 The map is actually displayed by a web browser integrated into the 858 program. Therefore you can, for example, zoom in or out the map using the 859 mouse wheel and perform other operations known in case of browsers. 860 </p> 861 778 862 <h3><a name="debugLog">The Debug log</a></h3> 779 863 … … 937 1021 program. The <i>GUI</i> frame contains options regarding the 938 1022 behaviour of the graphical user interface. The <i>Language</i> combo 939 box can be used to select edwhat language the program should1023 box can be used to select what language the program should 940 1024 use. Currently English and Hungarian are supported. The value 941 1025 of <i>system default</i> means that the operating system's default … … 962 1046 The <i>Simulator</i> frame contains settings for how the program 963 1047 interacts with the simulator. Most options are self-explanatory, but 964 the ones related to smoothing require ssome discussion. Flight1048 the ones related to smoothing require some discussion. Flight 965 1049 Simulator is known to produce wind speed changes that are not 966 1050 entirely realistic and can result in the simulated aircraft … … 976 1060 for which you press the <b>OK</b> button is taken into account 977 1061 immediately. 1062 </p> 1063 1064 <p> 1065 If the <b>Use SimBrief</b> checkbox is checked, the program will try to 1066 <a href="#simbriefSetupPage">create</a> a flight plan using the SimBrief 1067 service during the flight preparation. 978 1068 </p> 979 1069 -
doc/manual/hu/index.html
r725 r730 59 59 belépés pillanatában ellenőrzi, illetve írja a naplóba. Ha az 50 csomó 60 60 túllépését követően 60 másodpercen belül nem emelkedünk el, a program 61 hibát naplóz. Ha azonban ezután a 61 sebességtúllépés hibát naplóz. Ugyanez történik, ha az 50 csomó túllépését 62 követően a sebesség ismét 50 csomó alá csökken. Ha azonban ezután a 62 63 <a href="#takeOffPage"><i>Felszállás</i></a> oldalon bejelöljük a 63 64 <i>Megszakított felszállás</i> jelölőnégyzetet, a hiba eltűnik és … … 102 103 valamint egy 103 104 <a href="http://virtualairlines.hu/acars2/show.html">térképen</a> 104 is megjeleníti a folyamatban lévő járatok állapotát. 105 is megjeleníti a folyamatban lévő járatok állapotát. A térkép a programban is 106 <a href="#acarsTab">megjelenik</a>. 105 107 </p> 106 108 … … 399 401 Ez az oldal a járat néhány fontos adatát tartalmazza, mint a 400 402 használandó repülőgép típusát és lajstromjelét, az induló 401 repülőteret és esetleg a kapu vagy állóhely számát. 403 repülőteret és esetleg a kapu vagy állóhely számát. Kiválaszthatjuk továbbá, 404 hogy a Microsoft Flight Simulator vagy az X-Plane valamelyik változatához 405 kívánunk-e csatlakozni. A választást a program megjegyzi és legközelebb az az 406 alapértelmezés. (<i>Az X-Plane támogatás jelenleg kísérleti jellegű. A szerző 407 Linuxon használja jó eredménnyel. Vállakozó szellemű jelentkezőket várunk a 408 Windowson való teszteléshez.</i>) 402 409 </p> 403 410 … … 438 445 Ha végeztünk az oldal kitöltésével, nyomjuk meg az <b>Előre</b> 439 446 gombot. Ekkor a <a href="#helpTab"><i>Segítség</i></a> fül használhatóvá 440 válik, ls igénybe is vehetjük, ha a szimulátorban nem sikerült447 válik, és igénybe is vehetjük, ha a szimulátorban nem sikerült 441 448 megfelelően beállítani a hasznos terhet. A fül részletesebb leírását 442 449 lásd az <a href="#helpTab">alábbiakban</a>. … … 460 467 Ha a szimulátorban beállítottuk a megfelelő időt, nyomjuk meg az 461 468 <b>Előre</b> gombot. 469 </p> 470 471 <h4><a name="routePage">Az <i>Útvonal</i> oldal</a></h4> 472 473 <img src="route.png" alt="Az Útvonal oldal"/> 474 475 <p> 476 Ezen az oldalon a foglalt járatból vett útvonalterv látható, amelyet 477 szerkeszthetünk szükség esetén (pl. az útvonal repülése során olyan légtérbe 478 lépünk, ahol módosítanunk kell az utazószintet). Meg kell adnunk 479 továbbá az utazószintet és a kitérő repülőtér ICAO kódját is. 480 </p> 481 482 <p> 483 Ha megadtuk a kért adatokat és megtettük a szükséges módosításokat, nyomjuk 484 meg az <b>Előre</b> gombot a továbblépéshez. Ha később visszatérünk erre az 485 oldalra, az adatokat szerkeszthetjük. 486 </p> 487 488 <h4><a name="simbriefSetupPage">A <i>SimBrief beállítások</i> oldal</a></h4> 489 490 <img src="simbriefSetup.png" alt="A SimBrief beállítások oldal"/> 491 492 <p> 493 Ha a <a href="#prefsGeneral">Beállítások</a> ablakban engedélyeztük 494 a <a href="http://simbrief.com">SimBrief</a> repüléstervező oldal 495 használatát, az <a href="#routePage"><i>Útvonal</i></a> oldalt követően erre 496 az oldalra jutunk. 497 </p> 498 499 <p> 500 Meg kell adnunk SimBrief felhasználónevünket és jelszavunkat. Előbbit 501 mindenképpen elmenti és később felajánlja a program, utóbbit akkor, ha az 502 alatta lévő jelölődobozt kijelöljük. A továbbiakban meg kell adnunk a 503 tervezéshez szükséges néhány adatot értelemszerűen. 504 </p> 505 506 <p> 507 A repülési terv előállításának megkezdéséhez nyomjuk meg az <b>Előre</b> 508 gombot. Ekkor a program felveszi a kapcsolatot a SimBrief 509 honlappal, elküldi az adatokat, majd letölti az eredményt. Ez viszonylag 510 hosszú ideig is eltarhat, közben jobb oldalt alul figyelemmel kísérhetjük a 511 folyamat előrehaladását. Hiba esetén arról felugró ablakban értesülünk. Ha a 512 bejelentkezés sikertelen, újból megadhatjuk a felhasználónevet és a jelszót, 513 de dönthetünk úgy is, hogy elvetjük a SimBrief használatát. 514 </p> 515 516 <p> 517 Ha sikeresen előáll az eredmény, a <a href="#simbriefResultPage"><i>SimBrief 518 repülési terv</i></a> oldalon megtekinthető. Sikertelenség esetén pedig az 519 <a href="#fuelPage"><i>Üzemanyag</i></a> oldalon folytatódik a járat 520 elindítása. 521 </p> 522 523 <h4><a name="simbriefResultPage">A <i>SimBrief repülési terv</i> oldal</a></h4> 524 525 <img src="simbriefResult.png" alt="A SimBrief repülési terv oldal"/> 526 527 <p> 528 Ezen a lapon az elkészült SimBrief repülési tervet tanulmányozhatjuk. Ha 529 alaposan átolvastuk és megértettük, a továbblépéshez nyomjuk meg az alul, 530 jobb oldalon található gombot. Természetesen később is visszalapozhatunk erre 531 az oldalra. 462 532 </p> 463 533 … … 493 563 </p> 494 564 495 <h4><a name="routePage">Az <i>Útvonal</i> oldal</a></h4> 496 497 <img src="route.png" alt="Az Útvonal oldal"/> 498 499 <p> 500 Ezen az oldalon az utazószintet és az útvonaltervet láthatjuk és 501 szerkeszthetjük. Az utazószint kezdeti értéke FL240, de az útvonalat 502 a foglalt járatból veszi a program. Állítsuk be a szintet a 503 tervezettre, és szükség esetén módosítsuk az útvonalat. Ha például 504 egyes légterekbe belépve szükség lehet az utazószint módosítására, 505 azt adjuk meg itt. 506 </p> 507 508 <p> 509 Ha megtettük a szükséges módosításokat, nyomjuk meg az <b>Előre</b> 510 gombot a továbblépéshez. Ha később visszatérünk erre az oldalra, az 511 adatokat szerkeszthetjük. 565 <p> 566 A pumpálás befejeztével, amennyiben a SimBrief szolgáltatást használjuk és 567 sikeres volt a repülési terv előállítsa, 568 a <a href="#takeoffPage"><i>Felszállás</i></a> oldalra ugrik a 569 program. Ellenkező esetben az <a href="#briefingPage"><i>Eligazítás</i></a> 570 oldalak következnek. 512 571 </p> 513 572 … … 518 577 <p> 519 578 Ezen a két oldalon az induló illetve az érkező repülőtér NOTAM-jait 520 és METAR-ját olvashatjuk. A METAR-t szerkeszthetjük ha a hálózatról 579 és METAR-ját olvashatjuk, amennyiben nem a SimBrief segítségével terveztük a 580 repülést. A METAR-t szerkeszthetjük ha a hálózatról 521 581 más időjárást kapunk, vagy nem a valós időjárási viszonyok mellett 522 582 repülünk. Az érkező repülőtér METAR-ját a program frissíti a … … 539 599 540 600 <p> 541 Ezen az oldalon kell beírni a felszállásra használt futópálya 542 számát, az alkalmazott szabványos műszeres indulási eljárást, 543 valamint a felszállási sebességeket. Noha bármikor szerkeszthetjük 544 ezeket az adatokat, javasolt azokat a felszállás előtt beírni. 545 <p> 546 547 <p> 548 Ha valamelyik Tupoljev vagy Jak típussal repülünk, a 549 sebességeket kilométer per órában kell megadni. 601 Az oldalon láthatjuk az indulási repülőtér aktuális METAR-ját. Ezt szükség 602 esetén módosíthatjuk, ha a szimulátorban az időjárás eltér. Lejjebb kell 603 beírni a felszállásra használt futópálya számát, az alkalmazott szabványos 604 műszeres indulási eljárást, valamint a felszállási sebességeket. Az indulási 605 eljárás esetében egy legördülő menüből a <i>VECTORS</i> "eljárás" is 606 kiválasztható, ha valamilyen okból nem szabványos eljárást repülünk. Noha 607 bármikor szerkeszthetjük ezeket az adatokat, javasolt azokat a felszállás 608 előtt beírni. 609 <p> 610 611 <p> 612 Ha valamelyik Tupoljev vagy Jak típussal repülünk, a sebességeket kilométer 613 per órában kell megadni. 550 614 </p> 551 615 … … 572 636 <h4><a name="cruisePage">Az <i>Utazó</i> oldal</a></h4> 573 637 574 <img src="cruise.png" alt="Az Utazó oldal on"/>575 576 <p> 577 Ezen az oldalon az <a href="#routePage"> Útvonaloldal</a>on638 <img src="cruise.png" alt="Az Utazó oldal"/> 639 640 <p> 641 Ezen az oldalon az <a href="#routePage"><i>Útvonal</i> oldal</a>on 578 642 beállított utazószint látható. Ha a légtérre vonatkozó előírások, 579 643 step climb, vagy bármely más megalapozott ok miatt módosítani kell 580 az utazószinte nt, itt kell megadni az új értéket, majd annak581 elérésekormegnyomni a <b>Frissít</b> gombot.644 az utazószintet, itt kell megadni az új értéket, majd annak 645 megnyomni a <b>Frissít</b> gombot. 582 646 </p> 583 647 … … 592 656 593 657 <p> 594 Ezen az oldalon a tervbe vett szabványos érkezési és/vagy bevezetési 595 eljárás nevét, a megközelítés típusát 658 Az oldal felső részén a leszálló repülőtér METAR-ja olvasható, és szükség 659 esetén szerkeszthető. Lejjeb a tervbe vett/alkalmazott szabványos érkezési 660 és/vagy bevezetési eljárás nevét, a megközelítés típusát 596 661 (pl. <q>ILS</q>, <q>VOR</q>, <q>VISUAL</q>, stb.) és a 597 662 köszöbátlépési sebességet (V<sub>ref</sub>) kell megadni. Az 598 eljárások esetén mindig a tervezettet adjuk meg, és ha például az599 irányítástól eltérőt, netán vektorokat kaptunk, azt a megjegyzésben600 tüntessük fel.Az adatokat repülés közben vagy akár leszállás után601 is megadhatjuk. Ha Tupoljev vagy Jak típussal repül önk, a sebességet663 eljárások esetén a legördülő listából kiválaszthatjuk a <i>VECTORS</i> opciót, 664 amennyiben az irányítástól vektorokat kaptunk. 665 Az adatokat repülés közben vagy akár leszállás után 666 is megadhatjuk. Ha Tupoljev vagy Jak típussal repülünk, a sebességet 602 667 km/órában kell megadni. 603 668 </p> … … 621 686 <p> 622 687 Ez a járat varázsló utolsó oldala. Tartalmazza a járat 623 összesítését: a pontszámot, a repült és blokk időt, a repült távot 624 és az eltüzelt üzemanyag mennyiségét. 688 összesítését: a pontszámot, az indulási, az érkezési, a repült és blokk időt, 689 a repült távot és az eltüzelt üzemanyag mennyiségét. Ha az indulási vagy az 690 érkezési idő túl korai vagy túl késői, a menetrendtől való eltérés mértékétől 691 függően narancssárga vagy piros színnel jelenik meg. Piros szín esetén a 692 <a href="#flightInfoTab"><i>Járat info</i> fül</a>ön a megjegyzésben fel kell 693 tüntetnünk az eltérés okát, mielőtt a járatot értékelésre elküldhetnénk. 625 694 </p> 626 695 … … 676 745 677 746 <p> 678 A <i>Hibajelenségek</i> szövegmező a repülőgéppel kapcsolatban 679 tapasztalt hibák leírását tartalmazhatja. Például, hogy leállt az 680 egyik hajtómű, és (ha ismert) miért, hogy a fékszárnyakat nem 681 sikerült kiengedni vagy visszahúzni, stb. 747 A <i>Hibák, megfigyelések</i> részben a naplóba is bekerült hibákat láthatjuk 748 mindegyik alatt egy kis mezővel. A PIREP-et nem küldhetjük el addig, amíg itt 749 minden egyes hibára nem írunk indoklást, magyarázatot. Erre a figyelmet 750 felhívja a terület körül látható vastag keret, amelyik csak akkor tűnik el, 751 ha mindegyik híbára írtunk valamit. Emelett figyelmeztetést 752 kapunk a hiányos kitöltésről a <a href="#finishPage"><i>Lezárás</i></a> oldal 753 felső részén is. 682 754 </p> 683 755 … … 776 848 </p> 777 849 850 <h3><a name="acarsTab">Az ACARS fül</a></h3> 851 852 <img src="acarsTab.png" alt="Az ACARS fül"/> 853 854 <p> 855 Itt a MAVA ACARS rendszerének képét láthatjuk, ami tulajdonképpen egy térkép 856 rajta az éppen repült járatokat jelképező repülőgép-szimbólumokkal illetve az 857 induló és érkező repülőtereket jelképező ikonokkal. Egy repülőgépre 858 rákkattintva megjelennek a járat főbb adatai. 859 </p> 860 861 <p> 862 A térképet tulajdonképpen egy, a programba épített böngésző jeleníti meg. Így 863 például az egér görgőjével növelhetjük ill. csökkenthetjük a térkép léptékét, 864 illetve egyéb, a böngészőknél megszokott műveletek is elvégezhetők. 865 </p> 866 778 867 <h3><a name="debugLog">A Debug napló</a></h3> 779 868 … … 787 876 tapasztalunk a program működésével kapcsolatban, e napló tartalmát 788 877 is mellékeljük a hibajelentéshez. Sokban segíthet a megoldás 789 megtalálásában. 878 megtalálásában. Ha a <a href="#bugReportWindow">Hibajelentés</a> ablakot 879 használjuk, akkor az elküldött jelentésbe automatikusan bekerül mind a 880 normál, mind a debug napló tartalma, így azt már nem kell bemásolnunk a 881 szövegbe. 790 882 </p> 791 883 … … 993 1085 szükséges lehet kísérletezni, de ha megnyomjuk az <b>OK</b> gombot, 994 1086 a beállítást azonnal figyelembe veszi a program. 1087 </p> 1088 1089 <p> 1090 Ha a <b>SimBrief használata</b> jelölődobozt kijelöljük, a program a járat 1091 előkészítése során a SimBrief szolgáltatás használatával próbál repülési 1092 tervet <a href="#simbriefSetupPage">készíteni</a>. 995 1093 </p> 996 1094 -
locale/en/mlx.po
r634 r729 698 698 msgstr "The planned flight route in the standard format." 699 699 700 msgid "route_altn" 701 msgstr "_Alternate:" 702 703 msgid "route_altn_tooltip" 704 msgstr "The ICAO code of the alternate airport." 705 700 706 msgid "route_down_notams" 701 707 msgstr "Downloading NOTAMs..." … … 703 709 msgid "route_down_metars" 704 710 msgstr "Downloading METARs..." 711 712 msgid "simbrief_setup_title" 713 msgstr "SimBrief setup" 714 715 msgid "simbrief_setup_help" 716 msgstr "Complete the following data to start generating your SimBrief briefing." 717 718 msgid "simbrief_setup_chelp" 719 msgstr "Your SimBrief briefing was generated with the following data." 720 721 msgid "simbrief_username" 722 msgstr "_Username:" 723 724 msgid "simbrief_username_tooltip" 725 msgstr "Enter your Simbrief username" 726 727 msgid "simbrief_password" 728 msgstr "_Password:" 729 730 msgid "simbrief_password_tooltip" 731 msgstr "Enter your Simbrief password" 732 733 msgid "simbrief_remember_password" 734 msgstr "_Remember password" 735 736 msgid "simbrief_remember_tooltip" 737 msgstr "" 738 "If checked, your SimBrief password will be stored, so that you " 739 "should not have to enter it every time. Note, however, that " 740 "the password is stored as text, and anybody who can access " 741 "your files will be able to read it." 742 743 msgid "simbrief_extra_fuel" 744 msgstr "_Extra fuel:" 745 746 msgid "simbrief_extra_fuel_tooltip" 747 msgstr "Enter the amount of extra fuel in kilograms." 748 749 msgid "simbrief_takeoff_runway" 750 msgstr "_Takeoff runway:" 751 752 msgid "simbrief_takeoff_runway_tooltip" 753 msgstr "" 754 "Enter the number of the planned takeoff runway.\n" 755 "If you don't want to specify it, leave it empty" 756 757 msgid "simbrief_landing_runway" 758 msgstr "_Landing runway:" 759 760 msgid "simbrief_landing_runway_tooltip" 761 msgstr "" 762 "Enter the number of the planned landing runway.\n" 763 "If you don't want to specify it, leave it empty" 764 765 msgid "simbrief_climb_profile" 766 msgstr "_Climb profile:" 767 768 msgid "simbrief_climb_profile_tooltip" 769 msgstr "Select the climb profile." 770 771 msgid "simbrief_cruise_profile" 772 msgstr "C_ruise profile:" 773 774 msgid "simbrief_cruise_profile_tooltip" 775 msgstr "Select the cruise profile." 776 777 msgid "simbrief_descent_profile" 778 msgstr "_Descent profile:" 779 780 msgid "simbrief_descent_profile_tooltip" 781 msgstr "Select the descent profile." 782 783 msgid "simbrief_calling" 784 msgstr "Calling SimBrief..." 785 786 msgid "simbrief_progress_searching_browser" 787 msgstr "Searching browser..." 788 789 msgid "simbrief_progress_loading_form" 790 msgstr "Loading form..." 791 792 msgid "simbrief_progress_filling_form" 793 msgstr "Filling form..." 794 795 msgid "simbrief_progress_waiting_login" 796 msgstr "Waiting login..." 797 798 msgid "simbrief_progress_logging_in" 799 msgstr "Logging in..." 800 801 msgid "simbrief_progress_waiting_result" 802 msgstr "Waiting for the result..." 803 804 msgid "simbrief_progress_retrieving_briefing" 805 msgstr "Retrieving briefing..." 806 807 msgid "simbrief_progress_unknown" 808 msgstr "?????" 809 810 msgid "simbrief_result_error_other" 811 msgstr "Some error occured, see debug logs." 812 813 msgid "simbrief_result_error_no_form" 814 msgstr "No form could be loaded." 815 816 msgid "simbrief_result_error_no_popup" 817 msgstr "No login window appeared." 818 819 msgid "simbrief_result_error_login_failed" 820 msgstr "Login failed." 821 822 msgid "simbrief_result_unknown" 823 msgstr "Unknown error occured." 824 825 msgid "simbrief_cancelled" 826 msgstr "Reverting to the old-style briefing." 827 828 msgid "simbrief_credentials_title" 829 msgstr "SimBrief login" 830 831 msgid "simbrief_login_failed" 832 msgstr "" 833 "Failed to log in to SimBrief using the\n" 834 "supplied credentials. Please, enter\n" 835 "new ones, or cancel SimBrief." 836 837 msgid "simbrief_result_title" 838 msgstr "SimBrief flight plan" 705 839 706 840 msgid "briefing_title" … … 1438 1572 msgstr "sec." 1439 1573 1574 msgid "prefs_useSimBrief" 1575 msgstr "Use Sim_Brief" 1576 1577 msgid "prefs_useSimBrief_tooltip" 1578 msgstr "" 1579 "If enabled, the SimBrief dispatching system will be " 1580 "used to create your briefing.\n" 1581 "You will need a SimBrief user name and password." 1582 1440 1583 msgid "prefs_pirepDirectory" 1441 1584 msgstr "_PIREP directory:" -
locale/hu/mlx.po
r634 r729 697 697 msgstr "Az útvonal a szokásos formátumban." 698 698 699 msgid "route_altn" 700 msgstr "Ki_térő:" 701 702 msgid "route_altn_tooltip" 703 msgstr "A kitérő repülőtér ICAO kódja." 704 699 705 msgid "route_down_notams" 700 706 msgstr "NOTAM-ok letöltése..." … … 702 708 msgid "route_down_metars" 703 709 msgstr "METAR-ok letöltése..." 710 711 msgid "simbrief_setup_title" 712 msgstr "SimBrief beállítások" 713 714 msgid "simbrief_setup_help" 715 msgstr "Töltsd ki a lenti adatokat a SimBrief eligazítás előállítása céljából." 716 717 msgid "simbrief_setup_chelp" 718 msgstr "A SimBrief eligazítás az alábbi adatok alapján keszült." 719 720 msgid "simbrief_username" 721 msgstr "Fel_használónév:" 722 723 msgid "simbrief_username_tooltip" 724 msgstr "Írd be a SimBrief felhasználónevedet" 725 726 msgid "simbrief_password" 727 msgstr "Jels_zó:" 728 729 msgid "simbrief_password_tooltip" 730 msgstr "Írdbe a SimBrief jelszavadat" 731 732 msgid "simbrief_remember_password" 733 msgstr "E_mlékezz a jelszóra" 734 735 msgid "simbrief_remember_tooltip" 736 msgstr "" 737 "Ha ezt kiválasztod, a SimBrief jelszavadat eltárolja a program, így nem kell " 738 "mindig újból beírnod. Vedd azonban figyelembe, hogy a jelszót szövegként " 739 "tároljuk, ezért bárki elolvashatja, aki hozzáfér a fájljaidhoz." 740 741 msgid "simbrief_extra_fuel" 742 msgstr "E_xtra üzemanyag:" 743 744 msgid "simbrief_extra_fuel_tooltip" 745 msgstr "Írd be az extra üzemanyag mennyiségét kilogrammban." 746 747 msgid "simbrief_takeoff_runway" 748 msgstr "_Felszálló futópálya:" 749 750 msgid "simbrief_takeoff_runway_tooltip" 751 msgstr 752 "Írd be a tervezett felszálló futópálya számát.\n" 753 "Ha nem akarod megadni, hagyd üresen a mezőt." 754 755 msgid "simbrief_landing_runway" 756 msgstr "_Leszálló futópálya:" 757 758 msgid "simbrief_landing_runway_tooltip" 759 msgstr 760 "Írd be a tervezett leszálló futópálya számát.\n" 761 "Ha nem akarod megadni, hagyd üresen a mezőt." 762 763 msgid "simbrief_climb_profile" 764 msgstr "Emelke_dési profil:" 765 766 msgid "simbrief_climb_profile_tootip" 767 msgstr "Válaszd ki az emelkedési profilt" 768 769 msgid "simbrief_cruise_profile" 770 msgstr "_Utazó profil:" 771 772 msgid "simbrief_cruise_profile_tootip" 773 msgstr "Válaszd ki az utazó profilt" 774 775 msgid "simbrief_descent_profile" 776 msgstr "Süll_yedési profil:" 777 778 msgid "simbrief_descent_profile_tootip" 779 msgstr "Válaszd ki a süllyedési profilt" 780 781 msgid "simbrief_calling" 782 msgstr "A SimBrief indítása..." 783 784 msgid "simbrief_progress_searching_browser" 785 msgstr "Böngésző keresése..." 786 787 msgid "simbrief_progress_loading_form" 788 msgstr "Űrlap letöltése..." 789 790 msgid "simbrief_progress_filling_form" 791 msgstr "Űrlap kitöltése..." 792 793 msgid "simbrief_progress_waiting_login" 794 msgstr "Várakozás a bejelentkező ablakra..." 795 796 msgid "simbrief_progress_logging_in" 797 msgstr "Bejelentkezés..." 798 799 msgid "simbrief_progress_waiting_result" 800 msgstr "Várakozás az eredményre..." 801 802 msgid "simbrief_progress_retrieving_briefing" 803 msgstr "Az eligazítás letöltése..." 804 805 msgid "simbrief_progress_unknown" 806 msgstr "?????" 807 808 msgid "simbrief_result_error_other" 809 msgstr "Valamilyen hiba történt, lásd a hibanaplót." 810 811 msgid "simbrief_result_error_no_form" 812 msgstr "Nem sikerült letölteni az űrlapot." 813 814 msgid "simbrief_result_error_no_popup" 815 msgstr "Nem jelent meg a bejelentkező ablak." 816 817 msgid "simbrief_result_error_login_failed" 818 msgstr "A bejelentkezés nem sikerült." 819 820 msgid "simbrief_result_unknown" 821 msgstr "Ismeretlen hiba történt." 822 823 msgid "simbrief_cancelled" 824 msgstr "Áttérünk a régi eligazításra." 825 826 msgid "simbrief_credentials_title" 827 msgstr "SimBrief bejelentkezés" 828 829 msgid "simbrief_login_failed" 830 msgstr "" 831 "A megadott adatokkal nem tudtam\n" 832 "bejelentkezni a SimBriefbe. Adj meg\n" 833 "új adatokat, vagy hagyjuk a SimBriefet" 834 835 msgid "simbrief_result_title" 836 msgstr "SimBrief repülési terv" 704 837 705 838 msgid "briefing_title" … … 1479 1612 msgstr "másodpercig." 1480 1613 1614 msgid "prefs_useSimBrief" 1615 msgstr "Sim_Brief használata" 1616 1617 msgid "prefs_useSimBrief_tooltip" 1618 msgstr "" 1619 "Ha ezt bejelölöd, az eligazítás elkészítéséhez a " 1620 "SimBrief rendszert használja a program.\n" 1621 "Szükséged lesz SimBrief felhasználónévre és jelszóra." 1622 1481 1623 msgid "prefs_pirepDirectory" 1482 1624 msgstr "_PIREP-ek könyvtára:" -
makeinst.bat
r20 r682 1 1 set MSVCRDIR=c:\windows\winsxs\x86_Microsoft.VC90.CRT*9.0.21022.8* 2 2 set GTKRTDIR=c:\Python27\Lib\site-packages\gtk-2.0\runtime 3 set CEFDIR=c:\Python27\Lib\site-packages\cefpython3 4 set CHROMEDRIVER=c:\tmp\chromedriver.exe 3 5 set NSISDIR=C:\Program Files\NSIS 4 6 5 7 python setup.py py2exe 6 8 9 del dist\library\selenium\webdriver\chrome\service.pyc 10 copy patches\library\selenium\webdriver\chrome\service.py dist\library\selenium\webdriver\chrome\service.py 11 python -m compileall dist\library\selenium\webdriver\chrome\service.py 12 del dist\library\selenium\webdriver\chrome\service.py 13 7 14 "%NSISDIR%\makensis" mlx.nsi -
setup.py
r497 r720 19 19 [os.path.join("locale", language, "LC_MESSAGES", 20 20 "mlx.mo")])) 21 data_files.append(("", ["logo.png", 22 "conn_grey.png", "conn_red.png", "conn_green.png"])) 21 data_files.append(("", ["logo.png", "simbrief.html", 22 "conn_grey.png", "conn_red.png", "conn_green.png", 23 "mlx_cef_caller.sh", "mlx_cef_caller_secondary.sh", 24 "mlx_cef_caller.bat", "mlx_cef_caller_secondary.bat"])) 25 23 26 if os.name=="nt": 24 27 import py2exe … … 26 29 data_files.append(("", ["logo.ico"])) 27 30 31 chromedriver = os.environ.get("CHROMEDRIVER") 32 if chromedriver: 33 data_files.append(("", [chromedriver])) 34 28 35 msvcrDir = os.environ["MSVCRDIR"] if "MSVCRDIR" in os.environ else None 29 36 if msvcrDir: 30 data_files.append(("Microsoft.VC90.CRT", glob(os.path.join(msvcrDir, "*.*")))) 37 data_files.append(("Microsoft.VC90.CRT", glob(os.path.join(msvcrDir, "*.*")))) 38 os.environ["PATH"] = os.environ["PATH"] + ";" + glob(os.path.join(msvcrDir))[0] 31 39 32 40 gtkRuntimeDir = os.environ["GTKRTDIR"] if "GTKRTDIR" in os.environ else None … … 47 55 glob(os.path.join(gtkRuntimeDir, path, "*")))) 48 56 57 cefDir = os.environ.get("CEFDIR") 58 if cefDir: 59 for fileName in ["icudt.dll", "subprocess.exe"]: 60 data_files.append(("", [os.path.join(cefDir, fileName)])) 61 62 data_files.append(("locales", 63 glob(os.path.join(cefDir, "locales", "*")))) 64 65 print data_files 66 49 67 with open("mlx-common.nsh", "wt") as f: 50 68 print >>f, '!define MLX_VERSION "%s"' % (mlx.const.VERSION) 51 69 f.close() 70 else: 71 for (dirpath, dirnames, filenames) in os.walk("patches"): 72 if filenames: 73 filenames = [os.path.join(dirpath, filename) 74 for filename in filenames] 75 data_files.append((dirpath, filenames)) 76 77 52 78 53 79 long_description="""MAVA Logger X … … 71 97 { "script" : "mlxupdate.py", 72 98 "uac_info" : "requireAdministrator"}], 73 options = { "py2exe" : { "includes": "gio, pango, atk, pangocairo ",99 options = { "py2exe" : { "includes": "gio, pango, atk, pangocairo, lxml._elementpath", 74 100 "skip_archive": True} }, 75 101 zipfile = "library/.", … … 80 106 81 107 if os.name=="nt": 108 os.rename(os.path.join(scriptdir, "dist", "library", "libcef.dll"), 109 os.path.join(scriptdir, "dist", "libcef.dll")) 82 110 mlx.update.buildManifest(os.path.join(scriptdir, "dist")) 83 111 with open(os.path.join(scriptdir, "dist", "Uninstall.conf"), "wt") as f: -
src/mlx/acft.py
r644 r709 85 85 #--------------------------------------------------------------------------------------- 86 86 87 class SimBriefData(object): 88 """Data to be used when creating SimBrief briefings.""" 89 def __init__(self, climbProfiles, cruiseProfiles, descentProfiles): 90 """Construct the SimBrief data with the given profiles.""" 91 self.climbProfiles = climbProfiles 92 self.cruiseProfiles = cruiseProfiles 93 self.descentProfiles = descentProfiles 94 95 #--------------------------------------------------------------------------------------- 96 87 97 class Aircraft(object): 88 98 """Base class for aircraft.""" … … 123 133 self.maxTouchDownPitch = 15.0 124 134 self.brakeCoolTime = 10.0 135 136 self.simBriefData = None 125 137 126 138 self._checkers = [] … … 720 732 self.maxTakeOffPitch = 16.2 721 733 self.maxTouchDownPitch = 14.7 734 self.simBriefData = SimBriefData(["250/280/78"], 735 ["CI", "M75", "M78", "M79", "M80", "LRC"], 736 ["78/280/250"]) 722 737 723 738 #--------------------------------------------------------------------------------------- … … 733 748 self.maxTakeOffPitch = 14.7 734 749 self.maxTouchDownPitch = 13.2 750 self.simBriefData = SimBriefData(["250/280/78"], 751 ["CI", "M75", "M78", "M79", "M80", "LRC"], 752 ["78/280/250", "78/250/250"]) 735 753 736 754 #--------------------------------------------------------------------------------------- … … 746 764 self.maxTakeOffPitch = 11 747 765 self.maxTouchDownPitch = 9.5 766 self.simBriefData = SimBriefData(["250/280/78"], 767 ["CI", "M76", "M78", "M79", "M80", "LRC"], 768 ["78/280/250", "78/250/250"]) 748 769 749 770 #--------------------------------------------------------------------------------------- … … 754 775 super(B738Charter, self).__init__(flight) 755 776 self.mtow = 77791 777 self.simBriefData = SimBriefData(["AUTO"], 778 ["280/M74"], 779 ["AUTO"]) 756 780 757 781 #--------------------------------------------------------------------------------------- … … 826 850 self.maxTakeOffPitch = 8.0 827 851 self.maxTouchDownPitch = 7.0 852 self.simBriefData = SimBriefData(["I-900", "II-900", "III-900", 853 "I-850", "II-850", "III-850"], 854 ["MCR", "ISC", "LRC", "HSC"], 855 ["I-850", "II-850", "III-850"]) 828 856 829 857 #--------------------------------------------------------------------------------------- … … 878 906 self.maxTakeOffPitch = 9.6 879 907 self.maxTouchDownPitch = 8.1 908 self.simBriefData = SimBriefData(["250/290/78"], 909 ["CI", "M76", "M78", "M80", "M82", "M84", "LRC"], 910 ["78/290/250"]) 880 911 881 912 #--------------------------------------------------------------------------------------- … … 902 933 self.maxTakeOffPitch = 18.0 903 934 self.maxTouchDownPitch = 18.0 935 self.simBriefData = SimBriefData(["250/70", "290/74"], 936 ["CI", "LRC", "M70", "M72", "M74", "M77", "M80"], 937 ["74/290/250", "77/320/250"]) 904 938 905 939 #--------------------------------------------------------------------------------------- … … 1045 1079 self.maxTakeOffPitch = 16.0 1046 1080 self.maxTouchDownPitch = 16.0 1081 self.simBriefData = SimBriefData(["AUTO"], 1082 ["300/M80"], 1083 ["AUTO"]) 1047 1084 1048 1085 @property -
src/mlx/common.py
r585 r651 18 18 #------------------------------------------------------------------------------- 19 19 20 if os.name=="nt" or "FORCE_PYGTK" in os.environ: 20 # Due to CEF, PyGTK is the default 21 if "FORCE_PYGOBJECT" not in os.environ: 21 22 print "Using PyGTK" 22 23 pygobject = False -
src/mlx/config.py
r503 r689 211 211 class Config(object): 212 212 """Our configuration.""" 213 DEFAULT_UPDATE_URL = "http://mlx.varadiistvan.hu/update "213 DEFAULT_UPDATE_URL = "http://mlx.varadiistvan.hu/update/cef" 214 214 215 215 _messageTypesSection = "messageTypes" … … 233 233 self._vsSmoothingLength = -2 234 234 235 self._useSimBrief = False 236 self._simBriefUserName = "" 237 self._simBriefPassword = "" 238 self._rememberSimBriefPassword = False 239 235 240 self._pirepDirectory = None 236 241 self._pirepAutoSave = False … … 442 447 if vsSmoothingLength!=self._vsSmoothingLength: 443 448 self._vsSmoothingLength = vsSmoothingLength 449 self._modified = True 450 451 @property 452 def useSimBrief(self): 453 """Check if SimBrief should be used.""" 454 return self._useSimBrief 455 456 @useSimBrief.setter 457 def useSimBrief(self, useSimBrief): 458 """Check if SimBrief should be used.""" 459 if self._useSimBrief != useSimBrief: 460 self._useSimBrief = useSimBrief 461 self._modified = True 462 463 @property 464 def simBriefUserName(self): 465 """Get the SimBrief user name last used""" 466 return self._simBriefUserName 467 468 @simBriefUserName.setter 469 def simBriefUserName(self, simBriefUserName): 470 """Set the SimBrief user name to be used next.""" 471 if self._simBriefUserName != simBriefUserName: 472 self._simBriefUserName = simBriefUserName 473 self._modified = True 474 475 @property 476 def simBriefPassword(self): 477 """Get the SimBrief password last used""" 478 return self._simBriefPassword 479 480 @simBriefPassword.setter 481 def simBriefPassword(self, simBriefPassword): 482 """Set the SimBrief password to be used next.""" 483 if self._simBriefPassword != simBriefPassword: 484 self._simBriefPassword = simBriefPassword 485 self._modified = True 486 487 @property 488 def rememberSimBriefPassword(self): 489 """Get if we should remember the SimBrief password.""" 490 return self._rememberSimBriefPassword 491 492 @rememberSimBriefPassword.setter 493 def rememberSimBriefPassword(self, rememberSimBriefPassword): 494 """Set if we should remember the SimBrief password.""" 495 if rememberSimBriefPassword!=self._rememberSimBriefPassword: 496 self._rememberSimBriefPassword = rememberSimBriefPassword 444 497 self._modified = True 445 498 … … 678 731 "vsSmoothingLength", 679 732 -2)) 733 734 self._useSimBrief = self._getBoolean(config, "simbrief", 735 "use", False) 736 self._simBriefUserName = self._get(config, "simbrief", 737 "username", "") 738 self._simBriefPassword = self._get(config, "simbrief", 739 "password", "") 740 self._rememberSimBriefPassword = self._getBoolean(config, "simbrief", 741 "rememberPassword", 742 False) 743 680 744 self._pirepDirectory = self._get(config, "general", 681 745 "pirepDirectory", None) … … 758 822 str(self._vsSmoothingLength)) 759 823 824 config.add_section("simbrief") 825 config.set("simbrief", "use", 826 "yes" if self._useSimBrief else "no") 827 config.set("simbrief", "username", self._simBriefUserName) 828 config.set("simbrief", "password", self._simBriefPassword) 829 config.set("simbrief", "rememberPassword", 830 "yes" if self._rememberSimBriefPassword else "no") 831 760 832 if self._pirepDirectory is not None: 761 833 config.set("general", "pirepDirectory", self._pirepDirectory) … … 907 979 print " vsSmoothingLength:", self._vsSmoothingLength 908 980 981 print " useSimBrief:", self._useSimBrief 982 print " simBriefUserName:", self._simBriefUserName 983 print " rememberSimBriefPassword:", self._rememberSimBriefPassword 984 909 985 print " pirepDirectory:", self._pirepDirectory 910 986 print " pirepAutoSave:", self._pirepAutoSave -
src/mlx/const.py
r722 r731 11 11 12 12 ## The version of the program 13 VERSION="0.3 6"13 VERSION="0.37" 14 14 15 15 #------------------------------------------------------------------------------- -
src/mlx/gui/common.py
r604 r730 32 32 pygobject = False 33 33 import pygtk 34 pygtk.require("2.0") 34 35 import gtk.gdk as gdk 35 36 import gtk … … 288 289 PROGRAM_NAME = "MAVA Logger X" 289 290 290 WINDOW_TITLE_BASE = PROGRAM_NAME + " " + _const.VERSION291 WINDOW_TITLE_BASE = PROGRAM_NAME 291 292 if secondaryInstallation: 292 293 WINDOW_TITLE_BASE += " (" + xstr("secondary") + ")" -
src/mlx/gui/flight.py
r675 r728 1 1 2 2 from mlx.gui.common import * 3 import mlx.gui.cef as cef 3 4 4 5 import mlx.const as const … … 17 18 import time 18 19 import os 20 import tempfile 21 import threading 19 22 20 23 #----------------------------------------------------------------------------- … … 1425 1428 #----------------------------------------------------------------------------- 1426 1429 1430 class RoutePage(Page): 1431 """The page containing the route and the flight level.""" 1432 def __init__(self, wizard): 1433 """Construct the page.""" 1434 super(RoutePage, self).__init__(wizard, xstr("route_title"), 1435 xstr("route_help"), 1436 completedHelp = xstr("route_chelp")) 1437 1438 alignment = gtk.Alignment(xalign = 0.5, yalign = 0.5, 1439 xscale = 0.0, yscale = 0.0) 1440 1441 mainBox = gtk.VBox() 1442 alignment.add(mainBox) 1443 self.setMainWidget(alignment) 1444 1445 levelBox = gtk.HBox() 1446 1447 label = gtk.Label(xstr("route_level")) 1448 label.set_use_underline(True) 1449 levelBox.pack_start(label, True, True, 0) 1450 1451 self._cruiseLevel = gtk.SpinButton() 1452 self._cruiseLevel.set_increments(step = 10, page = 100) 1453 self._cruiseLevel.set_range(min = 0, max = 500) 1454 self._cruiseLevel.set_tooltip_text(xstr("route_level_tooltip")) 1455 self._cruiseLevel.set_numeric(True) 1456 self._cruiseLevel.connect("changed", self._cruiseLevelChanged) 1457 self._cruiseLevel.connect("value-changed", self._cruiseLevelChanged) 1458 label.set_mnemonic_widget(self._cruiseLevel) 1459 1460 levelBox.pack_start(self._cruiseLevel, False, False, 8) 1461 1462 alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5, 1463 xscale = 0.0, yscale = 0.0) 1464 alignment.add(levelBox) 1465 1466 mainBox.pack_start(alignment, False, False, 0) 1467 1468 1469 routeBox = gtk.VBox() 1470 1471 alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5, 1472 xscale = 0.0, yscale = 0.0) 1473 label = gtk.Label(xstr("route_route")) 1474 label.set_use_underline(True) 1475 alignment.add(label) 1476 routeBox.pack_start(alignment, True, True, 0) 1477 1478 routeWindow = gtk.ScrolledWindow() 1479 routeWindow.set_size_request(400, 80) 1480 routeWindow.set_shadow_type(gtk.ShadowType.IN if pygobject 1481 else gtk.SHADOW_IN) 1482 routeWindow.set_policy(gtk.PolicyType.AUTOMATIC if pygobject 1483 else gtk.POLICY_AUTOMATIC, 1484 gtk.PolicyType.AUTOMATIC if pygobject 1485 else gtk.POLICY_AUTOMATIC) 1486 1487 self._uppercasingRoute = False 1488 1489 self._route = gtk.TextView() 1490 self._route.set_tooltip_text(xstr("route_route_tooltip")) 1491 self._route.set_wrap_mode(WRAP_WORD) 1492 self._route.get_buffer().connect("changed", self._routeChanged) 1493 self._route.get_buffer().connect_after("insert-text", self._routeInserted) 1494 routeWindow.add(self._route) 1495 1496 label.set_mnemonic_widget(self._route) 1497 routeBox.pack_start(routeWindow, True, True, 0) 1498 1499 mainBox.pack_start(routeBox, True, True, 8) 1500 1501 alternateBox = gtk.HBox() 1502 1503 label = gtk.Label(xstr("route_altn")) 1504 label.set_use_underline(True) 1505 alternateBox.pack_start(label, True, True, 0) 1506 1507 self._alternate = gtk.Entry() 1508 self._alternate.set_width_chars(6) 1509 self._alternate.connect("changed", self._alternateChanged) 1510 self._alternate.set_tooltip_text(xstr("route_altn_tooltip")) 1511 label.set_mnemonic_widget(self._alternate) 1512 1513 alternateBox.pack_start(self._alternate, False, False, 8) 1514 1515 alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5, 1516 xscale = 0.0, yscale = 0.0) 1517 alignment.add(alternateBox) 1518 1519 mainBox.pack_start(alignment, False, False, 0) 1520 1521 self.addCancelFlightButton() 1522 1523 self._backButton = self.addPreviousButton(clicked = self._backClicked) 1524 self._button = self.addNextButton(clicked = self._forwardClicked) 1525 1526 @property 1527 def filedCruiseLevel(self): 1528 """Get the filed cruise level.""" 1529 return self._cruiseLevel.get_value_as_int() 1530 1531 @property 1532 def route(self): 1533 """Get the route.""" 1534 return self._getRoute() 1535 1536 @property 1537 def alternate(self): 1538 """Get the ICAO code of the alternate airport.""" 1539 return self._alternate.get_text() 1540 1541 def activate(self): 1542 """Setup the route from the booked flight.""" 1543 self._cruiseLevel.set_value(0) 1544 self._cruiseLevel.set_text("") 1545 self._route.get_buffer().set_text(self._wizard._bookedFlight.route) 1546 self._alternate.set_text("") 1547 self._updateForwardButton() 1548 1549 def _getRoute(self): 1550 """Get the text of the route.""" 1551 buffer = self._route.get_buffer() 1552 return buffer.get_text(buffer.get_start_iter(), 1553 buffer.get_end_iter(), True) 1554 1555 def _updateForwardButton(self): 1556 """Update the sensitivity of the forward button.""" 1557 cruiseLevelText = self._cruiseLevel.get_text() 1558 cruiseLevel = int(cruiseLevelText) if cruiseLevelText else 0 1559 alternate = self._alternate.get_text() 1560 self._button.set_sensitive(cruiseLevel>=50 and self._getRoute()!="" and 1561 len(alternate)==4) 1562 1563 def _cruiseLevelChanged(self, *arg): 1564 """Called when the cruise level has changed.""" 1565 self._updateForwardButton() 1566 1567 def _routeChanged(self, textBuffer): 1568 """Called when the route has changed.""" 1569 if not self._uppercasingRoute: 1570 self._updateForwardButton() 1571 1572 def _routeInserted(self, textBuffer, iter, text, length): 1573 """Called when new characters are inserted into the route. 1574 1575 It uppercases all characters.""" 1576 if not self._uppercasingRoute: 1577 self._uppercasingRoute = True 1578 1579 iter1 = iter.copy() 1580 iter1.backward_chars(length) 1581 textBuffer.delete(iter, iter1) 1582 1583 textBuffer.insert(iter, text.upper()) 1584 1585 self._uppercasingRoute = False 1586 1587 def _alternateChanged(self, entry): 1588 """Called when the alternate airport has changed.""" 1589 entry.set_text(entry.get_text().upper()) 1590 self._updateForwardButton() 1591 1592 def _backClicked(self, button): 1593 """Called when the Back button is pressed.""" 1594 self.goBack() 1595 1596 def _forwardClicked(self, button): 1597 """Called when the Forward button is clicked.""" 1598 if self._wizard.gui.flight.aircraft.simBriefData is None: 1599 self._wizard.usingSimBrief = False 1600 if self._wizard.gui.config.useSimBrief and \ 1601 self._wizard.usingSimBrief is not False: 1602 self._wizard.nextPage() 1603 else: 1604 self._wizard.usingSimBrief = False 1605 self._wizard.jumpPage(3) 1606 1607 #----------------------------------------------------------------------------- 1608 1609 class SimBriefCredentialsDialog(gtk.Dialog): 1610 """A dialog window to ask for SimBrief credentials.""" 1611 def __init__(self, gui, userName, password, rememberPassword): 1612 """Construct the dialog.""" 1613 super(SimBriefCredentialsDialog, self).__init__(WINDOW_TITLE_BASE + " - " + 1614 xstr("simbrief_credentials_title"), 1615 gui.mainWindow, 1616 DIALOG_MODAL) 1617 self.add_button(xstr("button_cancel"), RESPONSETYPE_CANCEL) 1618 self.add_button(xstr("button_ok"), RESPONSETYPE_OK) 1619 1620 contentArea = self.get_content_area() 1621 1622 contentAlignment = gtk.Alignment(xalign = 0.5, yalign = 0.5, 1623 xscale = 0.0, yscale = 0.0) 1624 contentAlignment.set_padding(padding_top = 4, padding_bottom = 16, 1625 padding_left = 8, padding_right = 8) 1626 1627 contentArea.pack_start(contentAlignment, False, False, 0) 1628 1629 contentVBox = gtk.VBox() 1630 contentAlignment.add(contentVBox) 1631 1632 label = gtk.Label(xstr("simbrief_login_failed")) 1633 label.set_alignment(0.0, 0.0) 1634 1635 contentVBox.pack_start(label, False, False, 0) 1636 1637 tableAlignment = gtk.Alignment(xalign = 0.5, yalign = 0.5, 1638 xscale = 0.0, yscale = 0.0) 1639 tableAlignment.set_padding(padding_top = 24, padding_bottom = 0, 1640 padding_left = 0, padding_right = 0) 1641 1642 table = gtk.Table(3, 2) 1643 table.set_row_spacings(4) 1644 table.set_col_spacings(16) 1645 table.set_homogeneous(False) 1646 1647 tableAlignment.add(table) 1648 contentVBox.pack_start(tableAlignment, True, True, 0) 1649 1650 label = gtk.Label(xstr("simbrief_username")) 1651 label.set_use_underline(True) 1652 label.set_alignment(0.0, 0.5) 1653 table.attach(label, 0, 1, 0, 1) 1654 1655 self._userName = gtk.Entry() 1656 self._userName.set_width_chars(16) 1657 #self._userName.connect("changed", 1658 # lambda button: self._updateForwardButton()) 1659 self._userName.set_tooltip_text(xstr("simbrief_username_tooltip")) 1660 self._userName.set_text(userName) 1661 table.attach(self._userName, 1, 2, 0, 1) 1662 label.set_mnemonic_widget(self._userName) 1663 1664 label = gtk.Label(xstr("simbrief_password")) 1665 label.set_use_underline(True) 1666 label.set_alignment(0.0, 0.5) 1667 table.attach(label, 0, 1, 1, 2) 1668 1669 self._password = gtk.Entry() 1670 self._password.set_visibility(False) 1671 #self._password.connect("changed", 1672 # lambda button: self._updateForwardButton()) 1673 self._password.set_tooltip_text(xstr("simbrief_password_tooltip")) 1674 self._password.set_text(password) 1675 table.attach(self._password, 1, 2, 1, 2) 1676 label.set_mnemonic_widget(self._password) 1677 1678 self._rememberButton = gtk.CheckButton(xstr("simbrief_remember_password")) 1679 self._rememberButton.set_use_underline(True) 1680 self._rememberButton.set_tooltip_text(xstr("simbrief_remember_tooltip")) 1681 self._rememberButton.set_active(rememberPassword) 1682 table.attach(self._rememberButton, 1, 2, 2, 3, ypadding = 8) 1683 1684 @property 1685 def userName(self): 1686 """Get the user name entered.""" 1687 return self._userName.get_text() 1688 1689 @property 1690 def password(self): 1691 """Get the password entered.""" 1692 return self._password.get_text() 1693 1694 @property 1695 def rememberPassword(self): 1696 """Get whether the password is to be remembered.""" 1697 return self._rememberButton.get_active() 1698 1699 def run(self): 1700 """Run the dialog.""" 1701 self.show_all() 1702 1703 response = super(SimBriefCredentialsDialog, self).run() 1704 1705 self.hide() 1706 1707 return response 1708 1709 #----------------------------------------------------------------------------- 1710 1711 class SimBriefSetupPage(Page): 1712 """Page for setting up some parameters for SimBrief.""" 1713 monthNum2Name = [ 1714 "JAN", 1715 "FEB", 1716 "MAR", 1717 "APR", 1718 "MAY", 1719 "JUN", 1720 "JUL", 1721 "AUG", 1722 "SEP", 1723 "OCT", 1724 "NOV", 1725 "DEC" 1726 ] 1727 1728 progress2Message = { 1729 cef.SIMBRIEF_PROGRESS_SEARCHING_BROWSER: "simbrief_progress_searching_browser", 1730 cef.SIMBRIEF_PROGRESS_LOADING_FORM: "simbrief_progress_loading_form", 1731 cef.SIMBRIEF_PROGRESS_FILLING_FORM: "simbrief_progress_filling_form", 1732 cef.SIMBRIEF_PROGRESS_WAITING_LOGIN: "simbrief_progress_waiting_login", 1733 cef.SIMBRIEF_PROGRESS_LOGGING_IN: "simbrief_progress_logging_in", 1734 cef.SIMBRIEF_PROGRESS_WAITING_RESULT: "simbrief_progress_waiting_result", 1735 cef.SIMBRIEF_PROGRESS_RETRIEVING_BRIEFING: "simbrief_progress_retrieving_briefing" 1736 } 1737 1738 result2Message = { 1739 cef.SIMBRIEF_RESULT_ERROR_OTHER: "simbrief_result_error_other", 1740 cef.SIMBRIEF_RESULT_ERROR_NO_FORM: "simbrief_result_error_no_form", 1741 cef.SIMBRIEF_RESULT_ERROR_NO_POPUP: "simbrief_result_error_no_popup", 1742 cef.SIMBRIEF_RESULT_ERROR_LOGIN_FAILED: "simbrief_result_error_login_failed" 1743 } 1744 1745 @staticmethod 1746 def getHTMLFilePath(): 1747 """Get the path of the HTML file to contain the generated flight 1748 plan.""" 1749 if os.name=="nt": 1750 return os.path.join(tempfile.gettempdir(), 1751 "mlx_simbrief" + 1752 (".secondary" if secondaryInstallation else "") + 1753 ".html") 1754 else: 1755 import pwd 1756 return os.path.join(tempfile.gettempdir(), 1757 "mlx_simbrief." + pwd.getpwuid(os.getuid())[0] + "" + 1758 (".secondary" if secondaryInstallation else "") + 1759 ".html") 1760 1761 def __init__(self, wizard): 1762 """Construct the setup page.""" 1763 1764 super(SimBriefSetupPage, self).__init__(wizard, 1765 xstr("simbrief_setup_title"), 1766 xstr("simbrief_setup_help"), 1767 xstr("simbrief_setup_chelp")) 1768 1769 alignment = gtk.Alignment(xalign = 0.5, yalign = 0.5, 1770 xscale = 0.0, yscale = 0.0) 1771 1772 table = gtk.Table(9, 3) 1773 table.set_row_spacings(4) 1774 table.set_col_spacings(16) 1775 table.set_homogeneous(False) 1776 alignment.add(table) 1777 self.setMainWidget(alignment) 1778 1779 label = gtk.Label(xstr("simbrief_username")) 1780 label.set_use_underline(True) 1781 label.set_alignment(0.0, 0.5) 1782 table.attach(label, 0, 1, 0, 1) 1783 1784 self._userName = gtk.Entry() 1785 self._userName.set_width_chars(16) 1786 self._userName.connect("changed", 1787 lambda button: self._updateForwardButton()) 1788 self._userName.set_tooltip_text(xstr("simbrief_username_tooltip")) 1789 table.attach(self._userName, 1, 2, 0, 1) 1790 label.set_mnemonic_widget(self._userName) 1791 1792 label = gtk.Label(xstr("simbrief_password")) 1793 label.set_use_underline(True) 1794 label.set_alignment(0.0, 0.5) 1795 table.attach(label, 0, 1, 1, 2) 1796 1797 self._password = gtk.Entry() 1798 self._password.set_visibility(False) 1799 self._password.connect("changed", 1800 lambda button: self._updateForwardButton()) 1801 self._password.set_tooltip_text(xstr("simbrief_password_tooltip")) 1802 table.attach(self._password, 1, 2, 1, 2) 1803 label.set_mnemonic_widget(self._password) 1804 1805 self._rememberButton = gtk.CheckButton(xstr("simbrief_remember_password")) 1806 self._rememberButton.set_use_underline(True) 1807 self._rememberButton.set_tooltip_text(xstr("simbrief_remember_tooltip")) 1808 table.attach(self._rememberButton, 1, 2, 2, 3, ypadding = 8) 1809 1810 self._credentialsCondition = threading.Condition() 1811 self._credentialsAvailable = False 1812 self._credentialsUserName = None 1813 self._credentialsPassword = None 1814 1815 label = gtk.Label(xstr("simbrief_extra_fuel")) 1816 label.set_use_underline(True) 1817 label.set_alignment(0.0, 0.5) 1818 table.attach(label, 0, 1, 3, 4) 1819 1820 self._extraFuel = IntegerEntry(defaultValue = 0) 1821 self._extraFuel.set_width_chars(6) 1822 self._extraFuel.set_tooltip_text(xstr("simbrief_extra_fuel_tooltip")) 1823 table.attach(self._extraFuel, 1, 2, 3, 4) 1824 label.set_mnemonic_widget(self._extraFuel) 1825 1826 table.attach(gtk.Label("kg"), 2, 3, 3, 4) 1827 1828 label = gtk.Label(xstr("simbrief_takeoff_runway")) 1829 label.set_use_underline(True) 1830 label.set_alignment(0.0, 0.5) 1831 table.attach(label, 0, 1, 4, 5) 1832 1833 self._takeoffRunway = gtk.Entry() 1834 self._takeoffRunway.set_width_chars(10) 1835 self._takeoffRunway.set_tooltip_text(xstr("simbrief_takeoff_runway_tooltip")) 1836 self._takeoffRunway.connect("changed", self._upperChanged) 1837 table.attach(self._takeoffRunway, 1, 2, 4, 5) 1838 label.set_mnemonic_widget(self._takeoffRunway) 1839 1840 label = gtk.Label(xstr("simbrief_landing_runway")) 1841 label.set_use_underline(True) 1842 label.set_alignment(0.0, 0.5) 1843 table.attach(label, 0, 1, 5, 6) 1844 1845 self._landingRunway = gtk.Entry() 1846 self._landingRunway.set_width_chars(10) 1847 self._landingRunway.set_tooltip_text(xstr("simbrief_takeoff_runway_tooltip")) 1848 self._landingRunway.connect("changed", self._upperChanged) 1849 table.attach(self._landingRunway, 1, 2, 5, 6) 1850 label.set_mnemonic_widget(self._landingRunway) 1851 1852 label = gtk.Label(xstr("simbrief_climb_profile")) 1853 label.set_use_underline(True) 1854 label.set_alignment(0.0, 0.5) 1855 table.attach(label, 0, 1, 6, 7) 1856 1857 self._climbProfile = gtk.ComboBox() 1858 renderer = gtk.CellRendererText() 1859 self._climbProfile.pack_start(renderer, True) 1860 self._climbProfile.add_attribute(renderer, "text", 0) 1861 self._climbProfile.set_tooltip_text(xstr("simbrief_climb_profile_tooltip")) 1862 table.attach(self._climbProfile, 1, 2, 6, 7) 1863 label.set_mnemonic_widget(self._climbProfile) 1864 1865 label = gtk.Label(xstr("simbrief_cruise_profile")) 1866 label.set_use_underline(True) 1867 label.set_alignment(0.0, 0.5) 1868 table.attach(label, 0, 1, 7, 8) 1869 1870 self._cruiseProfile = gtk.ComboBox() 1871 renderer = gtk.CellRendererText() 1872 self._cruiseProfile.pack_start(renderer, True) 1873 self._cruiseProfile.add_attribute(renderer, "text", 0) 1874 self._cruiseProfile.set_tooltip_text(xstr("simbrief_cruise_profile_tooltip")) 1875 table.attach(self._cruiseProfile, 1, 2, 7, 8) 1876 label.set_mnemonic_widget(self._cruiseProfile) 1877 1878 label = gtk.Label(xstr("simbrief_descent_profile")) 1879 label.set_use_underline(True) 1880 label.set_alignment(0.0, 0.5) 1881 table.attach(label, 0, 1, 8, 9) 1882 1883 self._descentProfile = gtk.ComboBox() 1884 renderer = gtk.CellRendererText() 1885 self._descentProfile.pack_start(renderer, True) 1886 self._descentProfile.add_attribute(renderer, "text", 0) 1887 self._descentProfile.set_tooltip_text(xstr("simbrief_descent_profile_tooltip")) 1888 table.attach(self._descentProfile, 1, 2, 8, 9) 1889 label.set_mnemonic_widget(self._descentProfile) 1890 1891 self.addCancelFlightButton() 1892 1893 self._backButton = self.addPreviousButton(clicked = self._backClicked) 1894 self._button = self.addNextButton(clicked = self._forwardClicked) 1895 1896 def activate(self): 1897 """Activate the SimBrief setup page""" 1898 config = self._wizard.gui.config 1899 1900 self._userName.set_text(config.simBriefUserName) 1901 self._userName.set_sensitive(True) 1902 1903 self._password.set_text(config.simBriefPassword) 1904 self._password.set_sensitive(True) 1905 1906 self._rememberButton.set_active(config.rememberSimBriefPassword) 1907 self._rememberButton.set_sensitive(True) 1908 1909 self._extraFuel.set_int(0) 1910 self._extraFuel.set_sensitive(True) 1911 1912 self._takeoffRunway.set_text("") 1913 self._takeoffRunway.set_sensitive(True) 1914 1915 self._landingRunway.set_text("") 1916 self._landingRunway.set_sensitive(True) 1917 1918 simBriefData = self._wizard.gui.flight.aircraft.simBriefData 1919 for (control, profiles) in [(self._climbProfile, 1920 simBriefData.climbProfiles), 1921 (self._cruiseProfile, 1922 simBriefData.cruiseProfiles), 1923 (self._descentProfile, 1924 simBriefData.descentProfiles)]: 1925 model = gtk.ListStore(str) 1926 for profile in profiles: 1927 model.append([profile]) 1928 control.set_model(model) 1929 control.set_sensitive(True) 1930 1931 self._climbProfile.set_active(0) 1932 self._cruiseProfile.set_active(0) 1933 self._descentProfile.set_active(0) 1934 1935 self._updateForwardButton() 1936 1937 def _updateForwardButton(self): 1938 """Update the sensitivity of the forward button.""" 1939 self._button.set_sensitive(len(self._userName.get_text())>0 and 1940 len(self._password.get_text())>0) 1941 1942 def _backClicked(self, button): 1943 """Called when the Back button is pressed.""" 1944 self.goBack() 1945 1946 def _forwardClicked(self, button): 1947 if self._completed: 1948 self._wizard.nextPage() 1949 else: 1950 config = self._wizard.gui.config 1951 1952 config.simBriefUserName = self._userName.get_text() 1953 1954 rememberPassword = self._rememberButton.get_active() 1955 config.simBriefPassword = \ 1956 self._password.get_text() if rememberPassword else "" 1957 config.rememberSimBriefPassword = rememberPassword 1958 1959 config.save() 1960 1961 plan = self._getPlan() 1962 print "plan:", plan 1963 1964 takeoffRunway = self._takeoffRunway.get_text() 1965 if takeoffRunway: 1966 self._wizard.takeoffRunway = takeoffRunway 1967 1968 landingRunway = self._landingRunway.get_text() 1969 if landingRunway: 1970 self._wizard.landingRunway = landingRunway 1971 1972 self._userName.set_sensitive(False) 1973 self._password.set_sensitive(False) 1974 self._rememberButton.set_sensitive(False) 1975 self._extraFuel.set_sensitive(False) 1976 self._takeoffRunway.set_sensitive(False) 1977 self._landingRunway.set_sensitive(False) 1978 1979 self._climbProfile.set_sensitive(False) 1980 self._cruiseProfile.set_sensitive(False) 1981 self._descentProfile.set_sensitive(False) 1982 1983 self._wizard.gui.beginBusy(xstr("simbrief_calling")) 1984 1985 cef.startFastTimeout() 1986 cef.callSimBrief(plan, 1987 self._getCredentialsCallback, 1988 self._simBriefProgressCallback, 1989 SimBriefSetupPage.getHTMLFilePath()) 1990 1991 startSound(const.SOUND_NOTAM) 1992 1993 def _getCredentialsCallback(self, count): 1994 """Called when the SimBrief home page requests the credentials.""" 1995 with self._credentialsCondition: 1996 self._credentialsAvailable = False 1997 1998 gobject.idle_add(self._getCredentials, count) 1999 2000 while not self._credentialsAvailable: 2001 self._credentialsCondition.wait() 2002 2003 return (self._credentialsUserName, self._credentialsPassword) 2004 2005 def _getCredentials(self, count): 2006 """Get the credentials. 2007 2008 If count is 0, the user name and password entered into the setup page 2009 are returned. Otherwise a dialog box is displayed informing the user of 2010 invalid credentials and requesting another set of them.""" 2011 with self._credentialsCondition: 2012 if count==0: 2013 self._credentialsUserName = self._userName.get_text() 2014 self._credentialsPassword = self._password.get_text() 2015 else: 2016 gui = self._wizard.gui 2017 config = gui.config 2018 2019 dialog = SimBriefCredentialsDialog(gui, 2020 config.simBriefUserName, 2021 config.simBriefPassword, 2022 config.rememberSimBriefPassword) 2023 response = dialog.run() 2024 2025 if response==RESPONSETYPE_OK: 2026 self._credentialsUserName = dialog.userName 2027 self._userName.set_text(self._credentialsUserName) 2028 self._credentialsPassword = dialog.password 2029 self._password.set_text(self._credentialsPassword) 2030 rememberPassword = dialog.rememberPassword 2031 2032 config.simBriefUserName = self._credentialsUserName 2033 2034 config.simBriefPassword = \ 2035 self._credentialsPassword if rememberPassword else "" 2036 config.rememberSimBriefPassword = rememberPassword 2037 2038 config.save() 2039 else: 2040 self._credentialsUserName = None 2041 self._credentialsPassword = None 2042 2043 self._credentialsAvailable = True 2044 self._credentialsCondition.notify() 2045 2046 def _simBriefProgressCallback(self, progress, result, flightInfo): 2047 """Called by the SimBrief handling thread.""" 2048 gobject.idle_add(self._simBriefProgress, progress, result, flightInfo) 2049 2050 def _simBriefProgress(self, progress, result, flightInfo): 2051 """The real SimBrief progress handler.""" 2052 print "_simBriefProgress", progress, result, flightInfo 2053 if result==cef.SIMBRIEF_RESULT_NONE: 2054 message = SimBriefSetupPage.progress2Message.get(progress, 2055 "simbrief_progress_unknown") 2056 self._wizard.gui.updateBusyState(xstr(message)) 2057 else: 2058 cef.stopFastTimeout() 2059 self._wizard.gui.endBusy() 2060 2061 if result==cef.SIMBRIEF_RESULT_OK: 2062 self._wizard.departureMETARChanged(flightInfo["orig_metar"], 2063 self) 2064 self._wizard.arrivalMETARChanged(flightInfo["dest_metar"], self) 2065 self._wizard.nextPage() 2066 else: 2067 message = SimBriefSetupPage.result2Message.get(result, 2068 "simbrief_result_unknown") 2069 dialog = gtk.MessageDialog(parent = self._wizard.gui.mainWindow, 2070 type = MESSAGETYPE_ERROR, 2071 message_format = 2072 xstr(message) + "\n"+ 2073 xstr("simbrief_cancelled")) 2074 2075 dialog.add_button(xstr("button_ok"), RESPONSETYPE_OK) 2076 dialog.set_title(WINDOW_TITLE_BASE) 2077 secondary = xstr("flightsel_save_failed_sec") 2078 dialog.format_secondary_markup(secondary) 2079 dialog.run() 2080 dialog.hide() 2081 2082 self._wizard.usingSimBrief = False 2083 self._wizard.jumpPage(2, fromPageShift = 1) 2084 2085 def _getPlan(self): 2086 """Get the flight plan data for SimBrief.""" 2087 plan = { 2088 "airline": "MAH", 2089 "selcal": "XXXX", 2090 "fuelfactor": "P000", 2091 "contpct": "0.05", 2092 "resvrule": "45", 2093 "taxiout": "10", 2094 "taxiin": "10", 2095 "civalue": "AUTO" 2096 } 2097 2098 wizard = self._wizard 2099 gui = wizard.gui 2100 2101 loginResult = wizard.loginResult 2102 plan["cpt"] = loginResult.pilotName 2103 plan["pid"] = loginResult.pilotID 2104 2105 bookedFlight = wizard.bookedFlight 2106 plan["fltnum"] = wizard.bookedFlight.callsign[2:] 2107 plan["type"] = const.icaoCodes[bookedFlight.aircraftType] 2108 plan["orig"] = bookedFlight.departureICAO 2109 plan["dest"] = bookedFlight.arrivalICAO 2110 plan["reg"] = bookedFlight.tailNumber 2111 plan["fin"] = bookedFlight.tailNumber[3:] 2112 plan["pax"] = str(bookedFlight.numPassengers) 2113 2114 departureTime = bookedFlight.departureTime 2115 plan["date"] = "%d%s%d" % (departureTime.day, 2116 SimBriefSetupPage.monthNum2Name[departureTime.month-1], 2117 departureTime.year%100) 2118 plan["deph"] = str(departureTime.hour) 2119 plan["depm"] = str(departureTime.minute) 2120 2121 arrivalTime = bookedFlight.arrivalTime 2122 plan["steh"] = str(arrivalTime.hour) 2123 plan["stem"] = str(arrivalTime.minute) 2124 2125 plan["manualzfw"] = str(wizard.zfw / 1000.0) 2126 plan["cargo"] = str((wizard.bagWeight + wizard.cargoWeight + wizard.mailWeight)/1000.0) 2127 2128 plan["route"] = wizard.route 2129 plan["fl"] = str(wizard.filedCruiseAltitude) 2130 plan["altn"] = wizard.alternate 2131 2132 plan["addedfuel"] = str(self._extraFuel.get_int() / 1000.0) 2133 plan["origrwy"] = self._takeoffRunway.get_text() 2134 plan["destrwy"] = self._landingRunway.get_text() 2135 2136 for (key, control) in [("climb", self._climbProfile), 2137 ("cruise", self._cruiseProfile), 2138 ("descent", self._descentProfile)]: 2139 model = control.get_model() 2140 active = control.get_active_iter() 2141 value = model.get_value(active, 0) 2142 plan[key] = value 2143 2144 return plan 2145 2146 def _upperChanged(self, entry, arg = None): 2147 """Called when the value of some entry widget has changed and the value 2148 should be converted to uppercase.""" 2149 entry.set_text(entry.get_text().upper()) 2150 2151 #----------------------------------------------------------------------------- 2152 2153 class SimBriefingPage(Page): 2154 """Page to display the SimBrief HTML briefing.""" 2155 class BrowserLifeSpanHandler(object): 2156 """The life-span handler of a browser.""" 2157 def __init__(self, simBriefingPage): 2158 """Construct the life-span handler for the given page.""" 2159 self._simBriefingPage = simBriefingPage 2160 2161 def OnBeforeClose(self, browser): 2162 """Called before closing the browser.""" 2163 self._simBriefingPage._invalidateBrowser() 2164 2165 def __init__(self, wizard): 2166 """Construct the setup page.""" 2167 2168 super(SimBriefingPage, self).__init__(wizard, 2169 xstr("simbrief_result_title"), "") 2170 2171 self._alignment = gtk.Alignment(xalign = 0.5, yalign = 0.5, 2172 xscale = 1.0, yscale = 1.0) 2173 2174 self._container = cef.getContainer() 2175 self._alignment.add(self._container) 2176 2177 self.setMainWidget(self._alignment) 2178 2179 self._browser = None 2180 2181 self.addCancelFlightButton() 2182 2183 self.addPreviousButton(clicked = self._backClicked) 2184 2185 self._button = self.addNextButton(clicked = self._forwardClicked) 2186 self._button.set_label(xstr("briefing_button")) 2187 self._button.set_has_tooltip(False) 2188 self._button.set_use_stock(False) 2189 2190 def activate(self): 2191 """Activate the SimBrief flight plan page""" 2192 if self._browser is None: 2193 self._startBrowser() 2194 else: 2195 self._browser.Reload() 2196 2197 def grabDefault(self): 2198 """If the page has a default button, make it the default one.""" 2199 super(SimBriefingPage, self).grabDefault() 2200 2201 if self._browser is None: 2202 self._startBrowser() 2203 2204 def _backClicked(self, button): 2205 """Called when the Back button has been pressed.""" 2206 self.goBack() 2207 2208 def _forwardClicked(self, button): 2209 """Called when the Forward button has been pressed.""" 2210 if not self._completed: 2211 self._button.set_label(xstr("button_next")) 2212 self._button.set_tooltip_text(xstr("button_next_tooltip")) 2213 self._wizard.usingSimBrief = True 2214 self.complete() 2215 2216 self._wizard.nextPage() 2217 2218 def _startBrowser(self): 2219 """Start the browser. 2220 2221 If a container is needed, create one.""" 2222 if self._container is None: 2223 self._container = cef.getContainer() 2224 self._alignment.add(self._container) 2225 2226 url = "file://" + SimBriefSetupPage.getHTMLFilePath() 2227 self._browser = cef.startInContainer(self._container, url) 2228 2229 lifeSpanHandler = SimBriefingPage.BrowserLifeSpanHandler(self) 2230 self._browser.SetClientHandler(lifeSpanHandler) 2231 2232 def _invalidateBrowser(self): 2233 """Invalidate the browser (and associated stuff).""" 2234 self._alignment.remove(self._container) 2235 self._container = None 2236 self._browser = None 2237 2238 #----------------------------------------------------------------------------- 2239 1427 2240 class FuelTank(gtk.VBox): 1428 2241 """Widget for the fuel tank.""" … … 1660 2473 self._wizard.gui.beginBusy(xstr("fuel_pump_busy")) 1661 2474 self._pump() 2475 elif self._wizard.usingSimBrief: 2476 self._wizard.jumpPage(3) 1662 2477 else: 1663 2478 self._wizard.nextPage() … … 1705 2520 if fuelTank is None: 1706 2521 self._wizard.gui.endBusy() 1707 self._wizard.nextPage() 2522 if self._wizard.usingSimBrief: 2523 self._wizard.gui.startMonitoring() 2524 self._wizard.jumpPage(3) 2525 else: 2526 bookedFlight = self._wizard._bookedFlight 2527 self._wizard.gui.beginBusy(xstr("route_down_notams")) 2528 self._wizard.gui.webHandler.getNOTAMs(self._notamsCallback, 2529 bookedFlight.departureICAO, 2530 bookedFlight.arrivalICAO) 2531 startSound(const.SOUND_NOTAM) 1708 2532 else: 1709 2533 currentLevel = fuelTank.currentWeight / fuelTank.capacity … … 1719 2543 currentLevel)]) 1720 2544 gobject.timeout_add(50, self._pump) 1721 1722 #-----------------------------------------------------------------------------1723 1724 class RoutePage(Page):1725 """The page containing the route and the flight level."""1726 def __init__(self, wizard):1727 """Construct the page."""1728 super(RoutePage, self).__init__(wizard, xstr("route_title"),1729 xstr("route_help"),1730 completedHelp = xstr("route_chelp"))1731 1732 alignment = gtk.Alignment(xalign = 0.5, yalign = 0.5,1733 xscale = 0.0, yscale = 0.0)1734 1735 mainBox = gtk.VBox()1736 alignment.add(mainBox)1737 self.setMainWidget(alignment)1738 1739 levelBox = gtk.HBox()1740 1741 label = gtk.Label(xstr("route_level"))1742 label.set_use_underline(True)1743 levelBox.pack_start(label, True, True, 0)1744 1745 self._cruiseLevel = gtk.SpinButton()1746 self._cruiseLevel.set_increments(step = 10, page = 100)1747 self._cruiseLevel.set_range(min = 0, max = 500)1748 self._cruiseLevel.set_tooltip_text(xstr("route_level_tooltip"))1749 self._cruiseLevel.set_numeric(True)1750 self._cruiseLevel.connect("changed", self._cruiseLevelChanged)1751 self._cruiseLevel.connect("value-changed", self._cruiseLevelChanged)1752 label.set_mnemonic_widget(self._cruiseLevel)1753 1754 levelBox.pack_start(self._cruiseLevel, False, False, 8)1755 1756 alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,1757 xscale = 0.0, yscale = 0.0)1758 alignment.add(levelBox)1759 1760 mainBox.pack_start(alignment, False, False, 0)1761 1762 1763 routeBox = gtk.VBox()1764 1765 alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,1766 xscale = 0.0, yscale = 0.0)1767 label = gtk.Label(xstr("route_route"))1768 label.set_use_underline(True)1769 alignment.add(label)1770 routeBox.pack_start(alignment, True, True, 0)1771 1772 routeWindow = gtk.ScrolledWindow()1773 routeWindow.set_size_request(400, 80)1774 routeWindow.set_shadow_type(gtk.ShadowType.IN if pygobject1775 else gtk.SHADOW_IN)1776 routeWindow.set_policy(gtk.PolicyType.AUTOMATIC if pygobject1777 else gtk.POLICY_AUTOMATIC,1778 gtk.PolicyType.AUTOMATIC if pygobject1779 else gtk.POLICY_AUTOMATIC)1780 1781 self._uppercasingRoute = False1782 1783 self._route = gtk.TextView()1784 self._route.set_tooltip_text(xstr("route_route_tooltip"))1785 self._route.set_wrap_mode(WRAP_WORD)1786 self._route.get_buffer().connect("changed", self._routeChanged)1787 self._route.get_buffer().connect_after("insert-text", self._routeInserted)1788 routeWindow.add(self._route)1789 1790 label.set_mnemonic_widget(self._route)1791 routeBox.pack_start(routeWindow, True, True, 0)1792 1793 mainBox.pack_start(routeBox, True, True, 8)1794 1795 self.addCancelFlightButton()1796 1797 self._backButton = self.addPreviousButton(clicked = self._backClicked)1798 self._button = self.addNextButton(clicked = self._forwardClicked)1799 1800 @property1801 def filedCruiseLevel(self):1802 """Get the filed cruise level."""1803 return self._cruiseLevel.get_value_as_int()1804 1805 @property1806 def route(self):1807 """Get the route."""1808 return self._getRoute()1809 1810 def activate(self):1811 """Setup the route from the booked flight."""1812 self._cruiseLevel.set_value(0)1813 self._cruiseLevel.set_text("")1814 self._route.get_buffer().set_text(self._wizard._bookedFlight.route)1815 self._updateForwardButton()1816 1817 def _getRoute(self):1818 """Get the text of the route."""1819 buffer = self._route.get_buffer()1820 return buffer.get_text(buffer.get_start_iter(),1821 buffer.get_end_iter(), True)1822 1823 def _updateForwardButton(self):1824 """Update the sensitivity of the forward button."""1825 cruiseLevelText = self._cruiseLevel.get_text()1826 cruiseLevel = int(cruiseLevelText) if cruiseLevelText else 01827 self._button.set_sensitive(cruiseLevel>=50 and self._getRoute()!="")1828 1829 def _cruiseLevelChanged(self, *arg):1830 """Called when the cruise level has changed."""1831 self._updateForwardButton()1832 1833 def _routeChanged(self, textBuffer):1834 """Called when the route has changed."""1835 if not self._uppercasingRoute:1836 self._updateForwardButton()1837 1838 def _routeInserted(self, textBuffer, iter, text, length):1839 """Called when new characters are inserted into the route.1840 1841 It uppercases all characters."""1842 if not self._uppercasingRoute:1843 self._uppercasingRoute = True1844 1845 iter1 = iter.copy()1846 iter1.backward_chars(length)1847 textBuffer.delete(iter, iter1)1848 1849 textBuffer.insert(iter, text.upper())1850 1851 self._uppercasingRoute = False1852 1853 def _backClicked(self, button):1854 """Called when the Back button is pressed."""1855 self.goBack()1856 1857 def _forwardClicked(self, button):1858 """Called when the Forward button is clicked."""1859 if self._completed:1860 self._wizard.nextPage()1861 else:1862 bookedFlight = self._wizard._bookedFlight1863 self._wizard.gui.beginBusy(xstr("route_down_notams"))1864 self._wizard.gui.webHandler.getNOTAMs(self._notamsCallback,1865 bookedFlight.departureICAO,1866 bookedFlight.arrivalICAO)1867 startSound(const.SOUND_NOTAM)1868 2545 1869 2546 def _notamsCallback(self, returned, result): … … 2338 3015 self._updatingMETAR = False 2339 3016 2340 self._runway.set_text("") 3017 if self._wizard.takeoffRunway is None: 3018 self._runway.set_text("") 3019 else: 3020 self._runway.set_text(self._wizard.takeoffRunway) 2341 3021 self._runway.set_sensitive(True) 2342 3022 self._sid.set_active(0) … … 2725 3405 label.set_use_underline(True) 2726 3406 label.set_alignment(0.0, 0.5) 2727 table.attach(label, 0, 1, row, row+1)3407 table.attach(label, 1, 2, row, row+1) 2728 3408 2729 3409 self._metar = gtk.Entry() … … 2732 3412 self._metar.connect("changed", self._metarChanged) 2733 3413 self._metar.get_buffer().connect_after("inserted-text", self._metarInserted) 2734 table.attach(self._metar, 1, 24, row, row+1)3414 table.attach(self._metar, 2, 24, row, row+1) 2735 3415 label.set_mnemonic_widget(self._metar) 2736 3416 … … 2897 3577 self._transition.set_sensitive(True) 2898 3578 2899 self._runway.set_text("") 3579 if self._wizard.landingRunway is None: 3580 self._runway.set_text("") 3581 else: 3582 self._runway.set_text(self._wizard.landingRunway) 2900 3583 self._runway.set_sensitive(True) 2901 3584 … … 3578 4261 self._payloadIndex = len(self._pages) 3579 4262 self._pages.append(TimePage(self)) 3580 self._pages.append(FuelPage(self))3581 4263 self._routePage = RoutePage(self) 3582 4264 self._pages.append(self._routePage) 4265 self._simBriefSetupPage = SimBriefSetupPage(self) 4266 self._pages.append(self._simBriefSetupPage) 4267 self._simBriefingPage = SimBriefingPage(self) 4268 self._pages.append(self._simBriefingPage) 4269 self._pages.append(FuelPage(self)) 3583 4270 self._departureBriefingPage = BriefingPage(self, True) 3584 4271 self._pages.append(self._departureBriefingPage) … … 3653 4340 return self._loginResult 3654 4341 3655 def setCurrentPage(self, index, finalize = False): 3656 """Set the current page to the one with the given index.""" 4342 def setCurrentPage(self, index, finalize = False, fromPageShift = None): 4343 """Set the current page to the one with the given index. 4344 4345 @param fromPageShift if given, the relative index of one of the 4346 previous pages that should be used as the from-page of the next 4347 page. E.g. if fromPageShift is 1, the previous page will be the 4348 from-page.""" 3657 4349 assert index < len(self._pages) 3658 4350 … … 3663 4355 page.complete() 3664 4356 self.remove(page) 4357 if fromPageShift is not None: 4358 fromPage -= fromPageShift 3665 4359 3666 4360 self._currentPage = index … … 3741 4435 3742 4436 @property 4437 def alternate(self): 4438 """Get the ICAO code of the alternate airport.""" 4439 return self._routePage.alternate 4440 4441 @property 3743 4442 def departureMETAR(self): 3744 4443 """Get the METAR of the departure airport.""" … … 3840 4539 return self._finishPage.online 3841 4540 4541 @property 4542 def usingSimBrief(self): 4543 """Indicate if we are using a SimBrief briefing or not.""" 4544 return self._usingSimBrief 4545 4546 @usingSimBrief.setter 4547 def usingSimBrief(self, x): 4548 """Set whether we are using a SimBrief briefing or not.""" 4549 self._usingSimBrief = x 4550 3842 4551 def nextPage(self, finalize = True): 3843 4552 """Go to the next page.""" 3844 4553 self.jumpPage(1, finalize) 3845 4554 3846 def jumpPage(self, count, finalize = True ):4555 def jumpPage(self, count, finalize = True, fromPageShift = None): 3847 4556 """Go to the page which is 'count' pages after the current one.""" 3848 self.setCurrentPage(self._currentPage + count, finalize = finalize) 4557 self.setCurrentPage(self._currentPage + count, 4558 finalize = finalize, fromPageShift = fromPageShift) 3849 4559 3850 4560 def grabDefault(self): … … 3895 4605 self._arrivalNOTAMs = None 3896 4606 self._arrivalMETAR = None 4607 self._usingSimBrief = None 4608 self.takeoffRunway = None 4609 self.landingRunway = None 3897 4610 3898 4611 firstPage = 0 if self._loginResult is None else 1 … … 3938 4651 metar = metar.upper() 3939 4652 if originator in [self._departureBriefingPage, self._takeoffPage]: 3940 self. _departureMETARChanged(metar, originator)4653 self.departureMETARChanged(metar, originator) 3941 4654 else: 3942 self. _arrivalMETARChanged(metar, originator)3943 3944 def _departureMETARChanged(self, metar, originator):4655 self.arrivalMETARChanged(metar, originator) 4656 4657 def departureMETARChanged(self, metar, originator): 3945 4658 """Called when the departure METAR has been edited on one of the 3946 4659 pages. … … 3952 4665 page.changeMETAR(metar) 3953 4666 3954 def _arrivalMETARChanged(self, metar, originator):4667 def arrivalMETARChanged(self, metar, originator): 3955 4668 """Called when the arrival METAR has been edited on one of the 3956 4669 pages. -
src/mlx/gui/gui.py
r620 r687 15 15 from mlx.gui.pirep import PIREPViewer 16 16 from mlx.gui.bugreport import BugReportDialog 17 from mlx.gui.acars import ACARS 18 import cef 17 19 18 20 import mlx.const as const … … 102 104 window.connect("delete-event", self.deleteMainWindow) 103 105 window.connect("window-state-event", self._handleMainWindowState) 106 if os.name=="nt": 107 window.connect("leave-notify-event", self._handleLeaveNotify) 104 108 accelGroup = gtk.AccelGroup() 105 109 window.add_accel_group(accelGroup) 110 window.realize() 106 111 107 112 mainVBox = gtk.VBox() … … 151 156 self._notebook.append_page(self._fleetGateStatus, label) 152 157 158 self._acars = ACARS(self) 159 label = gtk.Label("ACARS") 160 label.set_use_underline(True) 161 self._notebook.append_page(self._acars, label) 162 153 163 (self._debugLogWidget, self._debugLogView) = self._buildLogWidget() 154 164 self._debugLogWidget.show_all() … … 170 180 171 181 window.show_all() 182 if os.name=="nt": 183 window.get_window().focus() 172 184 173 185 self._wizard.grabDefault() … … 427 439 self._updater = Updater(self, 428 440 self._programDirectory, 429 self.config. updateURL,441 self.config.DEFAULT_UPDATE_URL, 430 442 self._mainWindow) 431 443 self._updater.start() 444 445 cef.initialize(self._programDirectory, self._cefInitialized) 432 446 433 447 singleton.raiseCallback = self.raiseCallback 434 448 gtk.main() 435 449 singleton.raiseCallback = None 450 451 cef.finalize() 436 452 437 453 self._disconnect() … … 688 704 self._mainWindow.present() 689 705 706 def _handleLeaveNotify(self, widget, event): 707 """Handle the leave-notify event. 708 709 Here we reset the focus to the main window as CEF might have acquired 710 it earlier.""" 711 self._mainWindow.get_window().focus() 712 690 713 def raiseCallback(self): 691 714 """Callback for the singleton handling code.""" … … 788 811 self._weightHelp.set_sensitive(False) 789 812 self._mainWindow.get_window().set_cursor(self._busyCursor) 813 self._statusbar.updateBusyState(message) 814 815 def updateBusyState(self, message): 816 """Update the busy state.""" 790 817 self._statusbar.updateBusyState(message) 791 818 … … 1464 1491 summary, description, email) 1465 1492 1493 def _cefInitialized(self): 1494 """Called when CEF has been initialized.""" 1495 self._acars.start() 1496 cef.initializeSimBrief() 1497 1466 1498 def _bugReportSentCallback(self, returned, result): 1467 1499 """Callback function for the bug report sending result.""" -
src/mlx/gui/prefs.py
r392 r684 243 243 self._setSmoothing(self._vsSmoothingEnabled, self._vsSmoothingLength, 244 244 config.vsSmoothingLength) 245 246 self._useSimBrief.set_active(config.useSimBrief) 245 247 246 248 pirepDirectory = config.pirepDirectory … … 291 293 config.vsSmoothingLength = self._getSmoothing(self._vsSmoothingEnabled, 292 294 self._vsSmoothingLength) 295 config.useSimBrief = self._useSimBrief.get_active() 293 296 config.pirepDirectory = text2unicode(self._pirepDirectory.get_text()) 294 297 config.pirepAutoSave = self._pirepAutoSave.get_active() … … 406 409 xstr("prefs_vsSmoothingEnabledTooltip")) 407 410 simulatorBox.pack_start(vsSmoothingBox, False, False, 4) 411 412 self._useSimBrief = gtk.CheckButton(xstr("prefs_useSimBrief")) 413 self._useSimBrief.set_use_underline(True) 414 self._useSimBrief.set_tooltip_text(xstr("prefs_useSimBrief_tooltip")) 415 mainBox.pack_start(self._useSimBrief, False, False, 0) 408 416 409 417 pirepBox = gtk.HBox() -
src/mlx/update.py
r672 r681 525 525 return 526 526 527 print "update: result:", result528 529 527 (manifest, updateManifest, modifiedAndNew, removed) = result 530 528 localRemoved = getToremoveFiles(directory)
Note:
See TracChangeset
for help on using the changeset viewer.