Index Unificati/Commerciali, merge cleanup buttons, report unmatched components

- Add 'Unificati' and 'Commerciali' as indexed root folders alongside the
  existing four, updating Indexer.CartelleRadice and the docs.
- Replace the separate "Pulisci cartella raw" / "Pulisci cartella step"
  buttons with a single "Pulisci raw e step" that clears both under one
  confirmation; falls back to a folder picker when no path is known yet
  in the session instead of staying disabled.
- "Trova componenti referenziati" now also writes a persistent summary
  (PRT/sub-assemblies found and copied, codes not found) to the main
  window's status line, not just the popup dialog, and reports clearly
  when no database is loaded instead of failing silently.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
davideandClaude Sonnet 5 committed 2026-09-16 12:05:07 +02:00
1 parent e56a3be5b4
commit 146ce78eae
4 files changed
+92 -8

No files matched your search

+4 -4
View File
@@ -5,9 +5,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
## Cos'è questo progetto
`CadSearchGui` è un'app Windows Forms (.NET 10, WinForms) che indicizza e permette di
cercare i file CAD Pro-ENGINEER/Creo contenuti in quattro cartelle di un disco/share
di rete (`__Accessori`, `__B.end`, `__Corpi`, `__Fondi` sotto una radice, di default
`X:\`), salvando i metadati in un DB SQLite locale (`cad_index.db`).
cercare i file CAD Pro-ENGINEER/Creo contenuti in sei cartelle di un disco/share
di rete (`__Accessori`, `__B.end`, `__Corpi`, `__Fondi`, `Unificati`, `Commerciali` sotto una radice,
di default `X:\`), salvando i metadati in un DB SQLite locale (`cad_index.db`).
## Comandi
@@ -39,7 +39,7 @@ entrambi rimossi: ora l'unico programma è questo, con GUI e indicizzazione inte
`_grid`, ecc.). `Form1.Designer.cs` contiene solo lo scheletro minimo
(`InitializeComponent`/`Dispose`) generato dal template.
- **Indexer.cs** — logica di scansione del disco e scrittura/aggiornamento del DB
SQLite (`Indexer.ScanAsync`). Cammina le 4 cartelle radice (`Indexer.CartelleRadice`)
SQLite (`Indexer.ScanAsync`). Cammina le 6 cartelle radice (`Indexer.CartelleRadice`)
con un walk manuale a stack (`Walk`, più veloce di `EnumerateFiles(..., AllDirectories)`
su share di rete con centinaia di migliaia di file), estrae da ogni nome file il
pattern Pro-E `<codice>.<tipo>.<versione>` via regex, e fa un upsert incrementale