From 5ae17501e1b537f1ebb63a661d4e42764a3a0017 Mon Sep 17 00:00:00 2001 From: skomoroh Date: Mon, 6 Nov 2006 22:10:44 +0000 Subject: [PATCH] + 1 new game * misc improvements git-svn-id: file:///home/shlomif/Backup/svn-dumps/PySolFC/svnsync-repos/pysolfc/PySolFC/trunk@87 efabe8c0-fbe8-4139-b769-b5e6d273206e --- po/games.pot | 8 +- po/pysol.pot | 162 +++++++++++++++++++------------------- po/ru_games.po | 12 ++- po/ru_pysol.po | 162 +++++++++++++++++++------------------- pysollib/actions.py | 1 + pysollib/app.py | 12 --- pysollib/game.py | 3 +- pysollib/games/spider.py | 14 ++++ pysollib/mfxutil.py | 21 ----- pysollib/resource.py | 50 ------------ pysollib/tile/tkutil.py | 14 ++-- pysollib/tile/tkwidget.py | 6 +- pysollib/tk/tkwidget.py | 5 -- 13 files changed, 198 insertions(+), 272 deletions(-) diff --git a/po/games.pot b/po/games.pot index c4f8b9b8..f3afc809 100644 --- a/po/games.pot +++ b/po/games.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PySol 0.0.1\n" -"POT-Creation-Date: Tue Oct 31 19:32:40 2006\n" +"POT-Creation-Date: Mon Nov 6 09:46:50 2006\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2742,6 +2742,9 @@ msgstr "" msgid "Quadruple Alliance" msgstr "" +msgid "Quads" +msgstr "" + msgid "Quartets" msgstr "" @@ -3510,9 +3513,6 @@ msgstr "" msgid "Troika" msgstr "" -msgid "Troika +" -msgstr "" - msgid "Trusty Twelve" msgstr "" diff --git a/po/pysol.pot b/po/pysol.pot index 0e605b22..6d8c93bd 100644 --- a/po/pysol.pot +++ b/po/pysol.pot @@ -14,7 +14,7 @@ msgid "" msgstr "" "#-#-#-#-# pysol-1.pot (PACKAGE VERSION) #-#-#-#-#\n" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: Tue Oct 31 19:33:33 2006\n" +"POT-Creation-Date: Mon Nov 6 09:47:42 2006\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -24,7 +24,7 @@ msgstr "" "Generated-By: pygettext.py 1.5\n" "#-#-#-#-# pysol-2.pot (PACKAGE VERSION) #-#-#-#-#\n" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2006-10-31 19:33+0300\n" +"POT-Creation-Date: 2006-11-06 09:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -70,7 +70,7 @@ msgstr "" #: pysollib/actions.py:314 pysollib/app.py:892 pysollib/app.py:1155 #: pysollib/app.py:1167 pysollib/game.py:929 pysollib/game.py:1865 -#: pysollib/main.py:374 pysollib/main.py:382 pysollib/tk/colorsdialog.py:122 +#: pysollib/main.py:376 pysollib/main.py:384 pysollib/tk/colorsdialog.py:122 #: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:143 #: pysollib/tk/fontsdialog.py:205 pysollib/tk/gameinfodialog.py:155 #: pysollib/tk/playeroptionsdialog.py:85 @@ -81,8 +81,8 @@ msgstr "" #: pysollib/tk/tkstats.py:288 pysollib/tk/tkstats.py:512 #: pysollib/tk/tkstats.py:579 pysollib/tk/tkstats.py:594 #: pysollib/tk/tkstats.py:636 pysollib/tk/tkstats.py:708 -#: pysollib/tk/tkstats.py:792 pysollib/tk/tkwidget.py:160 -#: pysollib/tk/tkwidget.py:325 +#: pysollib/tk/tkstats.py:792 pysollib/tk/tkwidget.py:159 +#: pysollib/tk/tkwidget.py:324 msgid "&OK" msgstr "" @@ -95,7 +95,7 @@ msgstr "" #: pysollib/tk/playeroptionsdialog.py:160 pysollib/tk/selectcardset.py:241 #: pysollib/tk/selectgame.py:266 pysollib/tk/selectgame.py:407 #: pysollib/tk/selecttile.py:159 pysollib/tk/soundoptionsdialog.py:170 -#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:325 +#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:324 msgid "&Cancel" msgstr "" @@ -1227,7 +1227,7 @@ msgstr "" msgid " Help" msgstr "" -#: pysollib/main.py:67 pysollib/main.py:282 +#: pysollib/main.py:67 pysollib/main.py:284 msgid " installation error" msgstr "" @@ -1241,7 +1241,7 @@ msgid "" "Please check your %s installation.\n" msgstr "" -#: pysollib/main.py:75 pysollib/main.py:290 pysollib/tk/menubar.py:382 +#: pysollib/main.py:75 pysollib/main.py:292 pysollib/tk/menubar.py:382 msgid "&Quit" msgstr "" @@ -1281,7 +1281,7 @@ msgid "" "try %s --help for more information" msgstr "" -#: pysollib/main.py:283 +#: pysollib/main.py:285 msgid "" "\n" "No games were found !!!\n" @@ -1292,293 +1292,293 @@ msgid "" "Please check your %s installation.\n" msgstr "" -#: pysollib/main.py:369 pysollib/main.py:377 +#: pysollib/main.py:371 pysollib/main.py:379 msgid " installation problem" msgstr "" -#: pysollib/main.py:370 +#: pysollib/main.py:372 msgid "" "Your Python installation is compiled without thread support.\n" "\n" "Sounds and background music will be disabled." msgstr "" -#: pysollib/main.py:378 +#: pysollib/main.py:380 msgid "" "The pysolsoundserver module was not found.\n" "\n" "Sounds and background music will be disabled." msgstr "" -#: pysollib/main.py:385 +#: pysollib/main.py:387 msgid "Welcome to " msgstr "" -#: pysollib/resource.py:242 +#: pysollib/resource.py:192 msgid "French type (52 cards)" msgstr "" -#: pysollib/resource.py:243 +#: pysollib/resource.py:193 msgid "Hanafuda type (48 cards)" msgstr "" -#: pysollib/resource.py:244 +#: pysollib/resource.py:194 msgid "Tarock type (78 cards)" msgstr "" -#: pysollib/resource.py:245 +#: pysollib/resource.py:195 msgid "Mahjongg type (42 tiles)" msgstr "" -#: pysollib/resource.py:246 +#: pysollib/resource.py:196 msgid "Hex A Deck type (68 cards)" msgstr "" -#: pysollib/resource.py:247 +#: pysollib/resource.py:197 msgid "Mughal Ganjifa type (96 cards)" msgstr "" -#: pysollib/resource.py:248 +#: pysollib/resource.py:198 msgid "Navagraha Ganjifa type (108 cards)" msgstr "" -#: pysollib/resource.py:249 +#: pysollib/resource.py:199 msgid "Dashavatara Ganjifa type (120 cards)" msgstr "" -#: pysollib/resource.py:250 +#: pysollib/resource.py:200 msgid "Trumps only type (variable cards)" msgstr "" -#: pysollib/resource.py:254 +#: pysollib/resource.py:204 msgid "French" msgstr "" -#: pysollib/resource.py:255 pysollib/resource.py:279 +#: pysollib/resource.py:205 pysollib/resource.py:229 msgid "Hanafuda" msgstr "" -#: pysollib/resource.py:256 pysollib/resource.py:295 +#: pysollib/resource.py:206 pysollib/resource.py:245 msgid "Tarock" msgstr "" -#: pysollib/resource.py:257 pysollib/resource.py:282 +#: pysollib/resource.py:207 pysollib/resource.py:232 msgid "Mahjongg" msgstr "" -#: pysollib/resource.py:258 pysollib/resource.py:280 +#: pysollib/resource.py:208 pysollib/resource.py:230 msgid "Hex A Deck" msgstr "" -#: pysollib/resource.py:259 +#: pysollib/resource.py:209 msgid "Mughal Ganjifa" msgstr "" -#: pysollib/resource.py:260 +#: pysollib/resource.py:210 msgid "Navagraha Ganjifa" msgstr "" -#: pysollib/resource.py:261 +#: pysollib/resource.py:211 msgid "Dashavatara Ganjifa" msgstr "" -#: pysollib/resource.py:262 +#: pysollib/resource.py:212 msgid "Trumps only" msgstr "" -#: pysollib/resource.py:267 +#: pysollib/resource.py:217 msgid "Adult" msgstr "" -#: pysollib/resource.py:268 +#: pysollib/resource.py:218 msgid "Animals" msgstr "" -#: pysollib/resource.py:269 +#: pysollib/resource.py:219 msgid "Anime" msgstr "" -#: pysollib/resource.py:270 +#: pysollib/resource.py:220 msgid "Art" msgstr "" -#: pysollib/resource.py:271 +#: pysollib/resource.py:221 msgid "Cartoons" msgstr "" -#: pysollib/resource.py:272 +#: pysollib/resource.py:222 msgid "Children" msgstr "" -#: pysollib/resource.py:273 +#: pysollib/resource.py:223 msgid "Classic look" msgstr "" -#: pysollib/resource.py:274 +#: pysollib/resource.py:224 msgid "Collectors" msgstr "" -#: pysollib/resource.py:275 +#: pysollib/resource.py:225 msgid "Computers" msgstr "" -#: pysollib/resource.py:276 +#: pysollib/resource.py:226 msgid "Engines" msgstr "" -#: pysollib/resource.py:277 +#: pysollib/resource.py:227 msgid "Fantasy" msgstr "" -#: pysollib/resource.py:278 +#: pysollib/resource.py:228 msgid "Ganjifa" msgstr "" -#: pysollib/resource.py:281 +#: pysollib/resource.py:231 msgid "Holiday" msgstr "" -#: pysollib/resource.py:283 +#: pysollib/resource.py:233 msgid "Movies" msgstr "" -#: pysollib/resource.py:284 +#: pysollib/resource.py:234 msgid "Matrix" msgstr "" -#: pysollib/resource.py:285 +#: pysollib/resource.py:235 msgid "Music" msgstr "" -#: pysollib/resource.py:286 +#: pysollib/resource.py:236 msgid "Nature" msgstr "" -#: pysollib/resource.py:287 +#: pysollib/resource.py:237 msgid "Operating Systems" msgstr "" -#: pysollib/resource.py:288 +#: pysollib/resource.py:238 msgid "People" msgstr "" -#: pysollib/resource.py:289 +#: pysollib/resource.py:239 msgid "Places" msgstr "" -#: pysollib/resource.py:290 +#: pysollib/resource.py:240 msgid "Plain" msgstr "" -#: pysollib/resource.py:291 +#: pysollib/resource.py:241 msgid "Products" msgstr "" -#: pysollib/resource.py:292 +#: pysollib/resource.py:242 msgid "Round cardsets" msgstr "" -#: pysollib/resource.py:293 +#: pysollib/resource.py:243 msgid "Science Fiction" msgstr "" -#: pysollib/resource.py:294 +#: pysollib/resource.py:244 msgid "Sports" msgstr "" -#: pysollib/resource.py:296 +#: pysollib/resource.py:246 msgid "Vehicels" msgstr "" -#: pysollib/resource.py:297 +#: pysollib/resource.py:247 msgid "Video Games" msgstr "" -#: pysollib/resource.py:302 +#: pysollib/resource.py:252 msgid "Australia" msgstr "" -#: pysollib/resource.py:303 +#: pysollib/resource.py:253 msgid "Austria" msgstr "" -#: pysollib/resource.py:304 +#: pysollib/resource.py:254 msgid "Belgium" msgstr "" -#: pysollib/resource.py:305 +#: pysollib/resource.py:255 msgid "Canada" msgstr "" -#: pysollib/resource.py:306 +#: pysollib/resource.py:256 msgid "China" msgstr "" -#: pysollib/resource.py:307 +#: pysollib/resource.py:257 msgid "Czech Republic" msgstr "" -#: pysollib/resource.py:308 +#: pysollib/resource.py:258 msgid "Denmark" msgstr "" -#: pysollib/resource.py:309 +#: pysollib/resource.py:259 msgid "England" msgstr "" -#: pysollib/resource.py:310 +#: pysollib/resource.py:260 msgid "France" msgstr "" -#: pysollib/resource.py:311 +#: pysollib/resource.py:261 msgid "Germany" msgstr "" -#: pysollib/resource.py:312 +#: pysollib/resource.py:262 msgid "Great Britain" msgstr "" -#: pysollib/resource.py:313 +#: pysollib/resource.py:263 msgid "Hungary" msgstr "" -#: pysollib/resource.py:314 +#: pysollib/resource.py:264 msgid "India" msgstr "" -#: pysollib/resource.py:315 +#: pysollib/resource.py:265 msgid "Italy" msgstr "" -#: pysollib/resource.py:316 +#: pysollib/resource.py:266 msgid "Japan" msgstr "" -#: pysollib/resource.py:317 +#: pysollib/resource.py:267 msgid "Netherlands" msgstr "" -#: pysollib/resource.py:318 +#: pysollib/resource.py:268 msgid "Russia" msgstr "" -#: pysollib/resource.py:319 +#: pysollib/resource.py:269 msgid "Spain" msgstr "" -#: pysollib/resource.py:320 +#: pysollib/resource.py:270 msgid "Sweden" msgstr "" -#: pysollib/resource.py:321 +#: pysollib/resource.py:271 msgid "Switzerland" msgstr "" -#: pysollib/resource.py:322 +#: pysollib/resource.py:272 msgid "USA" msgstr "" -#: pysollib/settings.py:55 data/glade-translations:29 +#: pysollib/settings.py:58 data/glade-translations:29 msgid "Top 10" msgstr "" @@ -2472,7 +2472,7 @@ msgid "" msgstr "" #: pysollib/tk/playeroptionsdialog.py:120 -msgid "Select..." +msgid "Choose..." msgstr "" #: pysollib/tk/playeroptionsdialog.py:124 diff --git a/po/ru_games.po b/po/ru_games.po index 0e9778bb..a7fa332a 100644 --- a/po/ru_games.po +++ b/po/ru_games.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PySol 0.0.1\n" -"POT-Creation-Date: Tue Oct 31 19:32:40 2006\n" +"POT-Creation-Date: Mon Nov 6 09:46:50 2006\n" "PO-Revision-Date: 2006-10-31 19:57+0300\n" "Last-Translator: Скоморох \n" "Language-Team: Russian \n" @@ -2790,6 +2790,10 @@ msgstr "Четырёхугольник" msgid "Quadruple Alliance" msgstr "Четырёхсторонний альянс" +#, fuzzy +msgid "Quads" +msgstr "Четвёрка" + msgid "Quartets" msgstr "Квартеты" @@ -3577,9 +3581,6 @@ msgstr "Тройной Юкон" msgid "Troika" msgstr "Тройка" -msgid "Troika +" -msgstr "Тройка +" - msgid "Trusty Twelve" msgstr "Верные двенадцать" @@ -3781,3 +3782,6 @@ msgstr "" msgid "Zodiac" msgstr "Зодиак" + +#~ msgid "Troika +" +#~ msgstr "Тройка +" diff --git a/po/ru_pysol.po b/po/ru_pysol.po index f6e028e3..f96eae84 100644 --- a/po/ru_pysol.po +++ b/po/ru_pysol.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: PySol 0.0.1\n" -"POT-Creation-Date: Tue Oct 31 19:33:33 2006\n" -"PO-Revision-Date: 2006-10-31 19:57+0300\n" +"POT-Creation-Date: Mon Nov 6 09:47:42 2006\n" +"PO-Revision-Date: 2006-11-06 09:53+0300\n" "Last-Translator: Скоморох \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" @@ -55,7 +55,7 @@ msgstr "&Следующий номер" #: pysollib/actions.py:314 pysollib/app.py:892 pysollib/app.py:1155 #: pysollib/app.py:1167 pysollib/game.py:929 pysollib/game.py:1865 -#: pysollib/main.py:374 pysollib/main.py:382 pysollib/tk/colorsdialog.py:122 +#: pysollib/main.py:376 pysollib/main.py:384 pysollib/tk/colorsdialog.py:122 #: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:143 #: pysollib/tk/fontsdialog.py:205 pysollib/tk/gameinfodialog.py:155 #: pysollib/tk/playeroptionsdialog.py:85 @@ -66,8 +66,8 @@ msgstr "&Следующий номер" #: pysollib/tk/tkstats.py:288 pysollib/tk/tkstats.py:512 #: pysollib/tk/tkstats.py:579 pysollib/tk/tkstats.py:594 #: pysollib/tk/tkstats.py:636 pysollib/tk/tkstats.py:708 -#: pysollib/tk/tkstats.py:792 pysollib/tk/tkwidget.py:160 -#: pysollib/tk/tkwidget.py:325 +#: pysollib/tk/tkstats.py:792 pysollib/tk/tkwidget.py:159 +#: pysollib/tk/tkwidget.py:324 msgid "&OK" msgstr "&ОК" @@ -80,7 +80,7 @@ msgstr "&ОК" #: pysollib/tk/playeroptionsdialog.py:160 pysollib/tk/selectcardset.py:241 #: pysollib/tk/selectgame.py:266 pysollib/tk/selectgame.py:407 #: pysollib/tk/selecttile.py:159 pysollib/tk/soundoptionsdialog.py:170 -#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:325 +#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:324 msgid "&Cancel" msgstr "От&мена" @@ -1331,7 +1331,7 @@ msgstr "Не найден файл помощи\n" msgid " Help" msgstr " Помощь" -#: pysollib/main.py:67 pysollib/main.py:282 +#: pysollib/main.py:67 pysollib/main.py:284 msgid " installation error" msgstr " проблема с установкой" @@ -1345,7 +1345,7 @@ msgid "" "Please check your %s installation.\n" msgstr "" -#: pysollib/main.py:75 pysollib/main.py:290 pysollib/tk/menubar.py:382 +#: pysollib/main.py:75 pysollib/main.py:292 pysollib/tk/menubar.py:382 msgid "&Quit" msgstr "В&ыход" @@ -1405,7 +1405,7 @@ msgstr "" "%s: неправильное имя файла\n" "попробуйте %s --help для получения более подробной информации" -#: pysollib/main.py:283 +#: pysollib/main.py:285 msgid "" "\n" "No games were found !!!\n" @@ -1416,18 +1416,18 @@ msgid "" "Please check your %s installation.\n" msgstr "" -#: pysollib/main.py:369 pysollib/main.py:377 +#: pysollib/main.py:371 pysollib/main.py:379 msgid " installation problem" msgstr "" -#: pysollib/main.py:370 +#: pysollib/main.py:372 msgid "" "Your Python installation is compiled without thread support.\n" "\n" "Sounds and background music will be disabled." msgstr "" -#: pysollib/main.py:378 +#: pysollib/main.py:380 msgid "" "The pysolsoundserver module was not found.\n" "\n" @@ -1437,275 +1437,275 @@ msgstr "" "\n" "Звук и фоновая музыка будут недоступны" -#: pysollib/main.py:385 +#: pysollib/main.py:387 msgid "Welcome to " msgstr "Добро пожаловать в " -#: pysollib/resource.py:242 +#: pysollib/resource.py:192 msgid "French type (52 cards)" msgstr "Классические (52 карты)" -#: pysollib/resource.py:243 +#: pysollib/resource.py:193 msgid "Hanafuda type (48 cards)" msgstr "Ханафуда (48 карт)" -#: pysollib/resource.py:244 +#: pysollib/resource.py:194 msgid "Tarock type (78 cards)" msgstr "Таро (78 карт)" -#: pysollib/resource.py:245 +#: pysollib/resource.py:195 msgid "Mahjongg type (42 tiles)" msgstr "Маджонг (42 фишки)" -#: pysollib/resource.py:246 +#: pysollib/resource.py:196 msgid "Hex A Deck type (68 cards)" msgstr "Hex A Deck (68 карт)" -#: pysollib/resource.py:247 +#: pysollib/resource.py:197 msgid "Mughal Ganjifa type (96 cards)" msgstr "Мугал Ганджифа (96 карт)" -#: pysollib/resource.py:248 +#: pysollib/resource.py:198 msgid "Navagraha Ganjifa type (108 cards)" msgstr "Наваграха Ганджифа (108 карт)" -#: pysollib/resource.py:249 +#: pysollib/resource.py:199 msgid "Dashavatara Ganjifa type (120 cards)" msgstr "Дашаватара Ганджифа (120 карт)" -#: pysollib/resource.py:250 +#: pysollib/resource.py:200 msgid "Trumps only type (variable cards)" msgstr "Без мастей (переменное количество карт)" -#: pysollib/resource.py:254 +#: pysollib/resource.py:204 msgid "French" msgstr "Классические" -#: pysollib/resource.py:255 pysollib/resource.py:279 +#: pysollib/resource.py:205 pysollib/resource.py:229 msgid "Hanafuda" msgstr "Ханафуда" -#: pysollib/resource.py:256 pysollib/resource.py:295 +#: pysollib/resource.py:206 pysollib/resource.py:245 msgid "Tarock" msgstr "Таро" -#: pysollib/resource.py:257 pysollib/resource.py:282 +#: pysollib/resource.py:207 pysollib/resource.py:232 msgid "Mahjongg" msgstr "Маджонг" -#: pysollib/resource.py:258 pysollib/resource.py:280 +#: pysollib/resource.py:208 pysollib/resource.py:230 msgid "Hex A Deck" msgstr "Hex A Deck" -#: pysollib/resource.py:259 +#: pysollib/resource.py:209 msgid "Mughal Ganjifa" msgstr "Мугал Ганджифа" -#: pysollib/resource.py:260 +#: pysollib/resource.py:210 msgid "Navagraha Ganjifa" msgstr "Наваграха Ганджифа" -#: pysollib/resource.py:261 +#: pysollib/resource.py:211 msgid "Dashavatara Ganjifa" msgstr "Дашаватара Ганджифа" -#: pysollib/resource.py:262 +#: pysollib/resource.py:212 msgid "Trumps only" msgstr "Без мастей" -#: pysollib/resource.py:267 +#: pysollib/resource.py:217 msgid "Adult" msgstr "Для взрослых" -#: pysollib/resource.py:268 +#: pysollib/resource.py:218 msgid "Animals" msgstr "Животные" -#: pysollib/resource.py:269 +#: pysollib/resource.py:219 msgid "Anime" msgstr "Мультфильмы" -#: pysollib/resource.py:270 +#: pysollib/resource.py:220 msgid "Art" msgstr "Искусство" -#: pysollib/resource.py:271 +#: pysollib/resource.py:221 msgid "Cartoons" msgstr "Комиксы" -#: pysollib/resource.py:272 +#: pysollib/resource.py:222 msgid "Children" msgstr "Дети" -#: pysollib/resource.py:273 +#: pysollib/resource.py:223 msgid "Classic look" msgstr "Классический вид" -#: pysollib/resource.py:274 +#: pysollib/resource.py:224 msgid "Collectors" msgstr "Коллекционные" -#: pysollib/resource.py:275 +#: pysollib/resource.py:225 msgid "Computers" msgstr "Компьютеры" -#: pysollib/resource.py:276 +#: pysollib/resource.py:226 msgid "Engines" msgstr "Машины" -#: pysollib/resource.py:277 +#: pysollib/resource.py:227 msgid "Fantasy" msgstr "Фентези" -#: pysollib/resource.py:278 +#: pysollib/resource.py:228 msgid "Ganjifa" msgstr "Ганджифа" -#: pysollib/resource.py:281 +#: pysollib/resource.py:231 msgid "Holiday" msgstr "Праздники" -#: pysollib/resource.py:283 +#: pysollib/resource.py:233 msgid "Movies" msgstr "Фильмы" -#: pysollib/resource.py:284 +#: pysollib/resource.py:234 msgid "Matrix" msgstr "Мозаика" -#: pysollib/resource.py:285 +#: pysollib/resource.py:235 msgid "Music" msgstr "Музыка" -#: pysollib/resource.py:286 +#: pysollib/resource.py:236 msgid "Nature" msgstr "Природа" -#: pysollib/resource.py:287 +#: pysollib/resource.py:237 msgid "Operating Systems" msgstr "Операционные системы" -#: pysollib/resource.py:288 +#: pysollib/resource.py:238 msgid "People" msgstr "Люди" -#: pysollib/resource.py:289 +#: pysollib/resource.py:239 msgid "Places" msgstr "Дома" -#: pysollib/resource.py:290 +#: pysollib/resource.py:240 msgid "Plain" msgstr "Простые" -#: pysollib/resource.py:291 +#: pysollib/resource.py:241 msgid "Products" msgstr "Продукты" -#: pysollib/resource.py:292 +#: pysollib/resource.py:242 msgid "Round cardsets" msgstr "Закруглённые" -#: pysollib/resource.py:293 +#: pysollib/resource.py:243 msgid "Science Fiction" msgstr "Научная фантастика" -#: pysollib/resource.py:294 +#: pysollib/resource.py:244 msgid "Sports" msgstr "Спорт" -#: pysollib/resource.py:296 +#: pysollib/resource.py:246 msgid "Vehicels" msgstr "Транспортные средства" -#: pysollib/resource.py:297 +#: pysollib/resource.py:247 msgid "Video Games" msgstr "Видеоигры" -#: pysollib/resource.py:302 +#: pysollib/resource.py:252 msgid "Australia" msgstr "Австралия" -#: pysollib/resource.py:303 +#: pysollib/resource.py:253 msgid "Austria" msgstr "Австрия" -#: pysollib/resource.py:304 +#: pysollib/resource.py:254 msgid "Belgium" msgstr "Бельгия" -#: pysollib/resource.py:305 +#: pysollib/resource.py:255 msgid "Canada" msgstr "Канада" -#: pysollib/resource.py:306 +#: pysollib/resource.py:256 msgid "China" msgstr "Китай" -#: pysollib/resource.py:307 +#: pysollib/resource.py:257 msgid "Czech Republic" msgstr "Чехия" -#: pysollib/resource.py:308 +#: pysollib/resource.py:258 msgid "Denmark" msgstr "Дания" -#: pysollib/resource.py:309 +#: pysollib/resource.py:259 msgid "England" msgstr "Англия" -#: pysollib/resource.py:310 +#: pysollib/resource.py:260 msgid "France" msgstr "Франция" -#: pysollib/resource.py:311 +#: pysollib/resource.py:261 msgid "Germany" msgstr "Германия" -#: pysollib/resource.py:312 +#: pysollib/resource.py:262 msgid "Great Britain" msgstr "Великобритания" -#: pysollib/resource.py:313 +#: pysollib/resource.py:263 msgid "Hungary" msgstr "Венгрия" -#: pysollib/resource.py:314 +#: pysollib/resource.py:264 msgid "India" msgstr "Индия" -#: pysollib/resource.py:315 +#: pysollib/resource.py:265 msgid "Italy" msgstr "Италия" -#: pysollib/resource.py:316 +#: pysollib/resource.py:266 msgid "Japan" msgstr "Япония" -#: pysollib/resource.py:317 +#: pysollib/resource.py:267 msgid "Netherlands" msgstr "Голландия" -#: pysollib/resource.py:318 +#: pysollib/resource.py:268 msgid "Russia" msgstr "Россия" -#: pysollib/resource.py:319 +#: pysollib/resource.py:269 msgid "Spain" msgstr "Испания" -#: pysollib/resource.py:320 +#: pysollib/resource.py:270 msgid "Sweden" msgstr "Швеция" -#: pysollib/resource.py:321 +#: pysollib/resource.py:271 msgid "Switzerland" msgstr "Швейцария" -#: pysollib/resource.py:322 +#: pysollib/resource.py:272 msgid "USA" msgstr "США" -#: pysollib/settings.py:55 data/glade-translations:29 +#: pysollib/settings.py:58 data/glade-translations:29 msgid "Top 10" msgstr "Top 10" @@ -2622,7 +2622,7 @@ msgstr "" "Пожалуйста введите Ваше имя" #: pysollib/tk/playeroptionsdialog.py:120 -msgid "Select..." +msgid "Choose..." msgstr "Выбрать..." #: pysollib/tk/playeroptionsdialog.py:124 diff --git a/pysollib/actions.py b/pysollib/actions.py index 54f85814..65f74742 100644 --- a/pysollib/actions.py +++ b/pysollib/actions.py @@ -421,6 +421,7 @@ class PysolMenubarActions: def mRedoAll(self, *args): if self._cancelDrag(): return if self.menustate.redo: + self.app.top.busyUpdate() self.game.playSample("redo", loop=1) while self.game.moves.index < len(self.game.moves.history): self.game.redo() diff --git a/pysollib/app.py b/pysollib/app.py index c476c4a8..b13d0630 100644 --- a/pysollib/app.py +++ b/pysollib/app.py @@ -1505,10 +1505,6 @@ Please select a %s type %s. dirs = manager.getSearchDirs(self, ("cardsets", ""), "PYSOL_CARDSETS") if self.debug: dirs = dirs + manager.getSearchDirs(self, "cardsets-*") - try: - dirs = dirs + manager.getRegistryDirs(self, ("PySol_Cardsets", "Cardsets")) - except: - pass ##print dirs found, t = [], {} for dir in dirs: @@ -1564,10 +1560,6 @@ Please select a %s type %s. dirs = manager.getSearchDirs(self, ("tiles-*", os.path.join("tiles", 'stretch')), "PYSOL_TILES") - try: - dirs = dirs + manager.getRegistryDirs(self, "Tiles") - except: - pass ##print dirs s = "((\\" + ")|(\\".join(IMAGE_EXTENSIONS) + "))$" ext_re = re.compile(s, re.I) @@ -1675,10 +1667,6 @@ Please select a %s type %s. manager = self.music_manager # find all available music songs dirs = manager.getSearchDirs(self, "music-*", "PYSOL_MUSIC") - try: - dirs = dirs + manager.getRegistryDirs(self, "Music") - except: - pass ##print dirs ext_re = re.compile(self.audio.EXTENTIONS) self.initResource(manager, dirs, ext_re, Music) diff --git a/pysollib/game.py b/pysollib/game.py index 5cf48df3..17ffc6e9 100644 --- a/pysollib/game.py +++ b/pysollib/game.py @@ -1018,8 +1018,7 @@ class Game: return if self.app.debug and not self.top.winfo_ismapped(): return - ##self.top.busyUpdate() - ##self.canvas.after(200) + self.top.busyUpdate() self.canvas.update_idletasks() old_a = self.app.opt.animations if old_a == 0: diff --git a/pysollib/games/spider.py b/pysollib/games/spider.py index 385fba7c..a1728d6b 100644 --- a/pysollib/games/spider.py +++ b/pysollib/games/spider.py @@ -864,6 +864,7 @@ class Applegate(Game): # // Big Divorce # // Spider (4 decks) # // Very Big Divorce +# // Chinese Spider # ************************************************************************/ class BigSpider(Spider): @@ -939,6 +940,16 @@ class GroundForADivorce4Decks(Spider4Decks): shallHighlightMatch = Game._shallHighlightMatch_RKW +class ChineseSpider(Spider): + def createGame(self): + Spider.createGame(self, rows=12, playcards=28) + def startGame(self): + for l in range(5): + self.s.talon.dealRow(frames=0, flip=0) + self.startDealSample() + self.s.talon.dealRow() + + # /*********************************************************************** # // York # ************************************************************************/ @@ -1179,4 +1190,7 @@ registerGame(GameInfo(570, LongTail, "Long Tail", GI.GT_SPIDER, 1, 0, GI.SL_MOSTLY_SKILL)) registerGame(GameInfo(571, ShortTail, "Short Tail", GI.GT_SPIDER | GI.GT_ORIGINAL, 2, 0, GI.SL_MOSTLY_SKILL)) +registerGame(GameInfo(670, ChineseSpider, "Chinese Spider", + GI.GT_SPIDER, 4, 0, GI.SL_MOSTLY_SKILL, + suits=(0, 1, 2),)) diff --git a/pysollib/mfxutil.py b/pysollib/mfxutil.py index 94316078..50d1f670 100644 --- a/pysollib/mfxutil.py +++ b/pysollib/mfxutil.py @@ -52,14 +52,6 @@ if os.name == "mac": # macfs module is deprecated, consider using Carbon.File or Carbon.Folder import macfs, MACFS -win32api = shell = shellcon = None -if sys.platform.startswith('win'): - try: - import win32api - #from win32com.shell import shell, shellcon - except ImportError: - pass - # /*********************************************************************** # // exceptions # ************************************************************************/ @@ -183,24 +175,11 @@ if os.name == "posix": def win32_getusername(): user = os.environ.get('USERNAME','').strip() - try: - user = win32api.GetUserName().strip() - except AttributeError: - pass return user def win32_getprefdir(package): hd = win32_gethomedir() return os.path.join(hd, 'PySolFC') -## dname = os.path.expanduser("~\\.pysol") -## if not os.path.isdir(dname): -## try: -## dname = os.path.join( -## shell.SHGetFolderPath(0, shellcon.CSIDL_APPDATA, 0, 0), -## package, package) -## except AttributeError: -## pass -## return os.path.abspath(dname) def win32_gethomedir(): # %USERPROFILE%, %APPDATA% diff --git a/pysollib/resource.py b/pysollib/resource.py index 12935e33..1e87eb43 100644 --- a/pysollib/resource.py +++ b/pysollib/resource.py @@ -39,7 +39,6 @@ import sys, os, glob, operator, types #import traceback # PySol imports -from mfxutil import win32api from mfxutil import Struct, KwStruct, EnvError, latin1_to_ascii from settings import PACKAGE, VERSION @@ -134,28 +133,6 @@ class ResourceManager: except EnvError, ex: pass - def _addRegistryKey(self, result, hkey, subkey): - k = None - try: - k = win32api.RegOpenKeyEx(hkey, subkey, 0, KEY_READ) - nsubkeys, nvalues, t = win32api.RegQueryInfoKey(k) - for i in range(nvalues): - try: - key, value, vtype = win32api.RegEnumValue(k, i) - except: - break - if not key or not value: - continue - if vtype == 1 and type(value) is types.StringType: - for d in value.split(os.pathsep): - self._addDir(result, d.strip()) - finally: - if k is not None: - try: - win32api.RegCloseKey(k) - except: - pass - def getSearchDirs(self, app, search, env=None): if type(search) is types.StringType: search = (search,) @@ -186,33 +163,6 @@ class ResourceManager: print "getSearchDirs", env, search, "->", result return result - def getRegistryDirs(self, app, categories): - if not win32api: - return [] - # - vendors = ("Markus Oberhumer", "",) - versions = (VERSION, "",) - if type(categories) is types.StringType: - categories = (categories,) - # - result = [] - for version in versions: - for vendor in vendors: - for category in categories: - t = ("Software", vendor, PACKAGE, version, category) - t = filter(None, t) - subkey = '\\'.join(t) - ##print "getRegistryDirs subkey", subkey - for hkey in (HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE): - try: - self._addRegistryKey(result, hkey, subkey) - except: - pass - # - if app.debug >= 5: - print "getRegistryDirs", category, "->", result - return result - # /*********************************************************************** # // Cardset diff --git a/pysollib/tile/tkutil.py b/pysollib/tile/tkutil.py index 4d87b4b5..2bd4592c 100644 --- a/pysollib/tile/tkutil.py +++ b/pysollib/tile/tkutil.py @@ -426,13 +426,13 @@ def load_theme(app, top, theme): if os.path.isdir(d): top.tk.call('lappend', 'auto_path', d) for t in os.listdir(d): - #top.tk.call('tile::setTheme', t) - try: - top.tk.call('package', 'require', 'tile::theme::'+t) - ##print 'load theme:', t - except: - traceback.print_exc() - pass + if os.path.exists(os.path.join(d, t, 'pkgIndex.tcl')): + try: + top.tk.call('package', 'require', 'tile::theme::'+t) + #print 'load theme:', t + except: + traceback.print_exc() + pass # set theme all_themes = top.tk.call('style', 'theme', 'names') if theme not in all_themes: diff --git a/pysollib/tile/tkwidget.py b/pysollib/tile/tkwidget.py index 83b55a31..44e8d372 100644 --- a/pysollib/tile/tkwidget.py +++ b/pysollib/tile/tkwidget.py @@ -50,7 +50,6 @@ import traceback # PySol imports from pysollib.mfxutil import destruct, kwdefault, KwStruct -from pysollib.mfxutil import win32api # Toolkit imports from tkconst import EVENT_HANDLED, EVENT_PROPAGATE @@ -104,6 +103,7 @@ class MfxDialog: # ex. _ToplevelDialog after_cancel(self.timer) unbind_destroy(self.top) self.top.destroy() + self.top.update_idletasks() self.top = None self.parent = None @@ -430,8 +430,6 @@ class MfxScrolledCanvas: if hbar: if hbar == 3: w = 21 - if win32api: - w = win32api.GetSystemMetrics(3) # SM_CYHSCROLL self.frame.grid_rowconfigure(1, minsize=w) self.createHbar() if not vbar: @@ -440,8 +438,6 @@ class MfxScrolledCanvas: if vbar: if vbar == 3: w = 21 - if win32api: - w = win32api.GetSystemMetrics(2) # SM_CXVSCROLL self.frame.grid_columnconfigure(1, minsize=w) self.createVbar() bind(self.vbar, "", self._mapBar) diff --git a/pysollib/tk/tkwidget.py b/pysollib/tk/tkwidget.py index f321d05c..c634d57d 100644 --- a/pysollib/tk/tkwidget.py +++ b/pysollib/tk/tkwidget.py @@ -49,7 +49,6 @@ import traceback # PySol imports from pysollib.mfxutil import destruct, kwdefault, KwStruct -from pysollib.mfxutil import win32api # Toolkit imports from tkconst import EVENT_HANDLED, EVENT_PROPAGATE @@ -449,8 +448,6 @@ class MfxScrolledCanvas: if hbar: if hbar == 3: w = 21 - if win32api: - w = win32api.GetSystemMetrics(3) # SM_CYHSCROLL self.frame.grid_rowconfigure(1, minsize=w) self.createHbar() if not vbar: @@ -459,8 +456,6 @@ class MfxScrolledCanvas: if vbar: if vbar == 3: w = 21 - if win32api: - w = win32api.GetSystemMetrics(2) # SM_CXVSCROLL self.frame.grid_columnconfigure(1, minsize=w) self.createVbar() bind(self.vbar, "", self._mapBar)