Fix importing of styles.
- Repariert: Stile konnten nicht importiert werden.
This commit is contained in:
parent
4c3198afce
commit
253a7f24f5
@ -66,7 +66,9 @@ namespace zaaReloaded2.Controller
|
||||
{
|
||||
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();
|
||||
Logger.Debug("LoadFromFile: new GUID is '{0}", settings.Uid);
|
||||
return settings;
|
||||
}
|
||||
|
||||
@ -76,14 +78,15 @@ namespace zaaReloaded2.Controller
|
||||
/// <param name="fileName">File to write to.</param>
|
||||
public void SaveToFile(string fileName)
|
||||
{
|
||||
Logger.Info("SaveToFile: {0}", fileName);
|
||||
Logger.Info("SaveToFile: Settings name: {0}", Name);
|
||||
using (StreamWriter writer = new StreamWriter(fileName))
|
||||
{
|
||||
Serializer serializer = new SerializerBuilder()
|
||||
//.EnsureRoundtrip()
|
||||
.EnsureRoundtrip()
|
||||
.Build();
|
||||
serializer.Serialize(writer, this);
|
||||
}
|
||||
Logger.Info("SaveToFile: Successfully saved to file '{0}'", fileName);
|
||||
// SoapFormatter formatter = new SoapFormatter();
|
||||
// formatter.Serialize(writer.BaseStream, this);
|
||||
}
|
||||
|
@ -431,7 +431,7 @@ namespace zaaReloaded2.ViewModels
|
||||
if (CanExportSettings())
|
||||
{
|
||||
ChooseExportFileNameMessage.Send(
|
||||
new FileNameMessageContent(SuggestImportExportPath(), FILE_FILTER),
|
||||
new FileNameMessageContent(SuggestExportPath(), FILE_FILTER),
|
||||
msg => ConfirmExportSettings(msg));
|
||||
}
|
||||
}
|
||||
@ -445,11 +445,11 @@ namespace zaaReloaded2.ViewModels
|
||||
{
|
||||
if (message.Confirmed)
|
||||
{
|
||||
UserSettings.Default.ImportExportPath = message.Value;
|
||||
SaveImportExportDir(message.Value);
|
||||
Settings settings = LastSelected.RevealModelObject() as Settings;
|
||||
try
|
||||
{
|
||||
settings.SaveToFile(message.Value);
|
||||
settings.SaveToFile(message.Value);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@ -463,7 +463,7 @@ namespace zaaReloaded2.ViewModels
|
||||
void DoImportSettings()
|
||||
{
|
||||
ChooseImportFileNameMessage.Send(
|
||||
new FileNameMessageContent(SuggestImportExportPath(), FILE_FILTER),
|
||||
new FileNameMessageContent(SuggestImportPath(), FILE_FILTER),
|
||||
msg => ConfirmImportSettings(msg));
|
||||
}
|
||||
|
||||
@ -476,10 +476,19 @@ namespace zaaReloaded2.ViewModels
|
||||
{
|
||||
if (message.Confirmed)
|
||||
{
|
||||
UserSettings.Default.ImportExportPath = message.Value;
|
||||
SaveImportExportDir(message.Value);
|
||||
try
|
||||
{
|
||||
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));
|
||||
}
|
||||
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))
|
||||
{
|
||||
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
|
||||
|
||||
#region Implementation of ViewModelBase
|
||||
|
Loading…
Reference in New Issue
Block a user