Commit 024b43d8 authored by John's avatar John
Browse files

+ Move SourceDownload dl -> ui

+ Remove passing of MainWindow
+ Add url to the bottom bar
parent 02fb033b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ ballontranslator/data/models
ballontranslator/data/testpacks/eng_dontupload
ballontranslator/data/testpacks/testpacks
ballontranslator/data/*.png
ballontranslator/dl/pagesources/gallery-dl
ballontranslator/ui/pagesources/gallery-dl
ballontranslator/gallery-dl
release

+9 −2
Original line number Diff line number Diff line
@@ -97,7 +97,7 @@ class ConfigBlock(Widget):
            sublock.layout().addItem(QSpacerItem(0, 0, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding))
        self.addSublock(sublock)
        sublock.layout().setSpacing(20)
        return le
        return le, sublock

    def addTextLabel(self, text: str = None):
        label = ConfigTextLabel(text, CONFIG_FONTSIZE_HEADER)
@@ -272,6 +272,7 @@ class ConfigTable(QTreeView):
class ConfigPanel(Widget):

    save_config = Signal()
    update_source_download_status = Signal(str)

    def __init__(self, *args, **kwargs) -> None:
        super().__init__(*args, **kwargs)
@@ -334,7 +335,7 @@ class ConfigPanel(Widget):
        self.open_on_startup_checker.stateChanged.connect(self.on_open_onstartup_changed)

        generalConfigPanel.addTextLabel(label_sources)
        self.src_link_textbox = generalConfigPanel.addLineEdit('Source url')
        self.src_link_textbox, self.src_link_sub_block = generalConfigPanel.addLineEdit('Source url')
        self.src_link_textbox.textChanged.connect(self.on_source_link_changed)

        generalConfigPanel.addTextLabel(label_lettering)
@@ -447,6 +448,7 @@ class ConfigPanel(Widget):

    def on_source_link_changed(self):
        self.config.src_link_flag = self.src_link_textbox.text()
        self.update_source_download_status.emit(self.config.src_link_flag)

    def focusOnTranslator(self):
        idx0, idx1 = self.trans_sub_block.idx0, self.trans_sub_block.idx1
@@ -458,6 +460,11 @@ class ConfigPanel(Widget):
        self.configTable.setCurrentItem(idx0, idx1)
        self.configTable.tableitem_pressed.emit(idx0, idx1)

    def focusOnSourceDownload(self):
        idx0, idx1 = self.src_link_sub_block.idx0, self.src_link_sub_block.idx1
        self.configTable.setCurrentItem(idx0, idx1)
        self.configTable.tableitem_pressed.emit(idx0, idx1)

    def showEvent(self, e) -> None:
        self.inpaint_sub_block.layout().addWidget(self.inpaint_config_panel)
        return super().showEvent(e)
+7 −5
Original line number Diff line number Diff line
@@ -451,6 +451,7 @@ class DLManager(QObject):
    imgtrans_proj: ProjImgTrans = None

    update_translator_status = Signal(str, str, str)
    update_source_download_status = Signal(str)
    update_inpainter_status = Signal(str)
    finish_translate_page = Signal(str)
    canvas_inpaint_finished = Signal(dict)
@@ -530,6 +531,8 @@ class DLManager(QObject):
        ocr_panel.ocr_changed.connect(self.setOCR)
        self.ocr_postprocess = ocr_postprocess

        self.on_finish_setsourcedownload()

        self.setTextDetector()
        self.setOCR()
        if self.dl_config.enable_translate:
@@ -614,11 +617,6 @@ class DLManager(QObject):
        self.progress_msgbox.show()
        self.imgtrans_thread.runBlktransPipeline(blk_list, tgt_img, mode)

    def runSourceDownload(self, menu):
        from dl.pagesources import SourceDownload
        source = SourceDownload(self.config, self.imgtrans_proj, menu)
        source.SyncSourceDownload()

    def on_finish_blktrans_stage(self, stage: str, progress: int):
        if stage == 'ocr':
            self.progress_msgbox.updateOCRProgress(progress)
@@ -746,6 +744,10 @@ class DLManager(QObject):
            LOGGER.error('invalid translator')
            self.update_translator_status.emit(self.tr('Invalid'), '', '')

    def on_finish_setsourcedownload(self):
        if self.config.src_link_flag:
            self.update_source_download_status.emit(self.config.src_link_flag)
        
    def on_finish_translate_page(self, page_key: str):
        self.finish_translate_page.emit(page_key)
    
+21 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ from .imgtrans_proj import ProjImgTrans
from .canvas import Canvas
from .configpanel import ConfigPanel
from .dl_manager import DLManager
from .pagesources import SourceDownload
from .textedit_area import TextPanel, SourceTextEdit, SelectTextMiniMenu
from .drawingpanel import DrawingPanel
from .scenetext_manager import SceneTextManager
@@ -229,6 +230,8 @@ class MainWindow(FramelessWindow):

        self.dl_manager = dl_manager = DLManager(config, self.imgtrans_proj)
        dl_manager.update_translator_status.connect(self.updateTranslatorStatus)
        dl_manager.update_source_download_status.connect(self.updateSourceDownloadStatus)
        self.configPanel.update_source_download_status.connect(self.updateSourceDownloadStatus)
        dl_manager.update_inpainter_status.connect(self.updateInpainterStatus)
        dl_manager.finish_translate_page.connect(self.finishTranslatePage)
        dl_manager.imgtrans_pipeline_finished.connect(self.on_imgtrans_pipeline_finished)
@@ -245,6 +248,7 @@ class MainWindow(FramelessWindow):
        self.bottomBar.ocrcheck_statechanged.connect(dl_manager.setOCRMode)
        self.bottomBar.transcheck_statechanged.connect(dl_manager.setTransMode)
        self.bottomBar.inpaint_btn_clicked.connect(self.inpaintBtnClicked)
        self.bottomBar.source_download_btn_clicked.connect(self.SourceDownloadBtnClicked)
        self.bottomBar.translatorStatusbtn.clicked.connect(self.translatorStatusBtnPressed)
        self.bottomBar.transTranspageBtn.run_target.connect(self.on_transpagebtn_pressed)

@@ -261,6 +265,9 @@ class MainWindow(FramelessWindow):
        self.configPanel.setupConfig()
        self.configPanel.save_config.connect(self.save_config)

        self.source_download = SourceDownload(config, self.imgtrans_proj)
        self.source_download.open_downloaded_proj.connect(self.openDir)

        textblock_mode = config.imgtrans_textblock
        if config.imgtrans_textedit:
            if textblock_mode:
@@ -749,6 +756,10 @@ class MainWindow(FramelessWindow):
        self.leftBar.configChecker.setChecked(True)
        self.configPanel.focusOnInpaint()

    def SourceDownloadBtnClicked(self):
        self.leftBar.configChecker.setChecked(True)
        self.configPanel.focusOnSourceDownload()

    def updateTranslatorStatus(self, translator: str, source: str, target: str):
        if translator == '':
            self.bottomBar.translatorStatusbtn.hide()
@@ -758,6 +769,15 @@ class MainWindow(FramelessWindow):
            self.bottomBar.translatorStatusbtn.show()
            self.bottomBar.transTranspageBtn.show()

    def updateSourceDownloadStatus(self, url: str):
        if url == '':
            self.bottomBar.sourceStatusBtn.hide()
            self.bottomBar.sourceStatusBtn.hide()
        else:
            self.bottomBar.sourceStatusBtn.updateStatus(url)
            self.bottomBar.sourceStatusBtn.show()
            self.bottomBar.sourceStatusBtn.show()

    def updateInpainterStatus(self, inpainter: str):
        self.bottomBar.inpainterStatBtn.updateStatus(inpainter)

@@ -911,7 +931,7 @@ class MainWindow(FramelessWindow):
        self.dl_manager.runImgtransPipeline()

    def on_run_sync_source(self):
        self.dl_manager.runSourceDownload(self)
        self.source_download.SyncSourceDownload()

    def on_transpanel_changed(self):
        self.canvas.editor_index = self.rightComicTransStackPanel.currentIndex()
+12 −1
Original line number Diff line number Diff line
@@ -87,6 +87,10 @@ class InpainterStatusButton(StatusButton):
    def updateStatus(self, inpainter: str):
        self.setText(self.tr('Inpainter: ') + inpainter)

class SourceDownloadStatusButton(StatusButton):
    def updateStatus(self, source_url: str):
        self.setText(self.tr('Source url: ') + source_url)


class StateChecker(QCheckBox):
    checked = Signal(str)
@@ -499,6 +503,7 @@ class BottomBar(Widget):
    ocrcheck_statechanged = Signal(bool)
    transcheck_statechanged = Signal(bool)
    inpaint_btn_clicked = Signal()
    source_download_btn_clicked = Signal()

    def __init__(self, mainwindow: QMainWindow, *args, **kwargs) -> None:
        super().__init__(mainwindow, *args, **kwargs)
@@ -522,6 +527,8 @@ class BottomBar(Widget):
                                                self.tr('stop translation'))
        self.inpainterStatBtn = InpainterStatusButton()
        self.inpainterStatBtn.clicked.connect(self.inpaintBtnClicked)
        self.sourceStatusBtn = SourceDownloadStatusButton()
        self.sourceStatusBtn.clicked.connect(self.SourceDownloadBtnClicked)
        self.transTranspageBtn.hide()
        self.hlayout = QHBoxLayout(self)
        self.paintChecker = QCheckBox()
@@ -550,6 +557,7 @@ class BottomBar(Widget):
        self.hlayout.addWidget(self.translatorStatusbtn)
        self.hlayout.addWidget(self.transTranspageBtn)
        self.hlayout.addWidget(self.inpainterStatBtn)
        self.hlayout.addWidget(self.sourceStatusBtn)
        self.hlayout.addSpacerItem(QSpacerItem(0, 0, QSizePolicy.Expanding, QSizePolicy.Minimum))
        self.hlayout.addWidget(self.textlayerSlider)
        self.hlayout.addWidget(self.originalSlider)
@@ -580,3 +588,6 @@ class BottomBar(Widget):

    def inpaintBtnClicked(self):
        self.inpaint_btn_clicked.emit()

    def SourceDownloadBtnClicked(self):
        self.source_download_btn_clicked.emit()
 No newline at end of file
Loading