示例#1
0
        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");
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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>";
        }
示例#4
0
        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);
            }
        }