diff --git a/src/bakrest/config_app.py b/src/bakrest/config_app.py index 0a7393c..236461b 100644 --- a/src/bakrest/config_app.py +++ b/src/bakrest/config_app.py @@ -43,26 +43,28 @@ class BakRestConfigApp(ctk.CTk): self.tabs = ctk.CTkTabview(self) self.tabs.grid(row=1, column=0, sticky="nsew", padx=16, pady=(8, 16)) - self.general_tab = self.tabs.add("Configurazione") + self.monitor_tab = self.tabs.add("Monitoraggio") + self.backup_tab = self.tabs.add("Backup") self.queue_tab = self.tabs.add("Coda backup") - self._build_general_tab() + self._build_monitor_tab() + self._build_backup_tab() self._build_queue_tab() self._load_values() self._refresh_queue() - def _build_general_tab(self) -> None: - self.general_tab.grid_columnconfigure(0, weight=1) - self.general_tab.grid_columnconfigure(1, weight=1) - self.general_tab.grid_rowconfigure(0, weight=1) + def _build_monitor_tab(self) -> None: + self.monitor_tab.grid_columnconfigure(0, weight=1) + self.monitor_tab.grid_columnconfigure(1, weight=1) + self.monitor_tab.grid_rowconfigure(0, weight=1) - left = ctk.CTkFrame(self.general_tab) + left = ctk.CTkFrame(self.monitor_tab) left.grid(row=0, column=0, sticky="nsew", padx=(0, 8), pady=8) left.grid_columnconfigure(0, weight=1) left.grid_rowconfigure(1, weight=1) left.grid_rowconfigure(3, weight=1) - right = ctk.CTkFrame(self.general_tab) + right = ctk.CTkFrame(self.monitor_tab) right.grid(row=0, column=1, sticky="nsew", padx=(8, 0), pady=8) right.grid_columnconfigure(0, weight=1) right.grid_rowconfigure(1, weight=1) @@ -80,8 +82,22 @@ class BakRestConfigApp(ctk.CTk): self.exclude_patterns = _ListEditor(right, "Pattern esclusi") self.exclude_patterns.grid(row=2, column=0, rowspan=2, sticky="nsew", padx=12, pady=12) - backup_frame = ctk.CTkFrame(self.general_tab) - backup_frame.grid(row=1, column=0, columnspan=2, sticky="ew", padx=0, pady=(0, 8)) + actions = ctk.CTkFrame(self.monitor_tab, fg_color="transparent") + actions.grid(row=1, column=0, columnspan=2, sticky="ew", pady=(0, 8)) + actions.grid_columnconfigure(0, weight=1) + + save_button = ctk.CTkButton(actions, text="Salva configurazione", command=self._save_config) + save_button.grid(row=0, column=1, padx=8, pady=4) + + reload_button = ctk.CTkButton(actions, text="Ricarica", command=self._reload_config) + reload_button.grid(row=0, column=2, padx=8, pady=4) + + def _build_backup_tab(self) -> None: + self.backup_tab.grid_columnconfigure(0, weight=1) + self.backup_tab.grid_rowconfigure(1, weight=1) + + backup_frame = ctk.CTkFrame(self.backup_tab) + backup_frame.grid(row=0, column=0, sticky="ew", padx=8, pady=8) backup_frame.grid_columnconfigure(1, weight=1) self.server_host_var = tk.StringVar() @@ -102,15 +118,15 @@ class BakRestConfigApp(ctk.CTk): ) shutdown_check.grid(row=4, column=0, columnspan=2, sticky="w", padx=12, pady=8) - destinations_frame = ctk.CTkFrame(self.general_tab) - destinations_frame.grid(row=2, column=0, columnspan=2, sticky="nsew", padx=0, pady=(0, 8)) + destinations_frame = ctk.CTkFrame(self.backup_tab) + destinations_frame.grid(row=1, column=0, sticky="nsew", padx=8, pady=(0, 8)) destinations_frame.grid_columnconfigure(0, weight=1) destinations_frame.grid_rowconfigure(0, weight=1) self.remote_destinations = _ListEditor(destinations_frame, "Share destinazione", browse_dirs=True) self.remote_destinations.grid(row=0, column=0, sticky="nsew", padx=12, pady=12) - actions = ctk.CTkFrame(self.general_tab, fg_color="transparent") - actions.grid(row=3, column=0, columnspan=2, sticky="ew", pady=(0, 8)) + actions = ctk.CTkFrame(self.backup_tab, fg_color="transparent") + actions.grid(row=2, column=0, sticky="ew", pady=(0, 8)) actions.grid_columnconfigure(0, weight=1) save_button = ctk.CTkButton(actions, text="Salva configurazione", command=self._save_config)