Add ZIP scanning progressbar

Change-Id: Iafb923c36316701cbd71c56dd0f039f00513a8df
diff --git a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
index 0395637..959fda6 100644
--- a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
+++ b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
@@ -3029,6 +3029,16 @@
         LOGGER.info("Building per-ZIP inventory to track text completeness...")
         zipInventory.clear()
 
+        // Show progress bar for ZIP scanning phase
+        val scanProgressBar = if (!quiet && zipPaths.size > 1) {
+            ProgressBarBuilder()
+                .setTaskName("Scanning ZIPs")
+                .setInitialMax(zipPaths.size.toLong())
+                .setStyle(ProgressBarStyle.COLORFUL_UNICODE_BAR)
+                .setUpdateIntervalMillis(500)
+                .build()
+        } else null
+
         val dbFactory = DocumentBuilderFactory.newInstance()
         val dBuilder = dbFactory.newDocumentBuilder()
 
@@ -3067,8 +3077,12 @@
             } catch (e: Exception) {
                 LOGGER.warning("Failed to scan $zipPath: ${e.message}")
             }
+
+            scanProgressBar?.step()
         }
 
+        scanProgressBar?.close()
+
         LOGGER.info("ZIP inventory built: ${zipPaths.size} ZIPs scanned")
         // Calculate total unique texts
         val allTexts = zipInventory.values.flatten().toSet()