Commit cd4d3c83 authored by dmMaze's avatar dmMaze
Browse files

change scene contextMenu showing policy

parent 630a1b4c
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -103,7 +103,6 @@ class Canvas(QGraphicsScene):
        self.creating_textblock = False
        self.create_block_origin: QPointF = None
        self.editing_textblkitem: TextBlkItem = None
        self.hovering_textblkitem: TextBlkItem = None

        self.gv = CustomGV(self)
        self.gv.setAlignment(Qt.AlignmentFlag.AlignCenter)
@@ -293,9 +292,8 @@ class Canvas(QGraphicsScene):
        return super().mouseMoveEvent(event)

    def mousePressEvent(self, event: QGraphicsSceneMouseEvent) -> None:
        if self.textblock_mode:
        if self.textblock_mode and len(self.selectedItems()) == 0:
            if event.button() == Qt.MouseButton.RightButton:
                if self.hovering_textblkitem is None:
                return self.startCreateTextblock(event.scenePos())
        elif self.creating_normal_rect:
            return self.startCreateTextblock(event.scenePos(), hide_control=True)
@@ -349,7 +347,6 @@ class Canvas(QGraphicsScene):
        self.clearSelection()
        self.setProjSaveState(False)
        self.editing_textblkitem = None
        self.hovering_textblkitem = None
        self.txtblkShapeControl.setBlkItem(None)
        self.setImageLayer()
        self.setInpaintLayer()
@@ -382,7 +379,6 @@ class Canvas(QGraphicsScene):
    def setPaintMode(self, painting: bool):
        if painting:
            self.editing_textblkitem = None
            self.hovering_textblkitem = None
            self.textblock_mode = False
            self.maskLayer.setVisible(True)
        else:
@@ -405,7 +401,7 @@ class Canvas(QGraphicsScene):
        self.textblock_mode = mode

    def contextMenuEvent(self, event: QGraphicsSceneContextMenuEvent):
        if self.hovering_textblkitem or self.editing_textblkitem:
        if len(self.selectedItems()) != 0:
            menu = QMenu()
            delete_act = menu.addAction(self.tr("Delete"))
            format_act = menu.addAction(self.tr("Apply font formatting"))
@@ -424,7 +420,6 @@ class Canvas(QGraphicsScene):
        self.creating_textblock = False
        self.create_block_origin = None
        self.editing_textblkitem = None
        self.hovering_textblkitem = None
        if self.stroke_path_item is not None:
            self.removeItem(self.stroke_path_item)
            self.stroke_path_item = None
+0 −5
Original line number Diff line number Diff line
@@ -328,7 +328,6 @@ class SceneTextManager(QObject):
        textblk_item.begin_edit.connect(self.onTextBlkItemBeginEdit)
        textblk_item.end_edit.connect(self.onTextBlkItemEndEdit)
        textblk_item.hover_enter.connect(self.onTextBlkItemHoverEnter)
        textblk_item.hover_leave.connect(self.onTextBlkItemHoverLeave)
        textblk_item.leftbutton_pressed.connect(self.onLeftbuttonPressed)
        textblk_item.moving.connect(self.onTextBlkItemMoving)
        textblk_item.moved.connect(self.onTextBlkItemMoved)
@@ -424,10 +423,6 @@ class SceneTextManager(QObject):
        self.hovering_transwidget = self.pairwidget_list[blk_id].e_trans
        self.hovering_transwidget.setHoverEffect(True)
        self.textpanel.textEditList.ensureWidgetVisible(self.hovering_transwidget)
        self.canvas.hovering_textblkitem = blk_item

    def onTextBlkItemHoverLeave(self, blk_id: int):
        self.canvas.hovering_textblkitem = None

    def onTextBlkItemMoving(self, item: TextBlkItem):
        self.txtblkShapeControl.updateBoundingRect()
+0 −5
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ class TextBlkItem(QGraphicsTextItem):
    begin_edit = Signal(int)
    end_edit = Signal(int)
    hover_enter = Signal(int)
    hover_leave = Signal(int)
    hover_move = Signal(int)
    moved = Signal()
    moving = Signal(QGraphicsTextItem)
@@ -421,10 +420,6 @@ class TextBlkItem(QGraphicsTextItem):
        self.hover_enter.emit(self.idx)
        return super().hoverEnterEvent(event)

    def hoverLeaveEvent(self, event: QGraphicsSceneHoverEvent) -> None:
        self.hover_leave.emit(self.idx)
        return super().hoverLeaveEvent(event)

    def toPixmap(self) -> QPixmap:
        pixmap = QPixmap(self.boundingRect().size().toSize())
        pixmap.fill(Qt.GlobalColor.transparent)