diff --git a/PrepStep/Form1.cs b/PrepStep/Form1.cs index af81858..35053af 100644 --- a/PrepStep/Form1.cs +++ b/PrepStep/Form1.cs @@ -56,8 +56,8 @@ public partial class Form1 : Form BuildUi(); Load += (_, _) => { - InizializzaCartellaLavoro(); InizializzaDatabase(); + InizializzaCartellaLavoro(); }; } @@ -1004,14 +1004,17 @@ public partial class Form1 : Form private static readonly string PercorsoImpostazioni = Path.Combine(CartellaImpostazioni, "ultimo_db.txt"); private static readonly string PercorsoImpostazioniCartella = Path.Combine(CartellaImpostazioni, "ultima_cartella_lavoro.txt"); - /// Propone l'ultima cartella di lavoro usata (se ancora esiste su disco) o, la prima - /// volta, la cartella dell'eseguibile: non richiede mai un CLAUDE.md/repo (a differenza del - /// vecchio TrovaRadiceRepo), quindi funziona identica anche sull'exe pubblicato standalone - /// copiato su un'altra macchina. Sempre modificabile con "Cambia cartella..." in fase 1. + /// Propone l'ultima cartella di lavoro usata (se ancora esiste su disco) o, se non + /// c'è ancora una preferenza salvata (o punta a una cartella cancellata), la cartella dove si + /// trova il DB (più sensata dell'eseguibile: quella è dove l'utente tiene il proprio lavoro, + /// non dov'è installata la app). Richiede quindi che InizializzaDatabase sia già stata + /// chiamata. Sempre modificabile con "Cambia cartella..." in fase 1. private void InizializzaCartellaLavoro() { var ultima = LeggiUltimaCartellaLavoro(); - _cartellaLavoro = ultima is not null && Directory.Exists(ultima) ? ultima : AppContext.BaseDirectory; + _cartellaLavoro = ultima is not null && Directory.Exists(ultima) + ? ultima + : (_dbPath is not null ? Path.GetDirectoryName(_dbPath) : null) ?? AppContext.BaseDirectory; AggiornaLabelCartellaLavoro(); }