Esempio n. 1
0
  def _newYomi(self, index):
    row = self.rows[index]
    name = row['name']
    yomi = row['yomi'] or name
    info = row['info']

    import main
    main.manager().showTermInput(pattern=name, text=yomi, comment=info,
        type='yomi', language='ja', tokenId=self.tokenId)
Esempio n. 2
0
 def onActivated(self, reason):
   if reason == QSystemTrayIcon.Context:
     dprint("triggered")
     #self.__d.updateActions()
   elif reason == QSystemTrayIcon.Trigger:
     dprint("clicked")
     #if skos.MAC:
     #  self.__d.updateActions()
     growl.show()
   elif reason == QSystemTrayIcon.DoubleClick:
     dprint("double clicked")
     main.manager().activate()
   elif reason == QSystemTrayIcon.MiddleClick:
     dprint("middle clicked")
Esempio n. 3
0
 def dialog(self):
     import main
     m = main.manager()
     ret = ReferenceInput(m.normalWindow())
     m.hideWindowRequested.connect(ret.hide)
     ret.itemSelected.connect(self._submitItem)
     return ret
Esempio n. 4
0
 def helpButton(self):
     ret = QtWidgets.QPushButton(tr_("Help"))
     skqss.class_(ret, 'btn btn-default')
     ret.setToolTip(tr_("Help"))
     #ret.setStatusTip(ret.toolTip())
     ret.clicked.connect(main.manager().showReferenceHelp)
     return ret
Esempio n. 5
0
 def topicButton(self):
     ret = QtWidgets.QPushButton(tr_("Topic"))
     skqss.class_(ret, 'btn btn-inverse')
     ret.setToolTip(tr_("Topic"))
     ret.setEnabled(False)
     ret.clicked.connect(lambda: self.itemId and main.manager().
                         showGameTopics(itemId=self.itemId))
     return ret
Esempio n. 6
0
  def _newName(self, index):
    import dataman, main

    row = self.rows[index]
    name = row['name']
    #yomi = row['yomi']
    yomi = name
    info = row['info']

    lang = dataman.manager().user().language
    if lang == 'zhs':
      yomi = opencc.ja2zhs(yomi)
    else:
      lang = 'zht'
      yomi = opencc.ja2zht(yomi)

    main.manager().showTermInput(pattern=name, text=yomi, comment=info,
        type='name', language=lang, tokenId=self.tokenId)
Esempio n. 7
0
 def launchButton(self):
     ret = QtWidgets.QPushButton(tr_("Launch"))
     skqss.class_(ret, 'btn btn-primary')
     ret.setToolTip(tr_("Launch"))
     #ret.setStatusTip(ret.toolTip())
     ret.setEnabled(False)
     ret.clicked.connect(
         lambda: main.manager().openGame(gameId=self.gameId))
     return ret
Esempio n. 8
0
 def subButton(self):
     ret = QtWidgets.QPushButton(tr_("Subtitle"))
     skqss.class_(ret, 'btn btn-success')
     ret.setToolTip(tr_("Subtitles"))
     #ret.setStatusTip(ret.toolTip())
     #ret.setEnabled(False)
     ret.clicked.connect(
         lambda: main.manager().showSubtitleView(gameId=self.gameId))
     return ret
Esempio n. 9
0
    def helpButton(self):
        ret = QtWidgets.QPushButton(tr_("Help"))
        ret.setToolTip(tr_("Help"))
        skqss.class_(ret, 'btn btn-default')

        import main
        ret.clicked.connect(
            lambda: main.manager().openWiki("VNR/Shared Dictionary"))
        return ret
Esempio n. 10
0
 def createShortcuts(self):
   q = self.q
   import main
   m = main.manager()
   # Must be consistent with springboard/appmenu.qml
   shortcut('alt+q', m.confirmQuit, parent=q)
   shortcut('alt+r', m.confirmRestart, parent=q)
   shortcut('alt+u', m.confirmUpdateGameDatabase, parent=q)
   shortcut('alt+o', m.showPreferences, parent=q) # Does not work on windows?!
   shortcut('alt+s', m.openRunningGame, parent=q)
   shortcut('alt+n', m.showGameWizard, parent=q)
   shortcut('alt+f', m.showGameBoard, parent=q)
Esempio n. 11
0
    def _createShortcuts(self):
        from functools import partial
        import main
        root = self.rootObject()
        sig = root.ignoresFocusChanged
        # Must be consistent with kagami/appmenu.qml

        b = root.property('ignoresFocus')
        m = main.manager()
        s = shortcut('alt+q', m.confirmQuit, parent=self)
        s.setEnabled(not b)
        sig.connect(partial((lambda s, v: s.setEnabled(not v)), s))
Esempio n. 12
0
  def _createMenu(self, q):
    self._menu = menu = QMenu(self._parentWidget)

    m = main.manager()

    menu.addAction(
      mytr_("Spring Board") + " (%s)" % tr_("Double Click")
    ).triggered.connect(m.showSpringBoard)
    menu.addAction(mytr_("Game Board")).triggered.connect(m.showGameBoard)
    menu.addAction(tr_("Preferences")).triggered.connect(m.showPreferences)
    menu.addAction(mytr_("Shared Dictionary")).triggered.connect(m.showTermView)
    menu.addAction(mytr_("Test Machine Translation")).triggered.connect(m.showMachineTranslationTester)
    menu.addAction(mytr_("Text Reader")).triggered.connect(m.showTextReader)

    menu.addSeparator()
    menu.addAction(mytr_("Sync with Running Game")).triggered.connect(m.openRunningGame)
    menu.addAction(mytr_("Game Wizard")).triggered.connect(m.showGameWizard)

    #menu.addSeparator()
    #self._gamePrefsAct = menu.addAction(mytr_("Text Settings"))
    #self._gamePrefsAct.triggered.connect(m.showTextSettings)

    #self._captureAct = menu.addAction(self.q.tr("Game Screenshot"))
    #self._captureAct.triggered.connect(gameman.manager().captureWindow)

    #self._backlogAct = menu.addAction(mytr_("Backlog"))
    #self._backlogAct.triggered.connect(m.showBacklog)

    #self._liveEditAct = menu.addAction(self.q.tr("Edit Subtitles Online "))
    #self._liveEditAct.triggered.connect(m.liveEdit)

    #menu.addSeparator()

    #self._onlineAct = menu.addAction("")
    #self._onlineAct.triggered.connect(netman.manager().updateOnline)

    #menu.addSeparator()
    #menu.addAction(self.q.tr("Growl!")).triggered.connect(growl.show)
    #menu.addAction(self.q.tr("Omajinai☆")).triggered.connect(m.showOmajinai)

    menu.addSeparator()
    menu.addAction(tr_("Check for updates")).triggered.connect(m.checkUpdate)
    menu.addAction(tr_("About")).triggered.connect(m.about)
    menu.addAction(tr_("Wiki")).triggered.connect(lambda: m.openWiki('VNR'))
    menu.addAction(tr_("Credits")).triggered.connect(m.showCredits)
    menu.addSeparator()
    menu.addAction(tr_("Restart")).triggered.connect(m.restart)
    menu.addAction(tr_("Quit")).triggered.connect(m.quit)

    q.setContextMenu(menu)
Esempio n. 13
0
  def __init__(self, parent=None):
    super(FinalPage, self).__init__(parent)
    self.setFinalPage(True)

    self.setTitle(tr_("Finish"))

    introLabel = QtWidgets.QLabel(my.tr(
      "Complete adding visual novel!"
    ))
    introLabel.setWordWrap(True)


    introEdit = QtWidgets.QTextBrowser()
    introEdit.setReadOnly(True)

    mail = config.EMAIL_HELP
    introEdit.setHtml(my.tr(
"""<span style="color:green">
You can change these settings later in <a href="#">Text Settings</a>.
</span>
<br/><br/>

<span style="color:green">
You can access the context menu by right-click the <span style="color:blue">Blue button</span> sitting on the bottom left corner.
</span>
<br/><br/>

<span style="color:brown">
<b>If the game text does not appear</b>, please try adjusting the text threads in <a href="#">Text Settings</a>,
or complain to me by email (<a href="mailto:%s">%s</a>).
</span>
<br/><br/>

It is recommended that you <b>set the Game Text Speed to maximum</b> if possible.
Especially if you would like to translate this game.""") % (mail, mail))
    introEdit.anchorClicked.connect(
        main.manager().showTextSettings)

    layout = QtWidgets.QVBoxLayout()
    layout.addWidget(introLabel)
    layout.addWidget(introEdit)
    self.setLayout(layout)
Esempio n. 14
0
  def dropMimeData(mime):
    """
    @param  mime  QMimeData
    """
    try:
      url = mime.urls()[0]
      path = url.toLocalFile()
      suf = os.path.splitext(path)[1]
      suf = suf[1:].lower()
      if suf in IMAGE_SUFFICES:
        dprint("drop image")
        settings.global_().setSpringBoardWallpaperUrl(url.toString())
      elif suf in ('exe', 'lnk'):
        dprint("drop game")

        import main
        #m = main.manager()
        #f = m.openGame if settings.global_().springBoardLaunchesGame() else m.addGame
        skevents.runlater(partial(main.manager().addGame, path=path), 200)
      else:
        derror("unreachable unknown suffix: %s" % suf)
    except (AttributeError, IndexError): pass
Esempio n. 15
0
async def ws_server(ws, path):

    connected.add(ws)
    print('current: ')
    print(connected)

    while True:
        try:
            in_data = await ws.recv()
            logging.info(in_data)
            state_init(in_data)
            out_data = manager(in_data)
            logger.info(out_data)
            await ws.send(out_data)

        except websockets.exceptions.ConnectionClosed:
            '''
            TODO: Logging.info
            '''
            print('{}: user disconnected'.format(int(time.time())))
            connected.remove(ws)
            print(connected)
            break
Esempio n. 16
0
 def search(_, text):
     if text:
         main.manager().searchGameBoard(text)
Esempio n. 17
0
 def showGameTopics(self, itemId):  # long ->
     import main
     main.manager().showGameTopics(itemId)
Esempio n. 18
0
 def showTopic(self, topicId):  # long ->
     import main
     main.manager().showTopic(topicId)
Esempio n. 19
0
  def _createUi(self, q):
    hookPrefsButton = QtWidgets.QPushButton(my.tr("Edit /H Hook Code"))
    skqss.class_(hookPrefsButton, 'btn btn-info')
    hookPrefsButton.setToolTip(my.tr("Modify the game-specific ITH hook code") + " (Alt+H)")
    hookPrefsButton.setStatusTip(hookPrefsButton.toolTip())
    hookPrefsButton.clicked.connect(self._showHookPrefs)

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

    wikiButton = QtWidgets.QPushButton(tr_("Wiki"))
    wikiButton.setToolTip(tr_("Wiki"))
    skqss.class_(wikiButton, 'btn btn-default')
    import main
    wikiButton.clicked.connect(lambda: main.manager().openWiki('VNR/Text Settings'))

    #cancelButton = QtWidgets.QPushButton(tr_("Cancel"))
    #cancelButton.clicked.connect(self.q.hide)

    threadArea = QtWidgets.QScrollArea()
    threadArea.setWidget(skwidgets.SkLayoutWidget(self.threadLayout))
    threadArea.setWidgetResizable(True)

    threadGroup = QtWidgets.QGroupBox()
    threadGroup.setTitle(mytr_("Text threads"))
    threadGroup.setLayout(skwidgets.SkWidgetLayout(threadArea))
    #threadGroup.setLayout(self.threadLayout)

    option = QtWidgets.QGroupBox(tr_("Options"))
    optionLayout = QtWidgets.QVBoxLayout()
    row = QtWidgets.QHBoxLayout()
    row.addWidget(QtWidgets.QLabel(mytr_("Game language")+ ":"))
    row.addWidget(self.languageEdit)
    row.addStretch()
    row.addWidget(QtWidgets.QLabel(tr_("Text encoding") + ":"))
    row.addWidget(self.encodingEdit)
    optionLayout.addLayout(row)
    optionLayout.addWidget(self.keepsThreadsButton)
    optionLayout.addWidget(self.removesRepeatButton)
    optionLayout.addWidget(self.ignoresRepeatButton)
    optionLayout.addWidget(self.keepsSpaceButton)
    option.setLayout(optionLayout)

    layout = QtWidgets.QVBoxLayout()
    row = QtWidgets.QHBoxLayout()
    row.addWidget(self.saveButton)
    row.addWidget(hookPrefsButton)
    row.addWidget(self.resetButton)
    row.addWidget(wikiButton)
    row.addWidget(helpButton)
    #row.addWidget(QtWidgets.QLabel(
    #  " <= " + my.tr("click help if you have questions")
    #))
    row.addStretch()
    layout.addLayout(row)

    row = QtWidgets.QHBoxLayout()
    row.addWidget(option)
    row.addStretch()
    layout.addLayout(row)

    layout.addWidget(threadGroup)

    #msg = QtWidgets.QLabel(my.tr("WARNING: PLEASE DO NOT TURN ON REPETITION FILTERS UNLESS THERE ARE REPETITIONS!"))
    msgLabel = QtWidgets.QLabel(my.tr("Don't forget to maximize the text speed (see Help)."))
    skqss.class_(msgLabel, "text-success")
    layout.addWidget(msgLabel)

    wikiLabel = QtWidgets.QLabel(my.tr('Please check this <a href="http://sakuradite.com/wiki/en/VNR/Game_Settings">Game Settings</a> wiki if there is no correct text.'))
    wikiLabel.setOpenExternalLinks(True)
    #skqss.class_(wikiLabel, "text-info")
    layout.addWidget(wikiLabel)

    #buttons = QtWidgets.QHBoxLayout()
    #buttons.addStretch()
    #buttons.addWidget(cancelButton)
    #buttons.addWidget(self.saveButton)
    #layout.addLayout(buttons)
    #layout.addWidget(introLabel)

    #layout.setContentsMargins(18, 18, 18, 9) # left, top, right, bottom
    #self.q.setCentralWidget(skwidgets.SkLayoutWidget(layout))

    q.setLayout(layout)

    skwidgets.shortcut('alt+h', self._showHookPrefs, parent=q)
Esempio n. 20
0
 def _importName(self):
     if self.gameInfo:
         main.manager().showGameNames(tokenId=self.gameId,
                                      itemId=self.itemId,
                                      info=self.gameInfo)
Esempio n. 21
0
 def _showGame(self):
   import main
   main.manager().showGameView(itemId=self.subjectId)
Esempio n. 22
0
 def _edit(self):
     main.manager().showReferenceView(gameId=self.gameId)
Esempio n. 23
0
 def showUser(self, name):  # unicode ->
     import main
     main.manager().showUserView(name=name)
Esempio n. 24
0
 def showGame(self, itemId):  # long ->
     import main
     main.manager().showGameView(itemId=itemId)
Esempio n. 25
0
    def _createUi(self, q):
        layout = QtWidgets.QVBoxLayout()

        self.versionLabel = QtWidgets.QLabel()
        #self.versionLabel.setWordWrap(True)

        linkstyle = 'color:#428bca'  # bootstrap btn-link
        url = 'http://sakuradite.com/changes/vnr'
        changesLabel = QtWidgets.QLabel(
            '<a href="%s" style="%s">%s</a>' %
            (url, linkstyle, tr_("Recent Changes")))
        changesLabel.setOpenExternalLinks(True)
        changesLabel.setToolTip(url)

        import rc
        url = rc.image_path('logo-reader')
        img = '<img src="%s" width=60 height=60 />' % url
        imageLabel = QtWidgets.QLabel(img)

        import main
        m = main.manager()
        wikiButton = QtWidgets.QPushButton(tr_("Wiki"))
        wikiButton.setToolTip(tr_("Wiki"))
        skqss.class_(wikiButton, 'btn btn-default')
        wikiButton.clicked.connect(lambda: m.openWiki('VNR'))

        updateButton = QtWidgets.QPushButton(tr_("Update"))
        updateButton.setToolTip(tr_("Update"))
        skqss.class_(updateButton, 'btn btn-primary')
        updateButton.clicked.connect(m.checkUpdate)

        creditButton = QtWidgets.QPushButton(tr_("Credits"))
        creditButton.setToolTip(tr_("Credits"))
        skqss.class_(creditButton, 'btn btn-info')
        creditButton.clicked.connect(m.showCredits)

        #helpEdit = QtWidgets.QLabel()
        helpEdit = QtWidgets.QTextBrowser()
        skqss.class_(helpEdit, 'texture')
        helpEdit.setReadOnly(True)
        helpEdit.setOpenExternalLinks(True)
        helpEdit.setHtml(info.renderAppHelp())

        #labels = QtWidgets.QHBoxLayout()
        #labels.addWidget(self.versionLabel)
        #labels.addWidget(imageLabel)
        #layout.addLayout(labels)

        row = QtWidgets.QHBoxLayout()
        row.addWidget(self.versionLabel)
        row.addStretch()
        row.addWidget(changesLabel)
        layout.addLayout(row)

        row = QtWidgets.QHBoxLayout()
        #row.addLayout(labels)
        row.addWidget(imageLabel)
        row.addStretch()
        row.addWidget(updateButton)
        row.addWidget(creditButton)
        row.addWidget(wikiButton)
        layout.addLayout(row)

        layout.addWidget(helpEdit)

        q.setLayout(layout)