1
0
Fork 0
mirror of https://github.com/shlomif/PySolFC.git synced 2025-04-05 00:02:29 -04:00

+ added SELECT_GAME_MENU setting

* misc. improvements and bugs fixes


git-svn-id: file:///home/shlomif/Backup/svn-dumps/PySolFC/svnsync-repos/pysolfc/PySolFC/trunk@131 efabe8c0-fbe8-4139-b769-b5e6d273206e
This commit is contained in:
skomoroh 2006-12-27 22:16:00 +00:00
parent 0b258a674a
commit c3f3fe3638
14 changed files with 65 additions and 66 deletions

View file

@ -41,6 +41,7 @@ from cStringIO import StringIO
# PySol imports # PySol imports
from mfxutil import Pickler, Unpickler, UnpicklingError from mfxutil import Pickler, Unpickler, UnpicklingError
from mfxutil import Image, ImageTk
from mfxutil import destruct, Struct, SubclassResponsibility from mfxutil import destruct, Struct, SubclassResponsibility
from mfxutil import uclock, usleep from mfxutil import uclock, usleep
from mfxutil import format_time from mfxutil import format_time
@ -1035,9 +1036,7 @@ class Game:
return False return False
if not stack.cards: if not stack.cards:
return False return False
try: if not Image:
import ImageTk # use PIL
except ImportError:
return False return False
if self.moves.state == self.S_INIT: if self.moves.state == self.S_INIT:
# don't use flip animation for initial dealing # don't use flip animation for initial dealing
@ -1095,8 +1094,6 @@ class Game:
def doWinAnimation(self): def doWinAnimation(self):
# based on code from pygtk-demo # based on code from pygtk-demo
import Image, ImageTk
FRAME_DELAY = 40 FRAME_DELAY = 40
CYCLE_LEN = 60 CYCLE_LEN = 60
images = self.win_animation.images images = self.win_animation.images
@ -1173,13 +1170,13 @@ class Game:
def winAnimation(self, perfect=0): def winAnimation(self, perfect=0):
### if not self.app.opt.win_animation: ### if not self.app.opt.win_animation:
### return ### return
if self.preview:
return
if not self.app.opt.animations: if not self.app.opt.animations:
return return
if TOOLKIT == 'gtk': if TOOLKIT == 'gtk':
return return
try: if not Image:
import Image
except ImportError:
return return
self.canvas.hideAllItems() self.canvas.hideAllItems()
# select some random cards # select some random cards
@ -1199,6 +1196,8 @@ class Game:
return return
def redealAnimation(self): def redealAnimation(self):
if self.preview:
return
if not self.app.opt.animations or not self.app.opt.redeal_animation: if not self.app.opt.animations or not self.app.opt.redeal_animation:
return return
self.setCursor(cursor=CURSOR_WATCH) self.setCursor(cursor=CURSOR_WATCH)

View file

@ -50,7 +50,7 @@ def init():
locale_dir = d locale_dir = d
##if locale_dir: locale_dir = os.path.normpath(locale_dir) ##if locale_dir: locale_dir = os.path.normpath(locale_dir)
gettext.install('pysol', locale_dir, unicode=True) gettext.install('pysol', locale_dir, unicode=True)
# debug
if 'PYSOL_CHECK_GAMES' in os.environ or \ if 'PYSOL_CHECK_GAMES' in os.environ or \
'PYSOL_DEBUG' in os.environ: 'PYSOL_DEBUG' in os.environ:
settings.CHECK_GAMES = True settings.CHECK_GAMES = True
@ -97,4 +97,8 @@ def init():
# "can't invoke event <<ThemeChanged>>: application has been destroyed" # "can't invoke event <<ThemeChanged>>: application has been destroyed"
#root.destroy() #root.destroy()
Tkinter._default_root = None Tkinter._default_root = None
#
if '--no-games-menu' in sys.argv:
sys.argv.remove('--no-games-menu')
settings.SELECT_GAME_MENU = False

View file

@ -47,6 +47,24 @@ try:
except: except:
thread = None thread = None
from settings import TOOLKIT
Image = ImageTk = ImageOps = None
if TOOLKIT == 'tk':
try: # PIL
import Image
except ImportError:
pass
else:
import ImageTk
import ImageOps
# for py2exe
import GifImagePlugin
import PngImagePlugin
import JpegImagePlugin
import BmpImagePlugin
import PpmImagePlugin
Image._initialized=2
if os.name == "mac": if os.name == "mac":
# macfs module is deprecated, consider using Carbon.File or Carbon.Folder # macfs module is deprecated, consider using Carbon.File or Carbon.Folder
import macfs, MACFS import macfs, MACFS

View file

@ -66,6 +66,9 @@ if os.name == 'mac':
TOP_SIZE = 10 TOP_SIZE = 10
TOP_TITLE = n_('Top 10') TOP_TITLE = n_('Top 10')
# use menu for select game
SELECT_GAME_MENU = True
# debug # debug
DEBUG = 0 # must be integer DEBUG = 0 # must be integer
CHECK_GAMES = False # check duplicated names and classes CHECK_GAMES = False # check duplicated names and classes

View file

@ -95,6 +95,7 @@ import types
# PySol imports # PySol imports
from mfxutil import Struct, kwdefault, SubclassResponsibility from mfxutil import Struct, kwdefault, SubclassResponsibility
from mfxutil import Image, ImageTk, ImageOps
from util import ACE, KING from util import ACE, KING
from util import ANY_SUIT, ANY_COLOR, ANY_RANK, NO_RANK from util import ANY_SUIT, ANY_COLOR, ANY_RANK, NO_RANK
from pysoltk import EVENT_HANDLED, EVENT_PROPAGATE from pysoltk import EVENT_HANDLED, EVENT_PROPAGATE
@ -1289,13 +1290,6 @@ class Stack:
xx0, yy0 = x0, y0 xx0, yy0 = x0, y0
w, h = x1-x0, y1-y0 w, h = x1-x0, y1-y0
# #
Image = None
if TOOLKIT == 'tk':
try:
import Image, ImageTk
except ImportError:
pass
##Image = None
if TOOLKIT == 'gtk' or not Image: if TOOLKIT == 'gtk' or not Image:
color = self.game.app.opt.colors['cards_1'] color = self.game.app.opt.colors['cards_1']
r = MfxCanvasRectangle(self.canvas, xx0, yy0, xx0+w, yy0+h, r = MfxCanvasRectangle(self.canvas, xx0, yy0, xx0+w, yy0+h,

View file

@ -46,6 +46,7 @@ from pysollib.mfxutil import destruct, Struct, kwdefault
from pysollib.util import CARDSET from pysollib.util import CARDSET
from pysollib.settings import PACKAGE, WIN_SYSTEM from pysollib.settings import PACKAGE, WIN_SYSTEM
from pysollib.settings import TOP_TITLE from pysollib.settings import TOP_TITLE
from pysollib.settings import SELECT_GAME_MENU
from pysollib.gamedb import GI from pysollib.gamedb import GI
from pysollib.actions import PysolMenubarActions from pysollib.actions import PysolMenubarActions
@ -630,6 +631,8 @@ class PysolMenubar(PysolMenubarActions):
command=self.mSelectGameDialog) command=self.mSelectGameDialog)
menu.add_command(label=n_("Playable pre&view..."), accelerator="V", menu.add_command(label=n_("Playable pre&view..."), accelerator="V",
command=self.mSelectGameDialogWithPreview) command=self.mSelectGameDialogWithPreview)
if not SELECT_GAME_MENU:
return
menu.add_separator() menu.add_separator()
self._addSelectPopularGameSubMenu(games, menu, self.mSelectGame, self._addSelectPopularGameSubMenu(games, menu, self.mSelectGame,
self.tkopt.gameid) self.tkopt.gameid)

View file

@ -44,16 +44,9 @@ __all__ = ['MfxCanvasGroup',
import os, sys, types import os, sys, types
import Tile as Tkinter import Tile as Tkinter
import Canvas import Canvas
try:
# PIL (Python Image Library) # PySol imports
import Image from pysollib.mfxutil import Image, ImageTk, ImageOps
except ImportError:
Image = None
else:
import ImageTk
# for py2exe
import GifImagePlugin, PngImagePlugin, JpegImagePlugin, BmpImagePlugin, PpmImagePlugin
Image._initialized=2
# Toolkit imports # Toolkit imports
from tkutil import bind, unbind_destroy, loadImage from tkutil import bind, unbind_destroy, loadImage

View file

@ -60,13 +60,9 @@ import sys, os, re
import traceback import traceback
import Tile as Tkinter import Tile as Tkinter
from tkFont import Font from tkFont import Font
try:
# PIL # PySol imports
import Image from pysollib.mfxutil import Image, ImageTk, ImageOps
import ImageTk
import ImageOps
except ImportError:
Image = None
# Toolkit imports # Toolkit imports
from tkconst import tkversion from tkconst import tkversion

View file

@ -38,14 +38,10 @@ __all__ = ['PysolToolbar'] #, 'TOOLBAR_BUTTONS']
# imports # imports
import os import os
import Tile as Tkinter import Tile as Tkinter
try:
# PIL
import Image, ImageTk
except ImportError:
Image = None
# PySol imports # PySol imports
from pysollib.mfxutil import destruct from pysollib.mfxutil import destruct
from pysollib.mfxutil import Image, ImageTk, ImageOps
from pysollib.util import IMAGE_EXTENSIONS from pysollib.util import IMAGE_EXTENSIONS
from pysollib.settings import PACKAGE from pysollib.settings import PACKAGE
from pysollib.actions import PysolToolbarActions from pysollib.actions import PysolToolbarActions

View file

@ -38,13 +38,14 @@ __all__ = ['PysolMenubar']
# imports # imports
import math, os, sys, re import math, os, sys, re
import Tkinter, tkColorChooser, tkFileDialog import Tkinter, tkFileDialog
# PySol imports # PySol imports
from pysollib.mfxutil import destruct, Struct, kwdefault from pysollib.mfxutil import destruct, Struct, kwdefault
from pysollib.util import CARDSET from pysollib.util import CARDSET
from pysollib.settings import PACKAGE, WIN_SYSTEM from pysollib.settings import PACKAGE, WIN_SYSTEM
from pysollib.settings import TOP_TITLE from pysollib.settings import TOP_TITLE
from pysollib.settings import SELECT_GAME_MENU
from pysollib.gamedb import GI from pysollib.gamedb import GI
from pysollib.actions import PysolMenubarActions from pysollib.actions import PysolMenubarActions
@ -626,6 +627,8 @@ class PysolMenubar(PysolMenubarActions):
command=self.mSelectGameDialog) command=self.mSelectGameDialog)
menu.add_command(label=n_("Playable pre&view..."), accelerator="V", menu.add_command(label=n_("Playable pre&view..."), accelerator="V",
command=self.mSelectGameDialogWithPreview) command=self.mSelectGameDialogWithPreview)
if not SELECT_GAME_MENU:
return
menu.add_separator() menu.add_separator()
self._addSelectPopularGameSubMenu(games, menu, self.mSelectGame, self._addSelectPopularGameSubMenu(games, menu, self.mSelectGame,
self.tkopt.gameid) self.tkopt.gameid)

View file

@ -43,16 +43,9 @@ __all__ = ['MfxCanvasGroup',
# imports # imports
import os, sys, types import os, sys, types
import Tkinter, Canvas import Tkinter, Canvas
try:
# PIL (Python Image Library) # PySol imports
import Image from pysollib.mfxutil import Image, ImageTk
except ImportError:
Image = None
else:
import ImageTk
# for py2exe
import GifImagePlugin, PngImagePlugin, JpegImagePlugin, BmpImagePlugin, PpmImagePlugin
Image._initialized=2
# Toolkit imports # Toolkit imports
from tkutil import bind, unbind_destroy, loadImage from tkutil import bind, unbind_destroy, loadImage

View file

@ -60,13 +60,9 @@ import sys, os, re
import traceback import traceback
import Tkinter import Tkinter
from tkFont import Font from tkFont import Font
try:
# PIL # PySol imports
import Image from pysollib.mfxutil import Image, ImageTk, ImageOps
import ImageTk
import ImageOps
except ImportError:
Image = None
# Toolkit imports # Toolkit imports
from tkconst import tkversion from tkconst import tkversion

View file

@ -38,14 +38,10 @@ __all__ = ['PysolToolbar'] #, 'TOOLBAR_BUTTONS']
# imports # imports
import os, sys, types, Tkinter import os, sys, types, Tkinter
import traceback import traceback
try:
# PIL
import Image, ImageTk
except ImportError:
Image = None
# PySol imports # PySol imports
from pysollib.mfxutil import destruct from pysollib.mfxutil import destruct
from pysollib.mfxutil import Image, ImageTk
from pysollib.util import IMAGE_EXTENSIONS from pysollib.util import IMAGE_EXTENSIONS
from pysollib.settings import PACKAGE from pysollib.settings import PACKAGE
from pysollib.actions import PysolToolbarActions from pysollib.actions import PysolToolbarActions

View file

@ -62,8 +62,16 @@ __all__ = ['SUITS',
# imports # imports
import sys, os, re, time import sys, os, re, time
try:
import Image, ImageTk, ImageOps
except ImportError:
Image = ImageTk = ImageOps = None
# PySol imports # PySol imports
from settings import DATA_DIRS from settings import DATA_DIRS
from mfxutil import Image
# /*********************************************************************** # /***********************************************************************
# // constants # // constants
@ -102,11 +110,8 @@ IMAGE_EXTENSIONS = (".gif", ".ppm",)
if 1 and os.name == "nt": if 1 and os.name == "nt":
IMAGE_EXTENSIONS = (".png", ".gif", ".ppm", ".jpg",) IMAGE_EXTENSIONS = (".png", ".gif", ".ppm", ".jpg",)
pass pass
try:
import Image if Image:
except ImportError:
pass
else:
IMAGE_EXTENSIONS = (".png", ".gif", ".jpg", ".ppm", ".bmp") IMAGE_EXTENSIONS = (".png", ".gif", ".jpg", ".ppm", ".bmp")