Migliora layer e persistenza nomi 0.4.1
This commit is contained in:
1 parent
205a520708
commit
eb5f51795b
6 files changed
+480
-118
No files matched your search
+12
-15
@@ -340,27 +340,25 @@
|
||||
}
|
||||
</select>
|
||||
</label>
|
||||
<div class="button-row">
|
||||
<div class="project-command-stack">
|
||||
<button @onclick="LoadProject" disabled="@(ProjectBusy || string.IsNullOrWhiteSpace(SelectedProjectId))">Apri</button>
|
||||
<button class="danger-command" @onclick="DeleteProject" disabled="@(ProjectBusy || string.IsNullOrWhiteSpace(SelectedProjectId))">Elimina</button>
|
||||
</div>
|
||||
<label>
|
||||
Cartella
|
||||
<input @bind="ProjectFolder" placeholder="Es. Cantieri 2026" maxlength="60" />
|
||||
</label>
|
||||
<div class="button-row">
|
||||
<div class="project-command-stack">
|
||||
<button class="secondary-command" @onclick="UpdateProjectFolder" disabled="@(ProjectBusy || string.IsNullOrWhiteSpace(SelectedProjectId))">Sposta</button>
|
||||
<button class="secondary-command" @onclick="DuplicateProject" disabled="@(ProjectBusy || string.IsNullOrWhiteSpace(SelectedProjectId))">Duplica</button>
|
||||
</div>
|
||||
<div class="button-row">
|
||||
<button class="secondary-command" @onclick="ToggleProjectArchive" disabled="@(ProjectBusy || string.IsNullOrWhiteSpace(SelectedProjectId))">@(SelectedProject?.IsArchived == true ? "Ripristina" : "Archivia")</button>
|
||||
<button class="secondary-command" @onclick='() => ShareProject(false)' disabled="@(ProjectBusy || string.IsNullOrWhiteSpace(SelectedProjectId))">Condividi modificabile</button>
|
||||
<button class="secondary-command" @onclick='() => ShareProject(true)' disabled="@(ProjectBusy || string.IsNullOrWhiteSpace(SelectedProjectId))">Condividi in sola lettura</button>
|
||||
</div>
|
||||
<button class="secondary-command" @onclick='() => ShareProject(true)' disabled="@(ProjectBusy || string.IsNullOrWhiteSpace(SelectedProjectId))">Condividi in sola lettura</button>
|
||||
@if (SelectedProject?.IsReadOnly == true)
|
||||
{
|
||||
<small class="field-help">Questo progetto è protetto. Usa Duplica per crearne una copia modificabile.</small>
|
||||
}
|
||||
</div>
|
||||
<label>
|
||||
Revisione precedente
|
||||
<select @bind="SelectedVersionId" disabled="@(ProjectVersions.Count == 0)">
|
||||
@@ -418,15 +416,6 @@
|
||||
<button class="secondary-command" @onclick="ShowCoordinateInspector">Coordinate WGS84 e UTM</button>
|
||||
<button class="secondary-command" @onclick="ShowAuditLog">Registro operazioni</button>
|
||||
</section>
|
||||
<section class="panel-section">
|
||||
<h2>Controllo geometrie</h2>
|
||||
<small class="field-help">Seleziona gli oggetti dalla mappa o dal pannello Layer.</small>
|
||||
<div class="button-row">
|
||||
<button class="secondary-command" @onclick="ValidateSelectedGeometries">Controlla e ripara</button>
|
||||
<button class="secondary-command" @onclick="CreateSelectedHole">Crea foro</button>
|
||||
</div>
|
||||
<button class="secondary-command" @onclick="CompareSelectedGeometries">Confronta due confini</button>
|
||||
</section>
|
||||
<section class="panel-section">
|
||||
<h2>Cestino</h2>
|
||||
<div class="button-row">
|
||||
@@ -516,6 +505,10 @@
|
||||
<input type="checkbox" @bind="SnapEnabled" @bind:after="ApplyAdvancedOptions" />
|
||||
<span>Aggancia i vertici agli oggetti vicini</span>
|
||||
</label>
|
||||
<label class="toggle-line project-save-option">
|
||||
<input type="checkbox" @bind="AutoFitSelectedObject" @bind:after="ApplyAdvancedOptions" />
|
||||
<span>Centra e zooma quando seleziono un oggetto</span>
|
||||
</label>
|
||||
<label>
|
||||
Distanza aggancio in pixel
|
||||
<input type="range" min="4" max="40" step="1" @bind="SnapDistancePixels" @bind:after="ApplyAdvancedOptions" />
|
||||
@@ -675,6 +668,7 @@
|
||||
private bool AutoSaveOpenProject { get; set; }
|
||||
private string AutomaticBackupFrequency { get; set; } = "daily";
|
||||
private bool SnapEnabled { get; set; } = true;
|
||||
private bool AutoFitSelectedObject { get; set; }
|
||||
private int SnapDistancePixels { get; set; } = 14;
|
||||
private bool GpsProximityEnabled { get; set; } = true;
|
||||
private bool GpsBoundaryAlertEnabled { get; set; }
|
||||
@@ -1894,6 +1888,7 @@
|
||||
AutoSaveOpenProject = GetFlagPreference("auto_save_project", false);
|
||||
AutomaticBackupFrequency = Preferences.Default.Get($"{FlagPreferencePrefix}backup_frequency", "daily");
|
||||
SnapEnabled = GetFlagPreference("snap_enabled", true);
|
||||
AutoFitSelectedObject = GetFlagPreference("auto_fit_selected_object", false);
|
||||
SnapDistancePixels = Preferences.Default.Get($"{FlagPreferencePrefix}snap_distance", 14);
|
||||
OfflineExtraZoomLevels = Preferences.Default.Get($"{FlagPreferencePrefix}offline_zoom_levels", 2);
|
||||
GpsProximityEnabled = GetFlagPreference("gps_proximity", true);
|
||||
@@ -1928,6 +1923,7 @@
|
||||
SetFlagPreference("auto_save_project", AutoSaveOpenProject);
|
||||
Preferences.Default.Set($"{FlagPreferencePrefix}backup_frequency", AutomaticBackupFrequency);
|
||||
SetFlagPreference("snap_enabled", SnapEnabled);
|
||||
SetFlagPreference("auto_fit_selected_object", AutoFitSelectedObject);
|
||||
Preferences.Default.Set($"{FlagPreferencePrefix}snap_distance", SnapDistancePixels);
|
||||
Preferences.Default.Set($"{FlagPreferencePrefix}offline_zoom_levels", OfflineExtraZoomLevels);
|
||||
SetFlagPreference("gps_proximity", GpsProximityEnabled);
|
||||
@@ -1964,6 +1960,7 @@
|
||||
{
|
||||
autoSaveEnabled = AutoSaveEnabled,
|
||||
snapEnabled = SnapEnabled,
|
||||
autoFitSelectedObject = AutoFitSelectedObject,
|
||||
snapDistancePixels = SnapDistancePixels,
|
||||
gpsProximityEnabled = GpsProximityEnabled,
|
||||
gpsBoundaryAlertEnabled = GpsBoundaryAlertEnabled
|
||||
|
||||
Reference in new issue
Block a user