From be4989fc8d9ce73021d8de904ac70c3640a9af33 Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Tue, 22 Sep 2026 16:00:25 +0200 Subject: [PATCH] Sistema il testo delle fasi 3-4 e completa il dialogo "Componenti referenziati trovati" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fase 3: spostata la spiegazione da paragrafo sopra il bottone a etichetta affiancata ("Copia i file dal server nella cartella 'raw'."), stesso pattern già usato in fase 2. Fase 4: tolta la frase finale sul passo opzionale, ridondante con la frase precedente. PrtMancantiForm (l'esito di "Trova componenti referenziati"): mancava un modo esplicito per chiudere la finestra (solo la X) e usava l'icona default di WinForms invece di quella dell'app. Aggiunto "Chiudi" accanto ad "Apri cartella raw" (Esc la chiude) e impostata l'icona dall'eseguibile, stesso pattern già usato in Form1. Co-Authored-By: Claude Sonnet 5 --- PrepStep/Form1.cs | 26 ++++++++++++++------------ PrepStep/PrtMancantiForm.cs | 29 +++++++++++++++++++++++++++-- 2 files changed, 41 insertions(+), 14 deletions(-) diff --git a/PrepStep/Form1.cs b/PrepStep/Form1.cs index e9af493..807588c 100644 --- a/PrepStep/Form1.cs +++ b/PrepStep/Form1.cs @@ -497,22 +497,25 @@ public partial class Form1 : Form }; contenuto.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100)); - var lblIstruzioni = new Label + var rigaCreaRaw = new FlowLayoutPanel { - Dock = DockStyle.Top, AutoSize = true, - ForeColor = SystemColors.GrayText, - Margin = new Padding(0, 0, 0, 8), - Text = "Cerca nell'indice il percorso CAD di ogni componente importato e copia i " - + "file trovati in una cartella 'raw' dentro la cartella di lavoro (fase 1).", + FlowDirection = FlowDirection.LeftToRight, + Margin = new Padding(0, 0, 0, 12), }; - contenuto.Controls.Add(lblIstruzioni); - _btnCreaRaw.Text = "Crea cartella raw"; - _btnCreaRaw.Margin = new Padding(0, 0, 0, 12); + _btnCreaRaw.Margin = new Padding(0, 0, 8, 0); UiStile.Primario(_btnCreaRaw); _btnCreaRaw.Click += (_, _) => CreaCartellaRaw(); - contenuto.Controls.Add(_btnCreaRaw); + rigaCreaRaw.Controls.Add(_btnCreaRaw); + rigaCreaRaw.Controls.Add(new Label + { + AutoSize = true, + ForeColor = SystemColors.GrayText, + Margin = new Padding(0, 9, 0, 0), + Text = "Copia i file dal server nella cartella 'raw'.", + }); + contenuto.Controls.Add(rigaCreaRaw); _gridRaw.Dock = DockStyle.Fill; _gridRaw.ReadOnly = true; @@ -563,8 +566,7 @@ public partial class Form1 : Form Margin = new Padding(0, 0, 0, 12), Text = "Gli assiemi referenziano altri PRT e sotto-assiemi al loro interno: premi " + "qui per risolvere l'albero componenti (ricorsivamente) e copiare tutto ciò che " - + "viene trovato nell'indice dentro 'raw'. Passo opzionale: se la distinta contiene " - + "solo parti singole puoi anche passare direttamente alla fase successiva.", + + "viene trovato nell'indice dentro 'raw'.", }; contenuto.Controls.Add(lblIstruzioni); diff --git a/PrepStep/PrtMancantiForm.cs b/PrepStep/PrtMancantiForm.cs index 29e1c21..29890ed 100644 --- a/PrepStep/PrtMancantiForm.cs +++ b/PrepStep/PrtMancantiForm.cs @@ -15,6 +15,14 @@ public class PrtMancantiForm : Form ClientSize = new Size(720, 440); StartPosition = FormStartPosition.CenterParent; Font = new Font("Segoe UI", 9.5f); + try + { + Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath); + } + catch (Exception ex) when (ex is IOException or ArgumentException) + { + // ponytail: nessuna icona nell'exe (es. lanciato da dotnet run) -> resta quella di default + } var lblInfo = new Label { @@ -56,7 +64,20 @@ public class PrtMancantiForm : Form grid.Rows[i].DefaultCellStyle.ForeColor = Color.DarkRed; } - var btnApriCartella = new Button { Text = "Apri cartella raw", Dock = DockStyle.Bottom, Height = 34 }; + var pannelloAzioni = new Panel { Dock = DockStyle.Bottom, Height = 50 }; + var flowAzioni = new FlowLayoutPanel + { + Dock = DockStyle.Fill, + FlowDirection = FlowDirection.RightToLeft, + Padding = new Padding(12, 8, 12, 8), + }; + + var btnChiudi = new Button { Text = "Chiudi" }; + UiStile.Primario(btnChiudi); + btnChiudi.Click += (_, _) => Close(); + flowAzioni.Controls.Add(btnChiudi); + + var btnApriCartella = new Button { Text = "Apri cartella raw", Margin = new Padding(8, 0, 0, 0) }; UiStile.Secondario(btnApriCartella); btnApriCartella.Click += (_, _) => { @@ -67,10 +88,14 @@ public class PrtMancantiForm : Form MessageBoxButtons.OK, MessageBoxIcon.Error); } }; + flowAzioni.Controls.Add(btnApriCartella); + + pannelloAzioni.Controls.Add(flowAzioni); Controls.Add(grid); Controls.Add(lblInfo); - Controls.Add(btnApriCartella); + Controls.Add(pannelloAzioni); + CancelButton = btnChiudi; Resize += (_, _) => lblInfo.MaximumSize = new Size(ClientSize.Width - 24, 0); }