コード例 #1
0
ファイル: FilterBar.cs プロジェクト: usmanatron/quuxplayer
        public void AdvanceFilter(bool Forward)
        {
            FilterButton toSelect = null;

            switch (currentFilter.FilterType)
            {
            case FilterType.Playlist:
                toSelect = Forward ? fltGenre : fltGrouping;
                break;

            case FilterType.Genre:
                toSelect = Forward ? fltArtist : fltPlaylist;
                break;

            case FilterType.Artist:
                toSelect = Forward ? fltAlbum : fltGenre;
                break;

            case FilterType.Album:
                toSelect = Forward ? fltYear : fltArtist;
                break;

            case FilterType.Year:
                toSelect = Forward ? fltGrouping : fltAlbum;
                break;

            default:     // grouping
                toSelect = Forward ? fltPlaylist : fltYear;
                break;
            }
            toSelect.Select();
        }
コード例 #2
0
ファイル: FilterBar.cs プロジェクト: usmanatron/quuxplayer
        public FilterBar()
        {
            this.AllowEvents    = false;
            this.DoubleBuffered = true;
            this.Height         = 31;
            this.locked         = false;

            this.splitArray = new char[] { ' ' };
            searchStrings   = new string[MAX_SEARCH_STRINGS + 1];

            for (int i = 0; i < MAX_SEARCH_STRINGS + 1; i++)
            {
                searchStrings[i] = String.Empty;
            }

            setupControls();

            textArray = new Func <TrackQueue, TrackQueue> [MAX_SEARCH_STRINGS + 1];

            textArray[0] = t => t;

            textArray[1] = t => t.FindAll(ti => ti.FilterBy(searchStrings[0]));

            textArray[2] = t => t.FindAll(ti => ti.FilterBy(searchStrings[0]) &&
                                          ti.FilterBy(searchStrings[1]));

            textArray[3] = t => t.FindAll(ti => ti.FilterBy(searchStrings[0]) &&
                                          ti.FilterBy(searchStrings[1]) &&
                                          ti.FilterBy(searchStrings[2]));

            textArray[4] = t => t.FindAll(ti => ti.FilterBy(searchStrings[0]) &&
                                          ti.FilterBy(searchStrings[1]) &&
                                          ti.FilterBy(searchStrings[2]) &&
                                          ti.FilterBy(searchStrings[3]));

            textArray[5] = t => t.FindAll(ti => ti.FilterBy(searchStrings[0]) &&
                                          ti.FilterBy(searchStrings[1]) &&
                                          ti.FilterBy(searchStrings[2]) &&
                                          ti.FilterBy(searchStrings[3]) &&
                                          ti.FilterBy(searchStrings[4]));

            tex = textArray[0];

            ply = t => t;
            gen = t => t;
            art = t => t;
            alb = t => t;
            yr  = t => t;
            gpg = t => t;

            ttFilterTextBox = new QToolTip(txtFilter, Localization.Get(UI_Key.ToolTip_Filter_Textbox));
            ttClearFilter   = new QToolTip(this, String.Empty);

            fltPlaylist.Select();
        }