예제 #1
0
 void HandleServerRemoved(object sender, ServerEventArgs e)
 {
     Application.Instance.AsyncInvoke(delegate
     {
         UnRegister(e.Server);
         servers.Remove(e.Server);
         Update(true);
         OnChannelChanged(EventArgs.Empty);
     });
 }
예제 #2
0
        private void resyncDatabases()
        {
            try
            {
                ignoreSelectionChanged = true;
                //SuspendLayout();

                if (openedDatabases == null)
                {
                    return;
                }

                //remove closed databases
                foreach (var child in tree.OfType <OpenedDatabaseTreeItem>()
                         .Where(child => !openedDatabases.Contains(child.Database))
                         .ToArray())
                {
                    tree.Remove(child);
                }

                //add newly opened databases
                var children = tree.OfType <OpenedDatabaseTreeItem>().ToArray();
                foreach (var item in openedDatabases
                         .Where(db => children.All(child => child.Database != db))
                         .Select(db => new OpenedDatabaseTreeItem(parentViewModel, this, db)
                {
                    Expanded = true
                }))
                {
                    tree.Add(item);
                    RefreshItem(item);
                }

                var selectedItem = parentViewModel.SelectedDatabase;

                SelectedItem = tree
                               .OfType <OpenedDatabaseTreeItem>()
                               .FirstOrDefault(item => string.Equals(item.Database.FilePath, selectedItem?.FilePath));
            }
            catch (Exception error)
            {
                parentViewModel.Log.Error(error);
                MessageBox.Show(error.Message, "Opened Database Resync Error", MessageBoxButtons.OK, MessageBoxType.Error);
            }
            finally
            {
                ignoreSelectionChanged = false;
                //ResumeLayout();
            }
        }
예제 #3
0
 bool RemoveItem(TreeItemCollection items, string key)
 {
     foreach (var item in items.OfType <TreeItem>())
     {
         if (item.Key == key)
         {
             items.Remove(item);
             return(true);
         }
         if (RemoveItem(item.Children, key))
         {
             return(true);
         }
     }
     return(false);
 }
예제 #4
0
파일: UserList.cs 프로젝트: neiz/JabbR.Eto
		bool RemoveItem (TreeItemCollection items, string key)
		{
			foreach (var item in items.OfType<TreeItem>()) {
				if (item.Key == key) {
					items.Remove (item);
					return true;
				}
				if (RemoveItem (item.Children, key))
					return true;
			}
			return false;
		}
예제 #5
0
 protected virtual void OnDeviceRemoved(object sender, DeviceRepositoryEventArgs args)
 {
     devices.Remove(args.Device);
     treeView.RefreshData();
 }