Beispiel #1
0
        private void listView2_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (mailFolderInfo == null)
            {
                return;
            }


            var selItem = listView2.SelectedItems;

            if (selItem.Count <= 0)
            {
                return;
            }

            var item = selItem[0];
            int id   = mailFolderInfo.GetUidByIndex(item.Text);

            if (item.ForeColor == Color.DarkBlue)
            {
                item.ForeColor = Color.Black;
                int l = LastUNSEEN.IndexOf(id);
                if (l >= 0)
                {
                    LastUNSEEN.RemoveAt(l);
                }
            }


            selectedmail = id;
            if (id >= 0)
            {
                string path = mailFolderInfo.path + "\\" + (id).ToString() + ".txt";
                MimeDecrypter.DecryptMessage(path, webBrowser1, listView3, imageList1);
                MimeDecrypter.SetHeaders(path, SubjectLabel, label3, label1, label2);
            }
        }
Beispiel #2
0
        public static void ShowEmailsInFolder(string path, ListView lv, ref mailFolderInfo mf, List <int> UNSEEN)
        {
            lv.Items.Clear();
            DirectoryInfo d   = new DirectoryInfo(path);
            var           f   = d.GetFiles();
            int           ind = 0;

            DateTime time      = new DateTime();
            string   groupName = "";

            foreach (FileInfo info in f)
            {
                ListViewItem tmp = new ListViewItem(MimeDecrypter.GetSubjectAndDate(info.FullName, ref time));
                if (tmp.Text == "")
                {
                    tmp.Text = "No data";
                }
                //if () { }
                groupName = time.Day.ToString() + "." + time.Month.ToString() + "." + time.Year.ToString();
                bool NeednewGroup = true;
                foreach (ListViewGroup g in lv.Groups)
                {
                    if (g.Name == groupName)
                    {
                        tmp.Group    = g;
                        NeednewGroup = false;
                    }
                }
                if (NeednewGroup)
                {
                    ListViewGroup group = new ListViewGroup();
                    group.Name   = groupName;
                    group.Header = groupName;

                    lv.Groups.Add(group);
                    tmp.Group = group;
                }
                int MessageUid = FilesWork.GetFileNumb(info.FullName);
                if (UNSEEN.Contains(MessageUid))
                {
                    tmp.ForeColor = System.Drawing.Color.DarkBlue;
                }

                lv.Items.Add(tmp);
                if (mf != null)
                {
                    mf.Mails.Add(new MailInfo(tmp.Text, MessageUid));
                }
                ind++;
            }
            lv.ListViewItemSorter = new ListViewComparer(0, SortOrder.Ascending);
            lv.Sort();

            ListViewGroup[] groups = new ListViewGroup[lv.Groups.Count];
            lv.Groups.CopyTo(groups, 0);

            Array.Sort(groups, (IComparer <ListViewGroup>)(new GroupComparer()));

            lv.BeginUpdate();
            lv.Groups.Clear();
            lv.Groups.AddRange(groups);
            lv.EndUpdate();
        }