Beispiel #1
0
        private void OnVideoSelected()
        {
            var url = _album.MoviePlayerController.ContentUrl;

            VideoSelected?.Invoke(this, url);
            Dismiss();
        }
Beispiel #2
0
        /// <summary>
        /// Search a text asynchronously.
        /// </summary>
        /// <param name="text">text</param>
        public void SearchAsync(string text, int pagenum)
        {
            SearchText = text;

            long aid = FindAid(text);

            if (aid >= 0)
            {
                HistoryBox.Insert(text);
                VideoSelected?.Invoke("Av" + aid.ToString(), aid);
                return;
            }

            if (cancellationTokenSource != null)
            {
                cancellationTokenSource.Cancel();
            }
            ContentViewer.ScrollToHome();
            ContentPanel.Children.Clear();
            PagesBox.Visibility = Visibility.Hidden;
            if (text != null && text.Trim() != string.Empty)
            {
                HistoryBox.Insert(text);
                HistoryBox.Visibility = Visibility.Hidden;
                TypeBtn.IsChecked     = true;

                cancellationTokenSource = new CancellationTokenSource();
                CancellationToken cancellationToken = cancellationTokenSource.Token;

                LoadingPrompt.Visibility = Visibility.Visible;
                NoMoreGrid.Visibility    = Visibility.Collapsed;
                ContentViewer.Visibility = Visibility.Collapsed;
                Task task = new Task(() =>
                {
                    string type     = NavType;
                    Json.Value json = GetResult(text, type, pagenum);
                    if (json != null)
                    {
                        Dispatcher.Invoke(new Action(() =>
                        {
                            if (cancellationToken.IsCancellationRequested)
                            {
                                return;
                            }
                            ShowResult(json, type);
                            PagesBox.SetPage((int)json["data"]["numPages"], (int)json["data"]["page"], false);
                            PagesBox.Visibility      = Visibility.Visible;
                            LoadingPrompt.Visibility = Visibility.Hidden;
                        }));
                    }
                });
                task.Start();
            }
            else
            {
                HistoryBox.Visibility = Visibility.Visible;
            }
        }
Beispiel #3
0
        private void FavItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            FavItem favItemSender = (FavItem)sender;

            if (favItemSender.IsFolder)
            {
                if (cancellationTokenSource != null)
                {
                    cancellationTokenSource.Cancel();
                }
                ContentViewer.ScrollToHome();
                ContentPanel.Children.Clear();
                cancellationTokenSource = new CancellationTokenSource();
                CancellationToken cancellationToken = cancellationTokenSource.Token;

                LoadingPrompt.Visibility = Visibility.Visible;

                Dictionary <string, string> dic = new Dictionary <string, string>();
                dic.Add("media_id", favItemSender.Id.ToString());
                dic.Add("pn", "1");
                dic.Add("ps", "20");
                dic.Add("keyword", "");
                dic.Add("order", "mtime");
                dic.Add("type", "0");
                dic.Add("tid", "0");
                dic.Add("jsonp", "jsonp");
                Task task = new Task(() =>
                {
                    IJson json = BiliApi.GetJsonResult("https://api.bilibili.com/medialist/gateway/base/spaceDetail", dic, false);
                    if (cancellationToken.IsCancellationRequested)
                    {
                        return;
                    }
                    if (json.GetValue("code").ToLong() == 0)
                    {
                        Dispatcher.Invoke(new Action(() =>
                        {
                            foreach (IJson media in json.GetValue("data").GetValue("medias"))
                            {
                                FavItem favItem = new FavItem(media.GetValue("title").ToString(), media.GetValue("cover").ToString(), media.GetValue("fav_time").ToLong(), media.GetValue("id").ToLong(), false);
                                favItem.PreviewMouseLeftButtonDown += FavItem_PreviewMouseLeftButtonDown;
                                ContentPanel.Children.Add(favItem);
                            }
                        }));
                    }
                    Dispatcher.Invoke(new Action(() =>
                    {
                        LoadingPrompt.Visibility = Visibility.Hidden;
                    }));
                });
                task.Start();
            }
            else
            {
                VideoSelected?.Invoke(favItemSender.Title, favItemSender.Id);
            }
        }
Beispiel #4
0
        private void FavItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            FavItem favItemSender = (FavItem)sender;

            if (favItemSender.IsFolder)
            {
                ShowFolder((int)favItemSender.Id, 1, true);
            }
            else
            {
                VideoSelected?.Invoke(favItemSender.Title, favItemSender.Id);
            }
        }
Beispiel #5
0
 private void ResultBox_VideoSelected(string title, long id)
 {
     VideoSelected?.Invoke(title, id);
 }
Beispiel #6
0
 private void ResultVideo_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     VideoSelected?.Invoke(((ResultVideo)sender).Title, ((ResultVideo)sender).Aid);
 }
Beispiel #7
0
 private void UserVideoListBox_VideoSelected(string title, long id)
 {
     VideoSelected?.Invoke(title, id, "aid");
 }
Beispiel #8
0
 private void ResultBox_VideoSelected(string title, object id, string type)
 {
     VideoSelected?.Invoke(title, id, type);
 }
Beispiel #9
0
        private void FavItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            FavItem favItemSender = (FavItem)sender;

            VideoSelected?.Invoke(favItemSender.Title, favItemSender.Id);
        }
Beispiel #10
0
 private void OnVideoFinished(NSUrl url)
 {
     VideoSelected?.Invoke(this, url);
     Dismiss();
 }