diff --git a/PowerControl/Controller.cs b/PowerControl/Controller.cs index 48b8cbe..a3a185b 100644 --- a/PowerControl/Controller.cs +++ b/PowerControl/Controller.cs @@ -60,10 +60,7 @@ namespace PowerControl rootMenu.Visible = false; rootMenu.Update(); rootMenu.CreateMenu(contextMenu.Items); - rootMenu.VisibleChanged = delegate () - { - updateOSD(); - }; + rootMenu.VisibleChanged += delegate { updateOSD(); }; contextMenu.Items.Add(new ToolStripSeparator()); if (startupManager.IsAvailable) diff --git a/PowerControl/Menu/MenuItem.cs b/PowerControl/Menu/MenuItem.cs index b5bdd3b..d75afee 100644 --- a/PowerControl/Menu/MenuItem.cs +++ b/PowerControl/Menu/MenuItem.cs @@ -17,7 +17,7 @@ namespace PowerControl.Menu White } - public String Name { get; set; } + public String Name { get; set; } = ""; public bool Visible { get; set; } = true; public bool Selectable { get; set; } @@ -26,7 +26,7 @@ namespace PowerControl.Menu return String.Format("{0}", text, (int)index); } - public abstract string Render(MenuItem selected); + public abstract string Render(MenuItem? selected); public abstract void CreateMenu(ToolStripItemCollection collection); public abstract void Update(); diff --git a/PowerControl/Menu/MenuItemWithOptions.cs b/PowerControl/Menu/MenuItemWithOptions.cs index 644d668..5389667 100644 --- a/PowerControl/Menu/MenuItemWithOptions.cs +++ b/PowerControl/Menu/MenuItemWithOptions.cs @@ -198,7 +198,7 @@ namespace PowerControl.Menu return text; } - public override string Render(MenuItem selected) + public override string Render(MenuItem? selected) { string output = ""; diff --git a/PowerControl/Menu/MenuRoot.cs b/PowerControl/Menu/MenuRoot.cs index e4a754d..1fd36d9 100644 --- a/PowerControl/Menu/MenuRoot.cs +++ b/PowerControl/Menu/MenuRoot.cs @@ -5,13 +5,15 @@ namespace PowerControl.Menu public class MenuRoot : MenuItem { public IList Items { get; set; } = new List(); + public MenuItem? Selected; + public event Action VisibleChanged; - public MenuItem Selected; + public MenuRoot() + { + VisibleChanged += delegate { }; + } - public delegate void VisibleChangedDelegate(); - public VisibleChangedDelegate? VisibleChanged; - - public MenuItem this[String name] + public MenuItem? this[String name] { get { @@ -29,6 +31,7 @@ namespace PowerControl.Menu foreach (var item in Items) item.CreateMenu(collection); } + public override void Update() { foreach (var item in Items) @@ -39,12 +42,10 @@ namespace PowerControl.Menu { foreach (var item in Items) item.Reset(); - - if (VisibleChanged != null) - VisibleChanged(); + VisibleChanged(); } - public override string Render(MenuItem parentSelected) + public override string Render(MenuItem? parentSelected) { var sb = new StringBuilder(); @@ -71,9 +72,7 @@ namespace PowerControl.Menu Visible = true; Update(); - - if (VisibleChanged != null) - VisibleChanged(); + VisibleChanged(); return true; } @@ -93,8 +92,7 @@ namespace PowerControl.Menu if (item.Visible && item.Selectable) { Selected = item; - if (VisibleChanged != null) - VisibleChanged(); + VisibleChanged(); return; } } @@ -116,8 +114,7 @@ namespace PowerControl.Menu if (item.Visible && item.Selectable) { Selected = item; - if (VisibleChanged != null) - VisibleChanged(); + VisibleChanged(); return; } } @@ -131,8 +128,7 @@ namespace PowerControl.Menu if (Selected != null) { Selected.SelectNext(); - if (VisibleChanged != null) - VisibleChanged(); + VisibleChanged(); } } @@ -145,8 +141,7 @@ namespace PowerControl.Menu Show(); Selected = item; item.SelectNext(); - if (VisibleChanged != null) - VisibleChanged(); + VisibleChanged(); } public override void SelectPrev() @@ -157,8 +152,7 @@ namespace PowerControl.Menu if (Selected != null) { Selected.SelectPrev(); - if (VisibleChanged != null) - VisibleChanged(); + VisibleChanged(); } } @@ -171,8 +165,7 @@ namespace PowerControl.Menu Show(); Selected = item; item.SelectPrev(); - if (VisibleChanged != null) - VisibleChanged(); + VisibleChanged(); } } } \ No newline at end of file diff --git a/PowerControl/Menu/MenuSeparator.cs b/PowerControl/Menu/MenuSeparator.cs index a03aab7..77d0541 100644 --- a/PowerControl/Menu/MenuSeparator.cs +++ b/PowerControl/Menu/MenuSeparator.cs @@ -18,7 +18,7 @@ namespace PowerControl.Menu collection.Add(toolStripItem); } - public override string Render(MenuItem selected) + public override string Render(MenuItem? selected) { return Color("---", Colors.Blue); }