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)
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")
def dialog(self): import main m = main.manager() ret = ReferenceInput(m.normalWindow()) m.hideWindowRequested.connect(ret.hide) ret.itemSelected.connect(self._submitItem) return ret
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
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
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)
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
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
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
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)
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))
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)
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)
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
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
def search(_, text): if text: main.manager().searchGameBoard(text)
def showGameTopics(self, itemId): # long -> import main main.manager().showGameTopics(itemId)
def showTopic(self, topicId): # long -> import main main.manager().showTopic(topicId)
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)
def _importName(self): if self.gameInfo: main.manager().showGameNames(tokenId=self.gameId, itemId=self.itemId, info=self.gameInfo)
def _showGame(self): import main main.manager().showGameView(itemId=self.subjectId)
def _edit(self): main.manager().showReferenceView(gameId=self.gameId)
def showUser(self, name): # unicode -> import main main.manager().showUserView(name=name)
def showGame(self, itemId): # long -> import main main.manager().showGameView(itemId=itemId)
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)