Example #1
0
        private void SavePreset(object addOrChgTarget, RecSettingData addOrChgInfo)
        {
            var saveList = new List <RecSettingData>();

            for (int i = 0; i < comboBox_preSet.Items.Count; i++)
            {
                RecPresetItem preItem = comboBox_preSet.Items[i] as RecPresetItem;
                if (preItem == addOrChgTarget)
                {
                    // 追加または変更
                    saveList.Add(addOrChgInfo);
                    // IDを振りなおす
                    preItem.ID = (uint)(saveList.Count - 1);
                }
                else if (preItem.ID != 0xFFFFFFFF)
                {
                    // 現在設定を維持
                    saveList.Add(Settings.CreateRecSetting(preItem.ID));
                    // IDを振りなおす
                    preItem.ID = (uint)(saveList.Count - 1);
                }
            }

            if (CommonManager.Instance.NWMode)
            {
                IniFileHandler.TouchFileAsUnicode(SettingPath.TimerSrvIniPath);
            }

            string saveID = "";

            for (int i = 0; i < saveList.Count; i++)
            {
                String         defName           = "REC_DEF";
                String         defFolderName     = "REC_DEF_FOLDER";
                String         defFolder1SegName = "REC_DEF_FOLDER_1SEG";
                RecSettingData info = saveList[i];

                RecPresetItem preItem = comboBox_preSet.Items.OfType <RecPresetItem>().First(a => a.ID == i);
                if (preItem.ID != 0)
                {
                    defName           += preItem.ID.ToString();
                    defFolderName     += preItem.ID.ToString();
                    defFolder1SegName += preItem.ID.ToString();
                    saveID            += preItem.ID.ToString();
                    saveID            += ",";
                }

                IniFileHandler.WritePrivateProfileString(defName, "SetName", preItem.DisplayName, SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "RecMode", (info.IsNoRec() ? 5 : info.GetRecMode()).ToString(), SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "NoRecMode", info.GetRecMode().ToString(), SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "Priority", info.Priority.ToString(), SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "TuijyuuFlag", info.TuijyuuFlag.ToString(), SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "ServiceMode", info.ServiceMode.ToString(), SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "PittariFlag", info.PittariFlag.ToString(), SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "BatFilePath", info.BatFilePath, SettingPath.TimerSrvIniPath);

                IniFileHandler.WritePrivateProfileString(defFolderName, "Count", info.RecFolderList.Count.ToString(), SettingPath.TimerSrvIniPath);
                for (int j = 0; j < info.RecFolderList.Count; j++)
                {
                    IniFileHandler.WritePrivateProfileString(defFolderName, j.ToString(), info.RecFolderList[j].RecFolder, SettingPath.TimerSrvIniPath);
                    IniFileHandler.WritePrivateProfileString(defFolderName, "WritePlugIn" + j.ToString(), info.RecFolderList[j].WritePlugIn, SettingPath.TimerSrvIniPath);
                    IniFileHandler.WritePrivateProfileString(defFolderName, "RecNamePlugIn" + j.ToString(), info.RecFolderList[j].RecNamePlugIn, SettingPath.TimerSrvIniPath);
                }
                IniFileHandler.WritePrivateProfileString(defFolder1SegName, "Count", info.PartialRecFolder.Count.ToString(), SettingPath.TimerSrvIniPath);
                for (int j = 0; j < info.PartialRecFolder.Count; j++)
                {
                    IniFileHandler.WritePrivateProfileString(defFolder1SegName, j.ToString(), info.PartialRecFolder[j].RecFolder, SettingPath.TimerSrvIniPath);
                    IniFileHandler.WritePrivateProfileString(defFolder1SegName, "WritePlugIn" + j.ToString(), info.PartialRecFolder[j].WritePlugIn, SettingPath.TimerSrvIniPath);
                    IniFileHandler.WritePrivateProfileString(defFolder1SegName, "RecNamePlugIn" + j.ToString(), info.PartialRecFolder[j].RecNamePlugIn, SettingPath.TimerSrvIniPath);
                }

                IniFileHandler.WritePrivateProfileString(defName, "SuspendMode", info.SuspendMode.ToString(), SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "RebootFlag", info.RebootFlag.ToString(), SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "UseMargineFlag", info.UseMargineFlag.ToString(), SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "StartMargine", info.StartMargine.ToString(), SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "EndMargine", info.EndMargine.ToString(), SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "ContinueRec", info.ContinueRecFlag.ToString(), SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "PartialRec", info.PartialRecFlag.ToString(), SettingPath.TimerSrvIniPath);
                IniFileHandler.WritePrivateProfileString(defName, "TunerID", info.TunerID.ToString(), SettingPath.TimerSrvIniPath);
            }
            IniFileHandler.WritePrivateProfileString("SET", "PresetID", saveID, SettingPath.TimerSrvIniPath);
        }
Example #2
0
        public string ConvertRecSettingText(RecSettingData recSetting)
        {
            string view = "有効 : " + (recSetting.IsNoRec() ? "いいえ" : "はい") + "\r\n" +
                          "録画モード : " + RecModeList[recSetting.GetRecMode()] + "\r\n" +
                          "優先度 : " + recSetting.Priority.ToString() + "\r\n" +
                          "追従 : " + (recSetting.TuijyuuFlag == 0 ? "しない" : "する") + "\r\n" +
                          "ぴったり(?) : " + (recSetting.PittariFlag == 0 ? "しない" : "する") + "\r\n";

            if ((recSetting.ServiceMode & 0x01) == 0)
            {
                view += "指定サービス対象データ : デフォルト\r\n";
            }
            else
            {
                view += "指定サービス対象データ :";
                if ((recSetting.ServiceMode & 0x10) != 0)
                {
                    view += " 字幕含む";
                }
                if ((recSetting.ServiceMode & 0x20) != 0)
                {
                    view += " データカルーセル含む";
                }
                view += "\r\n";
            }

            view += "録画後実行bat : " + recSetting.BatFilePath + "\r\n";

            if (recSetting.RecFolderList.Count == 0)
            {
                view += "録画フォルダ : デフォルト\r\n";
            }
            else
            {
                view += "録画フォルダ : \r\n";
                foreach (RecFileSetInfo info in recSetting.RecFolderList)
                {
                    view += info.RecFolder + " (" + info.WritePlugIn + ", " +
                            (info.RecNamePlugIn.Length > 0 ? info.RecNamePlugIn : "ファイル名PlugInなし") + ")\r\n";
                }
            }

            if (recSetting.UseMargineFlag == 0)
            {
                view += "録画マージン : デフォルト\r\n";
            }
            else
            {
                view += "録画マージン : 開始 " + recSetting.StartMargine.ToString() +
                        " 終了 " + recSetting.EndMargine.ToString() + "\r\n";
            }

            if (recSetting.SuspendMode == 0)
            {
                view += "録画後動作 : デフォルト\r\n";
            }
            else
            {
                view += "録画後動作 : ";
                switch (recSetting.SuspendMode)
                {
                case 1:
                    view += "スタンバイ";
                    break;

                case 2:
                    view += "休止";
                    break;

                case 3:
                    view += "シャットダウン";
                    break;

                case 4:
                    view += "何もしない";
                    break;
                }
                if (recSetting.RebootFlag == 1)
                {
                    view += " 復帰後再起動する";
                }
                view += "\r\n";
            }
            if (recSetting.PartialRecFlag == 0)
            {
                view += "部分受信 : 同時出力なし\r\n";
            }
            else
            {
                view += "部分受信 : 同時出力あり\r\n" +
                        "部分受信 録画フォルダ : \r\n";
                foreach (RecFileSetInfo info in recSetting.PartialRecFolder)
                {
                    view += info.RecFolder + "(" + info.WritePlugIn + ", " +
                            (info.RecNamePlugIn.Length > 0 ? info.RecNamePlugIn : "ファイル名PlugInなし") + ")\r\n";
                }
            }
            view += "連続録画動作 : " + (recSetting.ContinueRecFlag == 0 ? "分割" : "同一ファイル出力") + "\r\n" +
                    "使用チューナー強制指定 : " + (recSetting.TunerID == 0 ? "自動" : "ID:" + recSetting.TunerID.ToString("X8"));
            return(view);
        }
Example #3
0
        private void UpdateView(RecSettingData recSetting)
        {
            try
            {
                checkBox_enabled.IsChecked      = recSetting.IsNoRec() == false;
                comboBox_recMode.SelectedIndex  = recSetting.GetRecMode();
                comboBox_priority.SelectedIndex = Math.Min(Math.Max((int)recSetting.Priority, 1), 5) - 1;
                checkBox_tuijyu.IsChecked       = recSetting.TuijyuuFlag != 0;

                if ((recSetting.ServiceMode & 0x01) == 0)
                {
                    checkBox_serviceMode.IsChecked = true;
                    if (CommonManager.Instance.DB.DefaultRecSetting != null)
                    {
                        checkBox_serviceCaption.IsChecked = (CommonManager.Instance.DB.DefaultRecSetting.ServiceMode & 0x10) != 0;
                        checkBox_serviceData.IsChecked    = (CommonManager.Instance.DB.DefaultRecSetting.ServiceMode & 0x20) != 0;
                    }
                }
                else
                {
                    checkBox_serviceMode.IsChecked    = false;
                    checkBox_serviceCaption.IsChecked = (recSetting.ServiceMode & 0x10) != 0;
                    checkBox_serviceData.IsChecked    = (recSetting.ServiceMode & 0x20) != 0;
                }

                checkBox_pittari.IsChecked = recSetting.PittariFlag != 0;

                textBox_bat.Text = recSetting.BatFilePath;

                listView_recFolder.Items.Clear();
                foreach (RecFileSetInfo info in recSetting.RecFolderList)
                {
                    listView_recFolder.Items.Add(new RecFileSetInfoView(GetCopyRecFileSetInfo(info), false));
                }
                foreach (RecFileSetInfo info in recSetting.PartialRecFolder)
                {
                    listView_recFolder.Items.Add(new RecFileSetInfoView(GetCopyRecFileSetInfo(info), true));
                }

                if (recSetting.SuspendMode == 0)
                {
                    checkBox_suspendDef.IsChecked = true;
                    checkBox_reboot.IsChecked     = false;
                    if (CommonManager.Instance.DB.DefaultRecSetting != null)
                    {
                        radioButton_standby.IsChecked  = CommonManager.Instance.DB.DefaultRecSetting.SuspendMode == 1;
                        radioButton_supend.IsChecked   = CommonManager.Instance.DB.DefaultRecSetting.SuspendMode == 2;
                        radioButton_shutdown.IsChecked = CommonManager.Instance.DB.DefaultRecSetting.SuspendMode == 3;
                        radioButton_non.IsChecked      = CommonManager.Instance.DB.DefaultRecSetting.SuspendMode == 4;
                        checkBox_reboot.IsChecked      = CommonManager.Instance.DB.DefaultRecSetting.RebootFlag != 0;
                    }
                }
                else
                {
                    checkBox_suspendDef.IsChecked  = false;
                    radioButton_standby.IsChecked  = recSetting.SuspendMode == 1;
                    radioButton_supend.IsChecked   = recSetting.SuspendMode == 2;
                    radioButton_shutdown.IsChecked = recSetting.SuspendMode == 3;
                    radioButton_non.IsChecked      = recSetting.SuspendMode == 4;
                    checkBox_reboot.IsChecked      = recSetting.RebootFlag != 0;
                }
                if (recSetting.UseMargineFlag == 0)
                {
                    checkBox_margineDef.IsChecked = true;
                    if (CommonManager.Instance.DB.DefaultRecSetting != null)
                    {
                        textBox_margineStart.Text = CommonManager.Instance.DB.DefaultRecSetting.StartMargine.ToString();
                        textBox_margineEnd.Text   = CommonManager.Instance.DB.DefaultRecSetting.EndMargine.ToString();
                    }
                }
                else
                {
                    checkBox_margineDef.IsChecked = false;
                    textBox_margineStart.Text     = recSetting.StartMargine.ToString();
                    textBox_margineEnd.Text       = recSetting.EndMargine.ToString();
                }

                if (recSetting.ContinueRecFlag == 1)
                {
                    checkBox_continueRec.IsChecked = true;
                }
                else
                {
                    checkBox_continueRec.IsChecked = false;
                }
                if (recSetting.PartialRecFlag == 1)
                {
                    checkBox_partial.IsChecked = true;
                }
                else
                {
                    checkBox_partial.IsChecked = false;
                }

                foreach (TunerSelectInfo info in comboBox_tuner.Items)
                {
                    if (info.ID == recSetting.TunerID)
                    {
                        comboBox_tuner.SelectedItem = info;
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }