Loading ballontranslator/ui/mainwindow.py +23 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ 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 @@ -70,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 @@ -208,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 Loading @@ -265,8 +267,10 @@ 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 = 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: Loading Loading @@ -914,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 @@ -931,7 +942,16 @@ class MainWindow(FramelessWindow): self.dl_manager.runImgtransPipeline() def on_run_sync_source(self): self.source_download.SyncSourceDownload() 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() Loading ballontranslator/ui/pagesources/__init__.py +17 −3 Original line number Diff line number Diff line from gallery_dl.job import DownloadJob from gallery_dl import config from qtpy.QtCore import QObject, Signal from qtpy.QtCore import QObject, Signal, QThread from utils.logger import logger as LOGGER from ui.misc import ProgramConfig from ui.imgtrans_proj import ProjImgTrans class SourceDownload(QObject): class SourceDownload(QThread): open_downloaded_proj = Signal(str) update_progress_bar = Signal(int) finished_downloading = Signal() def __init__(self, config: ProgramConfig, imgtrans_proj: ProjImgTrans, *args, **kwargs): super().__init__(*args, **kwargs) self.job = None self.config_pnl = config self.imgtrans_proj = imgtrans_proj self.path = '' Loading @@ -34,7 +37,14 @@ class SourceDownload(QObject): def openDownloadedProj(self, proj_path): self.open_downloaded_proj.emit(proj_path) def SyncSourceDownload(self): def _SyncSourceDownload(self): # TODO keep track of downloaded page # TODO edit DownloadJob to always include url import time for i in range(100): self.update_progress_bar.emit(i) LOGGER.info(i) time.sleep(0.05) self.url = self.config_pnl.src_link_flag if self.url: LOGGER.info(f'Url set to {self.url}') Loading @@ -49,3 +59,7 @@ class SourceDownload(QObject): if proj_path: self.openDownloadedProj(proj_path) self.finished_downloading.emit() def run(self): self._SyncSourceDownload() No newline at end of file ballontranslator/ui/stylewidgets.py +22 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,28 @@ class ImgtransProgressMessageBox(ProgressMessageBox): self.translate_bar.hide() self.inpaint_bar.hide() class SourceDownloadProgressMessageBox(ProgressMessageBox): def __init__(self, *args, **kwargs) -> None: super().__init__(None, *args, **kwargs) self.download_bar = TaskProgressBar(self.tr('Downloading: '), self) layout = self.layout() layout.addWidget(self.download_bar) def updateDownloadBar(self, value: int, msg: str = ''): self.download_bar.updateProgress(value, msg) def zero_progress(self): self.updateDownloadBar(0) def show_all_bars(self): self.download_bar.show() def hide_all_bars(self): self.download_bar.hide() class ColorPicker(QLabel): colorChanged = Signal(bool) changingColor = Signal() Loading Loading
ballontranslator/ui/mainwindow.py +23 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ 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 @@ -70,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 @@ -208,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 Loading @@ -265,8 +267,10 @@ 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 = 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: Loading Loading @@ -914,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 @@ -931,7 +942,16 @@ class MainWindow(FramelessWindow): self.dl_manager.runImgtransPipeline() def on_run_sync_source(self): self.source_download.SyncSourceDownload() 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() Loading
ballontranslator/ui/pagesources/__init__.py +17 −3 Original line number Diff line number Diff line from gallery_dl.job import DownloadJob from gallery_dl import config from qtpy.QtCore import QObject, Signal from qtpy.QtCore import QObject, Signal, QThread from utils.logger import logger as LOGGER from ui.misc import ProgramConfig from ui.imgtrans_proj import ProjImgTrans class SourceDownload(QObject): class SourceDownload(QThread): open_downloaded_proj = Signal(str) update_progress_bar = Signal(int) finished_downloading = Signal() def __init__(self, config: ProgramConfig, imgtrans_proj: ProjImgTrans, *args, **kwargs): super().__init__(*args, **kwargs) self.job = None self.config_pnl = config self.imgtrans_proj = imgtrans_proj self.path = '' Loading @@ -34,7 +37,14 @@ class SourceDownload(QObject): def openDownloadedProj(self, proj_path): self.open_downloaded_proj.emit(proj_path) def SyncSourceDownload(self): def _SyncSourceDownload(self): # TODO keep track of downloaded page # TODO edit DownloadJob to always include url import time for i in range(100): self.update_progress_bar.emit(i) LOGGER.info(i) time.sleep(0.05) self.url = self.config_pnl.src_link_flag if self.url: LOGGER.info(f'Url set to {self.url}') Loading @@ -49,3 +59,7 @@ class SourceDownload(QObject): if proj_path: self.openDownloadedProj(proj_path) self.finished_downloading.emit() def run(self): self._SyncSourceDownload() No newline at end of file
ballontranslator/ui/stylewidgets.py +22 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,28 @@ class ImgtransProgressMessageBox(ProgressMessageBox): self.translate_bar.hide() self.inpaint_bar.hide() class SourceDownloadProgressMessageBox(ProgressMessageBox): def __init__(self, *args, **kwargs) -> None: super().__init__(None, *args, **kwargs) self.download_bar = TaskProgressBar(self.tr('Downloading: '), self) layout = self.layout() layout.addWidget(self.download_bar) def updateDownloadBar(self, value: int, msg: str = ''): self.download_bar.updateProgress(value, msg) def zero_progress(self): self.updateDownloadBar(0) def show_all_bars(self): self.download_bar.show() def hide_all_bars(self): self.download_bar.hide() class ColorPicker(QLabel): colorChanged = Signal(bool) changingColor = Signal() Loading