Sposta 'Pulisci raw e step' e 'Cambia cartella' nel menu File, rinomina 'Nuovo'
Fase 1 (Database) aveva 4 bottoni tutti sullo stesso piano visivo: due configurano il DB, gli altri due (cambio cartella di lavoro, pulizia raw/step) sono azioni occasionali di manutenzione, non passi del wizard. Spostate in File → "Scegli cartella di lavoro..." e "Pulisci raw e step...", raggiungibili in qualunque momento invece che solo dalla fase 1. "File → Nuova estrazione" diventa "Nuovo"; corretto anche un bug per cui InizializzaCartellaLavoro non richiamava AggiornaStatoAvanti, lasciando "Avanti" disabilitato in fase 1 finché non si toccava un altro controllo anche a DB e cartella già caricati all'avvio. Doc aggiornati nello stesso commit: CLAUDE.md, docs/architettura.md, GuidaForm.cs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e29a1bf90a
commit
3e9c78074c
4 files changed
+55
-53
No files matched your search
+16
-28
@@ -11,18 +11,18 @@ public partial class Form1 : Form
|
||||
private readonly Button _btnTrovaPrt = new();
|
||||
private readonly Button _btnVerifica = new();
|
||||
private readonly ListView _lstAnteprimaAsm = new();
|
||||
private readonly Button _btnPulisci = new();
|
||||
private readonly Label _lblStatus = new();
|
||||
private readonly Label _lblDb = new();
|
||||
private readonly Label _lblUltimoAggiornamento = new();
|
||||
private readonly Label _lblCartellaLavoro = new();
|
||||
private readonly Button _btnCambiaCartella = new();
|
||||
private readonly DataGridView _gridImport = new();
|
||||
private readonly DataGridView _gridRaw = new();
|
||||
private readonly Label _lblImportStatus = new();
|
||||
private readonly ToolTip _tipImportStatus = new();
|
||||
private readonly MenuStrip _menu = new();
|
||||
private readonly ToolStripMenuItem _mnuNuovaEstrazione = new("Nuova estrazione");
|
||||
private readonly ToolStripMenuItem _mnuNuovaEstrazione = new("Nuovo");
|
||||
private readonly ToolStripMenuItem _mnuPulisci = new("Pulisci raw e step...");
|
||||
private readonly ToolStripMenuItem _mnuCambiaCartella = new("Scegli cartella di lavoro...");
|
||||
|
||||
// Wizard: una fase alla volta occupa tutta la finestra, si avanza solo quando quella
|
||||
// corrente è "pronta" (vedi AvantiConsentito). NomiFasi/_panelFasi sono paralleli per indice.
|
||||
@@ -152,6 +152,12 @@ public partial class Form1 : Form
|
||||
_mnuNuovaEstrazione.Click += (_, _) => NuovaEstrazione();
|
||||
mnuFile.DropDownItems.Add(_mnuNuovaEstrazione);
|
||||
|
||||
_mnuCambiaCartella.Click += (_, _) => ScegliCartellaLavoro();
|
||||
mnuFile.DropDownItems.Add(_mnuCambiaCartella);
|
||||
|
||||
_mnuPulisci.Click += (_, _) => PulisciRawEStep();
|
||||
mnuFile.DropDownItems.Add(_mnuPulisci);
|
||||
|
||||
var mnuAiuto = new ToolStripMenuItem("Aiuto");
|
||||
var mnuGuida = new ToolStripMenuItem("Guida") { ShortcutKeys = Keys.F1 };
|
||||
mnuGuida.Click += (_, _) => new GuidaForm().ShowDialog(this);
|
||||
@@ -259,7 +265,7 @@ public partial class Form1 : Form
|
||||
{
|
||||
if (_dbPath is null || _cartellaLavoro is null)
|
||||
{
|
||||
MessageBox.Show(this, "Carica prima il database in fase 1.", "Nuova estrazione",
|
||||
MessageBox.Show(this, "Carica prima il database in fase 1.", "Nuovo",
|
||||
MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
return;
|
||||
}
|
||||
@@ -337,7 +343,7 @@ public partial class Form1 : Form
|
||||
Text = "Cartella di lavoro: qui vengono scritti il CSV della distinta e la "
|
||||
+ "cartella 'raw' (gli STEP esportati con Creo vanno invece in 'step', "
|
||||
+ "dentro la stessa cartella). Proposta automaticamente (ricordata da un "
|
||||
+ "avvio all'altro), modificabile con 'Cambia cartella...'.",
|
||||
+ "avvio all'altro), modificabile da 'File → Scegli cartella di lavoro...'.",
|
||||
};
|
||||
contenuto.Controls.Add(lblIstruzioniCartella);
|
||||
|
||||
@@ -347,27 +353,6 @@ public partial class Form1 : Form
|
||||
_lblCartellaLavoro.Margin = new Padding(0, 0, 0, 4);
|
||||
contenuto.Controls.Add(_lblCartellaLavoro);
|
||||
|
||||
_btnCambiaCartella.Text = "Cambia cartella...";
|
||||
UiStile.Secondario(_btnCambiaCartella);
|
||||
_btnCambiaCartella.Click += (_, _) => ScegliCartellaLavoro();
|
||||
contenuto.Controls.Add(_btnCambiaCartella);
|
||||
|
||||
var lblManutenzione = new Label
|
||||
{
|
||||
Dock = DockStyle.Top,
|
||||
AutoSize = true,
|
||||
ForeColor = SystemColors.GrayText,
|
||||
Margin = new Padding(0, 20, 0, 8),
|
||||
Text = "Manutenzione: svuota le cartelle 'raw' e 'step' nella cartella di lavoro "
|
||||
+ "prima di un nuovo giro (non tocca l'indice, solo le copie locali).",
|
||||
};
|
||||
contenuto.Controls.Add(lblManutenzione);
|
||||
|
||||
_btnPulisci.Text = "Pulisci raw e step";
|
||||
UiStile.Secondario(_btnPulisci);
|
||||
_btnPulisci.Click += (_, _) => PulisciRawEStep();
|
||||
contenuto.Controls.Add(_btnPulisci);
|
||||
|
||||
var panel = new Panel();
|
||||
panel.Controls.Add(contenuto);
|
||||
return panel;
|
||||
@@ -707,7 +692,8 @@ public partial class Form1 : Form
|
||||
.ToList();
|
||||
if (cartelle.Count == 0)
|
||||
{
|
||||
ImpostaStatoImport($"Nessuna cartella 'raw' o 'step' trovata in {radice}.", Color.DarkRed);
|
||||
MessageBox.Show(this, $"Nessuna cartella 'raw' o 'step' trovata in {radice}.",
|
||||
"Pulisci raw e step", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -734,7 +720,8 @@ public partial class Form1 : Form
|
||||
}
|
||||
}
|
||||
|
||||
ImpostaStatoImport($"{eliminati} file eliminati da {string.Join(" e ", cartelle)}.", Color.DarkGreen);
|
||||
MessageBox.Show(this, $"{eliminati} file eliminati da {string.Join(" e ", cartelle)}.",
|
||||
"Pulisci raw e step", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
|
||||
/// <summary>Tutti i codici prt/asm noti all'indice, con i relativi percorsi (ultima
|
||||
@@ -1112,6 +1099,7 @@ public partial class Form1 : Form
|
||||
? ultima
|
||||
: (_dbPath is not null ? Path.GetDirectoryName(_dbPath) : null) ?? AppContext.BaseDirectory;
|
||||
AggiornaLabelCartellaLavoro();
|
||||
AggiornaStatoAvanti();
|
||||
}
|
||||
|
||||
private void ScegliCartellaLavoro()
|
||||
|
||||
@@ -12,13 +12,14 @@ public class GuidaForm : Form
|
||||
Distributed Batch per l'esportazione STEP: indicizza i file di una share di
|
||||
rete e guida attraverso 5 fasi, una alla volta, con "Avanti"/"Indietro".
|
||||
|
||||
"File ▸ Nuova estrazione" (Ctrl+N) azzera distinta/raw/verifica per
|
||||
"File ▸ Nuovo" (Ctrl+N) azzera distinta/raw/verifica per
|
||||
ripartire con una nuova distinta base, senza dover ricaricare il database.
|
||||
"""),
|
||||
("1. Database", """
|
||||
Carica o aggiorna l'indice "cad_index.db" a partire dalle cartelle di primo
|
||||
livello del disco/share (radice di default X:\). Qui si sceglie anche la
|
||||
cartella di lavoro, dove finiscono CSV, "raw" e "step".
|
||||
livello del disco/share (radice di default X:\). Mostra anche la cartella di
|
||||
lavoro corrente, dove finiscono CSV, "raw" e "step" (cambiabile da
|
||||
"File ▸ Scegli cartella di lavoro...").
|
||||
"""),
|
||||
("2. Importa Distinta Base", """
|
||||
Converte il file della distinta (trascinabile nella finestra) in un CSV
|
||||
|
||||
Reference in new issue
Block a user