示例#1
0
        private void EndProcessFiles()
        {
            lbDuplicateSets.Items.Clear();
            foreach (string hash in _crawler.Duplicates.Keys)
            {
                DuplicateList dupeList = new DuplicateList(tbSearchPath.Text);
                foreach (var duplicateFile in _crawler.Duplicates[hash])
                {
                    dupeList.AddFile(duplicateFile);
                }
                lbDuplicateSets.Items.Add(dupeList);
            }

            if (lbDuplicateSets.Items.Count > 0)
            {
                lbDuplicateSets.SelectedIndex = 0;
            }

            btnSearch.Enabled    = true;
            tbSearchPath.Enabled = true;
            btnBrowse.Enabled    = true;

            progressBar1.Visible = false;
            btnDelete.Visible    = true;
        }
示例#2
0
        private void lbDuplicateSets_SelectedIndexChanged(object sender, EventArgs e)
        {
            duplicatesPanel.Controls.Clear();

            DuplicateList dupeList = (DuplicateList)lbDuplicateSets.SelectedItem;
            int           index    = 0;

            foreach (var dupe in dupeList.GetDuplicates())
            {
                try
                {
                    Size  resize;
                    Image resizedImg;
                    using (Image img = Image.FromFile(dupe.Filepath))
                    {
                        resize     = ThumbnailSize(img.Size, imageSize);
                        resizedImg = new Bitmap(img, resize);
                    }

                    var pb = new PictureBox
                    {
                        Width    = imageSize + 2,
                        Height   = imageSize + 2,
                        SizeMode = PictureBoxSizeMode.CenterImage,
                        Location =
                            new Point(margin_left + (imageSize + imagePadding) * (index % rowSize),
                                      margin_top + (imageSize + imagePadding) * (int)(index / rowSize)),
                        Image       = resizedImg,
                        BorderStyle = BorderStyle.FixedSingle
                    };
                    duplicatesPanel.Controls.Add(pb);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Loading image {0} hit exception {1}", dupe.Filepath, ex);
                }

                Label label = new Label();
                label.Text      = dupe.DisplayPath;
                label.Font      = new Font(label.Font.FontFamily, 7.0f);
                label.Location  = new Point(margin_left + (imageSize + imagePadding) * (index % rowSize) + 10, margin_top + (imageSize + imagePadding) * (int)(index / 3) + 200);
                label.Size      = new Size(180, 20);
                label.TextAlign = ContentAlignment.MiddleCenter;
                duplicatesPanel.Controls.Add(label);

                index++;
            }
        }