Beispiel #1
0
        private async Task LoadImages(int count, int skip, int block, CancellationToken ct)
        {
            for (var i = count; i > 0; i -= block)
            {
                var sw = new Stopwatch();
                sw.Start();

                var result = await GetImagesFromCollectionAsyncTask(block, skip + count - i);

                lock (NavigatorList)
                {
                    ct.ThrowIfCancellationRequested();
                    result.ForEach(x => NavigatorList.Add(x));
                }

                sw.Stop();
                Debug.WriteLine("Loading {0} elemets, skip {1} elemets in ms: {2}", block, skip + count - i, sw.ElapsedMilliseconds);


                if (i == count)
                {
                    IsLoading = false;
                }
            }
        }
Beispiel #2
0
        private void Reload()
        {
            lock (NavigatorList)
            {
                _ctsImageLoading?.Cancel();

                NavigatorList.Clear();
            }

            GetImagesFromCollectionAsync(0, 500);
        }
Beispiel #3
0
        private void ShuffleNavigatorList()
        {
            var randomGenerator = new Random();

            lock (NavigatorList)
            {
                var newCollection = NavigatorList.ToList();
                var count         = NavigatorList.Count;

                foreach (var navigatorListEntry in newCollection)
                {
                    NavigatorList.Remove(navigatorListEntry);

                    var newIndex = randomGenerator.Next(0, count - 2);

                    NavigatorList.Insert(newIndex, navigatorListEntry);
                }
            }
        }
Beispiel #4
0
 private void OnViewOnSelectedItemsChanged(object sender, EventArgs args)
 {
     OnPropertyChanged(() => SelectedItems);
     TagSearchVM.UpdateCurrentTags(_view.ListBoxElement.SelectedItem as INavigatorListEntry);
     FileInfoVM.UpdateCurrentInfo(_view.ListBoxElement.SelectedItem as INavigatorListEntry, NavigatorList.IndexOf(_view.ListBoxElement.SelectedItem as INavigatorListEntry));
 }