Ejemplo n.º 1
0
        public static void ChangeOnPreset(IEnumerable <IRecSetttingData> dataList, int presetID)
        {
            RecSettingData setData = Settings.Instance.RecPreset(presetID).Data;

            foreach (var data in dataList)
            {
                data.RecSettingInfo = setData.DeepClone();
            }
        }
Ejemplo n.º 2
0
        public void SetDefSetting(RecSettingData set)
        {
            recSetting = set.DeepClone();

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

            //該当するものがあれば選択、無ければ"登録時"。
            preEdit.ChangeSelect(MatchPresetOrDefault(recSetting), PresetSelectMode.InitLoad);
        }
        private void SetRecSettingCmbo(RecSettingData set = null)
        {
            cmb_recSetting.Items.Clear();
            cmb_recSetting.Items.AddItems(Settings.Instance.RecPresetList.DeepClone());

            var item = (set ?? Settings.Instance.RecPresetList[0].Data).LookUpPreset(cmb_recSetting.Items.OfType <RecPresetItem>());

            if (item == null)
            {
                item = new RecPresetItem("登録時", RecPresetItem.CustomID, set.DeepClone());
                cmb_recSetting.Items.Add(item);
            }
            cmb_recSetting.SelectedItem = item;
        }
Ejemplo n.º 4
0
        public void CtxmGenerateOpenFolderItems(MenuItem menu, RecSettingData recSetting = null, string additionalPath = null, bool isGestureString = true)
        {
            CtxmClearItemMenu(menu); //ツールチップのクリアがあるので先

            if (menu.IsEnabled == false)
            {
                return;
            }

            bool defOutPutted = false;

            recSetting = recSetting == null ? new RecSettingData() : recSetting.DeepClone();
            if (string.IsNullOrEmpty(additionalPath) == false)
            {
                recSetting.RecFolderList.Add(new RecFileSetInfo {
                    RecFolder = additionalPath
                });
            }

            var addFolderList = new Action <List <RecFileSetInfo>, bool, string>((fldrs, recflg, header_exp) =>
            {
                //ワンセグ出力未チェックでも、フォルダ設定があれば表示する。
                //ただし、デフォルトフォルダは1回だけ展開して表示する。
                if (defOutPutted == false && (recflg && fldrs.Count == 0 || fldrs.Any(info => info.RecFolder == "!Default")))
                {
                    defOutPutted = true;
                    Settings.Instance.DefRecFolders.ForEach(folder => CtxmGenerateOpenFolderItem(menu, folder, header_exp + "(デフォルト) "));
                }

                foreach (var info in fldrs.Where(info => info.RecFolder != "!Default"))
                {
                    CtxmGenerateOpenFolderItem(menu, info.RecFolder, header_exp);
                }
            });

            addFolderList(recSetting.RecFolderList, true, "");
            addFolderList(recSetting.PartialRecFolder, recSetting.PartialRecFlag != 0, "(ワンセグ) ");

            //候補が一つの時は直接メニューを実行出来るようにする
            CtxmPullUpSubMenu(menu);

            if (isGestureString && MC.WorkCmdOptions[EpgCmds.OpenFolder].IsGestureEnabled)
            {
                menu.InputGestureText = MenuBinds.GetInputGestureText(EpgCmds.OpenFolder);
            }
        }
Ejemplo n.º 5
0
        public static bool ChangeBulkSet(IEnumerable <IRecSetttingData> dataList, UIElement owner = null, bool pgAll = false)
        {
            try
            {
                var dlg = new SetRecPresetWindow(owner);
                dlg.SetSettingMode("まとめて録画設定を変更");
                dlg.DataView.SetViewMode(pgAll != true);
                dlg.DataView.SetDefSetting(dataList.First().RecSettingInfo);

                if (dlg.ShowDialog() == false)
                {
                    return(false);
                }

                RecSettingData setData = dlg.DataView.GetRecSetting();
                foreach (var data in dataList)
                {
                    data.RecSettingInfo = setData.DeepClone();
                }
                return(true);
            }
            catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); }
            return(false);
        }