コード例 #1
0
ファイル: GuidePanel.cs プロジェクト: rob-opsi/ARGUS-TV
        private void _epgBackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            RefreshEpgArgs args = e.Argument as RefreshEpgArgs;

            _controller.RefreshEpgData(args.ReloadEpg, args.ChannelGroupId, args.GuideDateTime, this.EpgCancellationPending);
            e.Cancel = _backgroundWorker.CancellationPending;
        }
コード例 #2
0
ファイル: GuidePanel.cs プロジェクト: rob-opsi/ARGUS-TV
 private void RefreshEpg(bool reloadEpg)
 {
     if (this.Visible &&
         this.MainForm != null &&
         !this.MainForm.Disposing)
     {
         if (_backgroundWorker.IsBusy)
         {
             _backgroundWorker.CancelAsync();
             while (_backgroundWorker.IsBusy)
             {
                 System.Threading.Thread.Sleep(100);
                 Application.DoEvents();
             }
         }
         RefreshEpgArgs args = new RefreshEpgArgs();
         args.GuideDateTime  = _guideDatePicker.Value.Date.AddHours(_model.EpgHoursOffset);
         args.ChannelGroupId = (_model.ChannelType == ChannelType.Television)
             ? ChannelGroup.AllTvChannelsGroupId : ChannelGroup.AllRadioChannelsGroupId;
         if (_channelGroupsComboBox.SelectedItem != null)
         {
             ChannelGroup channelGroup = _channelGroupsComboBox.SelectedItem as ChannelGroup;
             args.ChannelGroupId = channelGroup.ChannelGroupId;
         }
         args.ReloadEpg = reloadEpg;
         MainForm.Session[SessionKey.GuideDate]      = args.GuideDateTime;
         MainForm.Session[SessionKey.ChannelType]    = _model.ChannelType;
         MainForm.Session[SessionKey.ChannelGroupId] = args.ChannelGroupId;
         _loadingPanel.Visible = true;
         _backgroundWorker.RunWorkerAsync(args);
     }
 }
コード例 #3
0
ファイル: GuidePanel.cs プロジェクト: Christoph21x/ARGUS-TV
 private void RefreshEpg(bool reloadEpg)
 {
     if (this.Visible
         && this.MainForm != null
         && !this.MainForm.Disposing)
     {
         if (_backgroundWorker.IsBusy)
         {
             _backgroundWorker.CancelAsync();
             while (_backgroundWorker.IsBusy)
             {
                 System.Threading.Thread.Sleep(100);
                 Application.DoEvents();
             }
         }
         RefreshEpgArgs args = new RefreshEpgArgs();
         args.GuideDateTime = _guideDatePicker.Value.Date.AddHours(_model.EpgHoursOffset);
         args.ChannelGroupId = (_model.ChannelType == ChannelType.Television)
             ? ChannelGroup.AllTvChannelsGroupId : ChannelGroup.AllRadioChannelsGroupId;
         if (_channelGroupsComboBox.SelectedItem != null)
         {
             ChannelGroup channelGroup = _channelGroupsComboBox.SelectedItem as ChannelGroup;
             args.ChannelGroupId = channelGroup.ChannelGroupId;
         }
         args.ReloadEpg = reloadEpg;
         MainForm.Session[SessionKey.GuideDate] = args.GuideDateTime;
         MainForm.Session[SessionKey.ChannelType] = _model.ChannelType;
         MainForm.Session[SessionKey.ChannelGroupId] = args.ChannelGroupId;
         _loadingPanel.Visible = true;
         _backgroundWorker.RunWorkerAsync(args);
     }
 }