// // Copyright 2014 Perforce Software Inc. // using System.Collections.ObjectModel; namespace Perforce.ViewModel { public class HelperApplicationUtilityViewModel : ViewModelBase { private ObservableCollection _mappings; public HelperApplicationUtilityViewModel() { var helper = Utility.GetExtensionHelper(); var currentMappings = helper.Mappings; _mappings = new ObservableCollection(); foreach (var key in currentMappings.Keys) { _mappings.Add(new Mapping { Extension = key, Application = currentMappings[key] }); } } public ObservableCollection Mappings { get { return _mappings; } set { _mappings = value; } } public void UpdateMapping(int row, string appPath) { if (row < _mappings.Count) { _mappings[row].Application = appPath; } OnPropertyChanged("Mappings"); } public void RemoveRow(int row) { if (row < _mappings.Count) { _mappings.RemoveAt(row); OnPropertyChanged("Mappings"); } } } public class Mapping { public string Extension { get; set; } public string Application { get; set; } public override string ToString() { return string.Format("{0}:{1}", Extension, Application); } } }