// public IEnumerable<AbstractMenuArgs> GetMenuItems () // { // List<AbstractMenuArgs> cons = new List<AbstractMenuArgs> (); // // //show Wired networks (if carrier is true) // if (NM.DevManager.NetworkDevices.OfType<WiredDevice> ().Any (dev => (dev as WiredDevice).Carrier == true)) { // NM.ConManager.AllConnections.OfType<WiredConnection> ().ForEach<WiredConnection> ( con => { // cons.Add (MakeConEntry (con)); // }); // } // // //show wireless connections if wireless is available // if (NM.DevManager.NetworkDevices.OfType<WirelessDevice> ().Any ()) { // cons.Add (new SeparatorMenuButtonArgs ()); // NM.DevManager.NetworkDevices.OfType<WirelessDevice> ().ForEach<WirelessDevice> (dev => { // dev.VisibleAccessPoints.Values.ForEach <List<WirelessAccessPoint>> ( apList => { // cons.Add (MakeConEntry (apList.First ())); // }); // }); // } // // foreach (AbstractMenuArgs arg in cons) // { // yield return arg; // } // // //yield return new WidgetMenuArgs (box); // // //yield return new SimpleMenuButtonArgs (() => Console.WriteLine ("asdf"),"Click me!", "network-manager"); // } MenuItem MakeConEntry(WirelessAccessPoint ap) { string apName = ap.SSID; string icon = APIconFromStrength(ap.Strength); bool bold = NM.DevManager.NetworkDevices.OfType <WirelessDevice> ().Any(dev => dev.ActiveAccessPoint == ap); bool secure = ap.Flags == APFlags.Privacy || ap.RsnFlags != AccessPointSecurity.None || ap.WpaFlags != AccessPointSecurity.None; Docky.Menus.MenuItem item = new Docky.Menus.MenuItem(apName, icon, (o, a) => NM.ConnectTo(ap)); item.Bold = bold; if (secure) { item.Emblem = "nm-secure-lock"; } return(item); }
public void Remove (MenuItem item) { foreach (List<MenuItem> lst in list.Values) lst.Remove (item); }
// public IEnumerable<AbstractMenuArgs> GetMenuItems () // { // List<AbstractMenuArgs> cons = new List<AbstractMenuArgs> (); // // //show Wired networks (if carrier is true) // if (NM.DevManager.NetworkDevices.OfType<WiredDevice> ().Any (dev => (dev as WiredDevice).Carrier == true)) { // NM.ConManager.AllConnections.OfType<WiredConnection> ().ForEach<WiredConnection> ( con => { // cons.Add (MakeConEntry (con)); // }); // } // // //show wireless connections if wireless is available // if (NM.DevManager.NetworkDevices.OfType<WirelessDevice> ().Any ()) { // cons.Add (new SeparatorMenuButtonArgs ()); // NM.DevManager.NetworkDevices.OfType<WirelessDevice> ().ForEach<WirelessDevice> (dev => { // dev.VisibleAccessPoints.Values.ForEach <List<WirelessAccessPoint>> ( apList => { // cons.Add (MakeConEntry (apList.First ())); // }); // }); // } // // foreach (AbstractMenuArgs arg in cons) // { // yield return arg; // } // // //yield return new WidgetMenuArgs (box); // // //yield return new SimpleMenuButtonArgs (() => Console.WriteLine ("asdf"),"Click me!", "network-manager"); // } MenuItem MakeConEntry (WirelessAccessPoint ap) { string apName = ap.SSID; string icon = APIconFromStrength (ap.Strength); bool bold = NM.DevManager.NetworkDevices.OfType<WirelessDevice> ().Any (dev => dev.ActiveAccessPoint == ap); bool secure = ap.Flags == APFlags.Privacy || ap.RsnFlags != AccessPointSecurity.None || ap.WpaFlags != AccessPointSecurity.None; Docky.Menus.MenuItem item = new Docky.Menus.MenuItem (apName, icon, (o, a) => NM.ConnectTo (ap)); item.Bold = bold; if (secure) item.Emblem = "nm-secure-lock"; return item; }