def __init__(self, parent: Frame, save_fn: Callable[[], None], restore_fn: Callable[[], None]): Frame.__init__(self, parent) self.save_fn = save_fn self.restore_fn = restore_fn self.save_btn = Button(self, text=msg.get('save'), command=self.handle_save_click) self.save_btn.grid(row=0, column=0, ipadx=5, ipady=5, padx=5, pady=5, sticky="nsew") self.restore_btn = Button(self, text=msg.get('restore'), command=self.handle_restore_click) self.restore_btn.grid(row=0, column=1, ipadx=5, ipady=5, padx=5, pady=5, sticky="nsew") self.status = Label(self, text='...') self.lst_elem: List[ProfilElem] = [] self.status.grid(row=1, column=0, columnspan=2, sticky="nsew") self.columnconfigure(0, weight=1) self.columnconfigure(1, weight=1)
def __init__(self, parent: Frame, manager: ArchiveManager, update_fn: Callable[[], None]): Frame.__init__(self, parent) self.manager = manager self.update_fn = update_fn l = Label(self, text=msg.get('nom_ws'), justify='left') l.grid(row=0, column=0, columnspan=2, sticky="nw") self.folder_path = StringVar(value=manager.dossier) self.entry = Entry(self, textvariable=self.folder_path) self.entry.bind('<Return>', (lambda _: self.handle_text_change())) self.entry.grid(row=1, column=0, padx=5, sticky="nswe") self.browse_btn = Button(self, text=msg.get('browse'), command=self.handle_browse_click) self.browse_btn.grid(row=1, column=1, sticky="ne") self.lst_prof = ttk.Combobox(self, values=self.manager.get_all_zip()) self.lst_prof.grid(row=2, column=0, columnspan=2, padx=5, pady=5, sticky="nswe") try: self.lst_prof.current(0) except: pass self.lst_prof.bind("<<ComboboxSelected>>", lambda x: self.update_profileR()) self.columnconfigure(0, weight=1)
def run(self): temp = TemporaryDirectory() filename = self.manager.get_archive_name() # print("Sauvegarde de", self.profil_config) # print(" dans", temp.name) try: self.queue.put(msg.get('saving')) self.profil_config.sauver(temp.name) self.profil_config.sauver_xml(join(temp.name, CONFIG_FILE)) self.queue.put(msg.get('unzipping')) self.manager.to_zip(temp.name, filename) finally: self.queue.put(None)
def run(self): temp = TemporaryDirectory() zip_path = self.manager.get_most_recent_zip() print("Restauration de :", self.profil_config) try: self.queue.put(msg.get('unzipping')) self.manager.from_zip(self.fichier_config, temp.name) # self.queue.put(msg.get('parse')) # self.profil_config.restaurer_xml(join(temp.name, CONFIG_FILE)) self.queue.put(msg.get('restoring')) self.profil_config.restaurer(temp.name) finally: self.queue.put(None)
def on_closing(self): if self.process is not None: if messagebox.askokcancel( "Opération en cours", "Une opération est en cours....\nSouhaitez-vous réellement quitter l'application ?" ): root.destroy() return root.destroy() def testRetore(self): print("restore") if __name__ == '__main__': root = Tk() app = Application(root) if len(sys.argv) > 1 and sys.argv[ 1] == '-r': # Lancement automatique d'une restauration app.handle_restore() #app.testRetore() root.destroy() sys.exit() center_on_screen(root) root.title(msg.get('title')) root.geometry("") root.iconbitmap(os.path.join('img', 'Icone_STP_v2.ico')) root.protocol("WM_DELETE_WINDOW", app.on_closing) app.mainloop()
def __init__(self, parent): Toplevel.__init__(self, parent) T = Label(self, text=msg.get('avertissement')) T.grid() self.overrideredirect(1) self.update()