private async void initialClipPreload() { if (FilteredClips.Any()) { PreloadClips(preloadCT, FilteredClips[0].angles.Where(angle => angle.angleType.IsChecked).Take(2)); } }
public void GoToPreviousClip() { if (FilteredClips.Count > 1 && FilteredClips.Any(c => c.angles.Any(a => a.angleType.IsChecked))) { SelectedAngle = null; while (SelectedAngle == null) { SelectedClipIndex = (SelectedClipIndex == 0) ? FilteredClips.Count - 1 : SelectedClipIndex - 1; SelectedClip = FilteredClips[SelectedClipIndex]; listView.SelectedItem = SelectedClip; Angle nextAngle = SelectedClip.angles.FirstOrDefault(angle => angle.angleType.IsChecked); SelectedAngle = (nextAngle != null && nextAngle.isPreloaded) ? new Angle(nextAngle.clipAngleId, nextAngle.preloadFile) : nextAngle; } if (FilteredClips[SelectedClipIndex].angles.Where(angle => angle.angleType.IsChecked).Any()) { PreloadClips(preloadCT, FilteredClips[SelectedClipIndex].angles.Where(angle => angle.angleType.IsChecked).Take(2)); } } }
public void SetClip(Clip clip) { if (clip != null && (SelectedClip == null || SelectedClip.clipId != clip.clipId)) { SelectedClip = clip; SelectedClipIndex = FilteredClips.IndexOf(clip); listView.SelectedItem = SelectedClip; Angle nextAngle = clip.angles.FirstOrDefault(angle => angle.angleType.IsChecked); SelectedAngle = (nextAngle != null && nextAngle.isPreloaded) ? new Angle(nextAngle.clipAngleId, nextAngle.preloadFile) : nextAngle; int nextClipIndex = (SelectedClipIndex + 1) % FilteredClips.Count; PreloadClips(preloadCT, SelectedClip.angles.Where(angle => angle.angleType.IsChecked).Take(2)); } else { listView.SelectedItem = SelectedClip; } }
private async void getMoreClips() { List <Clip> remainingClipsList = await ServiceAccessor.GetAdditionalPlaylistClips(Parameter.playlist.playlistId, 100); foreach (Clip clip in remainingClipsList) { foreach (Angle angle in clip.angles) { angle.angleType = AngleTypes.FirstOrDefault(angleType => angleType.Name.Equals(angle.angleName)); } } foreach (Clip c in remainingClipsList) { Clips.Add(c); if (!FiltersList.Any()) { FilteredClips.Add(c); } } }
private void VideosList_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (rightClicked) { ListView listView = (ListView)sender; videoPlayerViewModel.SetClip((Clip)listView.SelectedItem); rightClicked = false; } else if (itemClicked) { itemClicked = false; } else { try { FilteredClips.ScrollIntoView(FilteredClips.SelectedItem, ScrollIntoViewAlignment.Default); } catch { } } }
private void filteredClips_Loaded(object sender, RoutedEventArgs e) { filteredListScrollViewer = FilteredClips.GetFirstDescendantOfType <ScrollViewer>(); filteredListScrollViewer.ViewChanged += filteredListScrollViewer_ViewChanged; }
public void ApplySelectedFilter() { if (SelectedFilter.sortType != SortType.None || SelectedFilter.FilterCriteria.Where(f => f.IsChecked).Any()) { ColumnHeaderTextBlocks[SelectedFilter.columnId].Foreground = (Windows.UI.Xaml.Media.Brush)Windows.UI.Xaml.Application.Current.Resources["HudlBlue"]; if (ColumnHeaderTextBlocks[SelectedFilter.columnId].Inlines.Count > 1) { ColumnHeaderTextBlocks[SelectedFilter.columnId].Inlines.RemoveAt(1); } if (SelectedFilter.sortType == SortType.Ascending) { Run text = new Run(); text.Text = " \u25B2"; ColumnHeaderTextBlocks[SelectedFilter.columnId].Text = GridHeadersTextSorted[SelectedFilter.columnId]; ColumnHeaderTextBlocks[SelectedFilter.columnId].Inlines.Add(text); } else if (SelectedFilter.sortType == SortType.Descending) { Run text = new Run(); text.Text = " \u25BC"; ColumnHeaderTextBlocks[SelectedFilter.columnId].Text = GridHeadersTextSorted[SelectedFilter.columnId]; ColumnHeaderTextBlocks[SelectedFilter.columnId].Inlines.Add(text); } List <Clip> newFilteredClips = new List <Clip>(); List <Clip> currentFilteredClips; if (FiltersList.Contains(SelectedFilter)) { currentFilteredClips = removeFilter(); } else { currentFilteredClips = FilteredClips.ToList(); } if (SelectedFilter.FilterCriteria != null && SelectedFilter.FilterCriteria.Any(c => c.IsChecked)) { List <String> filtersApplied = new List <String>(); foreach (FilterCriteriaViewModel criteria in SelectedFilter.FilterCriteria.Where(c => c.IsChecked)) { newFilteredClips.AddRange(currentFilteredClips.Where(clip => clip.breakDownData[SelectedFilter.columnId].Equals(criteria.Name))); filtersApplied.Add(criteria.Name); } Logger.Instance.LogFilterApplied(filtersApplied); } else { newFilteredClips.AddRange(currentFilteredClips); } FilterViewModel currentSortFilter = FiltersList.FirstOrDefault(f => f.sortType != SortType.None); if (SelectedFilter.sortType == SortType.Ascending || SelectedFilter.sortType == SortType.Descending) { if (currentSortFilter != null) { if (!currentSortFilter.FilterCriteria.Any(c => c.IsChecked)) { ColumnHeaderTextBlocks[currentSortFilter.columnId].Foreground = (Windows.UI.Xaml.Media.Brush)Windows.UI.Xaml.Application.Current.Resources["HudlMediumDarkGray"]; if (ColumnHeaderTextBlocks[currentSortFilter.columnId].Inlines.Count > 1) { ColumnHeaderTextBlocks[currentSortFilter.columnId].Inlines.RemoveAt(1); ColumnHeaderTextBlocks[currentSortFilter.columnId].Text = GridHeadersTextUnsorted[currentSortFilter.columnId]; } FiltersList.Remove(currentSortFilter); } else { if (ColumnHeaderTextBlocks[currentSortFilter.columnId].Inlines.Count > 1) { ColumnHeaderTextBlocks[currentSortFilter.columnId].Inlines.RemoveAt(1); ColumnHeaderTextBlocks[currentSortFilter.columnId].Text = GridHeadersTextUnsorted[currentSortFilter.columnId]; } currentSortFilter.setSortType(SortType.None); } } currentSortFilter = SelectedFilter; } sortClips(ref newFilteredClips, currentSortFilter); FiltersList.Add(SelectedFilter); applyFilter(newFilteredClips); } else { if (FiltersList.Contains(SelectedFilter)) { RemoveSelectedFilter(); } } }