Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
 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)
Exemple #4
0
    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)
Exemple #5
0
    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()
Exemple #6
0
 def __init__(self, parent):
     Toplevel.__init__(self, parent)
     T = Label(self, text=msg.get('avertissement'))
     T.grid()
     self.overrideredirect(1)
     self.update()