Beispiel #1
0
 def previousContextEdit(self):
   ret = QtWidgets.QPlainTextEdit()
   skqss.class_(ret, 'readonly texture')
   ret.setReadOnly(True)
   ret.setToolTip(mytr_("Game text"))
   ret.setMinimumHeight(TEXTEDIT_MINIMUM_HEIGHT)
   return ret
Beispiel #2
0
    def _createUi(self, q):
        textEdit = QtWidgets.QPlainTextEdit()
        textEdit.setToolTip("BBCode")
        #textEdit.setAcceptRichText(False)
        skqss.class_(textEdit, 'normal')

        textView = QtWidgets.QTextBrowser()
        skqss.class_(textView, 'texture')
        textView.setToolTip("HTML")
        textView.setReadOnly(True)
        textView.setOpenExternalLinks(True)

        textEdit.textChanged.connect(
            lambda: textView.setHtml(self.toHtml(textEdit.toPlainText())))

        textEdit.setPlainText(
            """You can use this [u]tester[/u] to play with [url=http://en.wikipedia.org/wiki/BBCode][color=blue]BBCode[/color][/url]
that you could use to format [color=red]subtitles[/color].""")

        #textEdit.resize(300, 200)

        center = QtWidgets.QSplitter(Qt.Vertical)
        center.setChildrenCollapsible(False)
        center.addWidget(textEdit)
        center.addWidget(textView)
        q.setCentralWidget(center)
Beispiel #3
0
 def textEdit(self):
     ret = QtWidgets.QPlainTextEdit()
     ret.setToolTip(my.tr("Messages"))
     #ret.setAcceptRichText(True)
     ret.setReadOnly(True)
     skqss.class_(ret, 'texture')
     return ret
Beispiel #4
0
 def textEdit(self):
     ret = QtWidgets.QPlainTextEdit()
     ret.setMinimumWidth(_TEXTEDIT_MINWIDTH)
     ret.setMinimumHeight(_TEXTEDIT_MINHEIGHT)
     ret.setToolTip(my.tr("Original text to translate"))
     #ret.setAcceptRichText(False)
     skqss.class_(ret, 'normal')
     ret.setPlainText(u"【爽】「悠真くんを攻略すれば210円か。なるほどなぁ…」"
                      #u"「ごめんなさい。こう言う時どんな顔すればいいのか分からないの。」【綾波レイ】"
                      )
     #ret.resize(300, 200)
     return ret
Beispiel #5
0
 def _createTextView(tip='', rich=False):
     """
 @param* tip  unicode
 @param* rich  enable richText
 @return  QTextEdit
 """
     if rich:
         #ret = QtWidgets.QTextEdit(_EMPTY_TEXT)
         ret = skwidgets.SkTextEditWithAnchor(_EMPTY_TEXT)
         ret.anchorClicked.connect(evalutil.evalurl)
     else:
         ret = QtWidgets.QPlainTextEdit(_EMPTY_TEXT)
     ret.setMinimumWidth(_TEXTEDIT_MINWIDTH)
     ret.setMinimumHeight(_TEXTEDIT_MINHEIGHT)
     if tip:
         ret.setToolTip(tip)
     #ret.setAcceptRichText(False)
     #ret.setReadOnly(True)
     skqss.class_(ret, 'text-muted')
     #ret.resize(300, 200)
     return ret
Beispiel #6
0
 def textEdit(self):
     ret = QtWidgets.QPlainTextEdit()
     skqss.class_(ret, 'normal')
     ret.setToolTip(tr_("Source"))
     return ret
Beispiel #7
0
 def textEdit(self):
     ret = QtWidgets.QPlainTextEdit()
     ret.setToolTip(my.tr("Recognized text"))
     return ret
Beispiel #8
0
  def _createUi(self, q):
    layout = QtWidgets.QVBoxLayout()

    tt = defs.threadtype(self.name)
    ttip = i18n.threadtip(tt)

    if self.name == defs.NULL_THREAD_NAME:
      n = tr_("Not specified")
    elif self.name == defs.HCODE_THREAD_NAME:
      n = mytr_("H-code")
    elif self.name in defs.CAONIMAGEBI_ENGINES:
      n = self.name + '<span style="color:red">%s</span>' % defs.CAONIMAGEBI_USERNAME
    elif self.name in defs.OK123_ENGINES:
      n = self.name + '<span style="color:red">%s</span>' % defs.OK123_USERNAME
    #elif self.name.startswith('sce') or self.name in config.PSP_ALL_TEXT_THREADS:
    #  n = self.name + '<span style="color:gray">=0.9.x</span>' # no need to show
    elif self.name in config.PSP_099_TEXT_THREADS:
      n = self.name + '<span style="color:red">=0.9.9</span>'
    elif self.name in config.PSP_098_TEXT_THREADS:
      n = self.name + '<span style="color:purple">=0.9.8</span>'
    else:
      n = self.name
    if config.game_thread_embeddable(self.name):
      t = mytr_("embeddable")
      if self.name in config.EMBEDDED_EN_GAME_ENGINES:
        t += ', <span style="color:purple">%s</span>' % my.tr("English-only")
      n += ' <span style="color:darkgreen">(%s)</span>' % t
    title = '%s <span style="color:gray">%x</span>' % (n, self.signature)
    enc = config.guess_thread_encoding(self.name)
    if enc:
      title += ' <span style="color:#333">%s</span>' % enc
    elif self.name and self.name not in (defs.HCODE_THREAD_NAME, defs.NULL_THREAD_NAME) and 'PSP' not in self.name:
      title += '<br/><span style="color:red;font-weight:bold">(%s)</span>' % my.tr("Not supported, please update VNR")

    label = QtWidgets.QLabel(title)
    label.setStyleSheet(SS_LABELS[tt])
    label.setToolTip(ttip)

    # Must be consist with button rows
    self.buttonRow = skwidgets.SkButtonRow()

    b = self.buttonRow.addButton(mytr_("dialog"),
        tip=my.tr("This is main scenario"))   # scenario
    skqss.class_(b, 'btn btn-default btn-sm')
    b.toggled.connect(partial(lambda b, value:
        skqss.toggleclass(b, 'btn-primary', value),
        b))

    b = self.buttonRow.addButton(mytr_("name"),
        tip=my.tr("These are character names"))   # scenario
    skqss.class_(b, 'btn btn-default btn-sm')
    b.toggled.connect(partial(lambda b, value:
        skqss.toggleclass(b, 'btn-success', value),
        b))

    b = self.buttonRow.addButton(tr_("other"),
        tip=my.tr("This is extra scenario"))   # other
    skqss.class_(b, 'btn btn-default btn-sm')
    b.toggled.connect(partial(lambda b, value:
        skqss.toggleclass(b, 'btn-info', value),
        b))

    b = self.buttonRow.addButton(tr_("ignore"),
        tip=my.tr("Don't translate the text")) # ignored
    skqss.class_(b, 'btn btn-default btn-sm')
    b.toggled.connect(partial(lambda b, value:
        skqss.toggleclass(b, 'btn-danger', value),
        b))

    self.buttonRow.setCurrentIndex(_TextThreadView.IGNORE_BUTTON_ROW)
    self.buttonRow.currentIndexChanged.connect(self._emitThreadType)
    self.buttonRow.currentIndexChanged.connect(self.updateStyleSheet)

    self.textEdit = QtWidgets.QPlainTextEdit()
    #self.textEdit.setToolTip(mytr_("Game text"))
    self.textEdit.setToolTip(ttip)
    self.textEdit.setReadOnly(True)
    self.textEdit.setMaximumHeight(TEXTEDIT_MAX_HEIGHT)
    self.textEdit.setMinimumWidth(TEXTEDIT_MIN_WIDTH)
    self.textEdit.setStyleSheet(
        SS_TEXTEDIT_HOOK_IGNORED if self.name == defs.HCODE_THREAD_NAME else
        SS_TEXTEDIT_IGNORED)

    header = QtWidgets.QHBoxLayout()
    header.addWidget(self.buttonRow)
    header.addStretch()
    header.addWidget(label)
    layout.addLayout(header)
    layout.addWidget(self.textEdit)
    q.setLayout(layout)
Beispiel #9
0
    def _createUi(self, q):
        layout = QtWidgets.QVBoxLayout()

        #tt = defs.threadtype(self.name)
        #ttip = i18n.threadtip(tt)

        #if self.name == defs.HCODE_THREAD_NAME:
        #  n = mytr_("H-code")
        #elif self.name in defs.CAONIMAGEBI_ENGINES:
        #  n = self.name + '<span style="color:red">%s</span>' % defs.CAONIMAGEBI_USERNAME
        #elif self.name in defs.OK123_ENGINES:
        #  n = self.name + '<span style="color:red">%s</span>' % defs.OK123_USERNAME
        #else:
        #  n = self.name

        title = """<span style="color:gray">%x</span>""" % self.signature
        #title = """%s <span style="color:gray">%x</span>""" % (n, self.signature)
        #enc = config.guess_thread_encoding(self.name)
        #if enc:
        #  title += """ <span style="color:#333">%s</span>""" % enc

        label = QtWidgets.QLabel(title)
        #label.setStyleSheet(SS_LABELS[tt])
        #label.setToolTip(ttip)

        # Must be consist with button rows
        self.buttonRow = skwidgets.SkButtonRow()

        b = self.buttonRow.addButton(
            mytr_("dialog"), tip=my.tr("This is main scenario"))  # scenario
        skqss.class_(b, 'btn btn-default btn-sm')
        b.toggled.connect(
            partial(
                lambda b, value: skqss.toggleclass(b, 'btn-primary', value),
                b))

        b = self.buttonRow.addButton(
            mytr_("name"), tip=my.tr("These are character names"))  # scenario
        skqss.class_(b, 'btn btn-default btn-sm')
        b.toggled.connect(
            partial(
                lambda b, value: skqss.toggleclass(b, 'btn-success', value),
                b))

        #b = self.buttonRow.addButton(tr_("other"),
        #    tip=my.tr("This is extra scenario"))   # other
        #skqss.class_(b, 'btn btn-default btn-sm')
        #b.toggled.connect(partial(lambda b, value:
        #    skqss.toggleclass(b, 'btn-info', value),
        #    b))

        #b = self.buttonRow.addButton(tr_("ignore"),
        #    tip=my.tr("Don't translate the text")) # ignored
        b = self.buttonRow.addButton(
            tr_("other"), tip=my.tr("This is extra scenario"))  # other
        skqss.class_(b, 'btn btn-default btn-sm')
        b.toggled.connect(
            partial(lambda b, value: skqss.toggleclass(b, 'btn-info', value),
                    b))
        self.buttonRow.setCurrentIndex(_TextThreadView.IGNORE_BUTTON_ROW)
        self.buttonRow.currentIndexChanged.connect(self._onSelectedRoleChanged)
        self.buttonRow.currentIndexChanged.connect(self.updateStyleSheet)

        self.textEdit = QtWidgets.QPlainTextEdit()
        #self.textEdit.setToolTip(mytr_("Game text"))
        #self.textEdit.setToolTip(ttip)
        self.textEdit.setReadOnly(True)
        self.textEdit.setMaximumHeight(TEXTEDIT_MAX_HEIGHT)
        self.textEdit.setMinimumWidth(TEXTEDIT_MIN_WIDTH)
        #self.textEdit.setStyleSheet(
        #    SS_TEXTEDIT_HOOK_IGNORED if self.name == defs.HCODE_THREAD_NAME else
        #    SS_TEXTEDIT_IGNORED)

        header = QtWidgets.QHBoxLayout()
        header.addWidget(self.buttonRow)
        header.addStretch()
        header.addWidget(label)
        layout.addLayout(header)
        layout.addWidget(self.textEdit)
        q.setLayout(layout)
Beispiel #10
0
  def __init__(self, wiz):
    super(SelectThreadPage, self).__init__(wiz)
    self.setTitle(my.tr("Select the text thread"))
    self.setCommitPage(True)

    self._active = False

    wiz.visibleChanged.connect(self._setActive)
    wiz.visibleChanged.connect(self._clear)

    self._threads = {} # {long signature:TextThread}

    introLabel = QtWidgets.QLabel(my.tr(
      "Please play the game a little bit, and pick one text thread that has the same contents as the game text. If no text thread appears, please try editing the /H hook code for this game."
    ))
    introLabel.setWordWrap(True)

    # grid of thread sources
    self._grid = skwidgets.SkRadioButtonGrid(self, col=2)
    self._grid.currentIndexChanged.connect(self._refresh)
    self._grid.currentIndexChanged.connect(self.completeChanged)
    threadGroup = QtWidgets.QGroupBox()
    threadGroup.setLayout(self._grid.layout())
    threadGroup.setTitle(mytr_("Text threads"))

    self._encodingEdit = QtWidgets.QComboBox()
    self._encodingEdit.setEditable(False)
    self._encodingEdit.setToolTip(tr_("Text encoding"))
    self._encodingEdit.addItems(map(i18n.encoding_desc, config.ENCODINGS))
    self._encodingEdit.currentIndexChanged.connect(self._refresh)

    self._keepsSpaceButton = QtWidgets.QCheckBox(
        my.tr("Insert spaces between words") +
        " (%s: %s)" % (tr_("for example"), "Howareyou! => How are you!"))
    self._keepsSpaceButton.toggled.connect(texthook.global_().setKeepsSpace)

    self._removesRepeatButton = QtWidgets.QCheckBox(
        my.tr("Eliminate finite repetition in the text") +
        " (%s: %s)" % (tr_("for example"), "YYeess!!NoNo! => Yes!No!"))
    self._removesRepeatButton.toggled.connect(self._refresh)

    self._ignoresRepeatButton = QtWidgets.QCheckBox(
        my.tr("Ignore infinite cyclic repetition in the text") +
        " (%s: %s)" % (tr_("for example"), "YesYesYes... => Yes"))
    self._ignoresRepeatButton.toggled.connect(texthook.global_().setRemovesRepeat)

    clearButton = QtWidgets.QPushButton(tr_("Clear"))
    clearButton.clicked.connect(self._clear)
    skqss.class_(clearButton, 'btn btn-danger')

    hookPrefsButton = QtWidgets.QPushButton(my.tr("Edit /H Hook Code"))
    skqss.class_(hookPrefsButton, 'btn btn-info')
    hookPrefsButton.clicked.connect(lambda: self.hookPrefsDialog.show())

    helpButton = QtWidgets.QPushButton(tr_("Help"))
    skqss.class_(helpButton, 'btn btn-success')
    helpButton.clicked.connect(lambda: self.helpDialog.show())

    self._textEdit = QtWidgets.QPlainTextEdit()
    self._textEdit.setReadOnly(True)
    self._textEdit.setToolTip(mytr_("Game text"))
    self._textEdit.setPlainText(my.tr("No game text"))

    layout = QtWidgets.QVBoxLayout()
    layout.addWidget(introLabel)
    row = QtWidgets.QHBoxLayout()
    row.addWidget(self._encodingEdit)
    row.addWidget(clearButton)
    row.addStretch()

    row.addWidget(hookPrefsButton)
    row.addWidget(helpButton)
    layout.addLayout(row)
    layout.addWidget(self._removesRepeatButton)
    layout.addWidget(self._ignoresRepeatButton)
    layout.addWidget(self._keepsSpaceButton)
    layout.addWidget(threadGroup)
    layout.addWidget(self._textEdit)
    self.setLayout(layout)