Пример #1
0
 def keyPressEvent(self,event):
     if self.hasError:
         self.clearErrorHightlight()
     lcursor = self.textCursor()
     bbn = lcursor.blockNumber()
     if lcursor.selectionStart() == lcursor.selectionEnd() and (event.key() == Qt.Key_Delete or event.key() == Qt.Key_Backspace):
         if event.key() == Qt.Key_Backspace:
             lcursor.movePosition(QTextCursor.PreviousCharacter,QTextCursor.KeepAnchor)
         else:
             lcursor.movePosition(QTextCursor.NextCharacter,QTextCursor.KeepAnchor)
     if event.key() == Qt.Key_Tab and lcursor.hasSelection():
         if event.modifiers() == Qt.NoModifier:
             self.tab()
         else:
             self.untab()
     else:
         seltxt = lcursor.selection().toPlainText()
         sbn = seltxt.count('\n')
         rev = self.document().revision()
         QTextEdit.keyPressEvent(self,event)
         if event.key() == Qt.Key_Return or event.key() == Qt.Key_Enter:
             self.returnEvent()
             sbn -=1
         elif event.key() == Qt.Key_Tab :
             self.tabEvent()
         if rev != self.document().revision():
             self.sidebar.decalMarkers(bbn+sbn,-sbn)        
Пример #2
0
 def __init__(self,parent):
     QTextEdit.__init__(self,parent)
     self.editor = None
     self.setAcceptDrops(True)
     self.setWordWrapMode(QTextOption.WrapAnywhere)
     self.findEdit = None
     self.gotoEdit = None
     self.matchCaseButton = None
     self.wholeWordButton = None
     self.nextButton = None
     self.previousButton = None
     self.replaceEdit = None
     self.replaceButton = None
     self.replaceAllButton = None
     self.replaceTab = True
     self.indentation = '  '
     self.hasError = False
     self.defaultdoc = self.document().clone()
     self.setDocument(self.defaultdoc)
     self.syntaxhighlighter = LpySyntaxHighlighter(self)
     self.zoomFactor = 0
     self.editionFont = None
Пример #3
0
 def insertFromMimeData(self,source):
     if source.hasUrls():
         if not self.editor is None:
             url = source.urls()[0]
             if len(url.host()) == 0 and url.path().startswith("/.file/id="):
                 import os
                 cmd = """osascript -e 'get posix path of posix file "{}" -- kthxbai'""".format(url.path())
                 path = os.popen(cmd).read().strip()
             else:
                 path = url.toLocalFile()
             self.editor.openfile(path)
     else : 
         nsource = QMimeData()
         nsource.setText(source.text())
         return QTextEdit.insertFromMimeData(self,nsource)
Пример #4
0
 def focusInEvent ( self, event ):
     if self.editor : self.editor.currentSimulation().monitorfile()
     return QTextEdit.focusInEvent ( self, event )
Пример #5
0
 def scrollContentsBy(self,dx,dy):
     self.sidebar.update()
     self.sidebar.setFont(QFont(self.currentFont()))
     QTextEdit.scrollContentsBy(self,dx,dy)
Пример #6
0
 def resizeEvent(self,event):
     self.sidebar.setGeometry(0,0,48,self.height())
     QTextEdit.resizeEvent(self,event)