Fix importing of styles.
- Repariert: Stile konnten nicht importiert werden.
This commit is contained in:
		@@ -66,7 +66,9 @@ namespace zaaReloaded2.Controller
 | 
				
			|||||||
            {
 | 
					            {
 | 
				
			||||||
                throw new InvalidDataException("Datei enthält keine Stil-Daten oder ist beschädigt.");
 | 
					                throw new InvalidDataException("Datei enthält keine Stil-Daten oder ist beschädigt.");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            Logger.Info("LoadFromFile: Successfully loaded '{0}", settings.Name);
 | 
				
			||||||
            settings.Uid = Guid.NewGuid();
 | 
					            settings.Uid = Guid.NewGuid();
 | 
				
			||||||
 | 
					            Logger.Debug("LoadFromFile: new GUID is '{0}", settings.Uid);
 | 
				
			||||||
            return settings;
 | 
					            return settings;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -76,14 +78,15 @@ namespace zaaReloaded2.Controller
 | 
				
			|||||||
        /// <param name="fileName">File to write to.</param>
 | 
					        /// <param name="fileName">File to write to.</param>
 | 
				
			||||||
        public void SaveToFile(string fileName)
 | 
					        public void SaveToFile(string fileName)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            Logger.Info("SaveToFile: {0}", fileName);
 | 
					            Logger.Info("SaveToFile: Settings name: {0}", Name);
 | 
				
			||||||
            using (StreamWriter writer = new StreamWriter(fileName))
 | 
					            using (StreamWriter writer = new StreamWriter(fileName))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                Serializer serializer = new SerializerBuilder()
 | 
					                Serializer serializer = new SerializerBuilder()
 | 
				
			||||||
                    //.EnsureRoundtrip()
 | 
					                    .EnsureRoundtrip()
 | 
				
			||||||
                    .Build();
 | 
					                    .Build();
 | 
				
			||||||
                serializer.Serialize(writer, this);
 | 
					                serializer.Serialize(writer, this);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            Logger.Info("SaveToFile: Successfully saved to file '{0}'", fileName);
 | 
				
			||||||
            // SoapFormatter formatter = new SoapFormatter();
 | 
					            // SoapFormatter formatter = new SoapFormatter();
 | 
				
			||||||
            // formatter.Serialize(writer.BaseStream, this);
 | 
					            // formatter.Serialize(writer.BaseStream, this);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -431,7 +431,7 @@ namespace zaaReloaded2.ViewModels
 | 
				
			|||||||
            if (CanExportSettings())
 | 
					            if (CanExportSettings())
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                ChooseExportFileNameMessage.Send(
 | 
					                ChooseExportFileNameMessage.Send(
 | 
				
			||||||
                    new FileNameMessageContent(SuggestImportExportPath(), FILE_FILTER),
 | 
					                    new FileNameMessageContent(SuggestExportPath(), FILE_FILTER),
 | 
				
			||||||
                    msg => ConfirmExportSettings(msg));
 | 
					                    msg => ConfirmExportSettings(msg));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -445,7 +445,7 @@ namespace zaaReloaded2.ViewModels
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            if (message.Confirmed)
 | 
					            if (message.Confirmed)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                UserSettings.Default.ImportExportPath = message.Value;
 | 
					                SaveImportExportDir(message.Value);
 | 
				
			||||||
                Settings settings = LastSelected.RevealModelObject() as Settings;
 | 
					                Settings settings = LastSelected.RevealModelObject() as Settings;
 | 
				
			||||||
                try
 | 
					                try
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -463,7 +463,7 @@ namespace zaaReloaded2.ViewModels
 | 
				
			|||||||
        void DoImportSettings()
 | 
					        void DoImportSettings()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ChooseImportFileNameMessage.Send(
 | 
					            ChooseImportFileNameMessage.Send(
 | 
				
			||||||
                new FileNameMessageContent(SuggestImportExportPath(), FILE_FILTER),
 | 
					                new FileNameMessageContent(SuggestImportPath(), FILE_FILTER),
 | 
				
			||||||
                msg => ConfirmImportSettings(msg));
 | 
					                msg => ConfirmImportSettings(msg));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -476,10 +476,19 @@ namespace zaaReloaded2.ViewModels
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            if (message.Confirmed)
 | 
					            if (message.Confirmed)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                UserSettings.Default.ImportExportPath = message.Value;
 | 
					                SaveImportExportDir(message.Value);
 | 
				
			||||||
                try
 | 
					                try
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    Settings settings = Settings.LoadFromFile(message.Value);
 | 
					                    Settings settings = Settings.LoadFromFile(message.Value);
 | 
				
			||||||
 | 
					                    // Attempt to find a unique name by adding a suffix, if necessary
 | 
				
			||||||
 | 
					                    string suffixedName = settings.Name;
 | 
				
			||||||
 | 
					                    while (_repository.SettingsList.FirstOrDefault(s => s.Name == suffixedName) != null)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        string suffix = System.DateTime.Now.ToString();
 | 
				
			||||||
 | 
					                        suffixedName = String.Format("{0} ({1})", settings.Name, suffix);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    settings.Name = suffixedName;
 | 
				
			||||||
 | 
					                    _repository.SettingsList.Add(settings);
 | 
				
			||||||
                    AddSettingsViewModel(new SettingsViewModel(settings));
 | 
					                    AddSettingsViewModel(new SettingsViewModel(settings));
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                catch (Exception e)
 | 
					                catch (Exception e)
 | 
				
			||||||
@@ -491,9 +500,9 @@ namespace zaaReloaded2.ViewModels
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        string SuggestImportExportPath()
 | 
					        string SuggestImportPath()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            string path = UserSettings.Default.ImportExportPath;
 | 
					            string path = Bovender.PathHelpers.GetDirectoryPart(UserSettings.Default.ImportExportPath);
 | 
				
			||||||
            if (String.IsNullOrEmpty(path))
 | 
					            if (String.IsNullOrEmpty(path))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
 | 
					                return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
 | 
				
			||||||
@@ -504,6 +513,18 @@ namespace zaaReloaded2.ViewModels
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        string SuggestExportPath()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Settings settings = LastSelected.RevealModelObject() as Settings;
 | 
				
			||||||
 | 
					            string fileName = settings.Name;
 | 
				
			||||||
 | 
					            return System.IO.Path.Combine(SuggestImportPath(), fileName);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        void SaveImportExportDir(string path)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            UserSettings.Default.ImportExportPath = Bovender.PathHelpers.GetDirectoryPart(path);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endregion
 | 
					        #endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #region Implementation of ViewModelBase
 | 
					        #region Implementation of ViewModelBase
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user