63 lines
2.1 KiB
Python
63 lines
2.1 KiB
Python
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("seteTools - 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() |