Esempio n. 1
0
 def __init__(self, scene):
     QListView.__init__(self)
     self.scene = scene
     decorateWindow(self, i18n('Explain Scores').replace('&', ''))
     self.setGeometry(0, 0, 300, 400)
     self.model = QStringListModel()
     self.setModel(self.model)
     StateSaver(self)
     self.refresh()
    def __init__(self, parent=None):
        super(ErrorMessageDialog, self).__init__(parent)
        self.ui = Ui_ErrorMessageDialog()
        self.ui.setupUi(self)

        self.model = QStringListModel(self)
        self.ui.listView.setModel(self.model)
Esempio n. 3
0
class ExplainView(QListView):
    """show a list explaining all score computations"""
    def __init__(self, scene):
        QListView.__init__(self)
        self.scene = scene
        decorateWindow(self, i18n('Explain Scores').replace('&', ''))
        self.setGeometry(0, 0, 300, 400)
        self.model = QStringListModel()
        self.setModel(self.model)
        StateSaver(self)
        self.refresh()

    @property
    def game(self):
        """a proxy"""
        return self.scene.game

    def refresh(self):
        """refresh for new values"""
        lines = []
        if self.game is None:
            lines.append(i18n('There is no active game'))
        else:
            i18nName = i18n(self.game.ruleset.name)
            lines.append(i18n('%1', i18nName))
            lines.append('')
            for player in self.game.players:
                pLines = []
                explainHand = player.explainHand()
                if explainHand.hasTiles():
                    total = explainHand.total()
                    if total:
                        pLines = ['%s - %s' % (player.localName, total)]
                        for line in explainHand.explain():
                            pLines.append('- ' + line)
                elif player.handTotal:
                    pLines.append(
                        i18n('Manual score for %1: %2 points',
                             player.localName, player.handTotal))
                if pLines:
                    pLines.append('')
                lines.extend(pLines)
        if 'xxx'.join(lines) != 'xxx'.join(
                str(x) for x in self.model.stringList()):  # TODO: ohne?
            # QStringListModel does not optimize identical lists away, so we do
            self.model.setStringList(lines)
Esempio n. 4
0
class ExplainView(QListView):

    """show a list explaining all score computations"""

    def __init__(self, scene):
        QListView.__init__(self)
        self.scene = scene
        decorateWindow(self, m18n("Explain Scores").replace("&", ""))
        self.setGeometry(0, 0, 300, 400)
        self.model = QStringListModel()
        self.setModel(self.model)
        StateSaver(self)
        self.refresh()

    @property
    def game(self):
        """a proxy"""
        return self.scene.game

    def refresh(self):
        """refresh for new values"""
        lines = []
        if self.game is None:
            lines.append(m18n("There is no active game"))
        else:
            i18nName = m18n(self.game.ruleset.name)
            lines.append(m18n("%1", i18nName))
            lines.append("")
            for player in self.game.players:
                pLines = []
                explainHand = player.explainHand()
                if explainHand.hasTiles():
                    total = explainHand.total()
                    if total:
                        pLines = ["%s - %s" % (player.localName, total)]
                        for line in explainHand.explain():
                            pLines.append("- " + line)
                elif player.handTotal:
                    pLines.append(m18n("Manual score for %1: %2 points", player.localName, player.handTotal))
                if pLines:
                    pLines.append("")
                lines.extend(pLines)
        if "xxx".join(lines) != "xxx".join(unicode(x) for x in self.model.stringList()):
            # QStringListModel does not optimize identical lists away, so we do
            self.model.setStringList(lines)
Esempio n. 5
0
 def __init__(self, scene):
     QListView.__init__(self)
     self.scene = scene
     decorateWindow(self, m18n("Explain Scores").replace("&", ""))
     self.setGeometry(0, 0, 300, 400)
     self.model = QStringListModel()
     self.setModel(self.model)
     StateSaver(self)
     self.refresh()
class ErrorMessageDialog(QDialog):
    def __init__(self, parent=None):
        super(ErrorMessageDialog, self).__init__(parent)
        self.ui = Ui_ErrorMessageDialog()
        self.ui.setupUi(self)

        self.model = QStringListModel(self)
        self.ui.listView.setModel(self.model)

    @pyqtSlot(QAbstractButton)
    def on_buttonBox_clicked(self, button):
        if button == self.ui.buttonBox.button(QDialogButtonBox.Close):
            self.close()
        elif button == self.ui.buttonBox.button(QDialogButtonBox.Reset):
            self.model.setStringList([])

    @pyqtSlot(QString)
    def appendMessage(self, msg):
        strs = self.model.stringList()
        strs.append(msg)
        self.model.setStringList(strs)