Beispiel #1
0
        private void OnValueDeletedEventHandler(RegistryEditorAdapterHandler adapterHandler, string keyPath, string valueName)
        {
            TreeNode key = GetTreeNode(keyPath);

            if (key != null)
            {
                if (!RegValueHelper.IsDefaultValue(valueName))
                {
                    //Remove the values that have the specified name
                    key.Tag = ((RegValueData[])key.Tag).Where(value => value.Name != valueName).ToArray();

                    if (tvRegistryDirectory.SelectedNode == key)
                    {
                        lstRegistryValues.Items.RemoveByKey(valueName);
                    }
                }
                else //Handle delete of default value
                {
                    var regValue = ((RegValueData[])key.Tag).First(item => item.Name == valueName);

                    if (tvRegistryDirectory.SelectedNode == key)
                    {
                        var valueItem = lstRegistryValues.Items.Cast <RegistryValueLstItem>()
                                        .SingleOrDefault(item => item.Name == valueName);
                        if (valueItem != null)
                        {
                            valueItem.Data = regValue.Kind.RegistryTypeToString(null);
                        }
                    }
                }

                tvRegistryDirectory.SelectedNode = key;
            }
        }
Beispiel #2
0
        private void OnKeysReceivedEventHandler(RegistryEditorAdapterHandler adapterHandler, string rootKey, RegSeekerMatch[] matches)
        {
            if (string.IsNullOrEmpty(rootKey))
            {
                tvRegistryDirectory.BeginUpdate();

                foreach (var match in matches)
                {
                    AddRootKey(match);
                }

                tvRegistryDirectory.SelectedNode = tvRegistryDirectory.Nodes[0];

                tvRegistryDirectory.EndUpdate();
            }
            else
            {
                TreeNode parent = GetTreeNode(rootKey);

                if (parent != null)
                {
                    tvRegistryDirectory.BeginUpdate();

                    foreach (var match in matches)
                    {
                        AddKeyToTree(parent, match);
                    }

                    parent.Expand();
                    tvRegistryDirectory.EndUpdate();
                }
            }
        }
Beispiel #3
0
        private void OnKeyDeletedEventHandler(RegistryEditorAdapterHandler adapterHandler, string parentPath, string subKey)
        {
            TreeNode parent = GetTreeNode(parentPath);

            if (parent.Nodes.ContainsKey(subKey))
            {
                parent.Nodes.RemoveByKey(subKey);
            }
        }
Beispiel #4
0
        private void OnKeyRenamedEventHandler(RegistryEditorAdapterHandler adapterHandler, string parentPath, string oldSubKey, string newSubKey)
        {
            TreeNode parent = GetTreeNode(parentPath);

            if (parent.Nodes.ContainsKey(oldSubKey))
            {
                parent.Nodes[oldSubKey].Text = newSubKey;
                parent.Nodes[oldSubKey].Name = newSubKey;

                tvRegistryDirectory.SelectedNode = parent.Nodes[newSubKey];
            }
        }
Beispiel #5
0
        private void OnKeyCreatedEventHandler(RegistryEditorAdapterHandler adapterHandler, string parentPath, RegSeekerMatch match)
        {
            TreeNode parent = GetTreeNode(parentPath);

            TreeNode node = AddKeyToTree(parent, match);

            node.EnsureVisible();

            tvRegistryDirectory.SelectedNode = node;
            node.Expand();
            tvRegistryDirectory.LabelEdit = true;
            node.BeginEdit();
        }
Beispiel #6
0
        private void OnValueChangedEventHandler(RegistryEditorAdapterHandler adapterHandler, string keyPath, RegValueData value)
        {
            TreeNode key = GetTreeNode(keyPath);

            if (key != null)
            {
                var regValue = ((RegValueData[])key.Tag).First(item => item.Name == value.Name);
                ChangeRegistryValue(value, regValue);

                if (tvRegistryDirectory.SelectedNode == key)
                {
                    var valueItem = lstRegistryValues.Items.Cast <RegistryValueLstItem>()
                                    .SingleOrDefault(item => item.Name == value.Name);
                    if (valueItem != null)
                    {
                        valueItem.Data = RegValueHelper.RegistryValueToString(value);
                    }
                }

                tvRegistryDirectory.SelectedNode = key;
            }
        }
Beispiel #7
0
        private void OnValueRenamedEventHandler(RegistryEditorAdapterHandler adapterHandler, string keyPath, string oldValueName, string newValueName)
        {
            TreeNode key = GetTreeNode(keyPath);

            if (key != null)
            {
                var value = ((RegValueData[])key.Tag).First(item => item.Name == oldValueName);
                value.Name = newValueName;

                if (tvRegistryDirectory.SelectedNode == key)
                {
                    var valueItem = lstRegistryValues.Items.Cast <RegistryValueLstItem>()
                                    .SingleOrDefault(item => item.Name == oldValueName);
                    if (valueItem != null)
                    {
                        valueItem.RegName = newValueName;
                    }
                }

                tvRegistryDirectory.SelectedNode = key;
            }
        }
Beispiel #8
0
        private void OnValueCreatedEventHandler(RegistryEditorAdapterHandler adapterHandler, string keyPath, RegValueData value)
        {
            TreeNode key = GetTreeNode(keyPath);

            if (key != null)
            {
                List <RegValueData> valuesFromNode = ((RegValueData[])key.Tag).ToList();
                valuesFromNode.Add(value);
                key.Tag = valuesFromNode.ToArray();

                if (tvRegistryDirectory.SelectedNode == key)
                {
                    RegistryValueLstItem item = new RegistryValueLstItem(value);
                    lstRegistryValues.Items.Add(item);
                    //Unselect all
                    lstRegistryValues.SelectedIndices.Clear();
                    item.Selected = true;
                    lstRegistryValues.LabelEdit = true;
                    item.BeginEdit();
                }

                tvRegistryDirectory.SelectedNode = key;
            }
        }