Beispiel #1
0
        private void HandleAdvancedCategoryItemActivation( ListViewItem i, bool reverse, bool updateView = true ) {
            int oldState = i.StateImageIndex;

            if( i.StateImageIndex == -1 && reverse ) {
                i.StateImageIndex = MAX_FILTER_STATE;
            } else if( i.StateImageIndex == MAX_FILTER_STATE && !reverse ) {
                i.StateImageIndex = -1;
            } else {
                i.StateImageIndex += reverse ? -1 : 1;
            }

            Category c = i.Tag as Category;

            if (i.Tag.ToString() == GlobalStrings.MainForm_Uncategorized)
            {
                advFilterUncatState = (AdvancedFilterState)i.StateImageIndex;
            }
            else if (i.Tag.ToString() == GlobalStrings.MainForm_Hidden)
            {
                advFilterHiddenState = (AdvancedFilterState)i.StateImageIndex;
            }
            else
            {
                switch (oldState)
                {
                    case (int)AdvancedFilterState.Allow:
                        advFilterAllow.Remove(c);
                        break;
                    case (int)AdvancedFilterState.Require:
                        advFilterRequire.Remove(c);
                        break;
                    case (int)AdvancedFilterState.Exclude:
                        advFilterExclude.Remove(c);
                        break;
                }

                switch( i.StateImageIndex ) {
                    case (int)AdvancedFilterState.Allow:
                        advFilterAllow.Add( c );
                        break;
                    case (int)AdvancedFilterState.Require:
                        advFilterRequire.Add( c );
                        break;
                    case (int)AdvancedFilterState.Exclude:
                        advFilterExclude.Add( c );
                        break;
                }
            }

            if( updateView ) OnViewChange();
        }
Beispiel #2
0
 private void SetAdvancedMode( bool enabled ) {
     if( enabled ) {
         lstCategories.StateImageList = imglistFilter;
         advFilterAllow.Clear();
         advFilterExclude.Clear();
         advFilterRequire.Clear();
         advFilterUncatState = AdvancedFilterState.None;
         advFilterHiddenState = AdvancedFilterState.None;
     } else {
         lstCategories.StateImageList = null;
     }
     FillAllCategoryLists();
     OnViewChange();
 }