mirror of
https://github.com/morgan9e/warehouse
synced 2026-04-14 00:04:08 +09:00
Implement valid name checks
This commit is contained in:
@@ -65,7 +65,8 @@ class NewSnapshotDialog(Adw.Dialog):
|
||||
GLib.idle_add(lambda *_, row=row: row.check_button.set_active(False))
|
||||
|
||||
def valid_checker(self):
|
||||
valid = len(self.selected_rows) > 0 and len(self.name_entry.get_text().strip()) > 0
|
||||
text = self.name_entry.get_text().strip()
|
||||
valid = len(self.selected_rows) > 0 and len(text) > 0 and not("/" in text or "\0" in text)
|
||||
self.create_button.set_sensitive(valid)
|
||||
|
||||
def get_total_fraction(self):
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from gi.repository import Adw, Gtk, GLib, Gio
|
||||
from .host_info import HostInfo
|
||||
from .error_toast import ErrorToast
|
||||
import os, subprocess, json
|
||||
import os, subprocess, json, re
|
||||
|
||||
@Gtk.Template(resource_path="/io/github/flattool/Warehouse/snapshot_page/snapshot_box.ui")
|
||||
class SnapshotBox(Gtk.Box):
|
||||
@@ -60,10 +60,19 @@ class SnapshotBox(Gtk.Box):
|
||||
self.toast_overlay.add_toast(ErrorToast(_("Could not write data"), str(e)).toast)
|
||||
|
||||
def on_rename(self, widget):
|
||||
if not self.valid_checker():
|
||||
return
|
||||
|
||||
self.update_json('name', self.rename_entry.get_text().strip())
|
||||
self.load_from_json()
|
||||
self.rename_menu.popdown()
|
||||
|
||||
def valid_checker(self, *args):
|
||||
text = self.rename_entry.get_text().strip()
|
||||
valid = not ("/" in text or "\0" in text) and len(text) > 0
|
||||
self.apply_rename.set_sensitive(valid)
|
||||
return valid
|
||||
|
||||
def on_trash(self, button):
|
||||
error = [None]
|
||||
path = f"{self.snapshots_path}{self.folder}"
|
||||
@@ -116,4 +125,5 @@ class SnapshotBox(Gtk.Box):
|
||||
self.load_from_json()
|
||||
self.apply_rename.connect("clicked", self.on_rename)
|
||||
self.rename_entry.connect("activate", self.on_rename)
|
||||
self.rename_entry.connect("changed", self.valid_checker)
|
||||
self.trash_button.connect("clicked", self.on_trash)
|
||||
|
||||
Reference in New Issue
Block a user