Example #1
0
        public void SetDefSetting(RecSettingData set, bool isDisplayManual = false)
        {
            recSetting = set.Clone();

            //"登録時"を追加する。既存があれば追加前に削除する。検索ダイアログの上下ボタンの移動用のコード。
            comboBox_preSet.Items.Remove(FindPresetItem(RecPresetItem.CustomID));
            comboBox_preSet.Items.Add(new RecPresetItem("登録時", RecPresetItem.CustomID, set.Clone()));

            //該当するものがあれば選択、無ければ"登録時"。一応特定条件下で齟齬が出ないように2回検索にしておく。
            object target = FindPresetItem(set.LookUpPreset(isDisplayManual).ID);

            if (target == null)
            {
                target = comboBox_preSet.Items[comboBox_preSet.Items.Count - 1];
            }

            //強制更新
            comboBox_preSet.SelectedItem = null;
            loadingDefSetting            = true;
            comboBox_preSet.SelectedItem = target;
        }
Example #2
0
        public RecSettingData GetRecSetting()
        {
            if (initLoad == false)
            {
                return(recSetting.Clone());
            }

            var setInfo = new RecSettingData();

            setInfo.RecMode     = ((RecModeInfo)comboBox_recMode.SelectedItem).Value;
            setInfo.Priority    = ((PriorityInfo)comboBox_priority.SelectedItem).Value;
            setInfo.TuijyuuFlag = ((YesNoInfo)comboBox_tuijyu.SelectedItem).Value;

            setInfo.ServiceMode = (uint)(checkBox_serviceMode.IsChecked == true ? 0 : 1);
            if (checkBox_serviceCaption.IsChecked == true)
            {
                setInfo.ServiceMode |= 0x10;
            }
            if (checkBox_serviceData.IsChecked == true)
            {
                setInfo.ServiceMode |= 0x20;
            }

            setInfo.PittariFlag = ((YesNoInfo)comboBox_pittari.SelectedItem).Value;
            setInfo.BatFilePath = textBox_bat.Text;
            setInfo.RecTag      = textBox_recTag.Text;
            setInfo.RecFolderList.Clear();
            setInfo.PartialRecFolder.Clear();
            foreach (RecFileSetInfoView view in listView_recFolder.Items)
            {
                (view.PartialRec ? setInfo.PartialRecFolder : setInfo.RecFolderList).Add(view.Info);
            }

            if (checkBox_suspendDef.IsChecked == true)
            {
                setInfo.SuspendMode = 0;
            }
            else if (radioButton_standby.IsChecked == true)
            {
                setInfo.SuspendMode = 1;
            }
            else if (radioButton_suspend.IsChecked == true)
            {
                setInfo.SuspendMode = 2;
            }
            else if (radioButton_shutdown.IsChecked == true)
            {
                setInfo.SuspendMode = 3;
            }
            else if (radioButton_non.IsChecked == true)
            {
                setInfo.SuspendMode = 4;
            }
            setInfo.RebootFlag = (byte)(checkBox_reboot.IsChecked == true ? 1 : 0);

            setInfo.UseMargineFlag = (byte)(checkBox_margineDef.IsChecked == true ? 0 : 1);
            Func <string, int> GetMargin = (text) =>
            {
                if (text.Length == 0)
                {
                    return(0);
                }

                int marginSec   = 0;
                int marginMinus = 1;
                if (text.IndexOf("-") == 0)
                {
                    marginMinus = -1;
                    text        = text.Substring(1);
                }
                string[] startArray = text.Split(':');
                startArray = startArray.Take(Math.Min(startArray.Length, 3)).Reverse().ToArray();
                for (int i = 0; i < startArray.Length; i++)
                {
                    marginSec += Convert.ToInt32(startArray[i]) * (int)Math.Pow(60, i);
                }

                return(marginMinus * marginSec);
            };

            setInfo.StartMargine = GetMargin(textBox_margineStart.Text);
            setInfo.EndMargine   = GetMargin(textBox_margineEnd.Text);

            setInfo.PartialRecFlag  = (byte)(checkBox_partial.IsChecked == true ? 1 : 0);
            setInfo.ContinueRecFlag = (byte)(checkBox_continueRec.IsChecked == true ? 1 : 0);

            TunerSelectInfo tuner = comboBox_tuner.SelectedItem as TunerSelectInfo;

            setInfo.TunerID = tuner.ID;

            return(setInfo);
        }
Example #3
0
        public static RecPresetItem LookUpPreset(this RecSettingData data, IEnumerable <RecPresetItem> refdata, bool IsManual = false, bool CopyData = false)
        {
            RecPresetItem preset = refdata.FirstOrDefault(p1 =>
            {
                return(p1.RecPresetData.EqualsSettingTo(data, IsManual));
            });

            return(preset == null ? new RecPresetItem("登録時", RecPresetItem.CustomID, CopyData == true ? data.Clone() : null) : preset);
        }
Example #4
0
        public void SetDefSetting(RecSettingData set, bool isDisplayManual = false)
        {
            recSetting = set.Clone();

            //"登録時"を追加する。既存があれば追加前に削除する。検索ダイアログの上下ボタンの移動用のコード。
            comboBox_preSet.Items.Remove(FindPresetItem(0xFFFFFFFF));
            comboBox_preSet.Items.Add(new RecPresetItem("登録時", 0xFFFFFFFF, set.Clone()));

            //該当するものがあれば選択、無ければ"登録時"。一応特定条件下で齟齬が出ないように2回検索にしておく。
            object target = FindPresetItem(set.LookUpPreset(isDisplayManual).ID);
            if (target == null) target = comboBox_preSet.Items[comboBox_preSet.Items.Count - 1];

            //強制更新
            comboBox_preSet.SelectedItem = null;
            loadingDefSetting = true;
            comboBox_preSet.SelectedItem = target;
        }