Add FFmpeg updater module and GUI integration

Introduces a new FFmpeg updater module for checking and updating FFmpeg to the latest essentials build, with progress reporting and version comparison. Updates language files with new translation keys for the updater in multiple languages. Refactors Windows FFmpeg installation to use the new updater logic. Adds UpdaterTabWidget to the GUI dialogs for integration of the updater into the application's interface.
This commit is contained in:
oop7
2025-11-12 16:04:55 +02:00
parent 683946377e
commit a3a4352f9d
21 changed files with 1150 additions and 135 deletions
@@ -34,6 +34,7 @@ from src.utils.ytsage_constants import YTDLP_DOCS_URL
from src.utils.ytsage_config_manager import ConfigManager
from src.utils.ytsage_localization import LocalizationManager, _
from src.utils.ytsage_logger import logger
from src.gui.ytsage_gui_dialogs.ytsage_dialogs_updater import UpdaterTabWidget
if TYPE_CHECKING:
from src.gui.ytsage_gui_main import YTSageApp # only for type hints (no runtime import)
@@ -516,11 +517,15 @@ class CustomOptionsDialog(QDialog):
language_layout.addStretch()
# === Updater Tab ===
updater_tab = UpdaterTabWidget(self)
# Add tabs to the tab widget
self.tab_widget.addTab(cookies_tab, _("tabs.cookies"))
self.tab_widget.addTab(command_tab, _("tabs.custom_command"))
self.tab_widget.addTab(proxy_tab, _("tabs.proxy"))
self.tab_widget.addTab(language_tab, _("tabs.language"))
self.tab_widget.addTab(updater_tab, _("tabs.updater"))
# Dialog buttons
button_box = QDialogButtonBox()