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(); }
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(); }