Loading ui/scenetext_manager.py +10 −3 Original line number Diff line number Diff line Loading @@ -3,9 +3,9 @@ from typing import List, Union, Tuple import numpy as np import copy from qtpy.QtWidgets import QApplication, QWidget from qtpy.QtWidgets import QApplication, QWidget, QGraphicsItem from qtpy.QtCore import QObject, QRectF, Qt, Signal, QPointF, QPoint from qtpy.QtGui import QKeyEvent, QTextCursor, QFontMetrics, QFontMetricsF, QFont, QTextCharFormat, QClipboard from qtpy.QtGui import QKeyEvent, QTextCursor, QFontMetricsF, QFont, QTextCharFormat, QClipboard try: from qtpy.QtWidgets import QUndoCommand except: Loading Loading @@ -971,6 +971,9 @@ class SceneTextManager(QObject): if idx < len(self.textblk_item_list): blk_item = self.textblk_item_list[idx] sender = self.sender() if isinstance(sender, TransTextEdit): blk_item.setCacheMode(QGraphicsItem.CacheMode.NoCache) self.canvas.gv.ensureVisible(blk_item) self.txtblkShapeControl.setBlkItem(blk_item) Loading @@ -995,9 +998,13 @@ class SceneTextManager(QObject): if isinstance(w, SourceTextEdit) or isinstance(w, TextBlkItem): w.block_all_input = block def on_pairw_focusout(self): def on_pairw_focusout(self, idx: int): if self.selectext_minimenu.isVisible(): self.selectext_minimenu.hide() sender = self.sender() if isinstance(sender, TransTextEdit) and idx < len(self.textblk_item_list): blk_item = self.textblk_item_list[idx] blk_item.setCacheMode(QGraphicsItem.CacheMode.DeviceCoordinateCache) def on_push_textitem_undostack(self, num_steps: int, is_formatting: bool): blkitem: TextBlkItem = self.sender() Loading ui/textedit_area.py +2 −2 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ class SourceTextEdit(QTextEdit): push_undo_stack = Signal(int) text_changed = Signal() show_select_menu = Signal(QPoint, str) focus_out = Signal() focus_out = Signal(int) def __init__(self, idx, parent, fold=False, *args, **kwargs): super().__init__(parent, *args, **kwargs) Loading Loading @@ -236,7 +236,7 @@ class SourceTextEdit(QTextEdit): def focusOutEvent(self, event: QFocusEvent) -> None: self.setHoverEffect(False) self.focus_out.emit() self.focus_out.emit(self.idx) return super().focusOutEvent(event) def inputMethodEvent(self, e: QInputMethodEvent) -> None: Loading Loading
ui/scenetext_manager.py +10 −3 Original line number Diff line number Diff line Loading @@ -3,9 +3,9 @@ from typing import List, Union, Tuple import numpy as np import copy from qtpy.QtWidgets import QApplication, QWidget from qtpy.QtWidgets import QApplication, QWidget, QGraphicsItem from qtpy.QtCore import QObject, QRectF, Qt, Signal, QPointF, QPoint from qtpy.QtGui import QKeyEvent, QTextCursor, QFontMetrics, QFontMetricsF, QFont, QTextCharFormat, QClipboard from qtpy.QtGui import QKeyEvent, QTextCursor, QFontMetricsF, QFont, QTextCharFormat, QClipboard try: from qtpy.QtWidgets import QUndoCommand except: Loading Loading @@ -971,6 +971,9 @@ class SceneTextManager(QObject): if idx < len(self.textblk_item_list): blk_item = self.textblk_item_list[idx] sender = self.sender() if isinstance(sender, TransTextEdit): blk_item.setCacheMode(QGraphicsItem.CacheMode.NoCache) self.canvas.gv.ensureVisible(blk_item) self.txtblkShapeControl.setBlkItem(blk_item) Loading @@ -995,9 +998,13 @@ class SceneTextManager(QObject): if isinstance(w, SourceTextEdit) or isinstance(w, TextBlkItem): w.block_all_input = block def on_pairw_focusout(self): def on_pairw_focusout(self, idx: int): if self.selectext_minimenu.isVisible(): self.selectext_minimenu.hide() sender = self.sender() if isinstance(sender, TransTextEdit) and idx < len(self.textblk_item_list): blk_item = self.textblk_item_list[idx] blk_item.setCacheMode(QGraphicsItem.CacheMode.DeviceCoordinateCache) def on_push_textitem_undostack(self, num_steps: int, is_formatting: bool): blkitem: TextBlkItem = self.sender() Loading
ui/textedit_area.py +2 −2 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ class SourceTextEdit(QTextEdit): push_undo_stack = Signal(int) text_changed = Signal() show_select_menu = Signal(QPoint, str) focus_out = Signal() focus_out = Signal(int) def __init__(self, idx, parent, fold=False, *args, **kwargs): super().__init__(parent, *args, **kwargs) Loading Loading @@ -236,7 +236,7 @@ class SourceTextEdit(QTextEdit): def focusOutEvent(self, event: QFocusEvent) -> None: self.setHoverEffect(False) self.focus_out.emit() self.focus_out.emit(self.idx) return super().focusOutEvent(event) def inputMethodEvent(self, e: QInputMethodEvent) -> None: Loading