31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
|
|
using ModpackUpdater.Apps.Manager.LangRes;
|
|
using ModpackUpdater.Apps.Manager.Ui;
|
|
using Pilz.Plugins.Advanced;
|
|
using Pilz.UI.Symbols;
|
|
using Telerik.WinControls.UI;
|
|
|
|
namespace ModpackUpdater.Apps.Manager.Features.CM;
|
|
internal class UpdateCollectorFeature : PluginFunction, IPluginFeatureProvider<UpdateCollectorFeature>
|
|
{
|
|
public static UpdateCollectorFeature Instance { get; } = new();
|
|
|
|
public UpdateCollectorFeature() : base(FeatureTypes.ActionsContextMenu, "origin.updatecollector", FeatureNamesLangRes.UpdateCollectorFeature)
|
|
{
|
|
Icon = AppGlobals.Symbols.GetSvgImage(AppSymbols.search, SymbolSize.Small);
|
|
}
|
|
|
|
protected override object? ExecuteFunction(PluginFunctionParameter? @params)
|
|
{
|
|
if (@params is not MainApiParameters p
|
|
|| p.Api.CurWorkspace?.UpdateInfos is null
|
|
|| p.Api.MainWindow is not MainForm mainForm
|
|
|| mainForm.Controls.Find("radGridView_Actions", true).FirstOrDefault() is not RadGridView gridView
|
|
|| gridView.SelectedRows.FirstOrDefault()?.Tag is not InstallAction selectedAction)
|
|
return null;
|
|
|
|
SharedFunctions.CollectUpdates(p.Api, selectedAction);
|
|
|
|
return null;
|
|
}
|
|
} |