Exemple #1
0
        /// <summary>
        /// 初期値の予約情報をセットし、ウィンドウを予約変更モードにする
        /// </summary>
        /// <param name="info">[IN] 初期値の予約情報</param>
        public void SetReserveInfo(ReserveData info)
        {
            try
            {
                reserveInfo = info;
                recSettingView.SetDefSetting(info.RecSetting);

                if (info.EventID != 0xFFFF)
                {
                    EpgEventInfo eventInfo = CommonManager.Instance.DB.GetPgInfo(info.OriginalNetworkID, info.TransportStreamID,
                                                                                 info.ServiceID, info.EventID, false);
                    if (eventInfo != null)
                    {
                        richTextBox_descInfo.Document = new FlowDocument(CommonManager.ConvertDisplayText(
                                                                             CommonManager.ConvertProgramText(eventInfo, EventInfoTextMode.BasicInfo) +
                                                                             CommonManager.ConvertProgramText(eventInfo, EventInfoTextMode.BasicText),
                                                                             CommonManager.ConvertProgramText(eventInfo, EventInfoTextMode.ExtendedText),
                                                                             CommonManager.ConvertProgramText(eventInfo, EventInfoTextMode.PropertyInfo)));
                    }
                }

                Title = "予約変更";
                button_chg_reserve.Content    = "変更";
                button_del_reserve.Visibility = Visibility.Visible;
                if (reserveInfo.EventID == 0xFFFF)
                {
                    checkBox_program.IsChecked = true;
                    checkBox_program.IsEnabled = false;
                    recSettingView.SetViewMode(false);
                }
                else
                {
                    checkBox_program.IsChecked = false;
                    checkBox_program.IsEnabled = true;
                    recSettingView.SetViewMode(true);
                }

                textBox_title.Text = reserveInfo.Title;

                comboBox_service.SelectedItem = comboBox_service.Items.Cast <ChSet5Item>().FirstOrDefault(ch =>
                                                                                                          ch.ONID == reserveInfo.OriginalNetworkID &&
                                                                                                          ch.TSID == reserveInfo.TransportStreamID &&
                                                                                                          ch.SID == reserveInfo.ServiceID);

                DateTime startTime = reserveInfo.StartTime;
                DateTime endTime   = startTime.AddSeconds(reserveInfo.DurationSecond);
                datePicker_start.SelectedDate = startTime;
                datePicker_end.SelectedDate   = endTime;
                comboBox_sh.SelectedIndex     = startTime.Hour;
                comboBox_sm.SelectedIndex     = startTime.Minute;
                comboBox_ss.SelectedIndex     = startTime.Second;
                comboBox_eh.SelectedIndex     = endTime.Hour;
                comboBox_em.SelectedIndex     = endTime.Minute;
                comboBox_es.SelectedIndex     = endTime.Second;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        private void tabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //ComboBoxのSelectionChangedにも反応するので。(WPFの仕様)
            if (sender != e.OriginalSource)
            {
                return;
            }

            selectedTab = tabControl.SelectedIndex != -1 ? tabControl.SelectedIndex : selectedTab;
            if (tabItem_program.IsSelected)
            {
                var resInfo = new ReserveData();
                GetReserveTimeInfo(ref resInfo);

                //描画軽減。人の操作では気にするほどのことはないが、保険。
                if (resInfo.IsSamePg(resInfoDisplay) == true)
                {
                    return;
                }
                resInfoDisplay = resInfo;

                EpgEventInfo eventInfo = null;
                //EPGを自動で読み込んでない時でも、元がEPG予約ならその番組情報は表示させられるようにする
                if (reserveInfo.IsEpgReserve == true && reserveInfo.IsSamePg(resInfo) == true)
                {
                    eventInfo = eventInfoNow ?? reserveInfo.ReserveEventInfo();
                }
                else
                {
                    eventInfo = eventInfoNow ?? resInfo.SearchEventInfoLikeThat();
                }

                richTextBox_descInfo.Document = CommonManager.ConvertDisplayText(eventInfo);
            }
        }
Exemple #3
0
 public void SetRecInfo(RecFileInfo info)
 {
     recInfo = info;
     richTextBox_pgInfo.Document = new FlowDocument(CommonManager.ConvertDisplayText(info.ProgramInfo));
     textBox_errLog.Text         = info.ErrInfo;
     textBox_recFilePath.Text    = info.RecFilePath;
     button_rename.IsEnabled     = false;
 }
Exemple #4
0
 public void SetEventInfo(EpgEventInfo eventData)
 {
     {
         eventInfo         = eventData;
         textBox_info.Text = CommonManager.Instance.ConvertProgramText(eventData, EventInfoTextMode.BasicOnly);
         String text = CommonManager.Instance.ConvertProgramText(eventData, EventInfoTextMode.ExtOnly);
         richTextBox_descInfo.Document = new FlowDocument(CommonManager.ConvertDisplayText(text));
     }
 }
 public void SetEventInfo(EpgEventInfo eventData)
 {
     eventInfo                     = eventData;
     textBox_info.Text             = CommonManager.ConvertProgramText(eventInfo, EventInfoTextMode.BasicInfo);
     richTextBox_descInfo.Document = new FlowDocument(CommonManager.ConvertDisplayText(
                                                          CommonManager.ConvertProgramText(eventInfo, EventInfoTextMode.BasicText),
                                                          CommonManager.ConvertProgramText(eventInfo, EventInfoTextMode.ExtendedText),
                                                          CommonManager.ConvertProgramText(eventInfo, EventInfoTextMode.PropertyInfo)));
 }
 private void listView_event_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     richTextBox_eventInfo.Document.Blocks.Clear();
     if (listView_event.SelectedItem == null)
     {
         return;
     }
     //
     richTextBox_eventInfo.Document = CommonManager.ConvertDisplayText(listView_event.SelectedItem as SearchItem);
 }
Exemple #7
0
        private void listView_event_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            richTextBox_eventInfo.Document.Blocks.Clear();
            if (listView_event.SelectedItem != null)
            {
                SearchItem item = listView_event.SelectedItem as SearchItem;

                EpgEventInfo eventInfo = item.EventInfo;

                String text = CommonManager.Instance.ConvertProgramText(eventInfo, EventInfoTextMode.All);
                richTextBox_eventInfo.Document = new FlowDocument(CommonManager.ConvertDisplayText(text));
            }
        }
Exemple #8
0
        private void listView_event_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            richTextBox_eventInfo.Document.Blocks.Clear();
            if (listView_event.SelectedItem != null)
            {
                SearchItem item = listView_event.SelectedItem as SearchItem;

                richTextBox_eventInfo.Document = new FlowDocument(CommonManager.ConvertDisplayText(
                                                                      CommonManager.ConvertProgramText(item.EventInfo, EventInfoTextMode.BasicInfo) +
                                                                      CommonManager.ConvertProgramText(item.EventInfo, EventInfoTextMode.BasicText),
                                                                      CommonManager.ConvertProgramText(item.EventInfo, EventInfoTextMode.ExtendedText),
                                                                      CommonManager.ConvertProgramText(item.EventInfo, EventInfoTextMode.PropertyInfo)));
            }
        }
        public override void ChangeData(object data)
        {
            var info = data as RecFileInfo ?? new RecFileInfo();//nullデータを受け付ける

            DataContext = new RecInfoItem(info);

            //Appendデータが無くなる場合を考慮し、テキストはrecInfoと連動させない
            if (recInfo != data)
            {
                recInfo    = info;
                this.Title = ViewUtil.WindowTitleText(recInfo.Title, "録画情報");
                if (recInfo.ID != 0 && recInfo.ProgramInfo == null)//.program.txtがない
                {
                    recInfo.ProgramInfo = CommonManager.ConvertProgramText(recInfo.GetPgInfo(), EventInfoTextMode.All);
                }
                textBox_pgInfo.Document = CommonManager.ConvertDisplayText(recInfo.ProgramInfo);
                textBox_errLog.Text     = recInfo.ErrInfo;
            }
            UpdateViewSelection(0);
        }
Exemple #10
0
        private void RefreshProgramTab(bool force = false)
        {
            var resInfo = new ReserveData();

            GetReserveTimeInfo(ref resInfo);

            //描画軽減。人の操作では気にするほどのことはないが、保険。
            if (force = false && resInfo.IsSamePg(resInfoDisplay))
            {
                return;
            }
            resInfoDisplay = resInfo;

            //EPGを自動で読み込んでない時でも、元と同じならその番組情報は表示させられるようにする
            if (reserveInfo.IsSamePg(resInfo))
            {
                resInfo = reserveInfo;
            }
            richTextBox_descInfo.Document = CommonManager.ConvertDisplayText(eventInfoNow ?? resInfo.GetPgInfo());
        }
        private void SetData(object data)
        {
            var info = data as EpgEventInfo;

            if (data is SearchItem)
            {
                info = ((SearchItem)data).EventInfo;
            }

            if (info == null)
            {
                return;
            }

            eventInfo                     = info;
            Title                         = ViewUtil.WindowTitleText(eventInfo.DataTitle, "予約登録");
            textBox_info.Text             = CommonManager.ConvertProgramText(eventInfo, EventInfoTextMode.BasicOnly);
            richTextBox_descInfo.Document = CommonManager.ConvertDisplayText(eventInfo);
            tabStr                        = eventInfo.IsOver() == true ? "放映終了" : "予約";

            UpdateViewSelection(0);
        }
Exemple #12
0
        public override void ChangeData(object data)
        {
            var info = data as RecFileInfo ?? new RecFileInfo();//nullデータを受け付ける

            DataContext = new RecInfoItem(info);

            //Appendデータが無くなる場合を考慮し、テキストはrecInfoと連動させない
            if (recInfo != data)
            {
                recInfo = info;
                recInfo.ProgramInfoSet();
                this.Title = ViewUtil.WindowTitleText(recInfo.Title, "録画情報");

                // 詳細情報を分離して表示に送る
                string[] parts = recInfo.GetProgramInfoParts();
                textBox_pgInfo.Document  = CommonManager.ConvertDisplayText(parts[0], parts[1], parts[2]);
                textBox_errLog.Text      = recInfo.ErrInfo;
                textBox_recFilePath.Text = recInfo.RecFilePath;
                button_rename.IsEnabled  = false;
            }
            UpdateViewSelection(0);
        }
        public override void ChangeData(object data)
        {
            var info = data as ReserveData;

            if (info == null)
            {
                return;
            }

            if (reserveInfo != info)
            {
                addMode     = AddMode.Change;
                reserveInfo = info.DeepClone();
            }
            recSettingView.SetViewMode(!reserveInfo.IsManual);
            recSettingView.SetDefSetting(reserveInfo.RecSetting);
            checkBox_releaseAutoAdd.IsChecked = false;
            checkBox_releaseAutoAdd.IsEnabled = reserveInfo.IsAutoAdded;

            SetAddMode(addMode);
            SetResModeProgram(reserveInfo.IsManual);
            SetReserveTimeInfo(reserveInfo);

            //番組詳細タブを初期化
            richTextBox_descInfo.Document = CommonManager.ConvertDisplayText(null, null);
            eventInfoNow   = null;
            resInfoDisplay = null;

            tabControl.SelectedIndex = -1;
            tabControl.SelectedIndex = selectedTab;

            //エラー状況の表示など
            CheckMultiReserve();
            UpdateErrStatus();
            UpdateViewSelection(0);
            SetReserveTabHeader(false);
        }
Exemple #14
0
        public void SetRecInfo(RecFileInfo info)
        {
            recInfo = info;
            EpgEventInfo eventInfo = null;

            if (info.ProgramInfo.Length == 0 && info.EventID != 0xFFFF)
            {
                // 過去番組情報を探してみる
                var arcList = new List <EpgServiceEventInfo>();
                if (CommonManager.CreateSrvCtrl().SendEnumPgArc(new List <long> {
                    0, (long)CommonManager.Create64Key(info.OriginalNetworkID, info.TransportStreamID, info.ServiceID),
                    info.StartTime.ToFileTimeUtc(), info.StartTime.ToFileTimeUtc() + 1
                }, ref arcList) == ErrCode.CMD_SUCCESS &&
                    arcList.Count > 0 && arcList[0].eventList.Count > 0)
                {
                    eventInfo = arcList[0].eventList[0];
                }
                else
                {
                    // 番組情報を探してみる
                    eventInfo = CommonManager.Instance.DB.GetPgInfo(info.OriginalNetworkID, info.TransportStreamID,
                                                                    info.ServiceID, info.EventID, false);
                    if (eventInfo == null || eventInfo.StartTimeFlag == 0 || eventInfo.start_time != info.StartTime)
                    {
                        eventInfo = null;
                    }
                }
            }
            if (eventInfo != null)
            {
                richTextBox_pgInfo.Document = new FlowDocument(CommonManager.ConvertDisplayText(
                                                                   CommonManager.ConvertProgramText(eventInfo, EventInfoTextMode.BasicInfo) +
                                                                   CommonManager.ConvertProgramText(eventInfo, EventInfoTextMode.BasicText),
                                                                   CommonManager.ConvertProgramText(eventInfo, EventInfoTextMode.ExtendedText),
                                                                   CommonManager.ConvertProgramText(eventInfo, EventInfoTextMode.PropertyInfo)));
            }
            else
            {
                // 詳細情報を分離してみる
                string basicInfo    = info.ProgramInfo;
                string extText      = "";
                string propertyInfo = "";
                // 2個目の空行までマッチ
                Match m = Regex.Match(basicInfo, @"^[\s\S]*?\r?\n\r?\n[\s\S]*?\r?\n\r?\n");
                if (m.Success)
                {
                    propertyInfo = basicInfo.Substring(m.Length);
                    basicInfo    = basicInfo.Substring(0, m.Length);
                    // "詳細情報"のとき空行2行までマッチ
                    m = Regex.Match(propertyInfo, @"^詳細情報\r?\n[\s\S]*?\r?\n\r?\n\r?\n");
                    if (m.Success)
                    {
                        extText      = propertyInfo.Substring(0, m.Length);
                        propertyInfo = propertyInfo.Substring(m.Length);
                    }
                }
                richTextBox_pgInfo.Document = new FlowDocument(CommonManager.ConvertDisplayText(basicInfo, extText, propertyInfo));
            }
            textBox_errLog.Text      = info.ErrInfo;
            textBox_recFilePath.Text = info.RecFilePath;
            button_rename.IsEnabled  = false;
        }