Ignore:
Files:
9 added
14 edited

Legend:

Unmodified
Added
Removed
  • MLXMANIFEST

    r723 r726  
    11library/encodings/shift_jis.pyc 1670    afdb08e9b2888f86fc71010edcf057b4
    2 library/xml/__init__.pyc        1058    8f77f254e8c6db7a3b6d9930a686d787
    3 doc/manual/en/finish.png        28855   671eac74a9f5801c794f08d5861eafaa
    42library/sre_constants.pyc       5988    060e037737c1096503cf9247fc353edf
    53library/encodings/euc_jis_2004.pyc      1694    e12bbd059d4fd595cf4be5440ab439c2
    6 library/encodings/iso8859_7.pyc 2686    db390f1961c1fd4181e351c330816ecd
     4library/xml/dom/xmlbuilder.pyc  15414   42285fdd810a2aa92c06775b5d415c33
    75library/fnmatch.pyc     3414    4d50000f78e903598af06ef1c5cfb3ef
    8 library/libexpat-1.dll  143096  701659d3689bf4a8265b669b7d774255
    9 library/gtk/_gtk.pyc    549     fc79b81b10be66eb2514e690cc0090ac
     6library/gtk/_gtk.pyc    549     9458c6b0ddc3c1e11c1203b6fd4633a9
    107library/encodings/cp858.pyc     7591    02054a0b8e91b9758826eb70cddf096f
    11 library/mlx/pirep.pyc   4623    6c485ea65ff6245ab56960a8bbec7051
    128library/encodings/cp1254.pyc    2678    17ff2ac86f90886d5c73ed789f0499f3
    139library/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
     10library/lxml/etree.pyc  555     698876f9fdc81ba76c8a6fe486c49dab
    1911library/encodings/gbk.pyc       1622    71c1e7fe25116114241829a60e57c5f4
    2012sounds/speed.mp3        26331   3d64da0eea9f48fa73be82d385354bf6
    2113library/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
     14locales/am.pak  10404   5501abf396344840777c5e65843dd680
     15locales/id.pak  6724    87f2077cb9f8a80f18ed5ab3c48d448b
     16library/distutils/__init__.pyc  365     6f7d10b79fa1086d3ac9ce0806b5ba23
    2717doc/manual/hu/pirepViewer.png   26835   267e4325e550ed14ed22f86a2c7e8e9d
    2818doc/manual/hu/prefsGeneral.png  25082   9775eaf0c8f1f770e1ad46ce9b6e6973
    29 library/atexit.pyc      2083    595a09be339c73c3c02e378d99325d2a
    30 library/cookielib.pyc   52852   2a1030653dc204a9ba1fb56fd32eca68
    31 sounds/737taxi.mp3      157362  846c403e5cb660be53c8b6da16b68234
     19library/mlx/gui/statusbar.pyc   4812    490a882b53429fa18f317e146f0c70c0
    3220doc/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
     21library/lxml.etree.pyd  2977792 d9f46391d4eeb719304a07b1ddaa72d9
    4022library/pdb.pyc 41336   cca4477d622e897335b3f0cecb667ff4
    41 library/pangocairo.pyd  17920   5fc69a7d29a6d3127710c64de440daa4
     23library/lxml/html/_setmixin.pyc 4312    eac09282d97aceede13bb8efc0da3a5f
    4224doc/manual/en/fuel.png  27700   777f9f3431c2f53db4b98f3449e4baf7
    43 library/mlx/gui/info.pyc        6538    78c97f25111c13dc94c6226140943916
    44 library/io.pyc  3378    197da422e1d85c483c94fa0251b5ff76
     25subprocess.exe  267264  00107a8ed63a3e055e5d14f5c4b6cb0d
     26library/selenium/webdriver/android/webdriver.pyc        1348    d8e382aa629964bf424c14159dd4fd2d
    4527library/xml/sax/xmlreader.pyc   17862   0362ded7016d21cdd85aea1170ebdda1
    4628doc/manual/hu/fuel.png  29886   92a67f7d11e5101a7ac64034c7be26a4
    4729doc/manual/hu/time.png  28618   50dd8f862b7e1034cb1066ab16e7c587
    4830library/encodings/mac_croatian.pyc      2755    425b44ba614eff660b863cb7cc12e509
    49 library/encodings/iso8859_6.pyc 2723    c8f9aa14a6a2ebf05d977317114bc65d
    5031library/stringprep.pyc  14089   1c0d248fa5ff974c44479a82d8deb72c
    51 doc/manual/hu/prefsSounds.png   22667   452c396c2bda9684bf052c98fd7870d1
    52 library/sre.pyc 499     92bb633daa0bab6550ec0e3677673b5b
     32library/WINHTTP.dll     354304  d29f2889baa10e19ad9ff70c8d5ecf50
     33locales/ca.pak  7484    6490335e2837ffefb296ff1fabb50372
     34library/selenium/webdriver/remote/switch_to.pyc 3203    203c551f8bb5b7999810cf31728c85ee
    5335library/encodings/cp720.pyc     2736    a0f8bdcf6477a00166d2a38b1ba3ce7c
    5436library/xml/sax/_exceptions.pyc 5829    9f1abe12a091b6808b131a0b4e179b5a
    55 library/encodings/iso2022_jp_3.pyc      1699    ee1c3aa11bbe19eeb4deafa238563133
    56 library/encodings/mac_turkish.pyc       2739    1682e228ddfd2e74e3ccaee0b65e7261
    5737doc/manual/en/prefsMessages.png 22653   9002bdcc9f1ecd395c67e0662dec62dc
    5838library/xml/sax/handler.pyc     12528   655e21f07d79d8cde1d7af6fe0d9c2db
    5939library/collections.pyc 23430   3b68687320ddc080ef5c92404487a161
    6040library/encodings/hp_roman8.pyc 3922    cc8ddf1c5f5264309df0050775df2dc3
    61 library/xmlrpclib.pyc   40724   d4f819f9199ea21236a74c967e335c43
    6241library/encodings/big5hkscs.pyc 1670    0ff54e70f21b5e4a359d3779367cba85
    6342library/encodings/utf_8.pyc     1806    4b8dee0284ea2f55c4142fcde7463524
    64 library/unicodedata.pyd 688128  c856c31a03dc892e4f2aee93d0bfee44
    65 locale/hu/LC_MESSAGES/mlx.mo    69361   d6d8b2f8bd1a18bcc710b841e849d5c3
     43locale/hu/LC_MESSAGES/mlx.mo    73166   f479bb641fede1c31adbd0ff2a3d736b
    6644library/encodings/mac_roman.pyc 2716    4b4745eccfcb77860b70b374ac07fbcc
    67 library/copy_reg.pyc    4893    7a58bc441232056d1c123cd3375b3774
     45library/py_compile.pyc  6292    425da7ee065aa158fd274946204a4a77
    6846library/ctypes/_endian.pyc      2154    c73aab798475f9961158ed4f6c07a70b
    69 doc/manual/en/debugLogTab.png   33696   5be65d41058f78554840032c51aa9d6d
    7047doc/manual/en/checklistEditor.png       26353   b8963432d1219a2138e22850b1b94b56
    7148library/email/_parseaddr.pyc    13285   9a4c79b09ed093f1fc48b4d427b877e0
    72 library/dummy_thread.pyc        5094    310a3d15c9cf20259b0ca4892811dec5
    73 library/gtk._gtk.pyd    1882624 bbb1d1e41bbebc6abf69bed719d50497
    7449library/encodings/__init__.pyc  4298    df673fd19cf6e69f54e7638d05179a32
    7550library/share/themes/MS-Windows/gtk-2.0/gtkrc   1825    94d104680cec5f3d8bbec56258d0c926
    76 library/_hashlib.pyd    287232  a1a18de0644f481749fcbcf26005eeaf
    77 doc/manual/en/monitorWindow.png 20886   42e08d10c758e21209c4c021f391dee7
    78 library/_hashlib.pyc    549     9e2049be4b8278f6106cd91d0b39a375
    7951library/libpng14-14.dll 230529  f3a15497e25baaa721f96638d7a4d2f8
    80 library/copy.pyc        11674   30d1745c5e38ab170f8a0486fbebf305
    8152library/share/locale/hu/LC_MESSAGES/gdk-pixbuf.mo       21895   a932ead453f04de30e348c1689a4d896
     53library/selenium/webdriver/safari/__init__.pyc  125     4a6fe7f5be076227125ddd0577386fa7
     54locales/fil.pak 7790    38cdea149d120d8e9a8a0b0a90ac5dfd
    8255library/mlx/gui/dcdata.pyc      19878   128e72fd5c4cf74b988abe22b9e9e641
    83 library/mlx/gui/__init__.pyc    107     22f268cac1c5be2f3a058810b6caead3
     56library/selenium/webdriver/common/utils.pyc     1718    4f61f38d0107f2694454eacb6d480f45
    8457library/encodings/iso8859_5.pyc 2679    58a290e94b0266ef8ff4ee52da00e257
    8558library/encodings/iso2022_kr.pyc        1683    ef9549932514d2deda6c4676e5e5f1db
    8659library/libglib-2.0-0.dll       1242929 18e88b04da123bf05b07ff60a4e96654
    87 library/select.pyd      11776   d90bf525f9f6c9c3aa6532fa6e569b4f
    8860library/base64.pyc      10528   39abec9c60dc011d3c763f443f9b1a11
    8961library/mlx/gui/bugreport.pyc   4602    a32ca4d644f316b3d120ae3dc2597eba
    90 library/traceback.pyc   11223   50ace5c2c6c040a923082442da94cd78
    91 library/_weakrefset.pyc 9290    a56e87c491c0511cd329a3c8c4cd9563
    92 library/mlx/flight.pyc  21066   471a24b3678e6d684d6bf5aead1ae544
    93 library/urllib2.pyc     43566   7eb57ea0dcd1086d1d9073a5cefb0903
    9462doc/manual/en/flightSelection.png       29847   7817c8f5ed8d7fe64cf72d0addaf3e4a
    95 library/encodings/mac_farsi.pyc 2659    df751a61510129a25f7a43ae3aace4f7
    96 library/tokenize.pyc    13565   354d02cd79df187a28c1851a1e3bad96
    9763library/encodings/cp500.pyc     2639    bb122a6e1384530e1b2efb14cf999239
    9864sounds/TaxiAfterLand.mp3        155481  ded1908d2e7bf2ee2cbf445bb44cf756
    9965library/urlparse.pyc    13222   cca8581f4f4fa9067ccc880f049a6032
    100 library/mlx/common.pyc  1327    822ddec8bdeabcd64ec7927b275680c0
     66library/json/encoder.pyc        12918   d4d1f0b8a67df3e7c2f470ca19d0f964
     67library/selenium/webdriver/remote/webdriver.pyc 31960   5ef4044402659e32409fa4570a91f03c
    10168doc/manual/en/mainWindow.png    25345   15b206118a6670f9edaceb8aa830fdd7
    102 library/ctypes/__init__.pyc     18846   2bd183962453ae93d6887b303d3fd338
    103 library/mlx/acars.pyc   1690    733d057c94683c74079d6e096f601855
    10469library/encodings/iso8859_3.pyc 2685    7b5b2924647578ab7555db2d86cd1b9b
    105 sounds/taps.mp3 16614   d4a019c7e9342ae329aee6932d6a43c3
     70locales/kn.pak  15411   d24e6fbfcbd4c8e76cc534bf63d75d61
     71library/xml/dom/minicompat.pyc  3256    4cb81e995ea180f716a8913fb0148a64
    10672library/email/generator.pyc     9877    f387feb2b59e121f7b0ece209e8875ae
    10773library/types.pyc       2386    25023bf7b2334153cfff8922979862c9
    108 conn_grey.png   988     7a956ebba793197f324cec56d94073e7
    109 library/getopt.pyc      6454    8f8cd6763f5339988d157d153c910bf5
     74doc/manual/en/bugreport.png     11730   a649c456acbbfa0419d183a7b8261c01
     75locales/mr.pak  13137   cdfba7767a139ab7c34ec01d496029a2
     76library/xml/dom/pulldom.pyc     12238   14c378c017da4b4a1576321c884c9ac4
    11077doc/manual/en/landing.png       26272   97115671017d7dd3af55513ae912ff17
    11178library/textwrap.pyc    11410   f7bfc56465324edf71b977397a4c7c0b
     79locales/nb.pak  6676    56894a866d7af9193faca13ef28c7b68
    11280library/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
     81library/cairo/__init__.pyc      142     010dd7cc8485565d5782d60e92e4ba34
    11982library/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
     83library/selenium/webdriver/ie/webdriver.pyc     1917    121143596ab09d1c691eb62c08540471
     84library/selenium/webdriver/common/keys.pyc      2116    25c69327342e220cdafefcca6e79bfe5
    12385library/encodings/cp1006.pyc    2725    99fe5e34e21f82126b87b830c382347f
    12486logo.ico        44054   8a2bfc719521f8dc59540055941af7db
     
    12688doc/manual/hu/takeoff.png       28255   c328eb866f78338e178f1fb761f57511
    12789library/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
     90library/selenium/webdriver/chrome/service.pyc   3456    213d552983fc36a04948f1c1fb551965
    13191library/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
     92library/share/locale/hu/LC_MESSAGES/gtk20-properties.mo 167125  cd1b1b3693c1e3c74bfcea20be640cc6
     93library/lxml/_elementpath.pyc   6886    9a280fb32989572f97a77a8439c60b03
    14394library/unittest/__init__.pyc   2945    3b9d3992b823bd7bc391d8b1bb434310
    14495sounds/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
     96library/selenium/webdriver/common/proxy.pyc     9645    560e74712da0a0e2f9115689b0dce0a2
    14997conn_red.png    914     860388cb7c3b26b2f348fdbee40780ce
    150 library/bz2.pyc 534     c0e76855ba3b871b6033bf3e93815fb8
    15198library/xml/sax/expatreader.pyc 13563   4f64c0efb2f1f8dbba84cdb5c6036f2d
    152 library/email/utils.pyc 8840    a7be428df6fddee6121cfce55382d1f8
     99library/lxml/html/__init__.pyc  57505   75e60bdbe2cda9fe95dc43345e79a0ae
    153100library/encodings/iso8859_14.pyc        2714    b9baeb3f59da8a2137db576b2e434feb
    154101library/unittest/signals.pyc    2126    d574469ae3f8e3c3c6054c48e8ff6fe1
    155102library/encodings/cp949.pyc     1638    a248191502a186c4ee64598e5e684608
    156 library/encodings/iso2022_jp_2.pyc      1699    4b917caa926e5779176612409c66be39
    157 library/_ssl.pyd        720896  90826a140137efd0d806038828e16f8e
    158103library/urllib.pyc      48771   4d4b07040a1d0b0b31f5779eeb01c269
    159104doc/manual/hu/payload.png       29785   c9b8f7dd269629ea22764f531e5d27bf
    160105doc/manual/en/gateSelection.png 28063   b02c97fe05d9cd8ea986a5023937f4bc
    161 library/glib/__init__.pyc       187     d44c8c2772b263a36726ac0dcfc04b42
    162106library/UserDict.pyc    7920    c72896a5a8a1a3d93fa6ba23c50a04b0
    163107library/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
     108sounds/737taxi.mp3      157362  846c403e5cb660be53c8b6da16b68234
     109library/mlx/const.pyc   6294    5cdef68da98c1d03135d20e2b78668fc
     110locales/th.pak  13637   7262d0f5e1877212a45a1ef1ccc4c777
     111library/mlx/gui/cef.pyc 13834   c0aa2cc0103680c5c8f25a8b504839d8
    172112library/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
     113mlx_cef_caller.bat      142     d1815645d52f5638f27f16903a977d00
    176114library/encodings/shift_jisx0213.pyc    1710    1ec0383aafb1dcadb5f9b6afff16eb7f
    177 doc/manual/hu/statusIcon2.png   7969    3ec6caa058848932d381da6e02c702be
    178115library/shlex.pyc       7282    cbe1a4823894c97c87d01f9d9faf5b8f
    179 library/cairo/__init__.pyc      142     010dd7cc8485565d5782d60e92e4ba34
    180 library/_ssl.pyc        537     aca2f45a9b83601311c6292e537f4611
     116library/encodings/idna.pyc      6124    6d67198be2b194c4c0acf48e2f1473ac
     117library/selenium/webdriver/support/wait.pyc     3062    0b45eef7d5f12effdcb7b3b3bf077953
    181118library/encodings/iso8859_8.pyc 2717    f3ad6ce58cfac9e3ca86cf5c2fef092b
    182 library/encodings/iso2022_jp_1.pyc      1699    faed9d5747e982cec9fa8b3ad8e1de26
    183 library/encodings/cp850.pyc     7621    20d776af743fa7acf090fbd575eea143
    184 library/xml/parsers/expat.pyc   259     d7be0c4de475d65e08ba7fdbabe088d3
    185119library/encodings/utf_16.pyc    4808    45343ba87ff1675cd72f656555193d29
    186 library/struct.pyc      219     421271d66b783c3f13c37ec09efa8b65
    187120library/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
     121library/selenium/webdriver/remote/__init__.pyc  125     98c24cdbe880f259e3a39688b035f899
    193122library/rfc822.pyc      30648   0d6ab1f052b2b58e19659373c57e6443
    194123library/encodings/cp869.pyc     7915    404063f8111d018b17d803a12c956ee8
    195124library/opcode.pyc      6052    4b056d1c0ecd2904ca1fb2a14f28da3c
    196 library/mlx/gui/checklist.pyc   12279   555775aaed42b3d0687e1b0f501a9f61
    197125library/email/header.pyc        13339   f741f4c3543a278fec30f4d9bdd0f859
    198 library/encodings/cp1252.pyc    2676    b4c43cc72650c911cf3654dbaf565df9
    199126library/share/locale/hu/LC_MESSAGES/atk10.mo    8465    e3f3466da367215aad971d7b0394229d
    200 library/unicodedata.pyc 558     9fff50a023ac65726b3f323860f16dc7
    201 library/select.pyc      543     ac1d1553c508b92a2f222dc5babd3060
     127library/selenium/webdriver/android/__init__.pyc 126     2c08539a10f0de9d77dea0fb81f88c93
     128library/select.pyc      543     000aafbf9f916aa8dc56f48e6421ae8e
    202129library/encodings/uu_codec.pyc  4646    5282a5fcb676851224d2924aa3e48a9e
     130library/selenium/webdriver/remote/file_detector.pyc     2025    06b01ab65d8732125257374fb263e879
     131library/selenium/webdriver/phantomjs/webdriver.pyc      2534    dedaa853a9d939c417e05069a74a0851
    203132library/ConfigParser.pyc        23857   1d17020dd0000ce0f73de812effa152f
    204 library/encodings/cp1256.pyc    2675    c1bf26ed9c9b5ee0eec495138993cffb
     133mlx_cef_caller_secondary.bat    172     c4864924a731e8ed4beae9e70018370f
    205134library/genericpath.pyc 3063    eb5a2eacaea46c733ed68d770eb1d89c
    206135sounds/notam.mp3        195604  9c5edf885a2ba68484a9554a1cd22c47
    207 library/email/base64mime.pyc    5221    c536d6f0c03f029bba77f15ef6ba3d99
     136locales/en-US.pak       6371    7dc755262eb4ba15fd0f2bd986801f13
    208137library/gettext.pyc     14675   606ad2e00535dd0f4fee5bd8d8562b29
    209 logo.png        69816   4a7517b22cfd75cc9c15e3fc1b7ebeec
    210 library/libpangoft2-1.0-0.dll   815421  1dbfead06e26edb81f0849490210e3ff
    211138library/random.pyc      24831   54b2048974a5c98912276ffa5dc637a9
    212 library/mlx/util.pyc    4884    7537803cf47e18210ab5f298ba9eba9e
     139icudt.dll       9956864 5434e18b933e03f274d8da59fda4c676
    213140library/mlx/soundsched.pyc      9185    4211730170fddb82b5683ce1849234ee
    214 library/doctest.pyc     79210   620422f95e18417ff5f8440534a71e91
    215141library/mlx/logger.pyc  13109   a70c061d36cf6b4e540f5610133466d3
    216 library/encodings/cp775.pyc     7888    25bf7dd514dff294aa02d5119399b2b7
    217 library/libfontconfig-1.dll     279059  dd583bedc5efe7bbd21a8ef107dec88d
    218 library/_strptime.pyc   14347   ad17a449b54061177a080e3a21507a39
    219 library/mlx/singleton.pyc       9184    9eec2ed5b230e043afc56592fb13a684
    220 library/mlx/airports.pyc        4350    e0fee9bae54850629841bbcf68b1b89f
    221142library/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
     143library/selenium/selenium.pyc   88274   e4b7af1a0fdb5800faba4cdbba1e85b3
     144library/selenium/webdriver/common/html5/__init__.pyc    131     e2214dcaff874176a4d2b8ecdaa8a677
    226145library/encodings/string_escape.pyc     1907    5856af6d4b4bbbe84b0595434afe8d34
    227 library/encodings/ptcp154.pyc   4700    377245b13f9246526c8c17b5e13bac4f
    228 library/gobject/__init__.pyc    5154    944a57e672b63943bf88c5dbe459cd41
     146locales/lv.pak  7778    892b75d606ecee874c180454b1dcb956
    229147library/xmllib.pyc      25767   3ec689dd4068f2f244823616800486f7
    230148library/re.pyc  12699   5b157b40e294465c0f3d2ca82f70f66e
     149locales/gu.pak  13531   b227db903a5cadbf928e97133643415d
    231150doc/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
     151library/xml/dom/expatbuilder.pyc        31399   c996bf83ee6078c9ddda33b79ce11d48
    245152library/encodings/mbcs.pyc      1883    2213911a7dd0deada6799b63e18b695b
    246 library/pyuipc.pyc      543     2977fd6e66c07bb48bb2c21f1b90139c
    247 sounds/TOC.mp3  273032  fae1be2ad25c8b54806bd1d759919705
     153library/json/decoder.pyc        11727   edb191cd3c20a61e33cbe04edd422270
    248154library/encodings/iso8859_4.pyc 2678    16f2fe7994051752360c533c052b892b
    249155library/functools.pyc   5569    4af4ea4f948f8327649fd65f93cde1d4
    250156library/getpass.pyc     4627    7c01bf3df2e0074115d1a484629b4c63
    251 library/freetype6.dll   538324  fe5ec4b2a07d2c20a4cd3aa09ce0c571
    252 doc/manual/hu/finish.png        31044   adb40bacabf2cc597687fffe5c3340de
    253157library/encodings/mac_cyrillic.pyc      2745    c17fd9fd5bc854dd5ffe80076e1eeb02
    254158library/threading.pyc   26361   ac75b44a3dfea9ec884fcde4f7aa3275
    255 library/email/__init__.pyc      2752    5e1a1ba649ac697d631b031987d09c33
    256 library/share/icons/hicolor/index.theme 22255   5138b82a57488ee821b8a38c2aa1420e
    257159library/pywintypes27.dll        110080  7fa49d1d53588cca5071dfaa61061087
    258 library/glob.pyc        2238    d06c4386d18e2ab7f53fb866599403cc
     160library/lxml/html/defs.pyc      3980    b5d26d607dc394b6a37511fc902fed94
    259161doc/manual/en/calloutsEditor.png        14862   8041dc5f889a8913f510bdf0da923b58
    260 library/encodings/iso2022_jp_ext.pyc    1715    97eda1c1468f65445951b0bf23a89570
     162locales/ro.pak  8130    3220d7b7833d5a3df586c24a6f1696a9
    261163library/unittest/runner.pyc     7220    118e9e76a41d050e53c2a5ef70189acb
    262 library/_threading_local.pyc    6424    9dfe88d58a5811d2d56347cc381ebf0a
     164library/selenium/common/__init__.pyc    166     b2bcfbae2f994badd5e73c3ec186552f
    263165library/abc.pyc 5923    c45df4ceeb48b9c74dcb8bc4d5928924
    264166library/os.pyc  25063   7c7eee513ae4238d1b2c16af719c10a0
    265 doc/manual/en/payload.png       28191   b9d22d6226541b8f58df89c7c9da9a62
    266 library/pyuipc.pyd      47616   2b4fe2d52575de71dda6f72690cf581e
     167library/selenium/webdriver/chrome/options.pyc   5251    e62df837d9fe50d3f6464a0c4f02489e
    267168library/encodings/cp424.pyc     2669    4667015363f54bae44e98d4748e8acfa
    268169doc/manual/hu/flightSelection.png       30815   e8bcdda6079c6b16ffa72ca62c21ca85
    269170library/win32pipe.pyd   24064   de374eded459293b2a7eb8ed8fb38eaa
    270 library/win32pipe.pyc   552     19590da3d42ad587ab8f48ab66c92312
     171library/win32pipe.pyc   552     91891e843acff73f0bf28e2450464e7b
    271172doc/manual/hu/cruise.png        27460   a2610173563e45baae1b0f9e63007ebd
    272 doc/manual/hu/logTab.png        28706   f48004202310bd2a1cb2f873d8064e93
    273173library/encodings/iso2022_jp_2004.pyc   1723    66376e788f3819e781897268c1100986
    274 library/win32event.pyc  555     c419ceffad157c77eb64a0567a49f85e
     174library/cefpython3.cefpython_py27.pyd   968192  58161b73feae974f560d2c9f416adf3b
    275175library/encodings/cp866.pyc     8103    f36418dcf93b17b3ced63bd544f44159
    276 library/gio/_gio.pyc    549     dc1412f35c94fea43409ff9228163889
     176library/gio/_gio.pyc    549     2965d8aa7312527dda6888c8f5ecb287
    277177library/encodings/cp437.pyc     7874    63f1278c0a66129c6fb4f504d6b61b66
    278 doc/manual/hu/helpTab.png       27961   8e7cc4aeb8d7f40fcf186c7caf53583b
     178doc/manual/hu/prefsSounds.png   22667   452c396c2bda9684bf052c98fd7870d1
    279179library/mlx/gates.pyc   7002    20aca1eaf3de122eda51883b5b518f6f
    280 library/encodings/shift_jis_2004.pyc    1710    f8bb22a8b02dba2b66b7f77122c98fd6
    281 library/encodings/cp856.pyc     2701    8b6649490089bedd87e9b8c56985f6b3
    282180library/mimetools.pyc   7837    c9accd6ef795bf71c90630be0161cadc
    283181doc/manual/en/pirepLoaded.png   9887    e27a7c87e134944787e29874c455380d
    284 library/mlx/gui/weighthelp.pyc  13179   9ebfa07c41e167371380dda80b5bd72b
    285 library/encodings/quopri_codec.pyc      3365    01342d4d2735bcbfeb333d784297547a
    286 library/libcairo-2.dll  1294335 c0da2a3ab704f338f0fc6df51fd99497
    287182library/encodings/cp852.pyc     7890    7d58aa3397615349148b7885dc0e5280
    288183doc/manual/hu/pirepLoaded.png   10573   af950f8f037d6e17a24edcb3e849d159
    289 library/gio/__init__.pyc        809     bc9332556e93183a58be5c10cba18557
    290184library/pygtk.pyc       1914    814f68243c9fd447c0aa02326f1ead2b
    291 doc/manual/hu/debugLogTab.png   34237   e4d91a024beec781966f7de91ffd196d
    292185doc/manual/en/cruise.png        26531   fc94f27a40dad772437494c71e3c3d73
    293 library/weakref.pyc     13028   5d1c14275f47e8cf6d40bc6877fde976
     186locales/es.pak  7713    1bdcb1f825bf2bf68380662427f583b2
    294187library/encodings/utf_32_be.pyc 1747    3e8c9ef8145de502320202b1688fd2ee
    295 library/nturl2path.pyc  1755    7835082f2dd6806f99cc25bed13ff7dc
    296 library/email/message.pyc       27764   493826f529d17f5a21080a4c98b49369
     188library/cefpython3/cefpython_py27.pyc   600     5aecdbd2ba6e2bcdc1bd808985d7825a
    297189library/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
     190library/_ctypes.pyc     546     481eb87be1fe7c202bd442fdd963f41a
     191mlx_cef_caller_secondary.sh     178     ecb35d3294a5d1e729697f802a75cde4
    304192library/encodings/iso8859_2.pyc 2678    da65f42e1be5bec97161e8c1cc4f0fb7
    305 doc/manual/hu/statusIcon1.png   6920    614cde237a5b4e2678ed15d9cd01088e
    306193doc/manual/hu/briefing.png      31774   e090e1a6fab300a2d55cac03ad71d551
    307 library/pango.pyd       111616  c934763bdf125c3dc92b56db817001d4
    308194library/encodings/cp855.pyc     8071    0a4259ba854c24186f2ce61d85883b4a
    309195doc/manual/en/time.png  26508   0267dbdd59e65692bb0b9108103c07f5
    310196doc/manual/en/flightInfoTab.png 27718   4634da26b64d2c1a07ff5a7eec1ae29f
    311 library/encodings/ascii.pyc     2081    a5fffd04734740386629fdba1113d585
    312197library/libgio-2.0-0.dll        1222182 ea1263fb4c2230284f3e30c446bfea6b
    313 doc/manual/en/helpTab.png       26243   cd5c021a2fc40485805b9fde03bcd060
    314198library/encodings/cp037.pyc     2639    2981678e762ba857e30becbe27eb6614
    315199library/email/parser.pyc        3669    b4c89014f11b6551907291d3b789f371
    316 library/_MozillaCookieJar.pyc   4392    21966f49c75d0bd7827ec82d4e6e5d30
    317200library/repr.pyc        5045    82f0d89c685c3dacd941e01e4b2f31ef
    318201library/quopri.pyc      6352    87c42d94f753dd4c8a761cfa79453bb8
    319202library/htmlentitydefs.pyc      6347    814dc784fdb3d998dccee4c3f4c0394f
    320203library/mlx/gui/monitor.pyc     12980   dc303c215e1380adee44b691870d45e8
     204library/selenium/webdriver/common/action_chains.pyc     12050   696113f4eb85587998c08b915d8269a4
    321205library/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
     206library/mlx/update.pyc  16925   8c57d867b7f8ed088ab2b2afb2ae455c
     207library/selenium/webdriver/firefox/extension_connection.pyc     3145    5f8929a22a172a0aa71d4d4acb2aaf17
     208library/selenium/webdriver/remote/webelement.pyc        17884   6fa60da9a8bc1d2dc6e1286d9bd8f1ab
    328209library/bdb.pyc 17708   9a8fdcaa65f595c842689247847879d9
    329 library/mlx/gui/flight.pyc      126827  159f2acb2bda5ab2719affc81d8e1c7f
     210locales/sl.pak  6956    f4f7de66d579c41682c64ee1ef1f11f8
    330211library/unittest/case.pyc       37758   1d2235e74c246b562c5c00ddf73c621a
    331212library/subprocess.pyc  38648   c9f749db06dfc9fb32079de51d6efd01
    332 library/mlx/acft.pyc    39301   a2bc53905f026b474e7b50df620ee7dc
     213library/mlx/acft.pyc    40830   effafce121013f2b7631e46bf568b2ac
     214library/selenium/webdriver/firefox/firefox_binary.pyc   7758    cee737a6fd574b0f2e6ca28508844a30
    333215library/gobject._gobject.pyd    113152  3d05dd191361f83aa247b62c700fa04e
    334216doc/manual/hu/checklistEditor.png       27863   8c750892a52dc10ca654a9d0b2765358
    335 library/keyword.pyc     2063    4d5bab044f614cfdabe89011cd3d7375
    336217library/bisect.pyc      2971    ad8ce3e265b404ed3971b842106f8179
    337 doc/manual/hu/index.html        51903   4bfbb26709c699f21fe593cb4efd2d98
    338 library/encodings/cp862.pyc     8003    261df6dd1a6e5ad90a83dfc739a25e0a
     218library/mlx/gui/acars.pyc       1057    27238740a8776e6d8e6c8867d23955ea
    339219library/gtk/_lazyutils.pyc      2772    93f9aa41ad4223106d99340cd539a566
    340 library/mlx/gui/statusicon.pyc  5616    03e079307c1f83f36284e1b32887b28e
    341220library/mlx/mlx.pyc     2979    876ff2c4456985567d8a8af6d156b743
     221library/selenium/webdriver/remote/utils.pyc     3073    592eeca209cae991779c97ddd322b388
    342222library/encodings/cp864.pyc     7999    ca90afae086cb6b8f69b8419cc3cd1cb
    343223library/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
     224library/pyexpat.pyc     546     bc188a96c9c3a69312eb9fb5d9183558
    349225library/unittest/loader.pyc     10884   591a785be23fba35582ce33bdd3d7acd
    350226library/ftplib.pyc      32043   5a1925388a0874e459aed6891f4cf0c1
    351227library/libgmodule-2.0-0.dll    36986   b0b2396fc6413016a45a5e8ca2ea8152
    352 library/gzip.pyc        14358   2a4a036a0b24586b6bdde419847a18f6
    353228library/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
     229library/platform.pyc    35896   50aadbb6c4c78153f204e07704a2f892
    357230library/unittest/suite.pyc      9838    bf2c79bd4a6b6032f1ea53fa4908748f
    358 library/encodings/cp1251.pyc    2673    cb5ce7a7207c53f1d9e7cae48b3fb258
    359 library/encodings/koi8_u.pyc    2686    b7e5a52eaaaf6b340075b40dc7596f42
    360231library/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
     232library/mlx/gui/prefs.pyc       27921   24af38ec7e9b5dd275557147785f3d74
    364233library/encodings/tis_620.pyc   2748    5969b4db4f967b11ae7992cdfbf5890e
    365234library/encodings/base64_codec.pyc      3568    1d8f13d09024bd124a9ff73a9244c0f1
    366 library/_ctypes.pyd     106496  deccede0781726ce0daa75a4635bf919
    367 library/encodings/euc_jp.pyc    1646    c0d60e6d08161643bd7dbe651063f334
    368 library/encodings/utf_16_le.pyc 1854    dfa68705c26fd303adfc7ce3322166f2
    369235Microsoft.VC90.CRT/msvcr90.dll  655872  e7d91d008fe76423962b91c43c88e4eb
    370 library/_socket.pyd     38400   5d273be76603399e88cf57f2605004bf
     236library/selenium/webdriver/phantomjs/__init__.pyc       128     48073c8ec42358f04a36b7f127c3db92
     237library/distutils/spawn.pyc     5292    4cbe559081b3f8cab915a083bd9ef4bd
    371238sounds/ding.wav 80856   18e639792d3767436ac6955eb60e4f54
    372 library/_socket.pyc     546     b1108e87d6be8d38c7e2c6e6cfa03992
    373 library/encodings/hex_codec.pyc 3520    a8b8d5b7c8810379c7007bcbc253951c
     239library/selenium/webdriver/firefox/__init__.pyc 126     0ce57f6223e88783f1a5d4d8c4998682
    374240library/mlx/checks.pyc  62721   759425ec78c8430f699691e5abf92c1d
    375241doc/manual/en/statusIcon2.png   5875    71fc121823dee0a4c00715fac1b5665c
    376 library/mlx/sound.pyc   8226    03b098ed1dd965db98ef4f75b07d6cae
    377242doc/manual/en/pirepViewer.png   25098   7c545e70b995ac0f9fcae93fe5d0e899
    378 library/encodings/aliases.pyc   8750    75c22196420d0157fec085d285947a71
    379 library/glib/_glib.pyc  555     f29fe66820e637dadd911b7b8275820e
    380243library/libpangowin32-1.0-0.dll 108945  d07f128828225b7cc38e9e590eb3ba8a
    381 library/encodings/iso8859_10.pyc        2693    5e6cc8f721486ddbc1c99da285e13191
    382 library/win32api.pyc    549     a39e5810fa1f2f7d4c0738f05e64cdac
    383244library/gobject/constants.pyc   1957    2e9cdc605e7c449ef4fc23f56128acec
    384 library/libgtk-win32-2.0-0.dll  4938115 cc6dca192aca6f91bd96a5b5f86e036d
    385245doc/manual/hu/calloutsEditor.png        16026   fede870894a85e5d21ca16a026aa6a98
    386246library/mlx/xplane.pyc  67098   a714130f818d2d0220760c98268a1e66
     
    390250w9xpopen.exe    49664   e6895233ad1e6f3dcdd04c7c26b0e7c0
    391251library/locale.pyc      48754   a51d20267132acc6bc66ac6252cf870f
    392 library/mlx/gui/callouts.pyc    16060   7a3055f313e693779e9d2df22bb7568a
    393252library/encodings/cp1026.pyc    2653    ced5dd0cc0da378b0968f82309b9bcfb
    394 library/encodings/iso8859_15.pyc        2693    b892f358bbc25ae9d3824be158aabe28
    395 doc/manual/hu/prefsMessages.png 22980   6e60ec51305e95e5d057c0dd82b69460
     253locales/ms.pak  6916    b7742e34f8fff506ced8caedc5dde0ff
     254locales/lt.pak  7703    6fa4b1f4e7a936189a41811e0d0e3431
    396255library/win32api.pyd    98816   4a1ebd35719d263205eb014913b784bf
    397256library/encodings/utf_32_le.pyc 1747    8679f9c7cca87ad540b30c176ef914de
    398 library/_abcoll.pyc     19891   a5c1881934f1533c22b22b9317ac1d68
    399 library/encodings/iso8859_11.pyc        2787    a31e6d0d34e35259d7183cc9437eacca
     257library/selenium/webdriver/common/touch_actions.pyc     7806    8de07e30cc8e6b7014b6a5c80ba7bc6b
     258locales/zh-TW.pak       6505    ba45f30c77d990e9139af1f48927f717
     259library/selenium/webdriver/opera/__init__.pyc   124     7b04c3d7c320d1da1cb3cda037eba3b1
    400260doc/manual/en/prefsSounds.png   21397   9037f17f772e554e7d9d24133acd5c4d
    401 sounds/cpt_takeoff.mp3  8255    254edcf79b8b3752d1a7c191c57f615a
     261library/posixpath.pyc   10734   d694316c239784c444b252c801c97efa
    402262library/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
     263library/selenium/webdriver/support/select.pyc   8438    be8c4fccc3c268163b6800af0a83dac8
     264library/_MozillaCookieJar.pyc   4392    21966f49c75d0bd7827ec82d4e6e5d30
    407265library/share/locale/hu/LC_MESSAGES/glib20.mo   84697   a3167f1c306a43d662f7c261abc69156
    408266library/heapq.pyc       13109   20df4990fffba06bbdda995ce7466caa
    409 doc/manual/hu/gatesTab.png      30710   a6a59e6a2660c15418489e8785e4bcee
    410 library/webbrowser.pyc  18138   c85009edebad6d278fe786fec10ebbbe
     267library/selenium/webdriver/remote/mobile.pyc    2444    e666ca905ceeb2a1569a60ed6eea974a
    411268library/sre_compile.pyc 10792   c58f94fbee661f3bb0c59ecc13c0416e
    412 sounds/notify.wav       119384  108025b17f67e61946df5d7fbf713cdb
    413269library/encodings/iso8859_9.pyc 2678    88880e046738ebd2012c8034416a9adf
    414 library/encodings/cp875.pyc     2636    c72faa5d1cb6105ae81c971448fea479
    415270library/encodings/mac_greek.pyc 2699    770cdf4f35a081a8ce71e776e6ecd804
    416 library/dis.pyc 6068    3934ab23d64f3da393305b19df0f1fd0
    417 library/difflib.pyc     60869   38d2e1340b64e22d7b1fed90a57fb83a
     271library/struct.pyc      219     421271d66b783c3f13c37ec09efa8b65
    418272library/hashlib.pyc     4346    fc9aecaadc9607989e48449f46cbdfd1
    419 conn_green.png  936     0b7fbe8ee0af2cbeefdb42110a8fdf34
    420 doc/manual/en/index.html        47073   66a8cdd22cfd3d819c02f3aaab48eaea
    421 library/encodings/cp1253.pyc    2689    52d4a723e9e86940701cb648b40ed884
    422273library/email/encoders.pyc      2092    cd83727bafdb4145b8fa43dd10ea48f3
    423274library/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
     275locales/pt-PT.pak       7270    731a9c54bd2331f411a5a2976d1f3622
     276library/selenium/webdriver/remote/command.pyc   5463    3e7f6443358e670e58a7fc6c97e4ab16
     277library/encodings/iso8859_10.pyc        2693    5e6cc8f721486ddbc1c99da285e13191
     278library/mlx/gui/statusicon.pyc  5616    03e079307c1f83f36284e1b32887b28e
     279library/mlx/config.pyc  32743   5a5523901d6fcb215f84e3d217c47f31
     280library/atk.pyc 534     2a53b13519b7419e8cf08f48baa4c1b6
    431281library/gio._gio.pyd    263168  acb8c95fdc391079bebdf7d8685b0dbc
    432282library/encodings/cp861.pyc     7868    c97a8970ce4d9f40cbafbea6576fbdca
    433283library/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
     284library/selenium/webdriver/safari/webdriver.pyc 2470    f5e61aec420bfc43a08db515c9b75276
     285locales/cs.pak  7347    82b7a3d87a1307e65b6dac449e858721
    438286library/__future__.pyc  4177    43d264d951ac2085334c7b9dd4558595
    439 library/logging/__init__.pyc    54813   7bcdf2e8da474f5e94d8e499f6fc3ed4
    440 runmlx.exe      64000   c7d906aea1b4aa8b4496febdf150717d
    441287library/optparse.pyc    51253   39594a40bc1222173d57b7d5740e3d92
    442 library/mlx/fs.pyc      11863   63fda2c4e0727136be69ed82f9e2bbc8
    443288doc/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
     289library/selenium/webdriver/safari/service.pyc   2695    e70fc7f74f77a3824804835b54bcfea4
    449290library/cairo._cairo.pyd        69632   46d708899832abc0123c4e9cb4f61d5d
    450291library/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
     292locales/en-GB.pak       6364    2a92f4fc905c2743129ccbcdf80d443a
    456293library/mlx/gui/delaycodes.pyc  12929   e8c1d6f46ef6e369451be3cbde0a3127
    457294library/encodings/raw_unicode_escape.pyc        2048    8138045029da04bf45204ab756d1bcd4
    458295sounds/TOD.mp3  174707  92176d53d948fbfebd08c011b063179a
    459296sounds/board.mp3        296751  bbacc6eabce97cbae49b4157ece7b8fe
     297locales/uk.pak  11136   21bcaa6fd116b4f5f23ee207e96fa156
     298library/gtk/deprecation.pyc     3104    2e6c9eef82dfa8aa3beb05abd3e274a4
     299Microsoft.VC90.CRT/msvcm90.dll  224768  4a8bc195abdc93f0db5dab7f5093c52f
     300doc/manual/hu/route.png 26601   fd1ee7c47290f4c3a2f9fd6618aeb678
     301chromedriver.exe        5009408 d662fef51894e4e5b6a6f508ed214904
     302library/encodings/iso8859_7.pyc 2686    db390f1961c1fd4181e351c330816ecd
     303library/xml/__init__.pyc        1058    8f77f254e8c6db7a3b6d9930a686d787
     304doc/manual/en/finish.png        28855   671eac74a9f5801c794f08d5861eafaa
     305doc/manual/hu/bugreport.png     12385   c71c7db56f19870ae5d6bb7f533d3679
     306locales/pt-BR.pak       7211    d0542b9b325ea58be590d021aeb7333d
     307library/libexpat-1.dll  143096  701659d3689bf4a8265b669b7d774255
     308library/mlx/gui/info.pyc        6538    78c97f25111c13dc94c6226140943916
     309library/encodings/iso8859_6.pyc 2723    c8f9aa14a6a2ebf05d977317114bc65d
     310library/xml/dom/minidom.pyc     61068   74ffa387e505b9fec2f2ad6a5dcd415d
     311library/selenium/webdriver/chrome/__init__.pyc  125     ff98e760d2c777eacfc473761486a702
     312library/mlx/gui/gui.pyc 54583   52c366560eec66413e5e7850fb5b3308
     313library/stat.pyc        2503    d3b6dc7a54e705219f04d0be75a212de
     314locales/ru.pak  10392   1b66f03dd656a2433ce643d0259fca6f
     315doc/manual/hu/landing.png       28525   2dd99249a389e9faf5c4d7b1180e8ebb
     316library/gobject/_gobject.pyc    573     e4e42f72e063e30757a0183f9b06fe39
     317libcef.dll      38585344        4dfb8a77f35c41bdbe8469877d4af853
     318library/encodings/utf_7.pyc     1747    2beeb059236527197d6c640396476ce8
     319library/atexit.pyc      2083    595a09be339c73c3c02e378d99325d2a
     320library/cookielib.pyc   52852   2a1030653dc204a9ba1fb56fd32eca68
     321library/email/charset.pyc       13200   771aee9802116e673d08b44bc0450f99
     322library/libpangocairo-1.0-0.dll 104729  d3ad38599649097a3645777ff95be08e
     323doc/manual/en/briefing.png      32129   65cf1236d009fd61c1bd6c374ffd261c
     324library/uu.pyc  4212    0073b65d26a6092e4e177c7763058fa4
     325library/encodings/iso8859_1.pyc 2678    f09ec3b7f6a348cbd7f7286b60572bd0
     326doc/manual/hu/monitorWindow.png 20577   34bfd26fe50e72706625a9203ac98217
     327library/pangocairo.pyd  17920   5fc69a7d29a6d3127710c64de440daa4
     328library/pangocairo.pyc  555     d83b002b1ec69315516867733a206a60
     329library/zipfile.pyc     37345   568c6ee7e0404625f47248340afb4524
     330locales/it.pak  7188    10ae10d8bfcffbfa1160574134e14edb
     331doc/manual/hu/helpTab.png       27961   8e7cc4aeb8d7f40fcf186c7caf53583b
     332library/sre.pyc 499     92bb633daa0bab6550ec0e3677673b5b
     333library/tokenize.pyc    13565   354d02cd79df187a28c1851a1e3bad96
     334library/win32con.pyc    140797  84d2d064066cfbcc219230f7e9c6e0b0
     335library/mlx/gui/flight.pyc      147639  f487da6516256651fdc2410dac2ed76e
     336library/xmlrpclib.pyc   40724   d4f819f9199ea21236a74c967e335c43
     337library/lib/gtk-2.0/2.10.0/engines/libwimp.dll  97984   a5bbbe46e1363aba9020a76f2d58e9d6
     338library/email/quoprimime.pyc    8590    f6c7a8ad81d44037dd074f4871053dab
     339library/copy_reg.pyc    4893    7a58bc441232056d1c123cd3375b3774
     340library/libgtk-win32-2.0-0.dll  4938115 cc6dca192aca6f91bd96a5b5f86e036d
     341doc/manual/en/debugLogTab.png   33696   5be65d41058f78554840032c51aa9d6d
     342library/dummy_thread.pyc        5094    310a3d15c9cf20259b0ca4892811dec5
     343library/gtk._gtk.pyd    1882624 bbb1d1e41bbebc6abf69bed719d50497
     344library/_hashlib.pyd    287232  a1a18de0644f481749fcbcf26005eeaf
     345locales/fi.pak  7098    70c7e2fb26c7abf09cb0f9972fb6c93a
     346doc/manual/en/monitorWindow.png 20886   42e08d10c758e21209c4c021f391dee7
     347library/_hashlib.pyc    549     d4aff375686d5501893ac1116dbaf7a1
     348library/copy.pyc        11674   30d1745c5e38ab170f8a0486fbebf305
     349locales/et.pak  6856    18a0a857e46c28b7f1cd8ff639a24aec
     350library/unittest/result.pyc     7444    aefbb3cc79c0ff17787ce84faed7f5e8
     351library/mlx/gui/__init__.pyc    107     22f268cac1c5be2f3a058810b6caead3
     352library/mlx/pirep.pyc   4623    6c485ea65ff6245ab56960a8bbec7051
     353library/json/scanner.pyc        2169    e19ee185b7c79ab5cc433b39fcd33faa
     354library/traceback.pyc   11223   50ace5c2c6c040a923082442da94cd78
     355library/mlx/flight.pyc  21066   471a24b3678e6d684d6bf5aead1ae544
     356library/urllib2.pyc     43566   7eb57ea0dcd1086d1d9073a5cefb0903
     357library/encodings/mac_farsi.pyc 2659    df751a61510129a25f7a43ae3aace4f7
     358library/encodings/iso2022_jp_3.pyc      1699    ee1c3aa11bbe19eeb4deafa238563133
     359library/cefpython3/__init__.pyc 556     38a652a0209e49e323bee4dd54a018af
     360library/mlx/common.pyc  1300    9c6f2d502b9274073cd96caaf4fb90ff
     361library/ctypes/__init__.pyc     18846   2bd183962453ae93d6887b303d3fd338
     362library/mlx/acars.pyc   1690    733d057c94683c74079d6e096f601855
     363library/encodings/cp865.pyc     7868    7d40a7ba053ac23339218be8799e5397
     364locales/bn.pak  14431   f402d363b8a07649b6787b745434daf7
     365sounds/taps.mp3 16614   d4a019c7e9342ae329aee6932d6a43c3
     366library/markupbase.pyc  9010    b33ff430e9b1adba3d540b5394ff289a
     367library/cairo/_cairo.pyc        561     fb6b7b442e46dce7a08d5875101f4a21
     368locales/te.pak  16110   c3af85e60b78273a93970cf8805ded04
     369library/lxml/cssselect.pyc      3861    2e693f0c25ab04b1d130646cddd4e081
     370library/warnings.pyc    12666   9788b5f45765e8204e04c820f2711094
     371library/selenium/webdriver/chrome/webdriver.pyc 2758    a7d3d371b22119d0327d9af9f77fd845
     372locales/sv.pak  6641    4e11abed42cc59a403ae4767d2acbeff
     373library/encodings/iso2022_jp_1.pyc      1699    faed9d5747e982cec9fa8b3ad8e1de26
     374library/email/mime/__init__.pyc 110     bae57a199e3d0998a1364b9fbae8b3cd
     375library/winerror.pyc    112982  4986a8f2df094dddedd12c9fddf4966d
     376library/encodings/cp775.pyc     7888    25bf7dd514dff294aa02d5119399b2b7
     377library/mlx/fsuipc.pyc  74670   4da0a45a9a6372a2e463ab21fdc43359
     378library/xml/sax/__init__.pyc    3579    c78222ad1fd4f3dbdea06666fe74e84e
     379doc/manual/en/connect.png       27436   5406dfe5408569cb95499c057bf0185b
     380library/selenium/webdriver/opera/service.pyc    2411    df01b6f7348ad54da47919158fe7e596
     381library/selenium/webdriver/opera/webdriver.pyc  5308    7ba71ef197d7d537635427f166da0f1c
     382library/encodings/charmap.pyc   3203    2358b8eb05c66e2a2826b5db6f214547
     383library/libgdk-win32-2.0-0.dll  931390  a2b46daac3d4140efdf86429f7aea476
     384library/mlx/gui/common.pyc      10433   e96ada4071fcdd2937398627d5d281dd
     385library/dummy_threading.pyc     1265    5ab5c897721aeb346b5bccb84066c5bd
     386doc/manual/hu/index.html        51903   4bfbb26709c699f21fe593cb4efd2d98
     387library/encodings/cp1258.pyc    2681    5c09b3b0a82036b0e785422376cb64cc
     388sounds/767taxi.mp3      160496  4cb43cda6e1214fbe15328a716827345
     389doc/manual/en/prefsAdvanced.png 16169   64c14e0842c413cac98b92926279f3e0
     390library/xml/dom/NodeFilter.pyc  1066    c5061d268ede84cbb951957f9ca3d820
     391library/calendar.pyc    26136   6f2f18efc99d759f99b2935b9dc9dbb1
     392library/encodings/aliases.pyc   8750    75c22196420d0157fec085d285947a71
     393conn_grey.png   988     7a956ebba793197f324cec56d94073e7
     394library/HTMLParser.pyc  11589   f641df5331b5bb552ebe180f79b85a6b
     395library/bz2.pyd 76800   1ca9ececd2c84b80996fe632627f857f
     396library/encodings/iso8859_16.pyc        2695    85e819a29dec2b601ce978dcd5a040fc
     397sounds/cpt_takeoff.mp3  8255    254edcf79b8b3752d1a7c191c57f615a
     398library/bz2.pyc 534     950c3961b75846807cc186203935c92d
     399library/email/utils.pyc 8840    a7be428df6fddee6121cfce55382d1f8
     400doc/manual/en/prefsGeneral.png  24487   4858becb6764518a428273e5ee8ee4d5
     401library/encodings/iso2022_jp_2.pyc      1699    4b917caa926e5779176612409c66be39
     402library/_ssl.pyd        720896  90826a140137efd0d806038828e16f8e
     403library/pango.pyc       540     4a4e27fa2068680ba2a67bb99132370a
     404locales/de.pak  7420    18ba99b07536017ed8b87cb4f77aee1c
     405library/glib/__init__.pyc       187     d44c8c2772b263a36726ac0dcfc04b42
     406library/pango.pyd       111616  c934763bdf125c3dc92b56db817001d4
     407library/libgobject-2.0-0.dll    341594  356d697647a480562c4e2e921b13f8ed
     408mlxupdate.exe   18944   b8bf9f3d22348aa1f78727f81d967f93
     409library/email/errors.pyc        3229    cdb78ab237e195ad69f059128bc03b1d
     410library/linecache.pyc   3091    666e6f81b0ea9a7637f8068493f738d5
     411sounds/malev.mp3        201247  8a00666288f14a1666eb112223c140e0
     412library/encodings/mac_iceland.pyc       2738    dfff28ea5edfda00df56b4ab9a35bc59
     413library/unittest/util.pyc       4358    1530cc34b18ae6a6c6128a1d8b1355d7
     414locales/tr.pak  6938    55435ada333db8c7c60a3223d6885558
     415doc/manual/hu/statusIcon2.png   7969    3ec6caa058848932d381da6e02c702be
     416library/getopt.pyc      6454    8f8cd6763f5339988d157d153c910bf5
     417library/encodings/cp857.pyc     7611    1b46c8959ac097b73e1c680d464cdc32
     418library/_ssl.pyc        537     9292cb548f29c21f4b0125656d34f0f0
     419library/os2emxpath.pyc  4312    0c35794eeb4739ebb4eb28b9a1daf0ca
     420library/pprint.pyc      9852    6b4724e14285c257116655b1d4ba6db1
     421library/xml/parsers/expat.pyc   259     d7be0c4de475d65e08ba7fdbabe088d3
     422python27.dll    2206720 f8f39495ed4a813e8f3049a4b9f5cff4
     423library/encodings/mac_centeuro.pyc      2747    6461bd7ed7a57683d5c36001f9ac85c9
     424library/encodings/utf_32.pyc    5336    912103fef3db6edc29a35dd0cfb5c5b9
     425library/ntpath.pyc      11407   533c9331a1b72cc80dd3f88145ba4466
     426library/json/__init__.pyc       12974   d7e08774d4fee83dd2a6d3868855a800
     427library/xml/dom/__init__.pyc    6039    5e78d16289c5ae3a9678d53f552862fd
     428library/encodings/cp1252.pyc    2676    b4c43cc72650c911cf3654dbaf565df9
     429library/unicodedata.pyd 688128  c856c31a03dc892e4f2aee93d0bfee44
     430library/unicodedata.pyc 558     dcdfa7fdce1179d8097934a44c983de1
     431library/encodings/cp1256.pyc    2675    c1bf26ed9c9b5ee0eec495138993cffb
     432doc/manual/en/index.html        47073   66a8cdd22cfd3d819c02f3aaab48eaea
     433library/email/base64mime.pyc    5221    c536d6f0c03f029bba77f15ef6ba3d99
     434logo.png        69816   4a7517b22cfd75cc9c15e3fc1b7ebeec
     435library/libpangoft2-1.0-0.dll   815421  1dbfead06e26edb81f0849490210e3ff
     436library/mlx/util.pyc    4884    7537803cf47e18210ab5f298ba9eba9e
     437library/selenium/webdriver/common/__init__.pyc  125     6c65d6e881b33e7aedb01f167184288c
     438library/_LWPCookieJar.pyc       5440    3782ae675165b232a3f78608ac2dbccd
     439library/libfontconfig-1.dll     279059  dd583bedc5efe7bbd21a8ef107dec88d
     440library/_strptime.pyc   14347   ad17a449b54061177a080e3a21507a39
     441library/mlx/singleton.pyc       9184    9eec2ed5b230e043afc56592fb13a684
     442library/mlx/airports.pyc        4350    e0fee9bae54850629841bbcf68b1b89f
     443library/socket.pyc      15488   35f8eb455d6d8df8e19826d1dd7193f2
     444sounds/notify.wav       119384  108025b17f67e61946df5d7fbf713cdb
     445doc/manual/hu/prefsAdvanced.png 16738   d39884283d7c0f25efa3dc97328749a3
     446library/encodings/euc_kr.pyc    1646    af2a5eaf1ea334c3f3bd60ea13db33a9
     447library/encodings/hz.pyc        1614    876bb7c36683358c3e95005619b10541
     448library/encodings/ptcp154.pyc   4700    377245b13f9246526c8c17b5e13bac4f
     449library/gobject/__init__.pyc    5154    944a57e672b63943bf88c5dbe459cd41
     450library/encodings/utf_8_sig.pyc 4625    1b1405db186e5819fa271ff96c1ca2c5
     451library/encodings/cp1255.pyc    2697    b265913c887f2e1c8736632b652c0093
     452library/encodings/zlib_codec.pyc        4308    319c9073aff840436a03cc1fa0b08fb5
     453locales/nl.pak  7068    939be31defbe6bd9f925331ef3987f9a
     454doc/manual/hu/connect.png       28822   929f3eb85ee3cad019e12017c923f664
     455library/encodings/palmos.pyc    2876    9284ad53dcfd82dfae0a79923b1cf91d
     456library/mlx/web.pyc     36866   96511f975c55c000b0e9c16dff3aa31b
     457library/mlx/gui/gates.pyc       5635    ea478376f306ce9d6d0ed2e759407c00
     458library/gobject/propertyhelper.pyc      8878    cc3598dab17d31ff46a6dee669ccb5ed
     459library/intl.dll        152489  eb2d4c4d4a527bc88a69a16cc99afcf5
     460library/selenium/webdriver/common/desired_capabilities.pyc      2206    9769c03bedeb640913decb1a9a23a695
     461library/xml/dom/domreg.pyc      3211    1b8e458700a5b538a4f3e18af5403666
     462library/selenium/webdriver/firefox/webdriver.pyc        2447    83d55a8eec9d18004aefe20d1622f352
     463sounds/TOC.mp3  273032  fae1be2ad25c8b54806bd1d759919705
     464library/share/locale/hu/LC_MESSAGES/gtk20.mo    58794   6ee4491ae7bc9d3dfb778578eb29a0b3
     465library/distutils/log.pyc       2546    c50dfe4041313cc366461a899a1650cf
     466locales/hr.pak  7430    a06f81a87b3fdb822a4f733abd21d1e9
     467doc/manual/hu/finish.png        31044   adb40bacabf2cc597687fffe5c3340de
     468locales/pl.pak  7227    14de2b7637dd2b260184c6ec85976091
     469library/email/__init__.pyc      2752    5e1a1ba649ac697d631b031987d09c33
     470library/share/icons/hicolor/index.theme 22255   5138b82a57488ee821b8a38c2aa1420e
     471simbrief.html   116     d158a7e9f7f34da230229a5c2aab3e66
     472library/glob.pyc        2238    d06c4386d18e2ab7f53fb866599403cc
     473library/_threading_local.pyc    6424    9dfe88d58a5811d2d56347cc381ebf0a
     474locales/fa.pak  9886    475b94417d7b2af113fb147a0c45da0f
     475locales/fr.pak  7917    bac6c149685b4b84617ca8c8c39306b7
     476doc/manual/en/payload.png       28191   b9d22d6226541b8f58df89c7c9da9a62
     477library/selenium/webdriver/support/__init__.pyc 126     b99fdca3533d28cae3e7a63624932966
     478library/sets.pyc        15775   ea560db2e34dae27d1fc9619a342ced8
     479library/doctest.pyc     79210   620422f95e18417ff5f8440534a71e91
     480library/libpango-1.0-0.dll      333729  5a14efd93ee27cfe960220fe4a904911
     481library/encodings/unicode_escape.pyc    1996    32990583f1caf874e556087da7b92971
     482library/selenium/webdriver/support/expected_conditions.pyc      14298   43b8884d089d85e074d0d9f2fbcd5e28
     483doc/manual/hu/logTab.png        28706   f48004202310bd2a1cb2f873d8064e93
     484library/win32event.pyc  555     d66e08d9b35f124fdff12cf4f8273869
     485library/win32file.pyc   552     6a3826b7caca276e9a6e1b84f20302f5
     486library/encodings/shift_jis_2004.pyc    1710    f8bb22a8b02dba2b66b7f77122c98fd6
     487library/encodings/cp856.pyc     2701    8b6649490089bedd87e9b8c56985f6b3
     488locales/hu.pak  7647    7a37ba9f9113e4f7e9de5b5b9643a48c
     489library/mlx/gui/weighthelp.pyc  13179   9ebfa07c41e167371380dda80b5bd72b
     490library/encodings/cp850.pyc     7621    20d776af743fa7acf090fbd575eea143
     491library/gio/__init__.pyc        809     bc9332556e93183a58be5c10cba18557
     492doc/manual/hu/debugLogTab.png   34237   e4d91a024beec781966f7de91ffd196d
     493library/weakref.pyc     13028   5d1c14275f47e8cf6d40bc6877fde976
     494library/mlx/gui/checklist.pyc   12279   555775aaed42b3d0687e1b0f501a9f61
     495library/mlx/fs.pyc      11863   63fda2c4e0727136be69ed82f9e2bbc8
     496locales/he.pak  8198    2486731ee9bedc244d41143a2741775f
     497doc/manual/en/statusIcon1.png   6472    10a7158dd8655de3f18ba914eb2373a5
     498library/email/message.pyc       27764   493826f529d17f5a21080a4c98b49369
     499library/mlx/gui/pirep.pyc       16749   2006126d65a19999a20c4a34f1e94342
     500library/mimetypes.pyc   17806   927ce6a7079707aaee925e855ed23454
     501library/mlx/gui/faultexplain.pyc        9707    938e02beb962d574df694c77536533ca
     502sounds/F70taxi.mp3      154854  51332dc691d3519355f61ed06c959d8d
     503mlx_cef_caller.sh       148     bd16cf4c784490bcd46d7845f2b6edf9
     504library/selenium/webdriver/support/ui.pyc       228     f4a3e26b8378ea9c87e3c97595c42246
     505doc/manual/hu/statusIcon1.png   6920    614cde237a5b4e2678ed15d9cd01088e
     506library/encodings/cp1253.pyc    2689    52d4a723e9e86940701cb648b40ed884
     507library/StringIO.pyc    11100   f4eb4a2bb3d6fb0af925681c5375c673
     508library/gtk/__init__.pyc        3025    9f6605bf84c6cbd3c20f1d37e58af969
     509doc/manual/en/helpTab.png       26243   cd5c021a2fc40485805b9fde03bcd060
     510library/encodings/cp1257.pyc    2683    d24f94b6abbda684c0ad9f3370d86956
     511library/selenium/webdriver/ie/service.pyc       3392    1f0c97b93092c2a239d70a3de49f0642
     512library/_weakrefset.pyc 9290    a56e87c491c0511cd329a3c8c4cd9563
     513library/selenium/webdriver/common/html5/application_cache.pyc   1322    934402964858ad8f330911c4a483d194
     514library/selenium/webdriver/remote/errorhandler.pyc      5753    68a4e26bde6e1f039aa737ded0c3b781
     515library/encodings/gb2312.pyc    1646    466ac29d34de1ad4b3d299ca834e28d9
     516library/libgdk_pixbuf-2.0-0.dll 285194  e4c64b0e7e4c6606f3973a16c0c1ee84
     517library/encodings/big5.pyc      1630    a21b45d3e487bf09f40a08448040c97d
     518library/mlx/gui/update.pyc      11427   5698abbc9b133f18fa2c37d3bfa74bee
     519library/encodings/cp1250.pyc    2676    c92e287a2aa6a1c924df287d826aa3b7
     520doc/manual/en/gatesTab.png      29585   00ebc96a2b4a7473dbb6a3162a04192f
     521library/libcairo-2.dll  1294335 c0da2a3ab704f338f0fc6df51fd99497
     522library/keyword.pyc     2063    4d5bab044f614cfdabe89011cd3d7375
     523locales/vi.pak  7990    f0d8ddd9bdabaef79a9c92f3fd021f25
     524library/encodings/cp862.pyc     8003    261df6dd1a6e5ad90a83dfc739a25e0a
     525library/selenium/webdriver/__init__.pyc 1011    9cce0a4d491b458d651474dc6fd09be0
     526library/selenium/webdriver/common/alert.pyc     2550    cfd59475010657b35ef31c47d8c86fc3
     527library/lxml/__init__.pyc       708     4e6d5e156fb2fe6a8103dd02a1037634
     528library/selenium/webdriver/common/by.pyc        957     9cc3d4670125998f95147624f20d05b0
     529library/encodings/cp863.pyc     7868    fc7ff06dab536b93c68fcb8e7bac713f
     530library/codecs.pyc      34722   339dc90c17d548887dbcf1bbbcae5d5b
     531doc/manual/hu/gateSelection.png 29237   bac37e7001261a40a84e4202247f6052
     532library/cmd.pyc 13512   808f813d5e354b7073a1356e44c7b554
     533locales/ko.pak  7278    41ecc83d5eef5887c7c288b3b570c7b4
     534library/gzip.pyc        14358   2a4a036a0b24586b6bdde419847a18f6
     535locales/ja.pak  8340    21ab6501f6d0c8d3e73b4921ce1b0086
     536locales/ta.pak  16595   5136010addd237205a5560f92b635589
     537library/email/feedparser.pyc    10682   4de6a63da8dc270c9881edb9c2f28508
     538doc/manual/en/route.png 25228   c1b2fb99d21cd862ea292d693400c955
     539library/freetype6.dll   538324  fe5ec4b2a07d2c20a4cd3aa09ce0c571
     540library/encodings/cp1140.pyc    2639    8320825626639ecf4604aac43477b65c
     541library/encodings/cp1251.pyc    2673    cb5ce7a7207c53f1d9e7cae48b3fb258
     542library/encodings/koi8_u.pyc    2686    b7e5a52eaaaf6b340075b40dc7596f42
     543library/selenium/__init__.pyc   187     a6b683ed0e7ff6f74be5d45717a38d10
     544library/atk.pyd 208384  ebe7f0929eac23a3205d17d69906e172
     545library/win32event.pyd  18432   8b65330a56e2bc60d43d6e266c3a922a
     546library/_ctypes.pyd     106496  deccede0781726ce0daa75a4635bf919
     547library/encodings/euc_jp.pyc    1646    c0d60e6d08161643bd7dbe651063f334
     548library/encodings/utf_16_le.pyc 1854    dfa68705c26fd303adfc7ce3322166f2
     549locales/bg.pak  11216   4b55274ffb8f7432bce15cd8b951472e
     550library/_socket.pyd     38400   5d273be76603399e88cf57f2605004bf
     551library/plistlib.pyc    18067   d8d36573e80bfdde7c73e47828f6e710
     552library/_socket.pyc     546     fb1681f80f0e722983f70a325c23b3b5
     553library/encodings/hex_codec.pyc 3520    a8b8d5b7c8810379c7007bcbc253951c
     554library/nturl2path.pyc  1755    7835082f2dd6806f99cc25bed13ff7dc
     555library/mlx/sound.pyc   8226    03b098ed1dd965db98ef4f75b07d6cae
     556library/glib/_glib.pyc  555     ab1cf44ec256636cfd820e5bbdb5cf14
     557library/win32api.pyc    549     5753c8241e91acd8cb4b02cfc18719a3
     558library/encodings/iso8859_13.pyc        2696    f901ae0bbcfbb78f0c1783e89b2e2dc5
     559library/selenium/webdriver/remote/remote_connection.pyc 21225   287db6d396dcce7180eada87e8c6ace0
     560library/mlx/gui/callouts.pyc    16060   7a3055f313e693779e9d2df22bb7568a
     561library/selenium/webdriver/opera/options.pyc    3303    243909f5d36e653ad3ad4921c8df4f78
     562library/encodings/iso8859_15.pyc        2693    b892f358bbc25ae9d3824be158aabe28
     563locales/sr.pak  10790   fd63b700458a187aca8dde86c160a059
     564doc/manual/hu/prefsMessages.png 22980   6e60ec51305e95e5d057c0dd82b69460
     565library/xml/parsers/__init__.pyc        294     83f6a77ed8cd962b3c75c4779dc557ac
     566locale/en/LC_MESSAGES/mlx.mo    68019   e360bc22970f91fa071eec517a0a173c
     567library/_abcoll.pyc     19891   a5c1881934f1533c22b22b9317ac1d68
     568library/encodings/iso8859_11.pyc        2787    a31e6d0d34e35259d7183cc9437eacca
     569library/tarfile.pyc     71654   aca50f546f1356a3e4b33db41bddb9f9
     570locales/es-419.pak      7558    6a9495a0e074a933f0a04a5e5927e2de
     571locales/da.pak  6631    1bf496bcde38f3f2899cd0fab6986959
     572library/encodings/mac_latin2.pyc        4717    564dbaf5c296a147203eb821dc2466ba
     573library/mlx/__init__.pyc        103     029f80bd80f880e6ca70ef4ba46f7d06
     574library/mlx/i18n.pyc    1972    fe45816e49cf5e380bc39942a9dfa875
     575library/xml/sax/saxutils.pyc    12382   32ed045b3b520234ebea6a508a6569fe
     576locales/sw.pak  7078    5406f21a67934bbf0e6c633d2ca573f9
     577library/encodings/mac_turkish.pyc       2739    1682e228ddfd2e74e3ccaee0b65e7261
     578doc/manual/hu/gatesTab.png      30710   a6a59e6a2660c15418489e8785e4bcee
     579library/webbrowser.pyc  18138   c85009edebad6d278fe786fec10ebbbe
     580library/mlx/pyuipc_sim.pyc      57203   e1828998919f435bae2a5cbd969ff8f3
     581library/encodings/cp875.pyc     2636    c72faa5d1cb6105ae81c971448fea479
     582library/dis.pyc 6068    3934ab23d64f3da393305b19df0f1fd0
     583library/difflib.pyc     60869   38d2e1340b64e22d7b1fed90a57fb83a
     584locales/ar.pak  11942   495ed374baef7a96d1a59629f535d084
     585conn_green.png  936     0b7fbe8ee0af2cbeefdb42110a8fdf34
     586locales/ml.pak  17867   1041f687d729ea22199a84dc6d6c8eb8
     587library/selenium/webdriver/firefox/firefox_profile.pyc  13834   6109af4f9224623f12f34284b19a2d74
     588library/selenium/webdriver/ie/__init__.pyc      121     7b4e0c9b6ffbe3385f67f09687f325e7
     589library/encodings/cp737.pyc     8102    40e61988748e4ca1742a2bad43949f4e
     590library/encodings/iso2022_jp.pyc        1683    40c2b92127f99452f84b250c2b4b2cda
     591library/libgthread-2.0-0.dll    44287   7ad6f303082b382bff7bafbab246c61f
     592locales/sk.pak  7622    dfdff6206e5a79aef8b46d0d9c2a8367
     593library/select.pyd      11776   d90bf525f9f6c9c3aa6532fa6e569b4f
     594library/pyuipc.pyc      543     906cca78dfad2ae877c0a2e1595d3d61
     595library/selenium/common/exceptions.pyc  9313    2140bc8b29eb7c3f4fc29622d0060152
     596doc/manual/en/logTab.png        28522   305732f8485a15b7c802801038d688b7
     597library/pyuipc.pyd      47616   2b4fe2d52575de71dda6f72690cf581e
     598library/encodings/johab.pyc     1638    5346c11a863ffbcfb21aba8f1d2236b7
     599library/shutil.pyc      17657   571e2606b42956f9e233242969ceec0d
     600library/encodings/quopri_codec.pyc      3365    01342d4d2735bcbfeb333d784297547a
     601library/distutils/errors.pyc    5885    fbeaddf5d59ea781ec63197dd950aa89
     602library/mlx/gui/mava_simbrief.pyc       10689   e91c026bd70fdde0432196a536017b7b
     603library/logging/__init__.pyc    54813   7bcdf2e8da474f5e94d8e499f6fc3ed4
     604library/selenium/webdriver/phantomjs/service.pyc        3263    3a56577bb9f058e0d7e5be544a8e850b
     605runmlx.exe      63488   3060aa0ed73648edc26992e224568352
     606locales/zh-CN.pak       6386    36e1df83611aef6fbfeeafd067dd4241
     607locales/hi.pak  13321   4b6b27ab4421c94685fc09051a2339f8
     608library/inspect.pyc     38547   836f659fad54f5ee7e8f9d565003aacd
     609library/pickle.pyc      36348   2b55640f6f4e2fd70d95482fd16bfb73
     610library/io.pyc  3378    197da422e1d85c483c94fa0251b5ff76
     611library/encodings/cp874.pyc     2767    fe0c510a9aafa14cae6b037955a93f0b
     612library/glib/option.pyc 11891   bd90183c75d8f473ecf653e3d63a27f9
     613library/encodings/ascii.pyc     2081    a5fffd04734740386629fdba1113d585
     614Microsoft.VC90.CRT/msvcp90.dll  568832  6de5c66e434a9c1729575763d891c6c2
     615library/sre_parse.pyc   18380   fe2376a101668be1124f9ee316662bab
    460616library/token.pyc       3716    732fa0a0cd1c7d9ae9cc696311160fc1
    461617library/encodings/gb18030.pyc   1654    b103fe74a6cdae113476f1fc5255550b
    462 library/gtk/deprecation.pyc     3104    2e6c9eef82dfa8aa3beb05abd3e274a4
    463 Microsoft.VC90.CRT/msvcm90.dll  224768  4a8bc195abdc93f0db5dab7f5093c52f
     618library/glib._glib.pyd  58368   0de636503e43c4eb00e80927bc9bda97
     619locales/el.pak  12310   8f69e235eb651b5c91569cd91c69c689
    464620library/encodings/bz2_codec.pyc 4388    d5ef2b625b70cfae3771a9601d37523b
    465621library/unittest/main.pyc       7701    82258a486f5133466c9cf10323814fbf
    466 doc/manual/hu/route.png 26601   fd1ee7c47290f4c3a2f9fd6618aeb678
     622library/encodings/iso2022_jp_ext.pyc    1715    97eda1c1468f65445951b0bf23a89570
    467623library/mlx/watchdog.pyc        3957    4b6c34d79e730066e8af7cf71689f9ad
  • locale/en/mlx.po

    r634 r714  
    698698msgstr "The planned flight route in the standard format."
    699699
     700msgid "route_altn"
     701msgstr "_Alternate:"
     702
     703msgid "route_altn_tooltip"
     704msgstr "The ICAO code of the alternate airport."
     705
    700706msgid "route_down_notams"
    701707msgstr "Downloading NOTAMs..."
     
    703709msgid "route_down_metars"
    704710msgstr "Downloading METARs..."
     711
     712msgid "simbrief_setup_title"
     713msgstr "SimBrief setup"
     714
     715msgid "simbrief_setup_help"
     716msgstr "Complete the following data to start generating your SimBrief briefing."
     717
     718msgid "simbrief_setup_chelp"
     719msgstr "Your SimBrief briefing was generated with the following data."
     720
     721msgid "simbrief_username"
     722msgstr "_Username:"
     723
     724msgid "simbrief_username_tooltip"
     725msgstr "Enter your Simbrief username"
     726
     727msgid "simbrief_password"
     728msgstr "_Password:"
     729
     730msgid "simbrief_password_tooltip"
     731msgstr "Enter your Simbrief password"
     732
     733msgid "simbrief_remember_password"
     734msgstr "_Remember password"
     735
     736msgid "simbrief_remember_tooltip"
     737msgstr ""
     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
     743msgid "simbrief_extra_fuel"
     744msgstr "_Extra fuel:"
     745
     746msgid "simbrief_extra_fuel_tooltip"
     747msgstr "Enter the amount of extra fuel in kilograms."
     748
     749msgid "simbrief_takeoff_runway"
     750msgstr "_Takeoff runway:"
     751
     752msgid "simbrief_takeoff_runway_tooltip"
     753msgstr ""
     754"Enter the number of the planned takeoff runway.\n"
     755"If you don't want to specify it, leave it empty"
     756
     757msgid "simbrief_landing_runway"
     758msgstr "_Landing runway:"
     759
     760msgid "simbrief_landing_runway_tooltip"
     761msgstr ""
     762"Enter the number of the planned landing runway.\n"
     763"If you don't want to specify it, leave it empty"
     764
     765msgid "simbrief_climb_profile"
     766msgstr "_Climb profile:"
     767
     768msgid "simbrief_climb_profile_tooltip"
     769msgstr "Select the climb profile."
     770
     771msgid "simbrief_cruise_profile"
     772msgstr "C_ruise profile:"
     773
     774msgid "simbrief_cruise_profile_tooltip"
     775msgstr "Select the cruise profile."
     776
     777msgid "simbrief_descent_profile"
     778msgstr "_Descent profile:"
     779
     780msgid "simbrief_descent_profile_tooltip"
     781msgstr "Select the descent profile."
     782
     783msgid "simbrief_calling"
     784msgstr "Calling SimBrief..."
     785
     786msgid "simbrief_progress_searching_browser"
     787msgstr "Searching browser..."
     788
     789msgid "simbrief_progress_loading_form"
     790msgstr "Loading form..."
     791
     792msgid "simbrief_progress_filling_form"
     793msgstr "Filling form..."
     794
     795msgid "simbrief_progress_waiting_login"
     796msgstr "Waiting login..."
     797
     798msgid "simbrief_progress_logging_in"
     799msgstr "Logging in..."
     800
     801msgid "simbrief_progress_waiting_result"
     802msgstr "Waiting for the result..."
     803
     804msgid "simbrief_progress_retrieving_briefing"
     805msgstr "Retrieving briefing..."
     806
     807msgid "simbrief_progress_unknown"
     808msgstr "?????"
     809
     810msgid "simbrief_result_error_other"
     811msgstr "Some error occured, see debug logs."
     812
     813msgid "simbrief_result_error_no_form"
     814msgstr "No form could be loaded."
     815
     816msgid "simbrief_result_error_no_popup"
     817msgstr "No login window appeared."
     818
     819msgid "simbrief_result_error_login_failed"
     820msgstr "Login failed."
     821
     822msgid "simbrief_result_unknown"
     823msgstr "Unknown error occured."
     824
     825msgid "simbrief_cancelled"
     826msgstr "Reverting to the old-style briefing."
     827
     828msgid "simbrief_credentials_title"
     829msgstr "SimBrief login"
     830
     831msgid "simbrief_login_failed"
     832msgstr ""
     833"Failed to log in to SimBrief using the\n"
     834"supplied credentials. Please, enter\n"
     835"new ones, or cancel SimBrief."
    705836
    706837msgid "briefing_title"
     
    14381569msgstr "sec."
    14391570
     1571msgid "prefs_useSimBrief"
     1572msgstr "Use Sim_Brief"
     1573
     1574msgid "prefs_useSimBrief_tooltip"
     1575msgstr ""
     1576"If enabled, the SimBrief dispatching system will be "
     1577"used to create your briefing.\n"
     1578"You will need a SimBrief user name and password."
     1579
    14401580msgid "prefs_pirepDirectory"
    14411581msgstr "_PIREP directory:"
  • locale/hu/mlx.po

    r634 r716  
    697697msgstr "Az útvonal a szokásos formátumban."
    698698
     699msgid "route_altn"
     700msgstr "Ki_térő:"
     701
     702msgid "route_altn_tooltip"
     703msgstr "A kitérő repülőtér ICAO kódja."
     704
    699705msgid "route_down_notams"
    700706msgstr "NOTAM-ok letöltése..."
     
    702708msgid "route_down_metars"
    703709msgstr "METAR-ok letöltése..."
     710
     711msgid "simbrief_setup_title"
     712msgstr "SimBrief beállítások"
     713
     714msgid "simbrief_setup_help"
     715msgstr "Töltsd ki a lenti adatokat a SimBrief eligazítás előállítása céljából."
     716
     717msgid "simbrief_setup_chelp"
     718msgstr "A SimBrief eligazítás az alábbi adatok alapján keszült."
     719
     720msgid "simbrief_username"
     721msgstr "Fel_használónév:"
     722
     723msgid "simbrief_username_tooltip"
     724msgstr "Írd be a SimBrief felhasználónevedet"
     725
     726msgid "simbrief_password"
     727msgstr "Jels_zó:"
     728
     729msgid "simbrief_password_tooltip"
     730msgstr "Írdbe a SimBrief jelszavadat"
     731
     732msgid "simbrief_remember_password"
     733msgstr "E_mlékezz a jelszóra"
     734
     735msgid "simbrief_remember_tooltip"
     736msgstr ""
     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
     741msgid "simbrief_extra_fuel"
     742msgstr "E_xtra üzemanyag:"
     743
     744msgid "simbrief_extra_fuel_tooltip"
     745msgstr "Írd be az extra üzemanyag mennyiségét kilogrammban."
     746
     747msgid "simbrief_takeoff_runway"
     748msgstr "_Felszálló futópálya:"
     749
     750msgid "simbrief_takeoff_runway_tooltip"
     751msgstr
     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
     755msgid "simbrief_landing_runway"
     756msgstr "_Leszálló futópálya:"
     757
     758msgid "simbrief_landing_runway_tooltip"
     759msgstr
     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
     763msgid "simbrief_climb_profile"
     764msgstr "Emelke_dési profil:"
     765
     766msgid "simbrief_climb_profile_tootip"
     767msgstr "Válaszd ki az emelkedési profilt"
     768
     769msgid "simbrief_cruise_profile"
     770msgstr "_Utazó profil:"
     771
     772msgid "simbrief_cruise_profile_tootip"
     773msgstr "Válaszd ki az utazó profilt"
     774
     775msgid "simbrief_descent_profile"
     776msgstr "Süll_yedési profil:"
     777
     778msgid "simbrief_descent_profile_tootip"
     779msgstr "Válaszd ki a süllyedési profilt"
     780
     781msgid "simbrief_calling"
     782msgstr "A SimBrief indítása..."
     783
     784msgid "simbrief_progress_searching_browser"
     785msgstr "Böngésző keresése..."
     786
     787msgid "simbrief_progress_loading_form"
     788msgstr "Űrlap letöltése..."
     789
     790msgid "simbrief_progress_filling_form"
     791msgstr "Űrlap kitöltése..."
     792
     793msgid "simbrief_progress_waiting_login"
     794msgstr "Várakozás a bejelentkező ablakra..."
     795
     796msgid "simbrief_progress_logging_in"
     797msgstr "Bejelentkezés..."
     798
     799msgid "simbrief_progress_waiting_result"
     800msgstr "Várakozás az eredményre..."
     801
     802msgid "simbrief_progress_retrieving_briefing"
     803msgstr "Az eligazítás letöltése..."
     804
     805msgid "simbrief_progress_unknown"
     806msgstr "?????"
     807
     808msgid "simbrief_result_error_other"
     809msgstr "Valamilyen hiba történt, lásd a hibanaplót."
     810
     811msgid "simbrief_result_error_no_form"
     812msgstr "Nem sikerült letölteni az űrlapot."
     813
     814msgid "simbrief_result_error_no_popup"
     815msgstr "Nem jelent meg a bejelentkező ablak."
     816
     817msgid "simbrief_result_error_login_failed"
     818msgstr "A bejelentkezés nem sikerült."
     819
     820msgid "simbrief_result_unknown"
     821msgstr "Ismeretlen hiba történt."
     822
     823msgid "simbrief_cancelled"
     824msgstr "Áttérünk a régi eligazításra."
     825
     826msgid "simbrief_credentials_title"
     827msgstr "SimBrief bejelentkezés"
     828
     829msgid "simbrief_login_failed"
     830msgstr ""
     831"A megadott adatokkal nem tudtam\n"
     832"bejelentkezni a SimBriefbe. Adj meg\n"
     833"új adatokat, vagy hagyjuk a SimBriefet"
    704834
    705835msgid "briefing_title"
     
    14791609msgstr "másodpercig."
    14801610
     1611msgid "prefs_useSimBrief"
     1612msgstr "Sim_Brief használata"
     1613
     1614msgid "prefs_useSimBrief_tooltip"
     1615msgstr ""
     1616"Ha ezt bejelölöd, az eligazítás elkészítéséhez a "
     1617"SimBrief rendszert használja a program.\n"
     1618"Szükséged lesz SimBrief felhasználónévre és jelszóra."
     1619
    14811620msgid "prefs_pirepDirectory"
    14821621msgstr "_PIREP-ek könyvtára:"
  • makeinst.bat

    r20 r682  
    11set MSVCRDIR=c:\windows\winsxs\x86_Microsoft.VC90.CRT*9.0.21022.8*
    22set GTKRTDIR=c:\Python27\Lib\site-packages\gtk-2.0\runtime
     3set CEFDIR=c:\Python27\Lib\site-packages\cefpython3
     4set CHROMEDRIVER=c:\tmp\chromedriver.exe
    35set NSISDIR=C:\Program Files\NSIS
    46
    57python setup.py py2exe
    68
     9del dist\library\selenium\webdriver\chrome\service.pyc
     10copy patches\library\selenium\webdriver\chrome\service.py dist\library\selenium\webdriver\chrome\service.py
     11python -m compileall dist\library\selenium\webdriver\chrome\service.py
     12del dist\library\selenium\webdriver\chrome\service.py
     13
    714"%NSISDIR%\makensis" mlx.nsi
  • setup.py

    r497 r720  
    1919                       [os.path.join("locale", language, "LC_MESSAGES",
    2020                                     "mlx.mo")]))
    21 data_files.append(("", ["logo.png",
    22                         "conn_grey.png", "conn_red.png", "conn_green.png"]))
     21data_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
    2326if os.name=="nt":
    2427    import py2exe
     
    2629    data_files.append(("", ["logo.ico"]))
    2730
     31    chromedriver = os.environ.get("CHROMEDRIVER")
     32    if chromedriver:
     33        data_files.append(("", [chromedriver]))
     34
    2835    msvcrDir = os.environ["MSVCRDIR"] if "MSVCRDIR" in os.environ else None
    2936    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]
    3139
    3240    gtkRuntimeDir = os.environ["GTKRTDIR"] if "GTKRTDIR" in os.environ else None
     
    4755                           glob(os.path.join(gtkRuntimeDir, path, "*"))))
    4856
     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
    4967    with open("mlx-common.nsh", "wt") as f:
    5068            print >>f, '!define MLX_VERSION "%s"' % (mlx.const.VERSION)
    5169            f.close()
     70else:
     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
    5278
    5379long_description="""MAVA Logger X
     
    7197                 { "script" : "mlxupdate.py",
    7298                   "uac_info" : "requireAdministrator"}],
    73       options = { "py2exe" : { "includes": "gio, pango, atk, pangocairo",
     99      options = { "py2exe" : { "includes": "gio, pango, atk, pangocairo, lxml._elementpath",
    74100                               "skip_archive": True} },
    75101      zipfile = "library/.",
     
    80106
    81107if os.name=="nt":
     108    os.rename(os.path.join(scriptdir, "dist", "library", "libcef.dll"),
     109              os.path.join(scriptdir, "dist", "libcef.dll"))
    82110    mlx.update.buildManifest(os.path.join(scriptdir, "dist"))
    83111    with open(os.path.join(scriptdir, "dist", "Uninstall.conf"), "wt") as f:
  • src/mlx/acft.py

    r644 r709  
    8585#---------------------------------------------------------------------------------------
    8686
     87class 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
    8797class Aircraft(object):
    8898    """Base class for aircraft."""
     
    123133        self.maxTouchDownPitch = 15.0
    124134        self.brakeCoolTime = 10.0
     135
     136        self.simBriefData = None
    125137
    126138        self._checkers = []
     
    720732        self.maxTakeOffPitch = 16.2
    721733        self.maxTouchDownPitch = 14.7
     734        self.simBriefData = SimBriefData(["250/280/78"],
     735                                         ["CI", "M75", "M78", "M79", "M80", "LRC"],
     736                                         ["78/280/250"])
    722737
    723738#---------------------------------------------------------------------------------------
     
    733748        self.maxTakeOffPitch = 14.7
    734749        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"])
    735753
    736754#---------------------------------------------------------------------------------------
     
    746764        self.maxTakeOffPitch = 11
    747765        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"])
    748769
    749770#---------------------------------------------------------------------------------------
     
    754775        super(B738Charter, self).__init__(flight)
    755776        self.mtow = 77791
     777        self.simBriefData = SimBriefData(["AUTO"],
     778                                         ["280/M74"],
     779                                         ["AUTO"])
    756780
    757781#---------------------------------------------------------------------------------------
     
    826850        self.maxTakeOffPitch = 8.0
    827851        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"])
    828856
    829857#---------------------------------------------------------------------------------------
     
    878906        self.maxTakeOffPitch = 9.6
    879907        self.maxTouchDownPitch = 8.1
     908        self.simBriefData = SimBriefData(["250/290/78"],
     909                                         ["CI", "M76", "M78", "M80", "M82", "M84", "LRC"],
     910                                         ["78/290/250"])
    880911
    881912#---------------------------------------------------------------------------------------
     
    902933        self.maxTakeOffPitch = 18.0
    903934        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"])
    904938
    905939#---------------------------------------------------------------------------------------
     
    10451079        self.maxTakeOffPitch = 16.0
    10461080        self.maxTouchDownPitch = 16.0
     1081        self.simBriefData = SimBriefData(["AUTO"],
     1082                                         ["300/M80"],
     1083                                         ["AUTO"])
    10471084
    10481085    @property
  • src/mlx/common.py

    r585 r651  
    1818#-------------------------------------------------------------------------------
    1919
    20 if os.name=="nt" or "FORCE_PYGTK" in os.environ:
     20# Due to CEF, PyGTK is the default
     21if "FORCE_PYGOBJECT" not in os.environ:
    2122    print "Using PyGTK"
    2223    pygobject = False
  • src/mlx/config.py

    r503 r689  
    211211class Config(object):
    212212    """Our configuration."""
    213     DEFAULT_UPDATE_URL = "http://mlx.varadiistvan.hu/update"
     213    DEFAULT_UPDATE_URL = "http://mlx.varadiistvan.hu/update/cef"
    214214
    215215    _messageTypesSection = "messageTypes"
     
    233233        self._vsSmoothingLength = -2
    234234
     235        self._useSimBrief = False
     236        self._simBriefUserName = ""
     237        self._simBriefPassword = ""
     238        self._rememberSimBriefPassword = False
     239
    235240        self._pirepDirectory = None
    236241        self._pirepAutoSave = False
     
    442447        if vsSmoothingLength!=self._vsSmoothingLength:
    443448            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
    444497            self._modified = True
    445498
     
    678731                                                "vsSmoothingLength",
    679732                                                -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
    680744        self._pirepDirectory = self._get(config, "general",
    681745                                         "pirepDirectory", None)
     
    758822                   str(self._vsSmoothingLength))
    759823
     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
    760832        if self._pirepDirectory is not None:
    761833            config.set("general", "pirepDirectory", self._pirepDirectory)
     
    907979        print "  vsSmoothingLength:", self._vsSmoothingLength
    908980
     981        print "  useSimBrief:", self._useSimBrief
     982        print "  simBriefUserName:", self._simBriefUserName
     983        print "  rememberSimBriefPassword:", self._rememberSimBriefPassword
     984
    909985        print "  pirepDirectory:", self._pirepDirectory
    910986        print "  pirepAutoSave:", self._pirepAutoSave
  • src/mlx/const.py

    r722 r726  
    1111
    1212## The version of the program
    13 VERSION="0.36"
     13VERSION="0.36cef"
    1414
    1515#-------------------------------------------------------------------------------
  • src/mlx/gui/common.py

    r604 r682  
    3232    pygobject = False
    3333    import pygtk
     34    pygtk.require("2.0")
    3435    import gtk.gdk as gdk
    3536    import gtk
  • src/mlx/gui/flight.py

    r675 r719  
    11
    22from mlx.gui.common import *
     3import mlx.gui.cef as cef
    34
    45import mlx.const as const
     
    1718import time
    1819import os
     20import tempfile
     21import threading
    1922
    2023#-----------------------------------------------------------------------------
     
    14251428#-----------------------------------------------------------------------------
    14261429
     1430class 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
     1609class 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
     1711class 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
     2153class 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                                              "SimBrief flight plan", "")
     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
    14272240class FuelTank(gtk.VBox):
    14282241    """Widget for the fuel tank."""
     
    16602473            self._wizard.gui.beginBusy(xstr("fuel_pump_busy"))
    16612474            self._pump()
     2475        elif self._wizard.usingSimBrief:
     2476            self._wizard.jumpPage(3)
    16622477        else:
    16632478            self._wizard.nextPage()
     
    17052520        if fuelTank is None:
    17062521            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)
    17082532        else:
    17092533            currentLevel = fuelTank.currentWeight / fuelTank.capacity
     
    17192543                                                      currentLevel)])
    17202544            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 pygobject
    1775                                     else gtk.SHADOW_IN)
    1776         routeWindow.set_policy(gtk.PolicyType.AUTOMATIC if pygobject
    1777                                else gtk.POLICY_AUTOMATIC,
    1778                                gtk.PolicyType.AUTOMATIC if pygobject
    1779                                else gtk.POLICY_AUTOMATIC)
    1780 
    1781         self._uppercasingRoute = False
    1782 
    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     @property
    1801     def filedCruiseLevel(self):
    1802         """Get the filed cruise level."""
    1803         return self._cruiseLevel.get_value_as_int()
    1804 
    1805     @property
    1806     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 0
    1827         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 = True
    1844 
    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 = False
    1852 
    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._bookedFlight
    1863             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)
    18682545
    18692546    def _notamsCallback(self, returned, result):
     
    23383015        self._updatingMETAR = False
    23393016
    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)
    23413021        self._runway.set_sensitive(True)
    23423022        self._sid.set_active(0)
     
    28973577        self._transition.set_sensitive(True)
    28983578
    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)
    29003583        self._runway.set_sensitive(True)
    29013584
     
    35784261        self._payloadIndex = len(self._pages)
    35794262        self._pages.append(TimePage(self))
    3580         self._pages.append(FuelPage(self))
    35814263        self._routePage = RoutePage(self)
    35824264        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))
    35834270        self._departureBriefingPage = BriefingPage(self, True)
    35844271        self._pages.append(self._departureBriefingPage)
     
    36534340        return self._loginResult
    36544341
    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."""
    36574349        assert index < len(self._pages)
    36584350
     
    36634355                page.complete()
    36644356            self.remove(page)
     4357            if fromPageShift is not None:
     4358                fromPage -= fromPageShift
    36654359
    36664360        self._currentPage = index
     
    37414435
    37424436    @property
     4437    def alternate(self):
     4438        """Get the ICAO code of the alternate airport."""
     4439        return self._routePage.alternate
     4440
     4441    @property
    37434442    def departureMETAR(self):
    37444443        """Get the METAR of the departure airport."""
     
    38404539        return self._finishPage.online
    38414540
     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
    38424551    def nextPage(self, finalize = True):
    38434552        """Go to the next page."""
    38444553        self.jumpPage(1, finalize)
    38454554
    3846     def jumpPage(self, count, finalize = True):
     4555    def jumpPage(self, count, finalize = True, fromPageShift = None):
    38474556        """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)
    38494559
    38504560    def grabDefault(self):
     
    38954605        self._arrivalNOTAMs = None
    38964606        self._arrivalMETAR = None
     4607        self._usingSimBrief = None
     4608        self.takeoffRunway = None
     4609        self.landingRunway = None
    38974610
    38984611        firstPage = 0 if self._loginResult is None else 1
     
    39384651        metar = metar.upper()
    39394652        if originator in [self._departureBriefingPage, self._takeoffPage]:
    3940             self._departureMETARChanged(metar, originator)
     4653            self.departureMETARChanged(metar, originator)
    39414654        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):
    39454658        """Called when the departure METAR has been edited on one of the
    39464659        pages.
     
    39524665                page.changeMETAR(metar)
    39534666
    3954     def _arrivalMETARChanged(self, metar, originator):
     4667    def arrivalMETARChanged(self, metar, originator):
    39554668        """Called when the arrival METAR has been edited on one of the
    39564669        pages.
  • src/mlx/gui/gui.py

    r620 r687  
    1515from mlx.gui.pirep import PIREPViewer
    1616from mlx.gui.bugreport import BugReportDialog
     17from mlx.gui.acars import ACARS
     18import cef
    1719
    1820import mlx.const as const
     
    102104        window.connect("delete-event", self.deleteMainWindow)
    103105        window.connect("window-state-event", self._handleMainWindowState)
     106        if os.name=="nt":
     107            window.connect("leave-notify-event", self._handleLeaveNotify)
    104108        accelGroup = gtk.AccelGroup()
    105109        window.add_accel_group(accelGroup)
     110        window.realize()
    106111
    107112        mainVBox = gtk.VBox()
     
    151156        self._notebook.append_page(self._fleetGateStatus, label)
    152157
     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
    153163        (self._debugLogWidget, self._debugLogView) = self._buildLogWidget()
    154164        self._debugLogWidget.show_all()
     
    170180
    171181        window.show_all()
     182        if os.name=="nt":
     183            window.get_window().focus()
    172184
    173185        self._wizard.grabDefault()
     
    427439            self._updater = Updater(self,
    428440                                    self._programDirectory,
    429                                     self.config.updateURL,
     441                                    self.config.DEFAULT_UPDATE_URL,
    430442                                    self._mainWindow)
    431443            self._updater.start()
     444
     445        cef.initialize(self._programDirectory, self._cefInitialized)
    432446
    433447        singleton.raiseCallback = self.raiseCallback
    434448        gtk.main()
    435449        singleton.raiseCallback = None
     450
     451        cef.finalize()
    436452
    437453        self._disconnect()
     
    688704            self._mainWindow.present()
    689705
     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
    690713    def raiseCallback(self):
    691714        """Callback for the singleton handling code."""
     
    788811        self._weightHelp.set_sensitive(False)
    789812        self._mainWindow.get_window().set_cursor(self._busyCursor)
     813        self._statusbar.updateBusyState(message)
     814
     815    def updateBusyState(self, message):
     816        """Update the busy state."""
    790817        self._statusbar.updateBusyState(message)
    791818
     
    14641491                                      summary, description, email)
    14651492
     1493    def _cefInitialized(self):
     1494        """Called when CEF has been initialized."""
     1495        self._acars.start()
     1496        cef.initializeSimBrief()
     1497
    14661498    def _bugReportSentCallback(self, returned, result):
    14671499        """Callback function for the bug report sending result."""
  • src/mlx/gui/prefs.py

    r392 r684  
    243243        self._setSmoothing(self._vsSmoothingEnabled, self._vsSmoothingLength,
    244244                           config.vsSmoothingLength)
     245
     246        self._useSimBrief.set_active(config.useSimBrief)
    245247
    246248        pirepDirectory = config.pirepDirectory
     
    291293        config.vsSmoothingLength = self._getSmoothing(self._vsSmoothingEnabled,
    292294                                                       self._vsSmoothingLength)
     295        config.useSimBrief = self._useSimBrief.get_active()
    293296        config.pirepDirectory = text2unicode(self._pirepDirectory.get_text())
    294297        config.pirepAutoSave = self._pirepAutoSave.get_active()
     
    406409                                    xstr("prefs_vsSmoothingEnabledTooltip"))
    407410        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)
    408416
    409417        pirepBox = gtk.HBox()
  • src/mlx/update.py

    r672 r681  
    525525        return
    526526
    527     print "update: result:", result
    528 
    529527    (manifest, updateManifest, modifiedAndNew, removed) = result       
    530528    localRemoved = getToremoveFiles(directory)
Note: See TracChangeset for help on using the changeset viewer.