private void cmdExport_Click(object sender, EventArgs e) { string outputDir = txtOutputLocation.Text; if (Directory.Exists(outputDir)) { int tabIndex = tabControls.SelectedIndex; if (tabIndex == 0) { // in the folder browsing view -- export the full folder TreeNode n = treeStructure.SelectedNode; PFFFolder f = (PFFFolder)n.Tag; string NewPath = Path.Combine(outputDir, ""); Directory.CreateDirectory(NewPath); f.Export(NewPath); } else if (tabIndex == 1) { // in the item browsing view -- export the single item TreeNode n = treeFolder.SelectedNode; if (n.Level == 0) { // this is a standard message PFFMessage m = (PFFMessage)n.Tag; switch (m.GetItemType()) { case PFFItem.ItemTypes.Email: SmtpClient Client = new SmtpClient("empty"); Client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; Client.PickupDirectoryLocation = outputDir; Client.Send(m.GetAsMailMessage()); break; } } else { // this is an attachment PFFAttachment a = (PFFAttachment)n.Tag; a.SaveContents(Path.Combine(outputDir, a.GetName())); } } } else { MessageBox.Show("Output directory not set or doesn't exist", "Output Directory Error"); } }
private void treeStructure_BeforeExpand(object sender, TreeViewCancelEventArgs e) { TreeNode stn = e.Node; stn.Nodes.Clear(); PFFFolder sf = (PFFFolder)stn.Tag; List <PFFFolder> f = sf.GetSubfolders(); for (int i = 0; i < f.Count; i++) { TreeNode tn = new TreeNode(); string name = f[i].GetName(); PFFFolder.FolderType t = f[i].GetFolderType(); tn.Text = name + ": " + f[i].GetSubmessages().Count + " messages"; tn.Tag = f[i]; for (int j = 0; j < f[i].GetSubfolders().Count; j++) { tn.Nodes.Add("Loading..."); } stn.Nodes.Add(tn); } }
private void treeStructure_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { TreeNode stn = e.Node; PFFFolder sf = (PFFFolder)stn.Tag; List <PFFMessage> m = sf.GetSubmessages(); treeFolder.Nodes.Clear(); for (int i = 0; i < m.Count; i++) { TreeNode tn = new TreeNode(); PFFItem.ItemTypes t = m[i].GetItemType(); if (t == PFFItem.ItemTypes.Appointment || t == PFFItem.ItemTypes.Meeting) { tn.ImageIndex = 8; tn.SelectedImageIndex = 8; } tn.Tag = m[i]; string name = m[i].GetName(); tn.Text = name; List <PFFAttachment> a = m[i].GetAttachments(); for (int j = 0; j < a.Count; j++) { string an = a[j].GetName(); if (an == null || "".Equals("an")) { an = "unnamed_attachment.___"; } TreeNode tan = new TreeNode(); tan.Text = an; tan.Tag = a[j]; tan.ImageIndex = 3; tan.SelectedImageIndex = 3; tn.Nodes.Add(tan); } treeFolder.Nodes.Add(tn); } tabControls.SelectedIndex = 1; browser.DocumentText = "<html></html>"; }
void scanODT() { o = new PFF(); o.Open(txtInputODT.Text); lblPFFVersion.Text = o.ToString(); PFFFolder p = o.GetRootFolder(); List <PFFFolder> f = p.GetSubfolders(); treeStructure.Nodes.Clear(); for (int i = 0; i < f.Count; i++) { TreeNode tn = new TreeNode(); string name = f[i].GetName(); tn.Text = name; tn.Tag = f[i]; tn.ToolTipText = name + ": " + f[i].GetSubmessages().Count + " messages"; for (int j = 0; j < f[i].GetSubfolders().Count; j++) { tn.Nodes.Add("Loading..."); } treeStructure.Nodes.Add(tn); } }