コード例 #1
0
ファイル: reader.py プロジェクト: cdepillabout/yomichan
    def updateSampleFromPosition(self):
        samplePosStart = self.state.scanPosition
        samplePosEnd = self.state.scanPosition + self.preferences.searchScanMax

        cursor = self.textContent.textCursor()
        content = unicode(self.textContent.toPlainText())
        contentSample = content[samplePosStart:samplePosEnd]

        if not contentSample or unicode.isspace(contentSample[0]):
            cursor.clearSelection()
            self.textContent.setTextCursor(cursor)
            return

        contentSampleFlat = contentSample.replace("\n", unicode())
        definitionsMatched, lengthMatched = self.language().wordSearch(
            contentSampleFlat, self.preferences.searchResultMax, self.preferences.searchGroupByExp
        )
        sentence = reader_util.findSentence(content, samplePosStart)

        self.state.definitions = reader_util.convertDefinitions(definitionsMatched, sentence)
        self.updateDefinitions()

        lengthSelect = 0
        if lengthMatched:
            for c in contentSample:
                lengthSelect += 1
                if c != "\n":
                    lengthMatched -= 1
                if lengthMatched <= 0:
                    break

        cursor.setPosition(samplePosStart, QtGui.QTextCursor.MoveAnchor)
        cursor.setPosition(samplePosStart + lengthSelect, QtGui.QTextCursor.KeepAnchor)
        self.textContent.setTextCursor(cursor)
コード例 #2
0
ファイル: reader.py プロジェクト: cdepillabout/yomichan
 def onDefinitionSearchReturn(self):
     text = unicode(self.textDefinitionSearch.text())
     definitions, length = self.language().wordSearch(
         text, self.preferences.searchResultMax, self.preferences.searchGroupByExp
     )
     self.state.definitions = reader_util.convertDefinitions(definitions)
     self.updateDefinitions()