diff --git a/Pilz.Plugins/PluginManager{T,T}.cs b/Pilz.Plugins/PluginManager{T,T}.cs index d582e02..f447df4 100644 --- a/Pilz.Plugins/PluginManager{T,T}.cs +++ b/Pilz.Plugins/PluginManager{T,T}.cs @@ -159,8 +159,8 @@ public class PluginManager where TPluginIn { if (result.Assembly == null) result.Status = PluginLoadStatus.NoValidPlugin; - //else if (loadedPlugins.Any(n => n.Assembly == result.Assembly)) - // result.Status = PluginLoadStatus.AlreadyLoaded; + else if (loadedPlugins.Any(n => n.Assembly == result.Assembly)) + result.Status = PluginLoadStatus.AlreadyLoaded; else { foreach (var type in result.Assembly.GetTypes()) diff --git a/Pilz.UI.WinForms.Telerik/Extensions/RadListViewElementExtensions.cs b/Pilz.UI.WinForms.Telerik/Extensions/RadListViewElementExtensions.cs new file mode 100644 index 0000000..58182b0 --- /dev/null +++ b/Pilz.UI.WinForms.Telerik/Extensions/RadListViewElementExtensions.cs @@ -0,0 +1,32 @@ +using Telerik.WinControls; +using Telerik.WinControls.UI; + +namespace Pilz.UI.WinForms.Telerik.Extensions; + +public static class RadListViewElementExtensions +{ + public static void Clear(this RadListViewElement @this) + { + @this.Items.Clear(); + @this.Groups.Clear(); + } + + public static void SetStatus(this RadListViewElement @this, string text) + { + @this.BeginUpdate(); + @this.Clear(); + @this.Items.Add(new ListViewDataItem(text)); + @this.EndUpdate(); + } + + public static void SetStatus(this RadListViewElement @this, string text, RadSvgImage icon) + { + @this.BeginUpdate(); + @this.Clear(); + @this.Items.Add(new ListViewDataItem(text) + { + SvgImage = icon, + }); + @this.EndUpdate(); + } +} diff --git a/Pilz.UI.WinForms.Telerik/Extensions/RadListViewExtensions.cs b/Pilz.UI.WinForms.Telerik/Extensions/RadListViewExtensions.cs new file mode 100644 index 0000000..f2e6ea9 --- /dev/null +++ b/Pilz.UI.WinForms.Telerik/Extensions/RadListViewExtensions.cs @@ -0,0 +1,32 @@ +using Telerik.WinControls; +using Telerik.WinControls.UI; + +namespace Pilz.UI.WinForms.Telerik.Extensions; + +public static class RadListViewExtensions +{ + public static void Clear(this RadListView @this) + { + @this.Items.Clear(); + @this.Groups.Clear(); + } + + public static void SetStatus(this RadListView @this, string text) + { + @this.BeginUpdate(); + @this.Clear(); + @this.Items.Add(new ListViewDataItem(text)); + @this.EndUpdate(); + } + + public static void SetStatus(this RadListView @this, string text, RadSvgImage? icon) + { + @this.BeginUpdate(); + @this.Clear(); + @this.Items.Add(new ListViewDataItem(text) + { + SvgImage = icon, + }); + @this.EndUpdate(); + } +}