private void LogicalFoldersTreeView_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) { if (e.Label != null) { if (e.Label == string.Empty) { e.CancelEdit = true; return; } LogicalFolder lf = e.Node.Tag as LogicalFolder; if (e.Node.Parent != null) { LogicalFolder parentFolder = e.Node.Parent.Tag as LogicalFolder; if (!parentFolder.ValidSubFolderName(e.Label)) { e.CancelEdit = true; MessageBox.Show("Folder name contains invalid chars or is not unique.", ProductName, MessageBoxButtons.OK, MessageBoxIcon.Hand); } else { lf.Name = e.Label; OnLogicalFolderUpdated(); } } else // nie mo¿na edytowaæ folderów root { e.CancelEdit = true; } } }
void cmDeleteFolder_Click(object sender, EventArgs e) { TreeNode selectedNode = SelectedNode; if (selectedNode != null) { if (selectedNode.Parent != null) { if (MessageBox.Show("Are you sure to delete selected folder?", ProductName, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { LogicalFolder selectedLogicalFolder = selectedNode.Tag as LogicalFolder; selectedNode.Remove(); if (selectedLogicalFolder.Parent != null) { selectedLogicalFolder.Parent.RemoveFolder(selectedLogicalFolder); } else { FrmMain.Database.RemoveLogicalFolder(selectedLogicalFolder); } OnLogicalFolderDeleted(); } } else { MessageBox.Show("Can't delete this folder.", ProductName, MessageBoxButtons.OK, MessageBoxIcon.Hand); } } }
void cmEditFolder_Click(object sender, EventArgs e) { TreeNode selectedNode = SelectedNode; if (selectedNode != null) { // LogicalFolder parent; if (selectedNode.Parent != null) { LogicalFolder selectedLogicalFolder = selectedNode.Tag as LogicalFolder; LogicalFolder parent = selectedNode.Parent.Tag as LogicalFolder; LogicalFolderInfo info = new LogicalFolderInfo(selectedLogicalFolder.Name, selectedLogicalFolder.FolderType, selectedLogicalFolder.MaxSizeSelected, selectedLogicalFolder.MaxSize, selectedLogicalFolder.GetSize(), selectedLogicalFolder.Description); using (DlgEditLogicalFolder dlg = new DlgEditLogicalFolder(info, ilFolders, parent)) { if (dlg.ShowDialog() == DialogResult.OK) { info = dlg.Properties; selectedLogicalFolder.Name = info.Name; selectedLogicalFolder.MaxSize = info.MaxSize; selectedLogicalFolder.MaxSizeSelected = info.MaxSizeSelected; selectedLogicalFolder.Description = info.Description; updateSelectedNodeProperties(selectedNode, selectedLogicalFolder); OnLogicalFolderUpdated(); } } } else { MessageBox.Show("Can't edit this folder.", ProductName, MessageBoxButtons.OK, MessageBoxIcon.Hand); } } }
private void AddReplacement(LogicalFolder logicalFolder) { var key = "$(" + logicalFolder.Name + ")"; var value = logicalFolder.Folder; if (Replacements.ContainsKey(key)) { throw new Exception($"Logical folder {key} is already mapped"); } Replacements.Add(key, value); }
private TreeNode addToLogicalFoldersTreeView(TreeNode selectedNode, LogicalFolder parentLogicalFolder, LogicalFolder newFolder) { parentLogicalFolder.AddFolder(newFolder); TreeNode newNode = new TreeNode(newFolder.Name); newNode.ImageIndex = newNode.SelectedImageIndex = (int)newFolder.FolderType; selectedNode.Nodes.Add(newNode); newNode.Tag = newFolder; newNode.EnsureVisible(); SelectedNode = newNode; return(newNode); }
void cmNewFolder_Click(object sender, EventArgs e) { TreeNode selectedNode = SelectedNode; if (selectedNode != null) { LogicalFolder selectedLogicalFolder = selectedNode.Tag as LogicalFolder; LogicalFolder newFolder = new LogicalFolder(selectedLogicalFolder.FolderType); TreeNode newNode = addToLogicalFoldersTreeView(selectedNode, selectedLogicalFolder, newFolder); newNode.BeginEdit(); OnNewLogicalFolderAdded(); } }
private static void updateSelectedNodeProperties(TreeNode selectedNode, LogicalFolder changedFolder) { selectedNode.Text = changedFolder.Name; selectedNode.ImageIndex = selectedNode.SelectedImageIndex = (int)changedFolder.FolderType; }