from modelo import CorreoModelo from tkinter import messagebox import threading class CorreoControlador: def __init__(self): self.modelo = CorreoModelo() def descargar_correos(self): self.vista.actualizar_footer("📥 Descargando correos...") hilo = threading.Thread(target=self._descargar_correos) hilo.start() def _descargar_correos(self): resultado = self.modelo.descargar_correos() if resultado is True: messagebox.showinfo("Éxito", "Correos descargados correctamente") else: messagebox.showerror("Error", f"Error al descargar correos: {resultado}") self.vista.actualizar_lista() self.vista.actualizar_footer("Gestor de Correos - 2025") def obtener_correos(self): return self.modelo.obtener_correos() def enviar_correo(self, destinatario, asunto, mensaje, archivos_adjuntos=[]): hilo = threading.Thread(target=self._enviar_correo, args=(destinatario, asunto, mensaje, archivos_adjuntos)) hilo.start() def _enviar_correo(self, destinatario, asunto, mensaje, archivos_adjuntos): self.vista.actualizar_footer("📨 Enviando correo...") resultado, mensaje_respuesta = CorreoModelo.enviar_correo(destinatario, asunto, mensaje, archivos_adjuntos) if resultado: messagebox.showinfo("Éxito", mensaje_respuesta) else: messagebox.showerror("Error", mensaje_respuesta) self.vista.actualizar_footer("Gestor de Correos - 2025") def descargar_archivo_adjunto(self, correo_id): self.vista.actualizar_footer("📥 Descargando archivo adjunto...") hilo = threading.Thread(target=self._descargar_archivo_adjunto(correo_id)) def _descargar_archivo_adjunto(self, correo_id): resultado, mensaje = self.modelo.descargar_archivo_adjunto(correo_id) self.vista.actualizar_footer("Gestor de Correos - 2025") messagebox.showinfo("Descarga de Archivos", mensaje)