private void ReserveModeChanged(bool programMode)
        {
            SetResModeProgram(programMode);

            eventInfoNow = null;
            if (programMode == false)
            {
                var resInfo = new ReserveData();
                GetReserveTimeInfo(ref resInfo);

                //EPGデータが読込まれていない場合も考慮し、先に判定する。
                if (reserveInfo.IsEpgReserve == true && reserveInfo.IsSamePg(resInfo) == true)
                {
                    //EPG予約で、元の状態に戻る場合
                    textBox_title.Text = reserveInfo.Title;
                }
                else
                {
                    eventInfoNow = resInfo.SearchEventInfoLikeThat();
                    if (eventInfoNow == null)
                    {
                        MessageBox.Show("変更可能な番組がありません。\r\n" +
                                        "EPGの期間外か、EPGデータが読み込まれていません。");
                        SetResModeProgram(true);
                    }
                    else
                    {
                        SetReserveTimeInfo(CtrlCmdDefEx.ConvertEpgToReserveData(eventInfoNow));
                    }
                }
            }
        }
Beispiel #2
0
        protected override void mc_ToAutoadd(object sender, ExecutedRoutedEventArgs e)
        {
            ReserveData  resData      = null;
            IBasicPgInfo eventRefData = null;

            if (eventList.Count != 0)
            {
                resData = CtrlCmdDefEx.ConvertEpgToReserveData(eventList[0]);
                if (dataList.Count != 0)
                {
                    resData.RecSetting = dataList[0].RecSetting.DeepClone();
                }
                else
                {
                    resData.RecSetting = Settings.Instance.RecPresetList[0].Data.DeepClone();
                }
                eventRefData = eventList[0];
            }
            else if (dataList.Count != 0)
            {
                resData      = dataList[0];
                eventRefData = new ReserveItem(resData).EventInfo ?? (IBasicPgInfo)resData;
            }

            var key = MenuUtil.SendAutoAddKey(eventRefData, CmdExeUtil.IsKeyGesture(e));

            MenuUtil.SendAutoAdd(resData, CmdExeUtil.IsKeyGesture(e), key);
            IsCommandExecuted = true;
        }
        private void ReserveModeChanged()
        {
            // UIに反映させる
            SetResModeProgram();

            if (!initialized)
            {
                return;
            }

            if (ReserveMode == UIReserveMode.Program)
            {
                eventInfoNew = null;
            }
            else if (ReserveMode == UIReserveMode.EPGManual)
            {
                var resInfo = new ReserveData();
                GetReserveTimeInfo(ref resInfo);

                if (reserveInfo.IsEpgReserve == true && CtrlCmdDefEx.EqualsPg(reserveInfo, resInfo, false, true) == true)
                {
                    //EPG予約で、元の状態に戻る場合
                    textBox_title.Text = reserveInfo.Title;
                    eventInfoNew       = null;
                }
                else
                {
                    eventInfoNew = resInfo.SearchEventInfoLikeThat();
                    if (eventInfoNew == null)
                    {
                        MessageBox.Show("変更可能な番組がありません。\r\n" +
                                        "EPGの期間外か、EPGデータが読み込まれていません。");
                        ReserveMode = UIReserveMode.Program;
                    }
                    else
                    {
                        SetReserveTimeInfo(CtrlCmdDefEx.ConvertEpgToReserveData(eventInfoNew));
                    }
                }
            }
            else if (ReserveMode == UIReserveMode.EPGAuto)
            {
                SetReserveTimeInfo(reserveInfo);
            }

            eventInfoSelected = eventInfoNew;
        }
Beispiel #4
0
        protected override void mc_ToAutoadd(object sender, ExecutedRoutedEventArgs e)
        {
            ReserveData resData = null;

            if (eventList.Count != 0)
            {
                resData = CtrlCmdDefEx.ConvertEpgToReserveData(eventList[0]);
                if (dataList.Count != 0)
                {
                    resData.RecSetting = dataList[0].RecSetting.Clone();
                }
                else
                {
                    resData.RecSetting = Settings.Instance.RecPresetList[0].RecPresetData.Clone();
                }
            }
            else if (dataList.Count != 0)
            {
                resData = dataList[0];
            }
            MenuUtil.SendAutoAdd(resData, CmdExeUtil.IsKeyGesture(e));
            IsCommandExecuted = true;
        }