示例#1
0
 private void managerUpdatedAvailableApps(object sender, EventArgs e)
 {
     if (this.InvokeRequired)
     {
         AvailableAppsUpdatedEventHandler d = new AvailableAppsUpdatedEventHandler(managerUpdatedAvailableApps);
         this.Invoke(d, new object[] { sender, e });
     }
     else
     {
         refreshAvailableAppsListView();
     }
 }
示例#2
0
        private void updateAvailableApps()
        {
            // merge all peers' available apps, deduplicate, then subtract ones we've already got in our library
            HashSet <AppInfo> availableApps = new HashSet <AppInfo>();

            foreach (SyncPeer peer in _peers)
            {
                if (peer.Apps != null)
                {
                    availableApps.UnionWith(peer.Apps);
                }
            }
            availableApps.RemoveWhere((app) => { return(Library.Apps.ContainsKey(app.AppId)); });

            AvailableApps = availableApps.ToList <AppInfo>();

            // notify listeners that the list has changed
            AvailableAppsUpdatedEventHandler handler = OnAvailableAppsUpdated;

            if (handler != null)
            {
                handler(this, new EventArgs());
            }
        }