Example #1
0
        protected virtual void OnOptionsChanged()
        {
            sorting          = options.Sorting.Mode;
            sortingReversed  = options.Sorting.Descending;
            grouping         = options.Grouping.Mode;
            groupingReversed = options.Grouping.Descending;

            groupingEnabled = grouping != Settings.GroupMode.None && !IsSortingCustom;

            switch (sorting)
            {
            case Settings.SortMode.Account:
            case Settings.SortMode.Name:

                if (this.stringComparer == null)
                {
                    this.stringComparer = new Util.AlphanumericStringComparer();
                }

                break;

            default:

                this.stringComparer = null;

                break;
            }
        }
Example #2
0
        protected virtual int Compare(Settings.GroupMode grouping, Settings.IAccount a, Settings.IAccount b)
        {
            if ((grouping & Settings.GroupMode.Active) == Settings.GroupMode.Active)
            {
                var result = -Client.Launcher.IsActive(a).CompareTo(Client.Launcher.IsActive(b));
                if (result != 0)
                {
                    return(result);
                }
            }

            if ((grouping & Settings.GroupMode.Type) == Settings.GroupMode.Type)
            {
                var result = a.Type.CompareTo(b.Type);
                if (result != 0)
                {
                    return(result);
                }
            }

            return(0);
        }