def __init__(self, wiz): super(SelectWindowPage, self).__init__(wiz) self.setTitle(my.tr("Select game window")) introLabel = QtWidgets.QLabel(my.tr( "Press START and CLICK the game window, or press the STOP button to cancel." )) introLabel.setWordWrap(True) self._picker = winpicker.WindowPicker(self) self._picker.windowClicked.connect(self._onWindowClicked) wiz.visibleChanged.connect(self._onVisibleChanged) self._windowEdit = QtWidgets.QLineEdit() self._windowEdit.setReadOnly(True) self._windowEdit.setPlaceholderText(my.tr("Not found, or not a game window")) self._windowEdit.setToolTip(my.tr("Game window")) windowLabel = QtWidgets.QLabel(my.tr("Game window") + ":") windowLabel.setBuddy(self._windowEdit) self._nameEdit = QtWidgets.QLineEdit() self._nameEdit.setReadOnly(True) self._nameEdit.setPlaceholderText(tr_("Not found")) self._nameEdit.setToolTip(tr_("Window title")) nameLabel = QtWidgets.QLabel("=> " + tr_("Window title") + ":") nameLabel.setBuddy(self._nameEdit) self._startButton = QtWidgets.QPushButton("\n\n" + tr_("START") + "\n\n") self._startButton.clicked.connect(self._start) skqss.class_(self._startButton, 'btn btn-primary') self._stopButton = QtWidgets.QPushButton("\n\n" + tr_("STOP") + "\n\n") self._stopButton.clicked.connect(self._stop) skqss.class_(self._stopButton, 'btn btn-danger') layout = QtWidgets.QVBoxLayout() layout.addWidget(introLabel) buttons = QtWidgets.QHBoxLayout() buttons.addWidget(self._startButton) buttons.addWidget(self._stopButton) buttons.setContentsMargins(10,10,10,10) layout.addLayout(buttons) grid = QtWidgets.QGridLayout() # 0 grid.addWidget(windowLabel, 0, 0) grid.addWidget(self._windowEdit, 0, 1) # 1 grid.addWidget(nameLabel) grid.addWidget(self._nameEdit) layout.addLayout(grid) self.setLayout(layout)
def kanjiEdit(self): ret = QtWidgets.QLineEdit() #skqss(ret, 'text-primary') ret.setToolTip(my.tr("Guessed kanji of pattern using MSIME")) ret.setReadOnly(True) #ret.setWordWrap(True) return ret
def yomiEdit(self): ret = QtWidgets.QLineEdit() #skqss(ret, 'text-primary') ret.setToolTip(my.tr("Yomigana of translation")) ret.setReadOnly(True) #ret.setWordWrap(True) return ret
def commentEdit(self): ret = QtWidgets.QLineEdit() ret.setToolTip(tr_("Comment")) ret.setPlaceholderText(tr_("Empty")) #ret.setMinimumHeight(TEXTEDIT_MINIMUM_HEIGHT) ret.textChanged.connect(self._saveComment) return ret
def rubyEdit(self): ret = QtWidgets.QLineEdit() skqss.class_(ret, 'normal') ret.setPlaceholderText(my.tr("Note above or after the translation")) ret.setToolTip(ret.placeholderText()) ret.textChanged.connect(self.refresh) return ret
def textEdit(self): ret = QtWidgets.QLineEdit() skqss.class_(ret, 'normal') ret.setPlaceholderText(mytr_("Replaced text")) ret.setToolTip(ret.placeholderText()) ret.textChanged.connect(self.refresh) return ret
def titleEdit(self): ret = QtWidgets.QLineEdit() skqss.class_(ret, 'editable') ret.setPlaceholderText(tr_("Title")) ret.setToolTip(tr_("Title")) ret.textChanged.connect(self._refreshSaveButton) return ret
def __init__(self, parent=None): super(SelectFilePage, self).__init__(parent) self.setTitle(my.tr("Select game executable")) introLabel = QtWidgets.QLabel(my.tr("Please select the game executable's location")) introLabel.setWordWrap(True) self._edit = QtWidgets.QLineEdit() self._edit.setPlaceholderText(tr_("Location")) self._edit.textChanged.connect(self._validateEdit) self._edit.textChanged.connect(self.completeChanged) self._browseButton = QtWidgets.QPushButton(tr_("Browse") + " ...") skqss.class_(self._browseButton, 'btn btn-info') self._browseButton.clicked.connect(self._browse) #self._applocButton = QtWidgets.QCheckBox(my.tr("Open in Japanese locale (0x0411) using AppLocale")) #self._applocButton.toggled.connect(settings.global_().setApplocEnabled) #self._tzButton = QtWidgets.QCheckBox(my.tr("Open in Japanese time zone (+9 Asia/Tokyo)")) #self._tzButton.toggled.connect(settings.global_().setTimeZoneEnabled) layout = QtWidgets.QVBoxLayout() layout.addWidget(introLabel) row = QtWidgets.QHBoxLayout() row.addWidget(self._edit) row.addWidget(self._browseButton) layout.addLayout(row) #layout.addWidget(self._applocButton) #layout.addWidget(self._tzButton) self.setLayout(layout)
def roleEdit(self): ret = QtWidgets.QLineEdit() #skqss.class_(ret, 'normal') ret.setPlaceholderText(my.tr("Such as x (Phrase) or m (Name)")) ret.setToolTip(tr_("Optional")) ret.textChanged.connect(self.refresh) return ret
def commentEdit(self): ret = QtWidgets.QLineEdit() #skqss.class_(ret, 'normal') ret.setPlaceholderText(tr_("Comment")) ret.setToolTip(tr_("Optional")) #ret.textChanged.connect(self.refresh) return ret
def priorityEdit(self): ret = QtWidgets.QLineEdit() ret.setPlaceholderText(my.tr("Estimated pattern size")) ret.setToolTip(my.tr("Estimated number of characters in pattern")) #ret.textChanged.connect(self._refreshPriority) #ret.textChanged.connect(self._refreshStatus) ret.textChanged.connect(self.refresh) return ret
def nameEdit(self): ret = QtWidgets.QLineEdit() skqss.class_(ret, 'normal') ret.setPlaceholderText(tr_("Not specified")) ret.setToolTip(my.tr("The game name displayed on the Spring Board")) ret.setStatusTip(ret.toolTip()) ret.textChanged.connect(self._saveName) return ret
def addressEdit(self): t = my.tr("Connecting to {0}").format('www.clipconverter.com') ret = QtWidgets.QLineEdit(t) #skqss.class_(ret, 'texture text-info') skqss.class_(ret, 'texture') ret.setPlaceholderText(t) ret.setReadOnly(True) return ret
def encodingEdit(self): ret = QtWidgets.QLineEdit() skqss.class_(ret, 'readonly') ret.setReadOnly(True) ret.setPlaceholderText(tr_("Not specified")) ret.setToolTip(tr_("Read-only")) ret.setStatusTip(ret.toolTip()) return ret
def __init__(self, q, data, container=None): sortingEnabled = False root = _SkWidgetTreeController.parseData(data) if data else None self.sourceModel = SkTreeModel(root=root, parent=q) self.proxyModel = SkMultiFilterProxyModel( q, roles=(Qt.DisplayRole, Qt.ToolTipRole, Qt.StatusTipRole, Qt.UserRole)) #self.proxyModel.setSortingEnabled(sortingEnabled) self.proxyModel.setDynamicSortFilter(sortingEnabled) self.proxyModel.setSortCaseSensitivity(Qt.CaseInsensitive) self.proxyModel.setSourceModel(self.sourceModel) q_parent = q.parent() self._parentWidget = q_parent if isinstance( q_parent, QtWidgets.QWidget) else None self.treeView = QtWidgets.QTreeView(self._parentWidget) self.treeView.setRootIsDecorated(True) self.treeView.setAlternatingRowColors(True) self.treeView.setSortingEnabled(sortingEnabled) self.treeView.setModel(self.proxyModel) self.filterEdit = QtWidgets.QLineEdit() self.filterEdit.setPlaceholderText(tr_("Search")) self.filterEdit.setToolTip("%s (%s, %s)" % (tr_("Search"), tr_("case-insensitive"), tr_("regular expression"))) self.countLabel = QtWidgets.QLabel() #self.countLabel.setToolTip(self.q.tr("Count")) self.container = container or skwidgets.SkContainerWidget( self._parentWidget) # Connections #self.treeView.activated.connect(q.currentIndexChanged) #self.treeView.clicked.connect(q.currentIndexChanged) self.selectionModel = self.treeView.selectionModel( ) # increase reference counting self.selectionModel.currentChanged.connect(self._refresh) self.selectionModel.currentChanged.connect(q.currentIndexChanged) self.filterEdit.textChanged.connect(self._updateFilter) self.filterEdit.textChanged.connect(self._updateCount) self.sourceModel.dataChanged.connect(self._updateCount) if self.sourceModel.rootItem(): w = self.sourceModel.rootItem().dataAt( role=SkWidgetTreeController.WidgetRole) if w: dprint(w.__class__.__name__) self._setCurrentWidget(w)
def hookEdit(self): ret = QtWidgets.QLineEdit() skqss.class_(ret, 'readonly') ret.setReadOnly(True) ret.setPlaceholderText(tr_("Not specified")) ret.setToolTip(tr_("Read-only")) ret.setStatusTip(ret.toolTip()) #ret.setStyleSheet("QLineEdit.disabled { text-decoration:line-through }") #ret.textChanged.connect(self._saveHook) return ret
def searchEdit(self): ret = QtWidgets.QLineEdit() #skqss.class_(ret, 'normal') ret.setPlaceholderText( my. tr("Type part of the game title or game ID or URL of the webpage")) ret.setToolTip(ret.placeholderText() + " (Alt+E)") ret.textChanged.connect(self._searchLater) #ret.returnPressed.connect(self._search) return ret
def inputEdit(self): ret = QtWidgets.QLineEdit() ret.setText(DEFAULT_INPUT) #skqss.class_(ret, 'normal') skqss.class_(ret, 'texture-inverse') ret.setPlaceholderText(tr_("Japanese")) ret.setToolTip(ret.placeholderText()) ret.textChanged.connect(self.refresh) ret.returnPressed.connect(self.submit) return ret
def launchEdit(self): ret = QtWidgets.QLineEdit() ret.setReadOnly(True) ret.setPlaceholderText(my.tr("No game path")) ret.setToolTip(my.tr("Game launcher location")) ret.setStatusTip(ret.toolTip()) ret.textChanged.connect(self._verifyLaunchEdit) ret.textChanged.connect(lambda text: self.resetLaunchButton.setEnabled( osutil.normalize_path(text) != osutil.normalize_path(self.game.path ))) return ret
def filterEdit(self): ret = QtWidgets.QLineEdit() #skqss.class_(ret, 'normal') ret.setPlaceholderText("%s ... (%s, %s)" % (tr_("Filter"), tr_("regular expression"), tr_("case-insensitive"))) ret.setToolTip("%s ... (%s, %s, Alt+F)" % (tr_("Filter"), tr_("regular expression"), tr_("case-insensitive"))) ret.textChanged.connect(lambda t: self.proxyModel.setFilterRegExp( QRegExp(t.strip(), Qt.CaseInsensitive) if t else None)) return ret
def _createLabel(self, styleclass, tip, minwidth): """ @param styleClass str @param minimumWidth int @return QLineEdit """ ret = QtWidgets.QLineEdit() ret.setReadOnly(True) ret.setMinimumWidth(minwidth) ret.setToolTip(tip) skqss.class_(ret, styleclass) return ret
def __init__(self, parent=None): super(SyncGamePage, self).__init__(parent) self.setTitle(my.tr("Analyzing the game process")) introLabel = QtWidgets.QLabel(my.tr("Synchronizing with visual novel") + " ...") introLabel.setWordWrap(True) self._edit = QtWidgets.QLineEdit() self._edit.setReadOnly(True) self._edit.setToolTip(tr_("Status")) layout = QtWidgets.QVBoxLayout() layout.addWidget(introLabel) layout.addWidget(self._edit) self.setLayout(layout)
def _createUi(self, q): self.edit = QtWidgets.QLineEdit() skqss.class_(self.edit, 'normal') grid = QtWidgets.QGridLayout() r = 0 self.updateCommentButton = QtWidgets.QRadioButton(mytr_("Update reason")) self.updateCommentButton.setChecked(True) self.commentButton = QtWidgets.QRadioButton(tr_("Comment")) g = QtWidgets.QButtonGroup(q) g.addButton(self.updateCommentButton) g.addButton(self.commentButton) grid.addWidget(create_label(tr_("Property")), r, 0) for i,b in enumerate(g.buttons()): grid.addWidget(b, r, i+1) r += 1 self.appendButton = QtWidgets.QRadioButton(tr_("Append")) self.appendButton.setChecked(True) self.overwriteButton = QtWidgets.QRadioButton(tr_("Overwrite")) g = QtWidgets.QButtonGroup(q) g.addButton(self.appendButton) g.addButton(self.overwriteButton) grid.addWidget(create_label(tr_("Method")), r, 0) for i,b in enumerate(g.buttons()): grid.addWidget(b, r, i+1) layout = QtWidgets.QVBoxLayout() layout.addWidget(self.edit) optionGroup = QtWidgets.QGroupBox(tr_("Option")) optionGroup.setLayout(grid) layout.addWidget(optionGroup) buttonBox = QtWidgets.QDialogButtonBox( QtWidgets.QDialogButtonBox.Ok| QtWidgets.QDialogButtonBox.Cancel) layout.addWidget(buttonBox) buttonBox.accepted.connect(q.accept) buttonBox.rejected.connect(q.reject) okButton = buttonBox.button(buttonBox.Ok) okButton.setDefault(True) skqss.class_(okButton, 'btn btn-primary') #cancelButton = buttonBox.button(buttonBox.Cancel) q.setLayout(layout)
def __init__(self, wiz): super(SyncThreadPage, self).__init__(wiz) self.setTitle(my.tr("Analyzing the game threads")) self._complete = False wiz.profile().threadUpdated.connect(self._setComplete) introLabel = QtWidgets.QLabel(my.tr("Searching for game settings online") + " ...") introLabel.setWordWrap(True) self._edit = QtWidgets.QLineEdit() self._edit.setReadOnly(True) self._edit.setToolTip(tr_("Status")) self._edit.setText(tr_("Searching") + " ...") layout = QtWidgets.QVBoxLayout() layout.addWidget(introLabel) layout.addWidget(self._edit) self.setLayout(layout)
def __init__(self, q): self.sourceModel = QtGui.QStandardItemModel(q) self.proxyModel = SkMultiFilterProxyModel(q) self.proxyModel.setDynamicSortFilter(True) self.proxyModel.setSortCaseSensitivity(Qt.CaseInsensitive) self.proxyModel.setSourceModel(self.sourceModel) q_parent = q.parent() self._parentWidget = q_parent if isinstance( q_parent, QtWidgets.QWidget) else None self.treeView = QtWidgets.QTreeView(self._parentWidget) self.treeView.setRootIsDecorated(True) self.treeView.setAlternatingRowColors(True) self.treeView.setSortingEnabled(True) self.treeView.setModel(self.proxyModel) self.filterEdit = QtWidgets.QLineEdit() self.filterEdit.setPlaceholderText(tr_("Search")) self.filterEdit.setToolTip("%s (%s, %s)" % (tr_("Search"), tr_("case-insensitive"), tr_("regular expression"))) self.countLabel = QtWidgets.QLabel() #self.countLabel.setToolTip(self.q.tr("Count")) # Connections # See: http://www.qtcentre.org/threads/2603-currentChanged-protected-slot-cant-get-working #self.treeView.activated.connect(q.currentIndexChanged) #self.treeView.clicked.connect(q.currentIndexChanged) self.selectionModel = self.treeView.selectionModel( ) # increase reference counting self.selectionModel.currentChanged.connect(q.currentIndexChanged) self.filterEdit.textChanged.connect(self._updateFilter) self.filterEdit.textChanged.connect(self._updateCount) self.sourceModel.dataChanged.connect(self._updateCount)
def messageEdit(self): ret = QtWidgets.QLineEdit() ret.setReadOnly(True) ret.setToolTip(tr_("Status")) ret.setPlaceholderText(ret.toolTip()) return ret
def replaceEdit(self): ret = QtWidgets.QLineEdit() skqss.class_(ret, 'normal') ret.setToolTip(mytr_("Replaced text")) ret.setPlaceholderText(ret.toolTip()) return ret
def __init__(self, wiz): super(ConfirmGamePage, self).__init__(wiz) self.setTitle(my.tr("Confirm the game information")) wiz.profile().processUpdated.connect(self._refresh) introLabel = QtWidgets.QLabel(my.tr("Is this the visual novel you would like to play?")) introLabel.setWordWrap(True) self._windowEdit = QtWidgets.QLineEdit() self._windowEdit.setReadOnly(True) self._windowEdit.setPlaceholderText(tr_("Not found")) self._windowEdit.setToolTip(my.tr("Process window")) windowLabel = QtWidgets.QLabel(my.tr("Active window") + ":") windowLabel.setBuddy(self._windowEdit) self._processEdit = QtWidgets.QLineEdit() self._processEdit.setReadOnly(True) self._processEdit.setPlaceholderText(tr_("Not found")) self._processEdit.setToolTip(my.tr("Running process")) processLabel = QtWidgets.QLabel(my.tr("Running process") + ":") processLabel.setBuddy(self._processEdit) self._pnameEdit = QtWidgets.QLineEdit() self._pnameEdit.setReadOnly(True) self._pnameEdit.setPlaceholderText(tr_("Not found")) self._pnameEdit.setToolTip(my.tr("Program name")) pnameLabel = QtWidgets.QLabel("=> " + my.tr("Process name") + ":") pnameLabel.setBuddy(self._pnameEdit) self._wnameEdit = QtWidgets.QLineEdit() self._wnameEdit.setReadOnly(True) self._wnameEdit.setPlaceholderText(tr_("Not found")) self._wnameEdit.setToolTip(tr_("Window title")) wnameLabel = QtWidgets.QLabel("=> " + tr_("Window title") + ":") wnameLabel.setBuddy(self._wnameEdit) self._pathEdit = QtWidgets.QLineEdit() self._pathEdit.setReadOnly(True) self._pathEdit.setPlaceholderText(tr_("Not found")) self._pathEdit.setToolTip(my.tr("Executable location") + ":") pathLabel = QtWidgets.QLabel(tr_("Location")) pathLabel.setBuddy(self._pathEdit) self._iconButton = QtWidgets.QPushButton() self._iconButton.setToolTip(tr_("Icon")) skqss.class_(self._iconButton, 'transp') refreshButton = QtWidgets.QPushButton(tr_("Refresh")) refreshButton.clicked.connect(self._updateProcess) skqss.class_(refreshButton, 'btn btn-success') clearProcessButton = QtWidgets.QPushButton(tr_("Clear")) clearProcessButton.clicked.connect(self._clearProcess) skqss.class_(clearProcessButton, 'btn btn-danger') clearWindowButton = QtWidgets.QPushButton(tr_("Clear")) clearWindowButton.clicked.connect(self._clearWindow) skqss.class_(clearWindowButton, 'btn btn-danger') grid = QtWidgets.QGridLayout() r=0; grid.addWidget(introLabel, r, 0, 1, 2) r+=1; grid.addWidget(pathLabel, r, 0) grid.addWidget(self._pathEdit, r, 1) grid.addWidget(self._iconButton, r, 2) r+=1; grid.addWidget(processLabel, r, 0) grid.addWidget(self._processEdit, r, 1) grid.addWidget(clearProcessButton, r, 2) r+=1; grid.addWidget(pnameLabel, r, 0) grid.addWidget(self._pnameEdit, r, 1) r+=1; grid.addWidget(windowLabel, r, 0) grid.addWidget(self._windowEdit, r, 1) r+=1; grid.addWidget(wnameLabel, r, 0) grid.addWidget(self._wnameEdit, r, 1) grid.addWidget(clearWindowButton, r, 2) r+=1; grid.addWidget(refreshButton, r, 2) self.setLayout(grid)