def __init__(self, path, text, replaceText, search, parent=None): QtGui.QDialog.__init__(self, parent, QtCore.Qt.Window | QtCore.Qt.WindowCloseButtonHint) self.setWindowTitle(path) self.resize(700, 400) mainLayout = QtGui.QVBoxLayout() mainLayout.setContentsMargins(0, 0, 0, 5) self.setLayout(mainLayout) diff = DiffWindow() self.path = path self.text = text self.replaceText = replaceText self.search = search a = open(path, 'r').read().splitlines() b = open(path, 'r').read().splitlines() for i in range(len(b)): b[i] = search.sub(replaceText, b[i]) diffExists = diff.generateUnifiedDiff(a, b) if diffExists: mainLayout.addWidget(diff) else: message = QtGui.QMessageBox.information( self, "Replace", "There is nothing to replace.") return hbox = QtGui.QHBoxLayout() hbox.addStretch(1) mainLayout.addLayout(hbox) self.replaceButton = QtGui.QPushButton("Replace") self.replaceButton.clicked.connect(self.replace) hbox.addWidget(self.replaceButton) self.cancelButton = QtGui.QPushButton("Cancel") self.cancelButton.pressed.connect(self.close) hbox.addWidget(self.cancelButton) hbox.addStretch(1) self.replaced = False self.exec_()
def __init__(self, path, text, replaceText, search, parent=None): QtGui.QDialog.__init__( self, parent, QtCore.Qt.Window | QtCore.Qt.WindowCloseButtonHint) self.setWindowTitle(path) self.resize(700, 400) mainLayout = QtGui.QVBoxLayout() mainLayout.setContentsMargins(0, 0, 0, 5) self.setLayout(mainLayout) diff = DiffWindow() self.path = path self.text = text self.replaceText = replaceText self.search = search a = open(path, 'r').read().splitlines() b = open(path, 'r').read().splitlines() for i in range(len(b)): b[i] = search.sub(replaceText, b[i]) diffExists = diff.generateUnifiedDiff(a, b) if diffExists: mainLayout.addWidget(diff) else: message = QtGui.QMessageBox.information( self, "Replace", "There is nothing to replace.") return hbox = QtGui.QHBoxLayout() hbox.addStretch(1) mainLayout.addLayout(hbox) self.replaceButton = QtGui.QPushButton("Replace") self.replaceButton.clicked.connect(self.replace) hbox.addWidget(self.replaceButton) self.cancelButton = QtGui.QPushButton("Cancel") self.cancelButton.pressed.connect(self.close) hbox.addWidget(self.cancelButton) hbox.addStretch(1) self.replaced = False self.exec_()
def newEditor(self, index=None, fileName="Untitled.py", filePath=None, encoding=None): extension = os.path.splitext(fileName)[1].lower() pyFile = extension in [".py", ".pyw"] if pyFile: extension = "python" DATA = {} DATA["filePath"] = filePath DATA["backupKey"] = str(time.time()) + '.' + str( self.backupKeyDiferentiator) self.backupKeyDiferentiator += 1 DATA["bookmarkList"] = [] if encoding is None: DATA["codingFormat"] = "utf-8" else: DATA["codingFormat"] = encoding if pyFile: DATA["errorLine"] = None DATA["fileType"] = "python" editor = CodeEditor(self.useData, self.refactor, self.colorScheme, DATA, self) editor2 = CodeEditor(self.useData, self.refactor, self.colorScheme, DATA, self) snapShot = CodeSnapshot(self.colorScheme) else: if extension in [".htm", ".html"]: extension = ".html" DATA["fileType"] = extension editor = TextEditor(self.useData, DATA, self.colorScheme, self, encoding) editor2 = TextEditor(self.useData, DATA, self.colorScheme, self, encoding) snapShot = TextSnapshot(self.colorScheme, extension) mode = QsciScintilla.EolUnix editor.setEolMode(mode) editor2.setEolMode(mode) snapShot.setEolMode(mode) snapShot.setReadOnly(True) subStack = QtGui.QStackedWidget() editorSplitter = EditorSplitter(editor, editor2, DATA, self, subStack) editor2.setDocument(editor.document()) subStack.addWidget(editorSplitter) subStack.addWidget(snapShot) diffWindow = DiffWindow(editor, snapShot) diffWindow.setStyleSheet(StyleSheet.editorStyle) subStack.addWidget(diffWindow) diffWindow = DiffWindow(editor, snapShot) diffWindow.setStyleSheet(StyleSheet.editorStyle) subStack.addWidget(diffWindow) if extension in self.useData.supportedFileTypes: icon = QtGui.QIcon(os.path.join("Resources", "images", "script")) else: icon = Global.iconFromPath(filePath) if index is None: self.addTab(subStack, icon, fileName) else: self.insertTab(index, subStack, icon, fileName) if filePath is None: pass else: self.filesWatch.addPath(filePath) editor.textChanged.connect(self.currentEditorTextChanged.emit) editor.cursorPositionChanged.connect(self.cursorPositionChanged.emit) editor2.cursorPositionChanged.connect(self.cursorPositionChanged.emit) self.setCurrentWidget(subStack) return subStack