Spostare un file nel Cestino e ripristinarlo nella sua Cartella di origine

Da Gambas-it.org - Wikipedia.

I file cancellati sono spostati momentaneamente nel cosiddetto "Cestino" (Trash ).

Più precisamente essi vengono spostati nella Cartella del percorso nascosto ".local/share/Trash/files".
Inoltre, viene creato nella cartella ".local/share/Trash/info" un file che riporta alcune informazioni sul file cestinato.

In Gambas possiamo spostare un file nel Cestino e, volendo, ripristinarlo nella sua Cartella di origine, usando l'istruzione "MOVE".

Va considerato che, se un file, cestinato, possiede il medesimo nome di un file già presente nella Cartella User.Home &/ ".local/share/Trash/files", il sistema crea nella predetta Cartella un file con nome identico a quello già presente nella Cartella, aggiungendo però il suffisso ".n"; laddove "n" è un numero progressivo, considerando "1" il file preesistente.
Così, per esempio, se già avessimo nella Cartella User.Home &/ ".local/share/Trash/files" un file chiamato "nomefile", e, avendo creato altrove un file con il medesimo nome "nomefile", lo cestinassimo, il sistema sposterebbe tale file nella Cartella User.Home &/ ".local/share/Trash/files" rinominandolo "nomefile.2".

Mostriamo un esempio pratico, nel quale cliccando su un ToggleButton si cestinerà un file presente nella Cartella "Scrivania"; cliccando nuovamente il file sarà ripristinato nella sua Cartella di origine ("Scrivania"):

Public Sub ToggleButton1_Click()

 If ToggleButton1.Value Then 
   Move User.Home &/ "Scrivania/nome_file" To User.Home &/ ".local/share/Trash/files" &/ File.Name(User.Home &/ "Scrivania/nome_file")
 Else
   Move User.Home &/ ".local/share/Trash/files/nome_file" To User.Home &/ "Scrivania/nome_file"
 Endif

End