40 lines
1.2 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|