from PyQt6.QtWidgets import (QMainWindow, QTabWidget, QProgressBar, QStatusBar, QMessageBox) from gui.tab_youtube import YoutubeTab from gui.tab_converter import ConverterTab # <-- Nueva importación from utils.updater import DependencyChecker class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("sevenTools - Media") self.resize(600, 350) self.init_menu() self.init_tabs() self.init_statusbar() self.check_dependencies() def init_menu(self): menubar = self.menuBar() menu_actualizaciones = menubar.addMenu("Actualizaciones") check_action = menu_actualizaciones.addAction("Buscar actualizaciones de binarios") check_action.triggered.connect(self.force_update_check) def init_tabs(self): self.tabs = QTabWidget() # Pestaña 1: Descarga YouTube self.youtube_tab = YoutubeTab() self.tabs.addTab(self.youtube_tab, "Descarga YouTube") # Pestaña 2: Conversión con FFmpeg self.converter_tab = ConverterTab() self.tabs.addTab(self.converter_tab, "Convertidor FFmpeg") self.setCentralWidget(self.tabs) def init_statusbar(self): self.statusBar = QStatusBar() self.setStatusBar(self.statusBar) self.progress_bar = QProgressBar() self.progress_bar.setMaximumWidth(200) self.progress_bar.hide() self.statusBar.addPermanentWidget(self.progress_bar) def check_dependencies(self): self.thread = DependencyChecker() self.thread.progress_signal.connect(self.update_progress) self.thread.finished_signal.connect(self.on_check_finished) self.progress_bar.show() self.thread.start() def update_progress(self, message, percent): self.statusBar.showMessage(message) self.progress_bar.setValue(percent) def on_check_finished(self): self.progress_bar.hide() def force_update_check(self): QMessageBox.information(self, "Actualizaciones", "Verificando componentes...") self.check_dependencies()