private void ListViewBase_OnItemClick(object sender, ItemClickEventArgs e) { var item = (AcContent)e.ClickedItem; if (item.AcContentType == AcContentType.Videos) { Frame.Navigate(typeof(DetailsPage), item); } else if (item.AcContentType == AcContentType.Bangumis) { Bangumi bangumi = new Bangumi(); bangumi.Title = item.Title; bangumi.BangumiId = item.id; item.Bangumi = bangumi; Frame.Navigate(typeof(DetailsPage), item); } else { this.Frame.Navigate(typeof(AboutPage)); } }
public void NoticerCallback(Noticer sender) { bool running = true; while (running) { var ep = Bangumi.GetBangumiEpAsync(BangumiInfo.SeasonId).Result; foreach (var item in ep.Result) { if (item.Episode_id == BangumiInfo.EpNumber) { Thread.Sleep(800); var resu = Comment.SendAsync($"{item.Avid}", Message).Result; Console.WriteLine(resu); running = false; } } Thread.Sleep(20); } Callback(TaskId); }
public void Initialize() { // Inherit settings. if (Settings.Default.IsUpgrateNeeded) { Settings.Default.Upgrade(); Settings.Default.IsUpgrateNeeded = false; Settings.Default.Save(); } // Show the welcome window and hide the main window. WelcomeWindow.Show(); this.Visibility = Visibility.Hidden; // Inherit tasks. if (Settings.Default.IsInheritTasks) { ReadTasks(); } // Init caches if (!Directory.Exists("cache")) { Directory.CreateDirectory("cache"); } #region Read log-in informations Thread freshThread = new Thread(async() => { string access_key = Settings.Default.AccessKey; if (access_key != "") { Account.AccessKey = access_key; await Auth.FreshSSO(); await this.Invoke(async() => await FreshUserInfo()); } else { this.Invoke(() => LoginFlyout.IsOpen = true); } }); if (Settings.Default.IsSaveAccessKey) { freshThread.Start(); //Starts the thread only when Settings.Default.IsSaveAccessKey is set to True. } #endregion #region Get bangumi informations. Thread bangumiThread = new Thread(async() => { Bangumis = await Bangumi.GetBangumiInfosAsync(); List <string> titles = new List <string>(); for (int i = 0; i < Bangumis.Count; i++) { titles.Add(Bangumis[i].Title); } this.Invoke(() => BangumiListBox.ItemsSource = titles); }); bangumiThread.Start(); #endregion #region Get bilibili emojis. Thread emojiThread = new Thread(async() => { // Get the list of the emojis. var allEmojis = await Common.GetEmojisAsync(); var checkedEmojis = await Common.CheckCacheAsync(allEmojis); for (int i = 0; i < checkedEmojis.Count; i++) { var emojiPack = checkedEmojis[i]; // These part of code is a piece of s**t, but works :). this.Invoke(() => { var item = new TabItem(); item.Header = emojiPack.PackName; StackPanel panel = new StackPanel { Orientation = Orientation.Vertical, HorizontalAlignment = HorizontalAlignment.Center }; StackPanel stack = null; for (int j = 0; j < emojiPack.CheckedEmojis.Count; j++) { var emoji = emojiPack.CheckedEmojis[j]; if (j % 9 == 0) { stack = new StackPanel { Orientation = Orientation.Horizontal }; panel.Children.Add(stack); } Button button = new Button { Width = 75, Height = 75, Content = new Image { Width = 64, Height = 64, Source = CreateBI(emoji.ImagePath), HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center }, Margin = new Thickness(0, 0, 20, 5) }; button.Click += (sender, e) => { string emoji_str = emoji.Name; int index = MessageTextBox.CaretIndex; string newtext = MessageTextBox.Text.Insert(index, emoji_str); MessageTextBox.Text = newtext; MessageTextBox.CaretIndex = index + emoji_str.Length; }; stack.Children.Add(button); item.Content = panel; } EmojiTabControl.Items.Add(item); }); } this.Invoke(() => { this.Visibility = Visibility.Visible; WelcomeWindow.Close(); }); }); #if !DEBUG emojiThread.Start(); // do not load the emojis in the debug mode. #else this.Visibility = Visibility.Visible; WelcomeWindow.Close(); #endif #endregion }