Ajout de la persistence des paramètres d'affichage et de la taille de la fenêtre principale
This commit is contained in:
@@ -14,22 +14,63 @@ namespace Hermes {
|
||||
private ModelContext dbContext = null;
|
||||
private CollectionViewSource citoyenCollectionViewSource = null;
|
||||
private bool isEnabledFilter = false;
|
||||
private Preferences pref = null;
|
||||
|
||||
public MainWindow() {
|
||||
dbContext = ModelContext.Getinstance();
|
||||
//dbContext.Database.Log = log => System.Console.WriteLine(log);
|
||||
dbContext.Database.CreateIfNotExists();
|
||||
|
||||
dbContext.CitoyenSet.Load();
|
||||
dbContext.Preferences.Load();
|
||||
|
||||
if(dbContext.Preferences.Local.Count == 0) {
|
||||
pref = new Preferences();
|
||||
pref.civiliteViewEnabled = false;
|
||||
pref.nomViewEnabled = true;
|
||||
pref.nomNaissanceViewEnabled = false;
|
||||
pref.prenomViewEnabled = true;
|
||||
pref.ageViewEnabled = false;
|
||||
pref.professionViewEnabled = false;
|
||||
pref.typeResidenceViewEnabled = false;
|
||||
pref.mailViewEnabled = false;
|
||||
pref.telViewEnabled = false;
|
||||
pref.telPortViewEnabled = false;
|
||||
pref.quartierViewEnabled = false;
|
||||
pref.adresseViewEnabled = true;
|
||||
pref.adresseBatimentViewEnabled = false;
|
||||
pref.adresseNumeroBatimentViewEnabled = false;
|
||||
pref.adresseExtViewEnabled = false;
|
||||
pref.adresseExtCPViewEnabled = false;
|
||||
pref.adresseExtVilleViewEnabled = false;
|
||||
pref.dateCreationViewEnabled = false;
|
||||
pref.dateModificationViewEnabled = false;
|
||||
|
||||
pref.windowWidth = 1024;
|
||||
pref.windowHeight = 640;
|
||||
pref.windowMaximized = false;
|
||||
dbContext.Preferences.Add(pref);
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
pref = dbContext.Preferences.Local[0];
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
Height = pref.windowHeight;
|
||||
Width = pref.windowWidth;
|
||||
if(pref.windowMaximized) {
|
||||
WindowState = WindowState.Maximized;
|
||||
} else {
|
||||
WindowState = WindowState.Normal;
|
||||
}
|
||||
viewMenu.DataContext = pref;
|
||||
}
|
||||
|
||||
private void Window_Loaded(object sender, RoutedEventArgs e) {
|
||||
dbContext.CitoyenSet.Load();
|
||||
dbContext.Preferences.Load();
|
||||
citoyenCollectionViewSource = (CollectionViewSource) this.FindResource("citoyenCollectionViewSource");
|
||||
citoyenCollectionViewSource.Source = dbContext.CitoyenSet.Local;
|
||||
|
||||
if(dbContext.Preferences.Local.Count == 0) {
|
||||
if(string.IsNullOrWhiteSpace(pref.VilleCP) || string.IsNullOrWhiteSpace(pref.Ville)) {
|
||||
MessageBox.Show("Il s'agit du premier lancement de Hermes. Veuillez renseigner les informations sur votre commune.", "Premier lancement", MessageBoxButton.OK, MessageBoxImage.None);
|
||||
PreferencesWindow preferencesWindow = new PreferencesWindow(this);
|
||||
preferencesWindow.ShowDialog();
|
||||
@@ -267,6 +308,14 @@ namespace Hermes {
|
||||
}
|
||||
|
||||
protected override void OnClosed(EventArgs e) {
|
||||
if(WindowState == WindowState.Maximized) {
|
||||
pref.windowMaximized = true;
|
||||
} else {
|
||||
pref.windowMaximized = false;
|
||||
}
|
||||
pref.windowHeight = (int) Height;
|
||||
pref.windowWidth = (int) Width;
|
||||
dbContext.SaveChanges();
|
||||
dbContext.Dispose();
|
||||
base.OnClosed(e);
|
||||
Application.Current.Shutdown();
|
||||
|
||||
Reference in New Issue
Block a user