Commit 3a517890 authored by dmMaze's avatar dmMaze
Browse files

move textitems to textlayer

parent b3470caa
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -141,13 +141,16 @@ class Canvas(QGraphicsScene):
        self.maskLayer.setTransformationMode(Qt.TransformationMode.SmoothTransformation)
        self.drawingLayer = QGraphicsPixmapItem()
        self.drawingLayer.setTransformationMode(Qt.TransformationMode.SmoothTransformation)
        self.textLayer = QGraphicsPixmapItem()
        self.textLayer.setTransformationMode(Qt.TransformationMode.SmoothTransformation)
        
        self.addItem(self.baseLayer)
        self.inpaintLayer.setParentItem(self.baseLayer)
        self.imgLayer.setParentItem(self.baseLayer)
        self.maskLayer.setParentItem(self.baseLayer)
        self.drawingLayer.setParentItem(self.baseLayer)
        self.txtblkShapeControl.setParentItem(self.inpaintLayer)
        self.textLayer.setParentItem(self.baseLayer)
        self.txtblkShapeControl.setParentItem(self.textLayer)

        self.scalefactor_changed.connect(self.onScaleFactorChanged)
        self.selectionChanged.connect(self.on_selection_changed)     
@@ -364,6 +367,9 @@ class Canvas(QGraphicsScene):
        pixmap = ndarray2pixmap(self.imgtrans_proj.inpainted_array)
        self.inpaintLayer.setPixmap(pixmap)

        pixmap.fill(Qt.GlobalColor.transparent)
        self.textLayer.setPixmap(pixmap)

    def setDrawingLayer(self, img: Union[QPixmap, np.ndarray] = None):
        
        ditems = self.get_drawings(visible=False)
+20 −2
Original line number Diff line number Diff line
@@ -410,11 +410,23 @@ class MainWindow(QMainWindow):
    def save_proj(self):
        if self.leftBar.imgTransChecker.isChecked()\
            and self.imgtrans_proj.directory is not None:
            self.saveCurrentPage(update_scene_text=True)
            self.saveCurrentPage(update_scene_text=True, restore_interface=True)

    def saveCurrentPage(self, update_scene_text=True, save_proj=True):
    def saveCurrentPage(self, update_scene_text=True, save_proj=True, restore_interface=False):
        if update_scene_text:
            self.st_manager.updateTextBlkList()
        
        if self.rightComicTransStackPanel.isHidden():
            self.bottomBar.texteditChecker.click()
        trans_idx = self.rightComicTransStackPanel.currentIndex()
        if trans_idx != 1:
            self.bottomBar.texteditChecker.click()

        restore_original_transparency = None
        if self.bottomBar.originalSlider.value() != 0:
            restore_original_transparency = self.bottomBar.originalSlider.value()
            self.bottomBar.originalSlider.setValue(0)

        if save_proj:
            self.imgtrans_proj.save()
            mask_path = self.imgtrans_proj.get_mask_path()
@@ -467,6 +479,12 @@ class MainWindow(QMainWindow):
            self.st_manager.txtblkShapeControl.show()
        self.canvas.setProjSaveState(False)

        if restore_interface:
            if restore_original_transparency is not None:
                self.bottomBar.originalSlider.setValue(restore_original_transparency)
            if trans_idx != 1:
                self.bottomBar.paintChecker.click()
        
    def translatorStatusBtnPressed(self):
        self.leftBar.configChecker.setChecked(True)
        self.configPanel.focusOnTranslator()
+2 −2
Original line number Diff line number Diff line
@@ -316,7 +316,7 @@ class SceneTextManager(QObject):

    def addTextBlkItem(self, textblk_item: TextBlkItem) -> TextBlkItem:
        self.textblk_item_list.append(textblk_item)
        textblk_item.setParentItem(self.canvas.inpaintLayer)
        textblk_item.setParentItem(self.canvas.textLayer)
        textblk_item.begin_edit.connect(self.onTextBlkItemBeginEdit)
        textblk_item.end_edit.connect(self.onTextBlkItemEndEdit)
        textblk_item.hover_enter.connect(self.onTextBlkItemHoverEnter)
@@ -351,7 +351,7 @@ class SceneTextManager(QObject):
        blkitem.idx = len(self.textblk_item_list)
        p_widget.idx = len(self.pairwidget_list)
        self.textblk_item_list.append(blkitem)
        blkitem.setParentItem(self.canvas.inpaintLayer)
        blkitem.setParentItem(self.canvas.textLayer)
        self.pairwidget_list.append(p_widget)
        self.textEditList.addPairWidget(p_widget)