Beispiel #1
0
        /// <summary>
        /// 各リストとコンテキストメニューの更新
        /// </summary>
        public async Task RefreshNotifyIconAsync()
        {
            OnRefreshStarting();

            var tasks = new List <Task>();

            foreach (AbstractManager manager in EnableManagers)
            {
                //サイトごとにタスクを作り、配信一覧からお気に入りの更新まで済ませる
                tasks.Add(manager.RefreshLiveAsync().ContinueWith(task =>
                {
                    if (task.Result)
                    {
                        BalloonManager.AddRange(manager.CheckFavorite());
                    }
                }));
            }
            await Task.WhenAll(tasks);

            if (!balloonTimer.Enabled)
            {
                //通知スタック1つ目を即座に処理
                balloonTimer.Enabled = BalloonManager.ExcuteBalloonQueue(balloontime, SOUND_LOCAL_PATH) > 0;
            }

            RefreshMenuAndIcon();

            OnRefreshCompleted();
        }
Beispiel #2
0
        /// <summary>
        /// 1箇所だけ更新があったとき用
        /// </summary>
        public void RefreshNotifyIconLite(AbstractManager manager)
        {
            BalloonManager.AddRange(manager.CheckFavorite());

            if (!balloonTimer.Enabled)
            {
                //通知スタック1つ目を即座に処理
                balloonTimer.Enabled = BalloonManager.ExcuteBalloonQueue(balloontime, SOUND_LOCAL_PATH) > 0;
            }

            RefreshMenuAndIcon();
        }
Beispiel #3
0
 /// <summary>
 /// タイマーイベントで通知スタックを処理
 /// </summary>
 /// <param name="sender">呼び出し元オブジェクト</param>
 /// <param name="e">イベントデータ</param>
 private void balloonTimer_Tick(object sender, EventArgs e)
 {
     balloonTimer.Enabled = BalloonManager.ExcuteBalloonQueue(balloontime, SOUND_LOCAL_PATH) > 0;
 }