JD2022-TU1/main/tools/modules/JD.AssetBrowser/Actions/Asset/ShowInP4vAction.cs

40 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JD.AssetBrowser.ViewModel;
using JD.Perforce;
using Plume.Icons;
using Plume.Interfaces.WPF.Actions;
namespace JD.AssetBrowser.Actions.Asset
{
public class ShowInP4vAction : Plume.Interfaces.WPF.Actions.Action<AssetViewModel>
{
/// <inheritdoc />
public ShowInP4vAction() :
base("Show in P4v", "Show in P4v", new Icon(typeof(ShowInP4vAction).Assembly, "Resources/p4v.png"), null, null)
{
}
/// <inheritdoc />
public override void Execute(IActionContext context, AssetViewModel asset)
{
if (!(P4Manager.Instance.Connected || P4Manager.Instance.Connect()))
{
var notificationManager = context.NotificationManager;
notificationManager.ShowError("Could not connect to perforce!");
}
P4Manager.Instance.PerforceWrapper.ShowInP4V(asset.AbsolutePath);
}
/// <inheritdoc />
public override bool CanExecute(IActionContext context, AssetViewModel parameter)
{
return true;
}
}
}