Exemplo n.º 1
0
    def __onDeleteKey(self,event):
        if self.selectedTextManager().getSelectedTextIndexPos() != None:
            self.deleteSelectText(True)
            return 
        curCursorIndexPos = self.cursor().getCursorIndexPos()
        if FUF.hasModifier(event.modifiers()) == False:
            if event.key() == QtCore.Qt.Key_Delete:
                newCursorIndexPos = self.document().moveIndexPosRight(curCursorIndexPos)
            else:
                newCursorIndexPos = self.document().moveIndexPosLeft(curCursorIndexPos)
        elif FUF.onlyCtrlModifier(event.modifiers()):
            if event.key() == QtCore.Qt.Key_Delete:
                newCursorIndexPos = self.document().moveIndexPosRightByWord(curCursorIndexPos)
            else:
                newCursorIndexPos = self.document().moveIndexPosLeftByWord(curCursorIndexPos)
        else:
            return 

        distance = self.document().calcIndexPosDistance(curCursorIndexPos, newCursorIndexPos, False)
        if distance > 0:
            self.cursor().setGlobalCursorPos(curCursorIndexPos)
            self.document().deleteText(curCursorIndexPos,distance )
        elif distance < 0:
            self.cursor().setGlobalCursorPos(newCursorIndexPos)
            self.document().deleteText(newCursorIndexPos,-distance )
        self.update()
Exemplo n.º 2
0
 def __onDisplayLetterKey(self,event):
     if (FUF.hasModifier(event.modifiers()) == False) or (FUF.onlyShiftModifier(event.modifiers()) == True):
         self.deleteSelectText(False)     
         indexPos = self.document().insertText(self.cursor().getCursorIndexPos(), event.text())
         self.cursor().setGlobalCursorPos(indexPos)
         self.update()
     elif FUF.onlyCtrlModifier(event.modifiers()):
         self.onQuickCtrlKeySignal.emit(event.key())
     elif FUF.onlyAltModifier(event.modifiers()):
         self.onQuickAltKeySignal.emit(event.key())
Exemplo n.º 3
0
 def __onHomeEndKey(self,event):
     if FUF.hasModifier(event.modifiers()) == False:
         curIndexPos = self.cursor().getCursorIndexPos()
         if event.key() == QtCore.Qt.Key_Home:
             newIndexPos = ( 0,curIndexPos[1] )
         else:
             newIndexPos = ( len(self.document().getLineText(curIndexPos[1])),curIndexPos[1] )
         self.cursor().setGlobalCursorPos( newIndexPos )
     else:
         if FUF.onlyCtrlModifier(event.modifiers()):
             if event.key() == QtCore.Qt.Key_Home:
                 lineIndex = 0
                 newIndexPos = ( 0,0 )
             else:
                 lineIndex = self.calcMaxStartDisLineNumber()
                 lineCount = self.document().getLineCount()-1
                 newIndexPos = ( len(self.document().getLineText(lineCount)),lineCount )
             self.cursor().setGlobalCursorPos( newIndexPos )
             self.showLineNumberAsTop(lineIndex)
Exemplo n.º 4
0
 def __onPageKey(self,event):
     if FUF.hasModifier(event.modifiers()) == False:
         if event.key() == QtCore.Qt.Key_PageUp:
             newLineNumber = max([ self.settings().getStartDisLineNumber()-self.calcDisLineNumber(),0 ])
         elif event.key() == QtCore.Qt.Key_PageDown:
             newLineNumber = min([ self.settings().getStartDisLineNumber()+self.calcDisLineNumber(),self.document().getLineCount()-1 ])
     else:
         if FUF.onlyCtrlModifier(event.modifiers()):
             if event.key() == QtCore.Qt.Key_PageUp:
                 newLineNumber = 0
             elif event.key() == QtCore.Qt.Key_PageDown:
                 newLineNumber = self.calcMaxStartDisLineNumber()
         else:
             return 
     
     curIndexPos = self.cursor().getCursorIndexPos()
     newIndexPos = self.document().formatIndexPos(  (curIndexPos[0],curIndexPos[1] - (self.settings().getStartDisLineNumber() - newLineNumber))  )
     self.showLineNumberAsTop( newLineNumber )
     self.cursor().setGlobalCursorPos( newIndexPos )