Usa la cartella del DB come fallback per la cartella di lavoro
Se non c'e' una cartella di lavoro salvata (o punta a una cartella cancellata), AppContext.BaseDirectory finiva spesso nella cartella di build (bin/Release/...) invece che dove l'utente tiene effettivamente il proprio lavoro. Ora il fallback usa la cartella del DB caricato. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9ecdccb6bb
commit
3ea582e645
1 file changed
+9
-6
+9
-6
@@ -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");
|
||||
|
||||
/// <summary>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.</summary>
|
||||
/// <summary>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.</summary>
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user