// // Copyright 2014 Perforce Software Inc. // using Perforce.Helper; using Perforce.Model; using Perforce.P4; using System.Windows; using System.Windows.Controls; namespace Perforce.View { public class VersionToolsTemplateSelector : DataTemplateSelector { public DataTemplate NoToolsDataTemplate { get; set; } public DataTemplate ViewToolsTemplate { get; set; } public DataTemplate ViewAndRestoreToolsDataTemplate { get; set; } public override DataTemplate SelectTemplate(object item, DependencyObject container) { var template = NoToolsDataTemplate; if (item is VersionItem) { var version = (item as VersionItem); if (version.Action != FileAction.Delete && version.Action != FileAction.MoveDelete) { var helper = Utility.GetPerforceHelper(); var md = helper.GetFileMetaData(version.MetaData.DepotPath.Path); if (MetadataHelper.CanEdit(md)) { template = ViewAndRestoreToolsDataTemplate; } else { template = ViewToolsTemplate; } } } return template; } } }