QuickImage – Rev 1

Subversion Repositories:
Rev:
using QuickImage.Database;
using Shipwreck.Phash;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace QuickImage.ImageListViewSorters
{
    public class SizeImageListViewItemSorter : IComparer, IComparer<ListViewItem>
    {
        private readonly SortOrder _sortOrder;

        private SizeImageListViewItemSorter()
        {

        }
        public SizeImageListViewItemSorter(SortOrder sortOrder) : this()
        {
            _sortOrder = sortOrder;
        }

        public int Compare(ListViewItem x, ListViewItem y)
        {
            switch (_sortOrder)
            {
                case SortOrder.Ascending:
                    return new FileInfo(x.Name).Length.CompareTo(new FileInfo(y.Name).Length);
                case SortOrder.Descending:
                    return new FileInfo(y.Name).Length.CompareTo(new FileInfo(x.Name).Length);
            }

            return 0;
        }

        public int Compare(object x, object y)
        {
            return Compare(x as ListViewItem, y as ListViewItem);
        }
    }
}