private void addFolderToolStripMenuItem_Click(object sender, EventArgs e) { ChannelFolder channelFolder = new ChannelFolder(Properties.Resources.NewChannelFolder); TreeNode treeNode = MakeTreeNodeFromChannel(channelFolder); treeNode.Expand(); if (this.treeViewChannel.SelectedNode == null || this.treeViewChannel.SelectedNode.Parent == null) { ChannelFolder parentChannelFolder = (ChannelFolder)this.treeViewChannel.Tag; parentChannelFolder.Add(channelFolder); this.treeViewChannel.Nodes.Add(treeNode); } else if (this.treeViewChannel.SelectedNode.Tag is ChannelFolder) { ChannelFolder parentChannelFolder = (ChannelFolder)this.treeViewChannel.SelectedNode.Tag; parentChannelFolder.Add(channelFolder); this.treeViewChannel.SelectedNode.Nodes.Add(treeNode); this.treeViewChannel.SelectedNode.Expand(); } else { ChannelFolder parentChannelFolder = (ChannelFolder)this.treeViewChannel.SelectedNode.Parent.Tag; TreeNode parentTreeNode = this.treeViewChannel.SelectedNode.Parent; int indexChannel = parentChannelFolder.ChannelList.IndexOf(this.treeViewChannel.SelectedNode.Tag as Channel); int indexTreeNode = parentTreeNode.Nodes.IndexOf(this.treeViewChannel.SelectedNode); channelFolder.Parent = parentChannelFolder; parentChannelFolder.ChannelList.Insert(indexChannel, channelFolder); this.treeViewChannel.SelectedNode.Parent.Nodes.Insert(indexTreeNode, treeNode); } }
internal void InsertChannels(Stream fileStream, ChannelFolder parentChannel, TreeNodeCollection parentTreeNodeCollection) { ChannelFolder channels = (ChannelFolder)Channel.Deserialize(fileStream); if (parentChannel == null) { parentChannel = MainForm.rootChannelFolder; } if (parentTreeNodeCollection == null) { parentTreeNodeCollection = this.treeViewChannel.Nodes; } // First level: we add to the existing folder // Second level: we adjust the parent foreach (Channel channel in channels.ChannelList) { parentChannel.Add(channel); TreeNode treeNode = MakeTreeNodeFromChannel(channel); if (channel is ChannelFolder) { RecursedFillTree(channel as ChannelFolder, treeNode.Nodes); } parentTreeNodeCollection.Add(treeNode); } MainForm.UpdateChannelNumber(); }
internal void AddChannelToFavorite(ChannelFolder channelFolder, Channel[] channels) { TreeNode parentTreeNode = channelFolder.Tag as TreeNode; TreeNodeCollection parentTreeNodeCollection = (parentTreeNode == null ? this.treeViewChannel.Nodes : parentTreeNode.Nodes); foreach (Channel channel in channels) { channelFolder.Add(channel); parentTreeNodeCollection.Add(MakeTreeNodeFromChannel(channel)); } }