- SolderPaste Tool - the GCode Viewer will open a AppText Editor Tab with Plain Text

- GCode Editor - added an Exit action to the context menu in the GCode Editor Tab
This commit is contained in:
Marius Stanciu
2020-12-13 23:31:46 +02:00
committed by Marius
parent 466e2d6b81
commit 27709b11eb
4 changed files with 84 additions and 39 deletions

View File

@@ -1879,13 +1879,54 @@ class FCPlainTextAreaExtended(QtWidgets.QPlainTextEdit):
self.completer_enable = False
self.menu = None
self.undo_flag = False
self.redo_flag = False
self.undoAvailable.connect(self.on_undo_available)
self.redoAvailable.connect(self.on_redo_available)
# create the context menu
self.menu = QtWidgets.QMenu()
# UNDO
self.undo_action = QAction('%s\t%s' % (_("Undo"), _('Ctrl+Z')), self)
self.menu.addAction(self.undo_action)
self.undo_action.triggered.connect(self.undo)
# REDO
self.redo_action = QAction('%s\t%s' % (_("Redo"), _('Ctrl+Y')), self)
self.menu.addAction(self.redo_action)
self.redo_action.triggered.connect(self.redo)
self.menu.addSeparator()
# CUT
self. cut_action = QAction('%s\t%s' % (_("Cut"), _('Ctrl+X')), self)
self.menu.addAction(self.cut_action)
self.cut_action.triggered.connect(self.cut_text)
# COPY
self.copy_action = QAction('%s\t%s' % (_("Copy"), _('Ctrl+C')), self)
self.menu.addAction(self.copy_action)
self.copy_action.triggered.connect(self.copy_text)
# PASTE
self.paste_action = QAction('%s\t%s' % (_("Paste"), _('Ctrl+V')), self)
self.menu.addAction(self.paste_action)
self.paste_action.triggered.connect(self.paste_text)
# DELETE
self.delete_action = QAction('%s\t%s' % (_("Delete"), _('Del')), self)
self.menu.addAction(self.delete_action)
self.delete_action.triggered.connect(self.delete_text)
self.menu.addSeparator()
# SELECT ALL
self.sel_all_action = QAction('%s\t%s' % (_("Select All"), _('Ctrl+A')), self)
self.menu.addAction(self.sel_all_action)
self.sel_all_action.triggered.connect(self.selectAll)
def on_undo_available(self, val):
self.undo_flag = val
@@ -1931,59 +1972,53 @@ class FCPlainTextAreaExtended(QtWidgets.QPlainTextEdit):
QtWidgets.QPlainTextEdit.focusInEvent(self, event)
def contextMenuEvent(self, event):
self.menu = QtWidgets.QMenu()
tcursor = self.textCursor()
txt = tcursor.selectedText()
# UNDO
undo_action = QAction('%s\t%s' % (_("Undo"), _('Ctrl+Z')), self)
self.menu.addAction(undo_action)
undo_action.triggered.connect(self.undo)
if self.undo_flag is False:
undo_action.setDisabled(True)
self.undo_action.setDisabled(True)
else:
self.undo_action.setDisabled(False)
# REDO
redo_action = QAction('%s\t%s' % (_("Redo"), _('Ctrl+Y')), self)
self.menu.addAction(redo_action)
redo_action.triggered.connect(self.redo)
if self.redo_flag is False:
redo_action.setDisabled(True)
self.menu.addSeparator()
self.redo_action.setDisabled(True)
else:
self.redo_action.setDisabled(False)
# CUT
cut_action = QAction('%s\t%s' % (_("Cut"), _('Ctrl+X')), self)
self.menu.addAction(cut_action)
cut_action.triggered.connect(self.cut_text)
if txt == '':
cut_action.setDisabled(True)
self.cut_action.setDisabled(True)
else:
self.cut_action.setDisabled(False)
# COPY
copy_action = QAction('%s\t%s' % (_("Copy"), _('Ctrl+C')), self)
self.menu.addAction(copy_action)
copy_action.triggered.connect(self.copy_text)
if txt == '':
copy_action.setDisabled(True)
# PASTE
paste_action = QAction('%s\t%s' % (_("Paste"), _('Ctrl+V')), self)
self.menu.addAction(paste_action)
paste_action.triggered.connect(self.paste_text)
# DELETE
delete_action = QAction('%s\t%s' % (_("Delete"), _('Del')), self)
self.menu.addAction(delete_action)
delete_action.triggered.connect(self.delete_text)
self.menu.addSeparator()
# SELECT ALL
sel_all_action = QAction('%s\t%s' % (_("Select All"), _('Ctrl+A')), self)
self.menu.addAction(sel_all_action)
sel_all_action.triggered.connect(self.selectAll)
self.copy_action.setDisabled(True)
else:
self.copy_action.setDisabled(False)
self.menu.exec_(event.globalPos())
def add_action_to_context_menu(self, text, shortcut='', icon=None, callback=lambda: None, separator=None):
"""
"""
if separator == 'before':
self.menu.addSeparator()
# New Action
if icon is None:
new_action = QAction('%s\t%s' % (text, shortcut), self)
else:
new_action = QAction(icon, '%s\t%s' % (text, shortcut), self)
self.menu.addAction(new_action)
new_action.triggered.connect(lambda: callback())
if separator == 'after':
self.menu.addSeparator()
def cut_text(self):
tcursor = self.textCursor()
clipboard = QtWidgets.QApplication.clipboard()