示例#1
0
        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));
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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
        }