コード例 #1
0
ファイル: kajongg.py プロジェクト: KDE/kajongg
def initRulesets():
    """exits if user only wanted to see available rulesets"""
    import predefined  # pylint: disable=unused-variable

    if Options.showRulesets or Options.rulesetName:
        from rule import Ruleset

        rulesets = dict((x.name, x) for x in Ruleset.selectableRulesets())
        if Options.showRulesets:
            for name in rulesets:
                kprint(name)
            Internal.db.close()
            sys.exit(0)
        elif Options.rulesetName in rulesets:
            # we have an exact match
            Options.ruleset = rulesets[Options.rulesetName]
        else:
            matches = list(x for x in rulesets if Options.rulesetName in x)
            if len(matches) != 1:
                if len(matches) == 0:
                    msg = "Ruleset %s is unknown" % Options.rulesetName
                else:
                    msg = "Ruleset %s is ambiguous: %s" % (Options.rulesetName, ", ".join(matches))
                Internal.db.close()
                raise SystemExit(msg)
            Options.ruleset = rulesets[matches[0]]
コード例 #2
0
ファイル: kajongg.py プロジェクト: ospalh/kajongg-fork
def initRulesets():
    """exits if user only wanted to see available rulesets"""
    import predefined # pylint: disable=W0612
    if Options.showRulesets or Options.rulesetName:
        from rule import Ruleset
        from util import kprint
        from query import DBHandle
        rulesets = Ruleset.selectableRulesets()
        if Options.showRulesets:
            for ruleset in rulesets:
                kprint(ruleset.name)
            DBHandle.default = None
            sys.exit(0)
        else:
            for ruleset in rulesets:
                if ruleset.name == Options.rulesetName:
                    Options.ruleset = ruleset
                    break
            else:
                DBHandle.default = None
                raise SystemExit('Ruleset %s is unknown' % Options.rulesetName)
コード例 #3
0
ファイル: board.py プロジェクト: jsj2008/kdegames
 def mousePressEvent(self, event):
     """set blue focus frame"""
     tiles = self.tileAt(event.pos())
     if tiles:
         if event.modifiers() & Qt.ShiftModifier:
             for tile in tiles:
                 kprint('%s: board.level:%s' % (str(tile), tile.board.level))
         tile = tiles[0]
         board = tile.board
         isRemote = board.isHandBoard and board.player and not board.player.game.isScoringGame()
         if board.isHandBoard and not isRemote:
             tile = tile.board.meldWithTile(tile)[0]
         if tile.focusable:
             board.focusTile = tile
             board.hasFocus = True
             if isRemote:
                 InternalParameters.field.clientDialog.buttons[0].setFocus()
             self.tilePressed = tile
         else:
             event.ignore()
     else:
         self.tilePressed = None
         event.ignore()
コード例 #4
0
 def mousePressEvent(self, event):
     """set blue focus frame"""
     tiles = self.tileAt(event.pos())
     if tiles:
         if event.modifiers() & Qt.ShiftModifier:
             for tile in tiles:
                 kprint('%s: board.level:%s' % (str(tile), tile.board.level))
         tile = tiles[0]
         board = tile.board
         isRemote = board.isHandBoard and board.player and not board.player.game.isScoringGame()
         if board.isHandBoard and not isRemote:
             tile = tile.board.meldWithTile(tile)[0]
         if tile.focusable:
             board.focusTile = tile
             board.hasFocus = True
             if isRemote:
                 Internal.field.clientDialog.buttons[0].setFocus()
             self.tilePressed = tile
         else:
             event.ignore()
     else:
         self.tilePressed = None
         event.ignore()
コード例 #5
0
ファイル: board.py プロジェクト: KDE/kajongg
 def mousePressEvent(self, event):
     """set blue focus frame"""
     tiles = self.tileAt(event.pos())
     if tiles:
         if event.modifiers() & Qt.ShiftModifier:
             for uiTile in tiles:
                 kprint(
                     '%s: board.level:%s' %
                     (str(uiTile), uiTile.board.level))
         board = tiles[0].board
         uiTile = board.mapMouseTile(tiles[0])
         if uiTile.focusable:
             board.focusTile = uiTile
             board.hasFocus = True
             if hasattr(Internal.scene, 'clientDialog'):
                 if Internal.scene.clientDialog:
                     Internal.scene.clientDialog.buttons[0].setFocus()
             self.tilePressed = uiTile
         else:
             event.ignore()
     else:
         self.tilePressed = None
         event.ignore()