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_manual= @"%dir_work%Manual_Olivia_3_0.pdf";
c.path_temp = @"%dir_work%temp\"; c.path_temp = @"%dir_work%temp\";
c.path_data=@"%dir_work%data\"; 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_Gdb_Import = "";
c.Path_Guarda_Csv = ""; c.Path_Guarda_Csv = "";
/*c.eje_via = "TomTom_Q4_2015___nw"; /*c.eje_via = "TomTom_Q4_2015___nw";

View File

@ -17,9 +17,9 @@
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Button Content="Guardar" Grid.Column="0" VerticalAlignment="Top" Width="75" Style="{DynamicResource Esri_Button}" Click="OnGuardar"/> <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> </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 --> <!-- Only the following properties will be displayed in the PropertyGrid -->
</xctk:PropertyGrid> </xctk:PropertyGrid>

View File

@ -43,6 +43,12 @@ namespace OliviaAddInPro
mod.OnRefres(); 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 ArcGIS.Desktop.Mapping;
using OliviaAddInPro.Model; using OliviaAddInPro.Model;
using OliviaAddInPro.View; using OliviaAddInPro.View;
using OliviaAddInPro.Helper;
using OliviaAddInPro.Services;
namespace OliviaAddInPro namespace OliviaAddInPro
{ {
@ -26,9 +28,11 @@ namespace OliviaAddInPro
private bool firstTimeShow = true; private bool firstTimeShow = true;
private static bool hideTemp = false; private static bool hideTemp = false;
private const string _dockPaneID = "OliviaAddInPro_DockpaneConfig"; private const string _dockPaneID = "OliviaAddInPro_DockpaneConfig";
PaneConfigViewModel paneConfig;
protected DockpaneConfigViewModel() protected DockpaneConfigViewModel()
{ {
_currentPage = new PaneConfigViewModel(); paneConfig = new PaneConfigViewModel();
_currentPage = (PanelViewModelBase) paneConfig;
} }
@ -68,6 +72,15 @@ namespace OliviaAddInPro
{ {
//avisa de cerrar la ventana //avisa de cerrar la ventana
//OliviaGlob.SetFlagTipEjec(TiposEjecucion.Ninguno); //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) if (firstTimeShow)
firstTimeShow = false; firstTimeShow = false;

View File

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