Loading .gitignore +3 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,9 @@ result ballontranslator/data/models ballontranslator/data/testpacks/eng_dontupload ballontranslator/data/testpacks/testpacks ballontranslator/data/*.png ballontranslator/ui/pagesources/gallery-dl ballontranslator/gallery-dl release tmp.py Loading ballontranslator/ui/configpanel.py +17 −8 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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) Loading @@ -296,6 +297,7 @@ class ConfigPanel(Widget): label_inpaint = self.tr('Inpaint') label_translator = self.tr('Translator') label_startup = self.tr('Startup') label_sources = self.tr('Sources') label_lettering = self.tr('Lettering') label_saladict = self.tr("SalaDict") Loading @@ -307,6 +309,7 @@ class ConfigPanel(Widget): ]) generalTableItem.appendRows([ TableItem(label_startup, CONFIG_FONTSIZE_TABLE), TableItem(label_sources, CONFIG_FONTSIZE_TABLE), TableItem(label_lettering, CONFIG_FONTSIZE_TABLE), TableItem(label_saladict, CONFIG_FONTSIZE_TABLE) ]) Loading @@ -331,6 +334,10 @@ class ConfigPanel(Widget): self.open_on_startup_checker = generalConfigPanel.addCheckBox(self.tr('Reopen last project on startup')) self.open_on_startup_checker.stateChanged.connect(self.on_open_onstartup_changed) generalConfigPanel.addTextLabel(label_sources) 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) dec_program_str = self.tr('decide by program') use_global_str = self.tr('use global setting') Loading Loading @@ -438,14 +445,10 @@ class ConfigPanel(Widget): def on_effect_flag_changed(self): self.config.let_fnteffect_flag = self.let_effect_combox.currentIndex() # def on_source_flag_changed(self): # self.config.src_choice_flag = self.src_choice_combox.currentIndex() # def on_source_link_changed(self): # self.config.src_link_flag = self.src_link_textbox.text() # def on_source_force_download_changed(self): # self.config.src_force_download_flag = self.src_force_download_checker.isChecked() 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 Loading @@ -457,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) Loading @@ -483,5 +491,6 @@ class ConfigPanel(Widget): self.let_uppercase_checker.setChecked(config.let_uppercase_flag) self.saladict_shortcut.setKeySequence(config.saladict_shortcut) self.searchurl_combobox.setCurrentText(config.search_url) self.src_link_textbox.setText(config.src_link_flag) self.blockSignals(False) No newline at end of file ballontranslator/ui/dl_manager.py +9 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ import time from typing import Union, List, Dict, Callable import numpy as np import traceback import os.path as osp from qtpy.QtCore import QThread, Signal, QObject, QLocale from qtpy.QtWidgets import QMessageBox Loading @@ -20,6 +21,7 @@ from .stylewidgets import ImgtransProgressMessageBox from .configpanel import ConfigPanel from .misc import DLModuleConfig, ProgramConfig from .imgtrans_proj import ProjImgTrans from dl.textdetector import TextBlock Loading Loading @@ -449,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) Loading Loading @@ -528,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: Loading Loading @@ -739,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) Loading ballontranslator/ui/imgtrans_proj.py +10 −1 Original line number Diff line number Diff line Loading @@ -36,6 +36,9 @@ class ProjImgTrans: self.not_found_pages: Dict[List[TextBlock]] = {} self.new_pages: List[str] = [] self.proj_path: str = None self.src_download_link: str = '' self.current_img: str = None self.img_array: np.ndarray = None self.mask_array: np.ndarray = None Loading Loading @@ -86,6 +89,9 @@ class ProjImgTrans: def result_dir(self): return osp.join(self.directory, 'result') def init_properties(self, src_download_link: str = '', **kwargs): self.src_download_link = src_download_link def load_from_dict(self, proj_dict: dict): self.set_current_img(None) try: Loading @@ -107,6 +113,7 @@ class ProjImgTrans: self._idx2pagename[ii] = imname for imname in not_found_pages: self.not_found_pages[imname] = [TextBlock(**blk_dict) for blk_dict in page_dict[imname]] self.init_properties(**proj_dict) except Exception as e: raise ProjectNotSupportedException(e) set_img_failed = False Loading Loading @@ -185,6 +192,7 @@ class ProjImgTrans: self.pages[imgname] = [] self._pagename2idx[imgname] = ii self._idx2pagename[ii] = imgname self.init_properties() self.set_current_img_byidx(0) self.save() Loading @@ -200,7 +208,8 @@ class ProjImgTrans: return { 'directory': self.directory, 'pages': pages, 'current_img': self.current_img 'current_img': self.current_img, 'src_download_link': self.src_download_link } def read_img(self, imgname: str) -> np.ndarray: Loading ballontranslator/ui/mainwindow.py +48 −1 Original line number Diff line number Diff line Loading @@ -17,12 +17,13 @@ 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 from .mainwindowbars import TitleBar, LeftBar, BottomBar from .io_thread import ImgSaveThread, ImportDocThread, ExportDocThread from .stylewidgets import FrameLessMessageBox, ImgtransProgressMessageBox from .stylewidgets import FrameLessMessageBox, ImgtransProgressMessageBox, SourceDownloadProgressMessageBox from .preset_widget import PresetPanel from .constants import CONFIG_PATH from .global_search_widget import GlobalSearchWidget Loading Loading @@ -69,6 +70,7 @@ class MainWindow(FramelessWindow): def setStyleSheet(self, styleSheet: str) -> None: self.imgtrans_progress_msgbox.setStyleSheet(styleSheet) self.source_download_msgbox.setStyleSheet(styleSheet) self.export_doc_thread.progress_bar.setStyleSheet(styleSheet) self.import_doc_thread.progress_bar.setStyleSheet(styleSheet) # sel_menu_size = self.selectext_minimenu.sizeHint() Loading Loading @@ -128,6 +130,8 @@ class MainWindow(FramelessWindow): self.bottomBar.paintmode_checkchanged.connect(self.setPaintMode) self.bottomBar.textblock_checkchanged.connect(self.setTextBlockMode) self.configPanel.src_link_textbox.setText(self.config.src_link_flag) mainHLayout = QHBoxLayout() mainHLayout.addWidget(self.leftBar) mainHLayout.addWidget(self.centralStackWidget) Loading Loading @@ -205,6 +209,7 @@ class MainWindow(FramelessWindow): self.mainvlayout = mainVBoxLayout self.comicTransSplitter.setStretchFactor(1, 10) self.imgtrans_progress_msgbox = ImgtransProgressMessageBox() self.source_download_msgbox = SourceDownloadProgressMessageBox() self.resetStyleSheet() def setupConfig(self): Loading @@ -227,6 +232,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) Loading @@ -239,9 +246,11 @@ class MainWindow(FramelessWindow): dl_manager.imgtrans_thread.post_process_mask = self.drawingPanel.rectPanel.post_process_mask self.leftBar.run_imgtrans.connect(self.on_run_imgtrans) self.leftBar.run_sync_source.connect(self.on_run_sync_source) 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) Loading @@ -258,6 +267,11 @@ 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_msgbox) self.source_download.open_downloaded_proj.connect(self.openDir) self.source_download.update_progress_bar.connect(self.source_download_msgbox.updateDownloadBar) self.source_download.finished_downloading.connect(self.on_finished_sync_source) textblock_mode = config.imgtrans_textblock if config.imgtrans_textedit: if textblock_mode: Loading Loading @@ -316,6 +330,7 @@ class MainWindow(FramelessWindow): self.opening_dir = False LOGGER.exception(e) LOGGER.warning("Failed to load project from " + directory) LOGGER.warning("If you were trying to download images check IMPLEMENTED_SOURCES.md for more information") self.dl_manager.handleRunTimeException(self.tr('Failed to load project ') + directory, '') return Loading Loading @@ -745,6 +760,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() Loading @@ -754,6 +773,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) Loading Loading @@ -890,6 +918,13 @@ class MainWindow(FramelessWindow): size.height() - msg_size.height())) self.dl_manager.progress_msgbox.move(p) def on_source_download_progressbox_showed(self): msg_size = self.source_download_msgbox.size() size = self.size() p = self.mapToGlobal(QPoint(size.width() - msg_size.width(), size.height() - msg_size.height())) self.source_download_msgbox.move(p) def on_closebtn_clicked(self): if self.imsave_thread.isRunning(): self.imsave_thread.finished.connect(self.close) Loading @@ -906,6 +941,18 @@ class MainWindow(FramelessWindow): self.postprocess_mt_toggle = False self.dl_manager.runImgtransPipeline() def on_run_sync_source(self): self.source_download_msgbox.show_all_bars() self.source_download_msgbox.zero_progress() self.source_download_msgbox.show() self.on_source_download_progressbox_showed() self.source_download.start() def on_finished_sync_source(self): self.source_download_msgbox.hide_all_bars() self.source_download_msgbox.hide() def on_transpanel_changed(self): self.canvas.editor_index = self.rightComicTransStackPanel.currentIndex() if not self.canvas.textEditMode() and self.canvas.search_widget.isVisible(): Loading Loading
.gitignore +3 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,9 @@ result ballontranslator/data/models ballontranslator/data/testpacks/eng_dontupload ballontranslator/data/testpacks/testpacks ballontranslator/data/*.png ballontranslator/ui/pagesources/gallery-dl ballontranslator/gallery-dl release tmp.py Loading
ballontranslator/ui/configpanel.py +17 −8 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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) Loading @@ -296,6 +297,7 @@ class ConfigPanel(Widget): label_inpaint = self.tr('Inpaint') label_translator = self.tr('Translator') label_startup = self.tr('Startup') label_sources = self.tr('Sources') label_lettering = self.tr('Lettering') label_saladict = self.tr("SalaDict") Loading @@ -307,6 +309,7 @@ class ConfigPanel(Widget): ]) generalTableItem.appendRows([ TableItem(label_startup, CONFIG_FONTSIZE_TABLE), TableItem(label_sources, CONFIG_FONTSIZE_TABLE), TableItem(label_lettering, CONFIG_FONTSIZE_TABLE), TableItem(label_saladict, CONFIG_FONTSIZE_TABLE) ]) Loading @@ -331,6 +334,10 @@ class ConfigPanel(Widget): self.open_on_startup_checker = generalConfigPanel.addCheckBox(self.tr('Reopen last project on startup')) self.open_on_startup_checker.stateChanged.connect(self.on_open_onstartup_changed) generalConfigPanel.addTextLabel(label_sources) 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) dec_program_str = self.tr('decide by program') use_global_str = self.tr('use global setting') Loading Loading @@ -438,14 +445,10 @@ class ConfigPanel(Widget): def on_effect_flag_changed(self): self.config.let_fnteffect_flag = self.let_effect_combox.currentIndex() # def on_source_flag_changed(self): # self.config.src_choice_flag = self.src_choice_combox.currentIndex() # def on_source_link_changed(self): # self.config.src_link_flag = self.src_link_textbox.text() # def on_source_force_download_changed(self): # self.config.src_force_download_flag = self.src_force_download_checker.isChecked() 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 Loading @@ -457,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) Loading @@ -483,5 +491,6 @@ class ConfigPanel(Widget): self.let_uppercase_checker.setChecked(config.let_uppercase_flag) self.saladict_shortcut.setKeySequence(config.saladict_shortcut) self.searchurl_combobox.setCurrentText(config.search_url) self.src_link_textbox.setText(config.src_link_flag) self.blockSignals(False) No newline at end of file
ballontranslator/ui/dl_manager.py +9 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ import time from typing import Union, List, Dict, Callable import numpy as np import traceback import os.path as osp from qtpy.QtCore import QThread, Signal, QObject, QLocale from qtpy.QtWidgets import QMessageBox Loading @@ -20,6 +21,7 @@ from .stylewidgets import ImgtransProgressMessageBox from .configpanel import ConfigPanel from .misc import DLModuleConfig, ProgramConfig from .imgtrans_proj import ProjImgTrans from dl.textdetector import TextBlock Loading Loading @@ -449,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) Loading Loading @@ -528,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: Loading Loading @@ -739,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) Loading
ballontranslator/ui/imgtrans_proj.py +10 −1 Original line number Diff line number Diff line Loading @@ -36,6 +36,9 @@ class ProjImgTrans: self.not_found_pages: Dict[List[TextBlock]] = {} self.new_pages: List[str] = [] self.proj_path: str = None self.src_download_link: str = '' self.current_img: str = None self.img_array: np.ndarray = None self.mask_array: np.ndarray = None Loading Loading @@ -86,6 +89,9 @@ class ProjImgTrans: def result_dir(self): return osp.join(self.directory, 'result') def init_properties(self, src_download_link: str = '', **kwargs): self.src_download_link = src_download_link def load_from_dict(self, proj_dict: dict): self.set_current_img(None) try: Loading @@ -107,6 +113,7 @@ class ProjImgTrans: self._idx2pagename[ii] = imname for imname in not_found_pages: self.not_found_pages[imname] = [TextBlock(**blk_dict) for blk_dict in page_dict[imname]] self.init_properties(**proj_dict) except Exception as e: raise ProjectNotSupportedException(e) set_img_failed = False Loading Loading @@ -185,6 +192,7 @@ class ProjImgTrans: self.pages[imgname] = [] self._pagename2idx[imgname] = ii self._idx2pagename[ii] = imgname self.init_properties() self.set_current_img_byidx(0) self.save() Loading @@ -200,7 +208,8 @@ class ProjImgTrans: return { 'directory': self.directory, 'pages': pages, 'current_img': self.current_img 'current_img': self.current_img, 'src_download_link': self.src_download_link } def read_img(self, imgname: str) -> np.ndarray: Loading
ballontranslator/ui/mainwindow.py +48 −1 Original line number Diff line number Diff line Loading @@ -17,12 +17,13 @@ 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 from .mainwindowbars import TitleBar, LeftBar, BottomBar from .io_thread import ImgSaveThread, ImportDocThread, ExportDocThread from .stylewidgets import FrameLessMessageBox, ImgtransProgressMessageBox from .stylewidgets import FrameLessMessageBox, ImgtransProgressMessageBox, SourceDownloadProgressMessageBox from .preset_widget import PresetPanel from .constants import CONFIG_PATH from .global_search_widget import GlobalSearchWidget Loading Loading @@ -69,6 +70,7 @@ class MainWindow(FramelessWindow): def setStyleSheet(self, styleSheet: str) -> None: self.imgtrans_progress_msgbox.setStyleSheet(styleSheet) self.source_download_msgbox.setStyleSheet(styleSheet) self.export_doc_thread.progress_bar.setStyleSheet(styleSheet) self.import_doc_thread.progress_bar.setStyleSheet(styleSheet) # sel_menu_size = self.selectext_minimenu.sizeHint() Loading Loading @@ -128,6 +130,8 @@ class MainWindow(FramelessWindow): self.bottomBar.paintmode_checkchanged.connect(self.setPaintMode) self.bottomBar.textblock_checkchanged.connect(self.setTextBlockMode) self.configPanel.src_link_textbox.setText(self.config.src_link_flag) mainHLayout = QHBoxLayout() mainHLayout.addWidget(self.leftBar) mainHLayout.addWidget(self.centralStackWidget) Loading Loading @@ -205,6 +209,7 @@ class MainWindow(FramelessWindow): self.mainvlayout = mainVBoxLayout self.comicTransSplitter.setStretchFactor(1, 10) self.imgtrans_progress_msgbox = ImgtransProgressMessageBox() self.source_download_msgbox = SourceDownloadProgressMessageBox() self.resetStyleSheet() def setupConfig(self): Loading @@ -227,6 +232,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) Loading @@ -239,9 +246,11 @@ class MainWindow(FramelessWindow): dl_manager.imgtrans_thread.post_process_mask = self.drawingPanel.rectPanel.post_process_mask self.leftBar.run_imgtrans.connect(self.on_run_imgtrans) self.leftBar.run_sync_source.connect(self.on_run_sync_source) 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) Loading @@ -258,6 +267,11 @@ 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_msgbox) self.source_download.open_downloaded_proj.connect(self.openDir) self.source_download.update_progress_bar.connect(self.source_download_msgbox.updateDownloadBar) self.source_download.finished_downloading.connect(self.on_finished_sync_source) textblock_mode = config.imgtrans_textblock if config.imgtrans_textedit: if textblock_mode: Loading Loading @@ -316,6 +330,7 @@ class MainWindow(FramelessWindow): self.opening_dir = False LOGGER.exception(e) LOGGER.warning("Failed to load project from " + directory) LOGGER.warning("If you were trying to download images check IMPLEMENTED_SOURCES.md for more information") self.dl_manager.handleRunTimeException(self.tr('Failed to load project ') + directory, '') return Loading Loading @@ -745,6 +760,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() Loading @@ -754,6 +773,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) Loading Loading @@ -890,6 +918,13 @@ class MainWindow(FramelessWindow): size.height() - msg_size.height())) self.dl_manager.progress_msgbox.move(p) def on_source_download_progressbox_showed(self): msg_size = self.source_download_msgbox.size() size = self.size() p = self.mapToGlobal(QPoint(size.width() - msg_size.width(), size.height() - msg_size.height())) self.source_download_msgbox.move(p) def on_closebtn_clicked(self): if self.imsave_thread.isRunning(): self.imsave_thread.finished.connect(self.close) Loading @@ -906,6 +941,18 @@ class MainWindow(FramelessWindow): self.postprocess_mt_toggle = False self.dl_manager.runImgtransPipeline() def on_run_sync_source(self): self.source_download_msgbox.show_all_bars() self.source_download_msgbox.zero_progress() self.source_download_msgbox.show() self.on_source_download_progressbox_showed() self.source_download.start() def on_finished_sync_source(self): self.source_download_msgbox.hide_all_bars() self.source_download_msgbox.hide() def on_transpanel_changed(self): self.canvas.editor_index = self.rightComicTransStackPanel.currentIndex() if not self.canvas.textEditMode() and self.canvas.search_widget.isVisible(): Loading