From 079d460a337f357cda6c0c07b30a7c32a83ed8f3 Mon Sep 17 00:00:00 2001 From: JKlingen Date: Sun, 9 Sep 2012 20:25:15 +0000 Subject: [PATCH] always sort entries alphabetically by key when saving (for better comparability of xml output) git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@2018 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4 --- GreenshotLanguageEditor/EntriesEditorWindow.xaml.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/GreenshotLanguageEditor/EntriesEditorWindow.xaml.cs b/GreenshotLanguageEditor/EntriesEditorWindow.xaml.cs index 9c2efd569..78f437787 100644 --- a/GreenshotLanguageEditor/EntriesEditorWindow.xaml.cs +++ b/GreenshotLanguageEditor/EntriesEditorWindow.xaml.cs @@ -262,7 +262,10 @@ namespace GreenshotLanguageEditor { ICollectionView view = (ICollectionView)LanguageGrid.ItemsSource; IList entries = (IList)view.SourceCollection; - + + List sortList = new List(entries); + sortList.Sort(compareEntryKeys); + using (XmlTextWriter xmlWriter = new XmlTextWriter(savePath, Encoding.UTF8)) { xmlWriter.Formatting = Formatting.Indented; xmlWriter.Indentation = 1; @@ -274,7 +277,7 @@ namespace GreenshotLanguageEditor { xmlWriter.WriteAttributeString("version", langfile.Version); xmlWriter.WriteAttributeString("languagegroup", langfile.Languagegroup); xmlWriter.WriteStartElement("resources"); - foreach(LanguageEntry entry in entries) { + foreach(LanguageEntry entry in sortList) { string entryValue = (targetColumn == 1) ? entry.Entry1 : entry.Entry2; if(!String.IsNullOrWhiteSpace(entryValue) && !String.IsNullOrWhiteSpace(entry.Key)) { xmlWriter.WriteStartElement("resource"); @@ -289,8 +292,9 @@ namespace GreenshotLanguageEditor { } } - - + private int compareEntryKeys(LanguageEntry a, LanguageEntry b) { + return a.Key.CompareTo(b.Key); + } } public class LanguageEntry : IEditableObject, INotifyPropertyChanged {