Working folder (phase 1): CSV/raw/step/step_finali all used to live split across two different implicit locations (CSV in the "repo root" found by walking up for CLAUDE.md, raw/step next to the input distinta file) with neither shown to the user. That repo-root lookup also silently breaks once the app runs as a standalone published exe on a machine with no repo/ CLAUDE.md at all. Replaced both with one explicit "cartella di lavoro", auto-suggested (last used, remembered the same way as the DB path) and changeable from phase 1, with no dependency on any repo marker file. Rename: CadSearchGui was the working name from before the app had a product identity; renamed folders, csproj files, namespace and the AppData settings folder to PrepStep throughout, matching the exe name already in use. Product-facing name stays "Cevolani StepPrep". Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
namespace PrepStep;
|
|
|
|
public sealed class ProgressoComponentiForm : Form
|
|
{
|
|
private readonly Label _lbl = new();
|
|
private readonly ProgressBar _bar = new();
|
|
|
|
public ProgressoComponentiForm()
|
|
{
|
|
Text = "Ricerca componenti referenziati in corso...";
|
|
FormBorderStyle = FormBorderStyle.FixedDialog;
|
|
StartPosition = FormStartPosition.CenterParent;
|
|
MinimizeBox = false;
|
|
MaximizeBox = false;
|
|
ControlBox = false;
|
|
ClientSize = new Size(400, 88);
|
|
|
|
_lbl.Text = "Preparazione...";
|
|
_lbl.AutoSize = true;
|
|
_lbl.Location = new Point(16, 16);
|
|
|
|
_bar.Location = new Point(16, 44);
|
|
_bar.Size = new Size(368, 24);
|
|
_bar.Minimum = 0;
|
|
_bar.Maximum = 100;
|
|
|
|
Controls.Add(_lbl);
|
|
Controls.Add(_bar);
|
|
}
|
|
|
|
public void Aggiorna(int fatti, int totale)
|
|
{
|
|
int percento = totale > 0 ? (int)Math.Clamp(100.0 * fatti / totale, 0, 100) : 0;
|
|
_bar.Value = percento;
|
|
_lbl.Text = $"{fatti} / {totale} componenti analizzati ({percento}%)";
|
|
}
|
|
}
|