Commit 7193a5eb authored by dmMaze's avatar dmMaze
Browse files

support set lettering layer transparency, close #88

parent c619c835
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -277,6 +277,9 @@ class Canvas(QGraphicsScene):
        else:
            self.imgLayer.show()

    def setTextLayerTransparency(self, transparency: float):
        self.textLayer.setOpacity(transparency)

    def adjustScrollBar(self, scrollBar: QScrollBar, factor: float):
        scrollBar.setValue(int(factor * scrollBar.value() + ((factor - 1) * scrollBar.pageStep() / 2)))

@@ -563,6 +566,9 @@ class Canvas(QGraphicsScene):
    def setOriginalTransparencyBySlider(self, slider_value: int):
        self.setOriginalTransparency(slider_value / 100)

    def setTextLayerTransparencyBySlider(self, slider_value: int):
        self.setTextLayerTransparency(slider_value / 100)

    def setTextBlockMode(self, mode: bool):
        self.textblock_mode = mode

+10 −1
Original line number Diff line number Diff line
@@ -142,6 +142,7 @@ class MainWindow(FramelessWindow):
        self.canvas.drop_open_folder.connect(self.openDir)

        self.bottomBar.originalSlider.valueChanged.connect(self.canvas.setOriginalTransparencyBySlider)
        self.bottomBar.textlayerSlider.valueChanged.connect(self.canvas.setTextLayerTransparencyBySlider)
        
        self.drawingPanel = DrawingPanel(self.canvas, self.configPanel.inpaint_config_panel)
        self.textPanel = TextPanel(self.app)
@@ -619,6 +620,7 @@ class MainWindow(FramelessWindow):
            self.rightComicTransStackPanel.setCurrentIndex(0)
            self.canvas.setPaintMode(True)
            self.bottomBar.originalSlider.show()
            self.bottomBar.textlayerSlider.show()
            self.bottomBar.textblockChecker.hide()
        else:
            self.canvas.setPaintMode(False)
@@ -672,6 +674,11 @@ class MainWindow(FramelessWindow):
            restore_original_transparency = self.bottomBar.originalSlider.value()
            self.bottomBar.originalSlider.setValue(0)

        restore_textlayer_transparency = None
        if self.bottomBar.textlayerSlider.value() != 100:
            restore_textlayer_transparency = self.bottomBar.textlayerSlider.value()
            self.bottomBar.textlayerSlider.setValue(100)

        restore_textblock_mode = False
        if self.config.imgtrans_textblock:
            restore_textblock_mode = True
@@ -716,6 +723,8 @@ class MainWindow(FramelessWindow):
        if restore_interface:
            if restore_original_transparency is not None:
                self.bottomBar.originalSlider.setValue(restore_original_transparency)
            if restore_textlayer_transparency is not None:
                self.bottomBar.textlayerSlider.setValue(restore_textlayer_transparency)
            if trans_idx != 1:
                self.bottomBar.paintChecker.click()
            if restore_textblock_mode:
+6 −0
Original line number Diff line number Diff line
@@ -525,12 +525,18 @@ class BottomBar(Widget):
        self.originalSlider.setFixedWidth(130)
        self.originalSlider.setRange(0, 100)

        self.textlayerSlider = PaintQSlider(self.tr("Lettering transparency: ") + "value%", Qt.Orientation.Horizontal, self, minimumWidth=90)
        self.textlayerSlider.setFixedWidth(130)
        self.textlayerSlider.setValue(100)
        self.textlayerSlider.setRange(0, 100)
        
        self.hlayout.addWidget(self.ocrChecker)
        self.hlayout.addWidget(self.transChecker)
        self.hlayout.addWidget(self.translatorStatusbtn)
        self.hlayout.addWidget(self.transTranspageBtn)
        self.hlayout.addWidget(self.inpainterStatBtn)
        self.hlayout.addSpacerItem(QSpacerItem(0, 0, QSizePolicy.Expanding, QSizePolicy.Minimum))
        self.hlayout.addWidget(self.textlayerSlider)
        self.hlayout.addWidget(self.originalSlider)
        self.hlayout.addWidget(self.paintChecker)
        self.hlayout.addWidget(self.texteditChecker)
+0 −1
Original line number Diff line number Diff line
@@ -292,7 +292,6 @@ class PaintQSlider(QSlider):
            painter.setBrush(QColor(*C.SLIDERHANDLE_COLOR,200))
            painter.drawRoundedRect(rect, r, r)


class ConfigComboBox(QComboBox):

    def __init__(self, fix_size=True, *args, **kwargs) -> None: