From 14aaad9b61266682ca1e985161db14ad353cad07 Mon Sep 17 00:00:00 2001
From: Dennis Turco <dennisturco@gmail.com>
Date: Thu, 7 Nov 2024 21:10:07 +0100
Subject: [PATCH] fix: disable single backup button during backup

---
 .../autobackupprogram/BackupManagerGUI.java   |   8 +-
 .../autobackupprogram/BackupOperations.java   |  51 ++++--
 .../autobackupprogram/BackupService.java      |   2 +-
 src/main/resources/res/backup_list.json       |   2 +-
 src/main/resources/res/log_file               | 149 ++++++++++++++++++
 5 files changed, 197 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/mycompany/autobackupprogram/BackupManagerGUI.java b/src/main/java/com/mycompany/autobackupprogram/BackupManagerGUI.java
index 0dfa65f..dfc6820 100644
--- a/src/main/java/com/mycompany/autobackupprogram/BackupManagerGUI.java
+++ b/src/main/java/com/mycompany/autobackupprogram/BackupManagerGUI.java
@@ -380,7 +380,11 @@ public void SingleBackup(String path1, String path2) {
         try {
             progressBar = new BackupProgressGUI(path1, path2);
             progressBar.setVisible(true);
-            BackupOperations.zipDirectory(path1, path2+".zip", currentBackup, null, progressBar);
+
+            SingleBackup.setEnabled(false);
+            toggleAutoBackup.setEnabled(false);
+
+            BackupOperations.zipDirectory(path1, path2+".zip", currentBackup, null, progressBar, SingleBackup, toggleAutoBackup);
             
             //if current_file_opened is null it means they are not in a backup but it is a backup with no associated json file
             if (currentBackup.getBackupName() != null && !currentBackup.getBackupName().isEmpty()) { 
@@ -1626,7 +1630,7 @@ private void RunBackupPopupItemActionPerformed(java.awt.event.ActionEvent evt) {
             
             progressBar = new BackupProgressGUI(backup.getInitialPath(), backup.getDestinationPath());
             progressBar.setVisible(true);
-            BackupOperations.SingleBackup(backup, null, progressBar);
+            BackupOperations.SingleBackup(backup, null, progressBar, SingleBackup, toggleAutoBackup);
             
             // if the backup is currentBackup
             if (currentBackup.getBackupName().equals(backup.getBackupName())) 
diff --git a/src/main/java/com/mycompany/autobackupprogram/BackupOperations.java b/src/main/java/com/mycompany/autobackupprogram/BackupOperations.java
index e35f188..875b86a 100644
--- a/src/main/java/com/mycompany/autobackupprogram/BackupOperations.java
+++ b/src/main/java/com/mycompany/autobackupprogram/BackupOperations.java
@@ -20,7 +20,10 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
+
+import javax.swing.JButton;
 import javax.swing.JOptionPane;
+import javax.swing.JToggleButton;
 import javax.swing.SwingUtilities;
 
 public class BackupOperations{
@@ -28,11 +31,16 @@ public class BackupOperations{
     private static final JSONAutoBackup JSON = new JSONAutoBackup();
     private static Thread zipThread;
     
-    public static void SingleBackup(Backup backup, TrayIcon trayIcon, BackupProgressGUI progressBar) {
+    public static void SingleBackup(Backup backup, TrayIcon trayIcon, BackupProgressGUI progressBar, JButton singleBackupBtn, JToggleButton autoBackupBtn) {
         if (backup == null) throw new IllegalArgumentException("Backup cannot be null!");
         
         Logger.logMessage("Event --> automatic single backup started", Logger.LogLevel.INFO);
 
+        if (singleBackupBtn != null) singleBackupBtn.setEnabled(false);
+        if (autoBackupBtn != null) autoBackupBtn.setEnabled(false);
+
+        System.out.println(singleBackupBtn.isEnabled());
+
         String temp = "\\";
         String path1 = backup.getInitialPath();
         String path2 = backup.getDestinationPath();
@@ -51,15 +59,16 @@ public static void SingleBackup(Backup backup, TrayIcon trayIcon, BackupProgress
         path2 = path2 + "\\" + name1 + " (Backup " + date + ")";
         
         try {
-            zipDirectory(path1, path2+".zip", backup, trayIcon, progressBar);
+            zipDirectory(path1, path2+".zip", backup, trayIcon, progressBar, singleBackupBtn, autoBackupBtn);
         } catch (IOException e) {
-            System.err.println("Exception (SingleBackup) --> " + e);
             Logger.logMessage("Error during the backup operation: the initial path is incorrect!", Logger.LogLevel.WARN);
             JOptionPane.showMessageDialog(null, "Error during the backup operation: the initial path is incorrect!", "Error", JOptionPane.ERROR_MESSAGE);
+            if (singleBackupBtn != null) singleBackupBtn.setEnabled(true);
+            if (autoBackupBtn != null) autoBackupBtn.setEnabled(true);
         } 
     }
     
-    private static void updateAfterBackup(String path1, String path2, Backup backup, TrayIcon trayIcon) {
+    private static void updateAfterBackup(String path1, String path2, Backup backup, TrayIcon trayIcon, JButton singleBackupBtn, JToggleButton autoBackupBtn) {
         if (backup == null) throw new IllegalArgumentException("Backup cannot be null!");
         if (path1 == null) throw new IllegalArgumentException("Initial path cannot be null!");
         if (path2 == null) throw new IllegalArgumentException("Destination path cannot be null!");
@@ -67,6 +76,9 @@ private static void updateAfterBackup(String path1, String path2, Backup backup,
         LocalDateTime dateNow = LocalDateTime.now();
            
         Logger.logMessage("Backup completed!", Logger.LogLevel.INFO);
+
+        if (singleBackupBtn != null) singleBackupBtn.setEnabled(true);
+        if (autoBackupBtn != null) autoBackupBtn.setEnabled(true);
         
         // next day backup update
         if (backup.isAutoBackup() == true) {
@@ -128,10 +140,21 @@ public static boolean CheckInputCorrect(String backupName, String path1, String
             return false;
         }
 
+        if (path1.equals(path2)) {
+            Logger.logMessage("The initial path and destination path cannot be the same. Please choose different paths", Logger.LogLevel.WARN);
+
+            if (trayIcon != null) { 
+                trayIcon.displayMessage("Backup Manager", "Backup: "+ backupName +"\nError during automatic backup.\nThe initial path and destination path cannot be the same. Please choose different paths!", TrayIcon.MessageType.ERROR);
+            } else {
+                JOptionPane.showMessageDialog(null, "The initial path and destination path cannot be the same. Please choose different paths!", "Error", JOptionPane.ERROR_MESSAGE);
+            }
+            return false;
+        }
+
         return true;
     }
     
-    public static void zipDirectory(String sourceDirectoryPath, String targetZipPath, Backup backup, TrayIcon trayIcon, BackupProgressGUI progressBar) throws IOException { // Track copied files
+    public static void zipDirectory(String sourceDirectoryPath, String targetZipPath, Backup backup, TrayIcon trayIcon, BackupProgressGUI progressBar, JButton singleBackupBtn, JToggleButton autoBackupBtn) throws IOException { // Track copied files
         File file = new File(sourceDirectoryPath);
         int totalFilesCount = file.isDirectory() ? countFilesInDirectory(file) : 1;
         
@@ -143,13 +166,15 @@ public static void zipDirectory(String sourceDirectoryPath, String targetZipPath
 
                 try (ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(targetZipPath))) {
                     if (file.isFile()) {
-                        addFileToZip(sourceDirectoryPath, zipOut, file.toPath(), "", copiedFilesCount, totalFilesCount, backup, trayIcon, progressBar);
+                        addFileToZip(sourceDirectoryPath, zipOut, file.toPath(), "", copiedFilesCount, totalFilesCount, backup, trayIcon, progressBar, singleBackupBtn, autoBackupBtn);
                     } else {
                         Files.walkFileTree(sourceDir, new SimpleFileVisitor<Path>() {
                             @Override
                             public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                                 if (Thread.currentThread().isInterrupted()) {
                                     Logger.logMessage("Zipping process manually interrupted", Logger.LogLevel.INFO);
+                                    if (singleBackupBtn != null) singleBackupBtn.setEnabled(true);
+                                    if (autoBackupBtn != null) autoBackupBtn.setEnabled(true);
                                     return FileVisitResult.TERMINATE; // Stop if interrupted
                                 }
 
@@ -174,7 +199,7 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IO
                                 // Update progress
                                 int filesCopiedSoFar = copiedFilesCount.incrementAndGet();
                                 int actualProgress = (int) (((double) filesCopiedSoFar / totalFilesCount) * 100);
-                                UpdateProgressPercentage(actualProgress, sourceDirectoryPath, targetZipPath, backup, trayIcon, progressBar);  // Update progress percentage
+                                UpdateProgressPercentage(actualProgress, sourceDirectoryPath, targetZipPath, backup, trayIcon, progressBar, singleBackupBtn, autoBackupBtn);  // Update progress percentage
 
                                 return FileVisitResult.CONTINUE;
                             }
@@ -183,6 +208,8 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IO
                             public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
                                 if (Thread.currentThread().isInterrupted()) {
                                     Logger.logMessage("Zipping process manually interrupted", Logger.LogLevel.INFO);
+                                    if (singleBackupBtn != null) singleBackupBtn.setEnabled(true);
+                                    if (autoBackupBtn != null) autoBackupBtn.setEnabled(true);
                                     return FileVisitResult.TERMINATE; // Stop if interrupted
                                 }
 
@@ -197,13 +224,15 @@ public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) th
                 } catch (IOException ex) {
                     Logger.logMessage("An error occurred", Logger.LogLevel.ERROR, ex);
                     ex.printStackTrace();  // Handle the exception as necessary
+                    if (singleBackupBtn != null) singleBackupBtn.setEnabled(true);
+                    if (autoBackupBtn != null) autoBackupBtn.setEnabled(true);
                 }
             });
 
             zipThread.start(); // Start the zipping thread
         }
 
-    private static void addFileToZip(String sourceDirectoryPath, ZipOutputStream zipOut, Path file, String zipEntryName, AtomicInteger copiedFilesCount, int totalFilesCount, Backup backup, TrayIcon trayIcon, BackupProgressGUI progressBar) throws IOException {
+    private static void addFileToZip(String sourceDirectoryPath, ZipOutputStream zipOut, Path file, String zipEntryName, AtomicInteger copiedFilesCount, int totalFilesCount, Backup backup, TrayIcon trayIcon, BackupProgressGUI progressBar, JButton singleBackupBtn, JToggleButton autoBackupBtn) throws IOException {
         if (zipEntryName.isEmpty()) {
             zipEntryName = file.getFileName().toString();
         }
@@ -222,7 +251,7 @@ private static void addFileToZip(String sourceDirectoryPath, ZipOutputStream zip
         
         int filesCopiedSoFar = copiedFilesCount.incrementAndGet();
         int actualProgress = (int) (((double) filesCopiedSoFar / totalFilesCount) * 100);
-        UpdateProgressPercentage(actualProgress, sourceDirectoryPath, zipOut.toString(), backup, trayIcon, progressBar);
+        UpdateProgressPercentage(actualProgress, sourceDirectoryPath, zipOut.toString(), backup, trayIcon, progressBar, singleBackupBtn, autoBackupBtn);
     }
     
     public static void updateBackupList(List<Backup> backups) {
@@ -243,7 +272,7 @@ public static void updateBackup(List<Backup> backups, Backup updatedBackup) {
             updateTableWithNewBackupList(backups);
     }
     
-    public static void UpdateProgressPercentage(int value, String path1, String path2, Backup backup, TrayIcon trayIcon, BackupProgressGUI progressBar) {
+    public static void UpdateProgressPercentage(int value, String path1, String path2, Backup backup, TrayIcon trayIcon, BackupProgressGUI progressBar, JButton singleBackupBtn, JToggleButton autoBackupBtn) {
         
         if (value == 0 || value == 25 || value == 50 || value == 75 || value == 100)
             Logger.logMessage("Progress: " + value, Logger.LogLevel.INFO);
@@ -252,7 +281,7 @@ public static void UpdateProgressPercentage(int value, String path1, String path
             progressBar.UpdateProgressBar(value);
         
         if (value == 100) {
-            updateAfterBackup(path1, path2, backup, trayIcon);
+            updateAfterBackup(path1, path2, backup, trayIcon, singleBackupBtn, autoBackupBtn);
         }
     }
     
diff --git a/src/main/java/com/mycompany/autobackupprogram/BackupService.java b/src/main/java/com/mycompany/autobackupprogram/BackupService.java
index 3b6ef7f..e61e478 100644
--- a/src/main/java/com/mycompany/autobackupprogram/BackupService.java
+++ b/src/main/java/com/mycompany/autobackupprogram/BackupService.java
@@ -135,7 +135,7 @@ private List<Backup> getBackupsToDo(List<Backup> backups) {
         private void executeBackups(List<Backup> backups) {
             javax.swing.SwingUtilities.invokeLater(() -> {
                 for (Backup backup : backups) {
-                    BackupOperations.SingleBackup(backup, trayIcon, null);
+                    BackupOperations.SingleBackup(backup, trayIcon, null, null, null);
                 }
             });
         }
diff --git a/src/main/resources/res/backup_list.json b/src/main/resources/res/backup_list.json
index eb01c66..12bbca8 100644
--- a/src/main/resources/res/backup_list.json
+++ b/src/main/resources/res/backup_list.json
@@ -1 +1 @@
-[{"time_interval_backup":"0.0:1","destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":true,"backup_name":"test","notes":"","backup_count":41,"next_date_backup":"2024-11-06T21:15:10.867592100","start_path":"C:\\Users\\Utente\\Desktop\\AutoBackupProgram","creation_date":"2024-11-02T17:06:03.001492800","last_backup":"2024-11-06T21:14:10.867592100","last_update_date":"2024-11-04T23:06:18.579491400"},{"time_interval_backup":null,"destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":false,"backup_name":"test2","notes":"","backup_count":16,"next_date_backup":null,"start_path":"C:\\Users\\Utente\\Desktop\\gg","creation_date":"2024-11-04T23:04:31.346029500","last_backup":null,"last_update_date":"2024-11-07T10:09:03.713405600"},{"time_interval_backup":null,"destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":false,"backup_name":"test3","notes":"","backup_count":37,"next_date_backup":null,"start_path":"C:\\Users\\Utente\\Desktop\\gg","creation_date":"2024-11-04T23:04:33.154829","last_backup":"2024-11-06T15:23:06.306349900","last_update_date":"2024-11-06T15:18:15.215469900"},{"time_interval_backup":null,"destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":false,"backup_name":"test4","notes":"","backup_count":16,"next_date_backup":null,"start_path":"C:\\Users\\Utente\\Desktop\\fg","creation_date":"2024-11-04T23:04:35.073470600","last_backup":null,"last_update_date":"2024-11-06T00:20:26.518897900"},{"time_interval_backup":null,"destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":false,"backup_name":"prova","notes":"","backup_count":9,"next_date_backup":null,"start_path":"C:\\Users\\Utente\\Desktop\\Stalcraft1.mp4","creation_date":"2024-11-05T23:00:16.706667","last_backup":"2024-11-06T14:41:11.821238200","last_update_date":"2024-11-06T23:40:57.474653300"},{"time_interval_backup":null,"destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":false,"backup_name":"f","notes":"","backup_count":0,"next_date_backup":null,"start_path":"C:\\Users\\Utente\\Desktop\\gg","creation_date":"2024-11-06T23:48:13.755548400","last_backup":null,"last_update_date":"2024-11-06T23:48:20.998591200"},{"time_interval_backup":null,"destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":false,"backup_name":"ff","notes":"","backup_count":0,"next_date_backup":null,"start_path":"C:\\Users\\Utente\\Desktop\\gg","creation_date":"2024-11-07T09:49:49.571321","last_backup":null,"last_update_date":"2024-11-07T09:50:58.695252600"}]
\ No newline at end of file
+[{"time_interval_backup":"0.0:1","destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":true,"backup_name":"test","notes":"","backup_count":45,"next_date_backup":"2024-11-07T21:09:44.302618500","start_path":"C:\\Users\\Utente\\Desktop\\AutoBackupProgram","creation_date":"2024-11-02T17:06:03.001492800","last_backup":"2024-11-07T21:08:52.047767900","last_update_date":"2024-11-04T23:06:18.579491400"},{"time_interval_backup":null,"destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":false,"backup_name":"test2","notes":"","backup_count":16,"next_date_backup":null,"start_path":"C:\\Users\\Utente\\Desktop\\gg","creation_date":"2024-11-04T23:04:31.346029500","last_backup":null,"last_update_date":"2024-11-07T10:09:03.713405600"},{"time_interval_backup":null,"destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":false,"backup_name":"test3","notes":"","backup_count":37,"next_date_backup":null,"start_path":"C:\\Users\\Utente\\Desktop\\gg","creation_date":"2024-11-04T23:04:33.154829","last_backup":"2024-11-06T15:23:06.306349900","last_update_date":"2024-11-06T15:18:15.215469900"},{"time_interval_backup":null,"destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":false,"backup_name":"test4","notes":"","backup_count":16,"next_date_backup":null,"start_path":"C:\\Users\\Utente\\Desktop\\fg","creation_date":"2024-11-04T23:04:35.073470600","last_backup":null,"last_update_date":"2024-11-07T21:08:42.842286300"},{"time_interval_backup":null,"destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":false,"backup_name":"prova","notes":"","backup_count":9,"next_date_backup":null,"start_path":"C:\\Users\\Utente\\Desktop\\Stalcraft1.mp4","creation_date":"2024-11-05T23:00:16.706667","last_backup":"2024-11-06T14:41:11.821238200","last_update_date":"2024-11-06T23:40:57.474653300"},{"time_interval_backup":null,"destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":false,"backup_name":"f","notes":"","backup_count":0,"next_date_backup":null,"start_path":"C:\\Users\\Utente\\Desktop\\gg","creation_date":"2024-11-06T23:48:13.755548400","last_backup":null,"last_update_date":"2024-11-06T23:48:20.998591200"},{"time_interval_backup":null,"destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":false,"backup_name":"ff","notes":"","backup_count":0,"next_date_backup":null,"start_path":"C:\\Users\\Utente\\Desktop\\gg","creation_date":"2024-11-07T09:49:49.571321","last_backup":null,"last_update_date":"2024-11-07T09:50:58.695252600"},{"time_interval_backup":null,"destination_path":"C:\\Users\\Utente\\Desktop","automatic_backup":false,"backup_name":"gg","notes":"","backup_count":3,"next_date_backup":null,"start_path":"C:\\Users\\Utente\\Desktop\\gg","creation_date":"2024-11-07T21:07:42.113672","last_backup":"2024-11-07T21:08:22.988730400","last_update_date":"2024-11-07T21:08:18.378356300"}]
\ No newline at end of file
diff --git a/src/main/resources/res/log_file b/src/main/resources/res/log_file
index 348e10d..fa534b9 100644
--- a/src/main/resources/res/log_file
+++ b/src/main/resources/res/log_file
@@ -1,3 +1,152 @@
+2024-11-07T21:09:02.189634900 [INFO] Event --> opening backup
+2024-11-07T21:09:02.183201100 [INFO] Edit row : 0
+2024-11-07T21:08:59.234526700 [INFO] Zipping process manually interrupted
+2024-11-07T21:08:54.418815800 [INFO] Progress: 75
+2024-11-07T21:08:54.390047600 [INFO] Progress: 75
+2024-11-07T21:08:53.244786600 [DEBUG] updating backup list
+2024-11-07T21:08:53.237842300 [INFO] Event --> auto backup disabled
+2024-11-07T21:08:53.231394100 [INFO] Event --> clear
+2024-11-07T21:08:53.225442200 [INFO] Event --> new backup
+2024-11-07T21:08:52.376292400 [INFO] Progress: 50
+2024-11-07T21:08:52.369175500 [INFO] Progress: 50
+2024-11-07T21:08:52.205000100 [INFO] Progress: 25
+2024-11-07T21:08:52.197063700 [INFO] Progress: 25
+2024-11-07T21:08:52.057192100 [INFO] Progress: 0
+2024-11-07T21:08:52.020994800 [INFO] date backup: 07-11-2024 21.08.52
+2024-11-07T21:08:52.014525200 [INFO] Event --> single backup
+2024-11-07T21:08:50.774031700 [INFO] Event --> opening backup
+2024-11-07T21:08:50.767557400 [INFO] Edit row : 0
+2024-11-07T21:08:44.337221 [DEBUG] updating backup list
+2024-11-07T21:08:44.322837400 [INFO] Next date backup setted to: 2024-11-07T21:09:44.302618500
+2024-11-07T21:08:44.309066100 [INFO] Backup completed!
+2024-11-07T21:08:44.279194500 [INFO] Progress: 100
+2024-11-07T21:08:42.849229800 [DEBUG] updating backup list
+2024-11-07T21:08:42.841789800 [INFO] Event --> auto backup disabled
+2024-11-07T21:08:42.834349900 [INFO] Event --> opening backup
+2024-11-07T21:08:42.826443 [INFO] Edit row : 3
+2024-11-07T21:08:37.883234700 [INFO] Progress: 75
+2024-11-07T21:08:37.852996400 [INFO] Progress: 75
+2024-11-07T21:08:35.812242 [INFO] Progress: 50
+2024-11-07T21:08:35.804835100 [INFO] Progress: 50
+2024-11-07T21:08:35.636162500 [INFO] Progress: 25
+2024-11-07T21:08:35.627730200 [INFO] Progress: 25
+2024-11-07T21:08:35.485378900 [INFO] Progress: 0
+2024-11-07T21:08:35.449695500 [INFO] date backup: 07-11-2024 21.08.35
+2024-11-07T21:08:35.442723400 [INFO] Event --> single backup
+2024-11-07T21:08:32.040774 [INFO] Event --> opening backup
+2024-11-07T21:08:32.034297900 [INFO] Edit row : 0
+2024-11-07T21:08:23.020202100 [DEBUG] updating backup list
+2024-11-07T21:08:22.994682900 [INFO] Backup completed!
+2024-11-07T21:08:22.951168500 [INFO] Progress: 100
+2024-11-07T21:08:22.838999 [INFO] date backup: 07-11-2024 21.08.22
+2024-11-07T21:08:22.832526200 [INFO] Event --> single backup
+2024-11-07T21:08:22.325893800 [DEBUG] updating backup list
+2024-11-07T21:08:22.273064700 [INFO] Backup completed!
+2024-11-07T21:08:22.242836400 [INFO] Progress: 100
+2024-11-07T21:08:22.128923900 [INFO] date backup: 07-11-2024 21.08.22
+2024-11-07T21:08:22.122476900 [INFO] Event --> single backup
+2024-11-07T21:08:21.873402200 [DEBUG] updating backup list
+2024-11-07T21:08:21.857477600 [INFO] Backup completed!
+2024-11-07T21:08:21.815348800 [INFO] Progress: 100
+2024-11-07T21:08:21.680437800 [INFO] date backup: 07-11-2024 21.08.21
+2024-11-07T21:08:21.673989100 [INFO] Event --> single backup
+2024-11-07T21:08:18.384308300 [DEBUG] updating backup list
+2024-11-07T21:08:18.377364300 [INFO] Event --> auto backup disabled
+2024-11-07T21:08:18.371412200 [INFO] Event --> Auto Backup setted to Disabled
+2024-11-07T21:08:16.776688700 [INFO] Event --> automatic backup
+2024-11-07T21:08:16.769743900 [INFO] Event --> Changing auto backup preference
+2024-11-07T21:08:12.093267800 [DEBUG] updating backup list
+2024-11-07T21:08:12.085331100 [INFO] Event --> auto backup disabled
+2024-11-07T21:08:12.079379 [INFO] Event --> Auto Backup setted to Disabled
+2024-11-07T21:07:42.122103300 [INFO] Backup 'gg' saved successfully!
+2024-11-07T21:07:42.114663900 [DEBUG] updating backup list
+2024-11-07T21:07:34.884150900 [INFO] Event --> save with name
+2024-11-07T21:07:34.877702800 [INFO] Event --> automatic backup
+2024-11-07T21:07:34.870262300 [INFO] Event --> Changing auto backup preference
+2024-11-07T21:07:33.688700100 [DEBUG] updating backup list
+2024-11-07T21:07:33.680763100 [INFO] Event --> auto backup disabled
+2024-11-07T21:07:33.674315500 [INFO] Event --> Auto Backup setted to Disabled
+2024-11-07T21:07:23.022225600 [INFO] Event --> save with name
+2024-11-07T21:07:23.015281200 [INFO] Event --> automatic backup
+2024-11-07T21:07:23.008337500 [INFO] Event --> Changing auto backup preference
+2024-11-07T21:07:17.267406 [INFO] You selected the directory: C:\Users\Utente\Desktop
+2024-11-07T21:07:14.973325300 [INFO] You selected the directory: C:\Users\Utente\Desktop\gg
+2024-11-07T21:07:09.798054900 [DEBUG] updating backup list
+2024-11-07T21:07:09.790119 [INFO] Event --> auto backup disabled
+2024-11-07T21:07:09.781687800 [INFO] Event --> clear
+2024-11-07T21:07:09.774741700 [INFO] Event --> new backup
+2024-11-07T21:06:50.943879300 [INFO] Event --> Changing auto backup preference
+2024-11-07T21:06:46.058549300 [DEBUG] updating backup list
+2024-11-07T21:06:46.048629300 [INFO] Next date backup setted to: 2024-11-07T21:07:46.026309800
+2024-11-07T21:06:46.032287500 [INFO] Backup completed!
+2024-11-07T21:06:46.017799800 [INFO] Progress: 100
+2024-11-07T21:06:39.604535800 [INFO] Progress: 75
+2024-11-07T21:06:39.574279800 [INFO] Progress: 75
+2024-11-07T21:06:37.521836800 [INFO] Progress: 50
+2024-11-07T21:06:37.513901700 [INFO] Progress: 50
+2024-11-07T21:06:37.339309900 [INFO] Progress: 25
+2024-11-07T21:06:37.330381500 [INFO] Progress: 25
+2024-11-07T21:06:37.173646 [INFO] Progress: 0
+2024-11-07T21:06:37.116287300 [INFO] date backup: 07-11-2024 21.06.37
+2024-11-07T21:06:37.107369500 [INFO] Event --> single backup
+2024-11-07T21:06:35.912692200 [INFO] Event --> opening backup
+2024-11-07T21:06:35.906245500 [INFO] Edit row : 0
+2024-11-07T21:06:32.794221100 [INFO] The application is running with administrator privileges.
+2024-11-07T21:06:32.289294800 [DEBUG] Background mode: false
+2024-11-07T21:06:32.272430800 [INFO] Application started
+2024-11-07T21:04:33.174436700 [DEBUG] updating backup list
+2024-11-07T21:04:33.165013300 [INFO] Next date backup setted to: 2024-11-07T21:05:33.152612900
+2024-11-07T21:04:33.158565 [INFO] Backup completed!
+2024-11-07T21:04:33.124620800 [INFO] Progress: 100
+2024-11-07T21:04:26.758203900 [INFO] Progress: 75
+2024-11-07T21:04:26.728964300 [INFO] Progress: 75
+2024-11-07T21:04:24.668053600 [INFO] Progress: 50
+2024-11-07T21:04:24.660590 [INFO] Progress: 50
+2024-11-07T21:04:24.482525900 [INFO] Progress: 25
+2024-11-07T21:04:24.473598500 [INFO] Progress: 25
+2024-11-07T21:04:24.320830800 [INFO] Progress: 0
+2024-11-07T21:04:24.263815200 [INFO] date backup: 07-11-2024 21.04.24
+2024-11-07T21:04:24.254366100 [INFO] Event --> single backup
+2024-11-07T21:04:23.186473400 [INFO] Event --> opening backup
+2024-11-07T21:04:23.180494200 [INFO] Edit row : 0
+2024-11-07T21:04:18.863802300 [INFO] The application is running with administrator privileges.
+2024-11-07T21:04:18.344459300 [DEBUG] Background mode: false
+2024-11-07T21:04:18.329603 [INFO] Application started
+2024-11-07T21:02:16.254827700 [DEBUG] updating backup list
+2024-11-07T21:02:16.245403500 [INFO] Next date backup setted to: 2024-11-07T21:03:16.233995600
+2024-11-07T21:02:16.238979900 [INFO] Backup completed!
+2024-11-07T21:02:16.233003800 [INFO] Progress: 100
+2024-11-07T21:02:14.963286700 [INFO] Zipping process manually interrupted
+2024-11-07T21:02:08.887626 [INFO] Progress: 75
+2024-11-07T21:02:08.859354 [INFO] Progress: 75
+2024-11-07T21:02:08.148116400 [INFO] Progress: 75
+2024-11-07T21:02:08.118332100 [INFO] Progress: 75
+2024-11-07T21:02:06.851551700 [INFO] Progress: 50
+2024-11-07T21:02:06.844635400 [INFO] Progress: 50
+2024-11-07T21:02:06.673983500 [INFO] Progress: 25
+2024-11-07T21:02:06.666047900 [INFO] Progress: 25
+2024-11-07T21:02:06.519728500 [INFO] Progress: 0
+2024-11-07T21:02:06.485529700 [INFO] date backup: 07-11-2024 21.02.06
+2024-11-07T21:02:06.478560 [INFO] Event --> single backup
+2024-11-07T21:02:06.061263 [INFO] Progress: 50
+2024-11-07T21:02:06.053822700 [INFO] Progress: 50
+2024-11-07T21:02:05.850319800 [INFO] Progress: 25
+2024-11-07T21:02:05.841887800 [INFO] Progress: 25
+2024-11-07T21:02:05.668110700 [INFO] Progress: 0
+2024-11-07T21:02:05.583894200 [INFO] date backup: 07-11-2024 21.02.05
+2024-11-07T21:02:05.574442500 [INFO] Event --> single backup
+2024-11-07T21:02:04.580287600 [INFO] Event --> opening backup
+2024-11-07T21:02:04.574335200 [INFO] Edit row : 0
+2024-11-07T21:02:00.991266400 [INFO] The application is running with administrator privileges.
+2024-11-07T21:02:00.477411400 [DEBUG] Background mode: false
+2024-11-07T21:02:00.460548300 [INFO] Application started
+2024-11-07T20:45:17.006390800 [WARN] The initial path and destination path cannot be the same. Please choose different paths
+2024-11-07T20:45:16.998925500 [INFO] Event --> single backup
+2024-11-07T20:45:16.046557600 [INFO] You selected the directory: C:\Users\Utente\Desktop\musica papà
+2024-11-07T20:45:11.670461100 [INFO] You selected the directory: C:\Users\Utente\Desktop\musica papà
+2024-11-07T20:44:59.021745500 [INFO] The application is running with administrator privileges.
+2024-11-07T20:44:58.498471400 [DEBUG] Background mode: false
+2024-11-07T20:44:58.484055400 [INFO] Application started
 2024-11-07T20:17:33.936995200 [INFO] Event --> opening folder
 2024-11-07T20:16:29.005866 [INFO] The application is running with administrator privileges.
 2024-11-07T20:16:28.489557500 [DEBUG] Background mode: false