Pregunta guardar antes de cerrar config si hay cambios

Elena/develop
Elena 2022-07-05 16:00:18 +02:00
parent 28cdbeeab5
commit e80a95251a
5 changed files with 30 additions and 5 deletions

View File

@ -161,7 +161,7 @@ namespace OliviaAddInPro.Services
c.path_manual= @"%dir_work%Manual_Olivia_3_0.pdf";
c.path_temp = @"%dir_work%temp\";
c.path_data=@"%dir_work%data\";
c.Path_Eje_via = @"%dir_work%Datos\gdbs\TomTom_Q4_2015.gdb\TomTom_Q4_2015___nw";
c.Path_Eje_via = "";
c.Path_Gdb_Import = "";
c.Path_Guarda_Csv = "";
/*c.eje_via = "TomTom_Q4_2015___nw";

View File

@ -17,9 +17,9 @@
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Content="Guardar" Grid.Column="0" VerticalAlignment="Top" Width="75" Style="{DynamicResource Esri_Button}" Click="OnGuardar"/>
<Button Content="Resetear" Grid.Column="1" VerticalAlignment="Top" Width="75" Style="{DynamicResource Esri_Button}" Click="OnRefres"/>
<Button Content="Releer Config." Grid.Column="1" VerticalAlignment="Top" Style="{DynamicResource Esri_Button}" Click="OnRefres"/>
</Grid>
<xctk:PropertyGrid x:Name="Configuracion" SelectedObject="{Binding Configuracion}" HorizontalAlignment="Stretch">
<xctk:PropertyGrid x:Name="Configuracion" SelectedObject="{Binding Configuracion}" HorizontalAlignment="Stretch" PropertyValueChanged="Configuracion_PropertyValueChanged">
<!-- Only the following properties will be displayed in the PropertyGrid -->
</xctk:PropertyGrid>

View File

@ -43,6 +43,12 @@ namespace OliviaAddInPro
mod.OnRefres();
}
private void Configuracion_PropertyValueChanged(object sender, Xceed.Wpf.Toolkit.PropertyGrid.PropertyValueChangedEventArgs e)
{
if (DataContext is PaneConfigViewModel mod)
{
mod.hay_cambios = true;
}
}
}
}

View File

@ -18,6 +18,8 @@ using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;
using OliviaAddInPro.Model;
using OliviaAddInPro.View;
using OliviaAddInPro.Helper;
using OliviaAddInPro.Services;
namespace OliviaAddInPro
{
@ -26,9 +28,11 @@ namespace OliviaAddInPro
private bool firstTimeShow = true;
private static bool hideTemp = false;
private const string _dockPaneID = "OliviaAddInPro_DockpaneConfig";
PaneConfigViewModel paneConfig;
protected DockpaneConfigViewModel()
{
_currentPage = new PaneConfigViewModel();
paneConfig = new PaneConfigViewModel();
_currentPage = (PanelViewModelBase) paneConfig;
}
@ -68,6 +72,15 @@ namespace OliviaAddInPro
{
//avisa de cerrar la ventana
//OliviaGlob.SetFlagTipEjec(TiposEjecucion.Ninguno);
if (paneConfig!=null && paneConfig.hay_cambios)
{
var guardar = HelperGlobal.ponMsg("¿Desea guardar los cambios antes de salir?", System.Windows.MessageBoxImage.Information, "OLIVIA", System.Windows.MessageBoxButton.YesNo);
if (guardar)
{
ConfigServ.Serv.Guardar(paneConfig.Configuracion);
}
paneConfig.hay_cambios = false;
}
}
if (firstTimeShow)
firstTimeShow = false;

View File

@ -6,6 +6,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using OliviaAddInPro.Helper;
using OliviaAddInPro.Model;
using OliviaAddInPro.Services;
@ -19,6 +20,8 @@ namespace OliviaAddInPro
OnRefres();
}
public bool hay_cambios = false;
public override string DisplayName
{
@ -40,11 +43,14 @@ namespace OliviaAddInPro
public void OnGuardar()
{
ConfigServ.Serv.Guardar(Configuracion);
HelperGlobal.ponMsg("Se ha guardado la configuración");
hay_cambios = false;
}
public void OnRefres()
{
Configuracion = ConfigServ.Serv.Leer();
hay_cambios = false;
}
}