1171 """ left of the cursor.</p>""" |
1171 """ left of the cursor.</p>""" |
1172 )) |
1172 )) |
1173 self.calltipsAct.triggered[()].connect(self.__editShowCallTips) |
1173 self.calltipsAct.triggered[()].connect(self.__editShowCallTips) |
1174 self.editActions.append(self.calltipsAct) |
1174 self.editActions.append(self.calltipsAct) |
1175 |
1175 |
|
1176 self.sortAct = E5Action(QApplication.translate('ViewManager', 'Sort'), |
|
1177 QApplication.translate('ViewManager', 'Sort'), |
|
1178 QKeySequence(QApplication.translate('ViewManager', |
|
1179 "Ctrl+Alt+S", "Edit|Sort")), |
|
1180 0, |
|
1181 self.editActGrp, 'vm_edit_sort') |
|
1182 self.sortAct.setStatusTip(QApplication.translate('ViewManager', |
|
1183 'Sort the lines containing the rectangular selection')) |
|
1184 self.sortAct.setWhatsThis(QApplication.translate('ViewManager', |
|
1185 """<b>Sort</b>""" |
|
1186 """<p>Sort the lines spanned by a rectangular selection based on the""" |
|
1187 """ selection ignoring leading and trailing whitespace.</p>""" |
|
1188 )) |
|
1189 self.sortAct.triggered[()].connect(self.__editSortSelectedLines) |
|
1190 self.editActions.append(self.sortAct) |
|
1191 |
1176 self.editActGrp.setEnabled(False) |
1192 self.editActGrp.setEnabled(False) |
1177 self.copyActGrp.setEnabled(False) |
1193 self.copyActGrp.setEnabled(False) |
1178 |
1194 |
1179 #################################################################### |
1195 #################################################################### |
1180 ## Below follow the actions for QScintilla standard commands. |
1196 ## Below follow the actions for QScintilla standard commands. |
2347 menu.addAction(self.boxCommentAct) |
2363 menu.addAction(self.boxCommentAct) |
2348 menu.addSeparator() |
2364 menu.addSeparator() |
2349 menu.addMenu(autocompletionMenu) |
2365 menu.addMenu(autocompletionMenu) |
2350 menu.addSeparator() |
2366 menu.addSeparator() |
2351 menu.addMenu(searchMenu) |
2367 menu.addMenu(searchMenu) |
|
2368 menu.addSeparator() |
|
2369 menu.addAction(self.sortAct) |
2352 menu.addSeparator() |
2370 menu.addSeparator() |
2353 menu.addAction(self.gotoAct) |
2371 menu.addAction(self.gotoAct) |
2354 menu.addAction(self.gotoBraceAct) |
2372 menu.addAction(self.gotoBraceAct) |
2355 menu.addAction(self.gotoLastEditAct) |
2373 menu.addAction(self.gotoLastEditAct) |
2356 menu.addAction(self.gotoPreviousDefAct) |
2374 menu.addAction(self.gotoPreviousDefAct) |
3880 editor.languageChanged.connect(self.__editorConfigChanged) |
3898 editor.languageChanged.connect(self.__editorConfigChanged) |
3881 editor.eolChanged.connect(self.__editorConfigChanged) |
3899 editor.eolChanged.connect(self.__editorConfigChanged) |
3882 editor.encodingChanged.connect(self.__editorConfigChanged) |
3900 editor.encodingChanged.connect(self.__editorConfigChanged) |
3883 editor.selectionChanged.connect(self.__searchWidget.selectionChanged) |
3901 editor.selectionChanged.connect(self.__searchWidget.selectionChanged) |
3884 editor.selectionChanged.connect(self.__replaceWidget.selectionChanged) |
3902 editor.selectionChanged.connect(self.__replaceWidget.selectionChanged) |
|
3903 editor.selectionChanged.connect(self.__editorSelectionChanged) |
3885 editor.lastEditPositionAvailable.connect(self.__lastEditPositionAvailable) |
3904 editor.lastEditPositionAvailable.connect(self.__lastEditPositionAvailable) |
3886 editor.zoomValueChanged.connect(self.zoomValueChanged) |
3905 editor.zoomValueChanged.connect(self.zoomValueChanged) |
3887 |
3906 |
3888 editor.languageChanged.connect(lambda: self.editorLanguageChanged.emit(editor)) |
3907 editor.languageChanged.connect(lambda: self.editorLanguageChanged.emit(editor)) |
3889 editor.textChanged.connect(lambda: self.editorTextChanged.emit(editor)) |
3908 editor.textChanged.connect(lambda: self.editorTextChanged.emit(editor)) |
5721 self.gotoNextDefAct.setEnabled(True) |
5740 self.gotoNextDefAct.setEnabled(True) |
5722 else: |
5741 else: |
5723 self.gotoPreviousDefAct.setEnabled(False) |
5742 self.gotoPreviousDefAct.setEnabled(False) |
5724 self.gotoNextDefAct.setEnabled(False) |
5743 self.gotoNextDefAct.setEnabled(False) |
5725 |
5744 |
|
5745 self.sortAct.setEnabled(editor.selectionIsRectangle()) |
|
5746 |
5726 if setSb: |
5747 if setSb: |
5727 line, pos = editor.getCursorPosition() |
5748 line, pos = editor.getCursorPosition() |
5728 enc = editor.getEncoding() |
5749 enc = editor.getEncoding() |
5729 lang = editor.getLanguage() |
5750 lang = editor.getLanguage() |
5730 eol = editor.getEolIndicator() |
5751 eol = editor.getEolIndicator() |
5876 eol = editor.getEolIndicator() |
5897 eol = editor.getEolIndicator() |
5877 zoom = editor.getZoom() |
5898 zoom = editor.getZoom() |
5878 self.__setSbFile( |
5899 self.__setSbFile( |
5879 fn, line + 1, pos, encoding=enc, language=lang, eol=eol, zoom=zoom) |
5900 fn, line + 1, pos, encoding=enc, language=lang, eol=eol, zoom=zoom) |
5880 self._checkActions(editor, False) |
5901 self._checkActions(editor, False) |
|
5902 |
|
5903 def __editorSelectionChanged(self): |
|
5904 """ |
|
5905 Private slot to handle changes of the current editors selection. |
|
5906 """ |
|
5907 editor = self.sender() |
|
5908 if editor: |
|
5909 self.sortAct.setEnabled(editor.selectionIsRectangle()) |
|
5910 else: |
|
5911 self.sortAct.setEnabled(False) |
|
5912 |
|
5913 def __editSortSelectedLines(self): |
|
5914 """ |
|
5915 Private slot to sort the selected lines. |
|
5916 """ |
|
5917 editor = self.activeWindow() |
|
5918 if editor: |
|
5919 editor.sortLines() |
5881 |
5920 |
5882 ################################################################## |
5921 ################################################################## |
5883 ## Below are protected utility methods |
5922 ## Below are protected utility methods |
5884 ################################################################## |
5923 ################################################################## |
5885 |
5924 |