private void epgView_ViewSettingClick(EpgViewBase sender, int param) { try { EpgTabItem tab = Tabs.FirstOrDefault(ti => ti.view == sender); if (tab == null) { return; } if (param < -2 || 2 < param) { return; } CustomEpgTabInfo info = null; if (param == -1) { //表示設定変更ダイアログから var dlg = new EpgDataViewSettingWindow(tab.Info); dlg.Owner = CommonUtil.GetTopWindow(this); dlg.SetTryMode(Settings.Instance.UseCustomEpgView == false); if (dlg.ShowDialog() == false) { return; } info = dlg.GetSetting(); if (info.Uid != tab.Uid) { return; //保険 } //設定の保存。 if (Settings.Instance.UseCustomEpgView == true && Settings.Instance.TryEpgSetting == false && info.ID >= 0 && info.ID < tabInfo.Count && info.ID < Settings.Instance.CustomEpgTabList.Count) { tabInfo[info.ID] = info; Settings.Instance.CustomEpgTabList[info.ID] = info; Settings.SaveToXmlFile(); SettingWindow.UpdatesInfo("番組表関連の変更"); } if (info.IsVisible == false) { tabControl.Items.Remove(tab); return; } } else if (param == -2) { info = tabInfo.Find(tinfo => tinfo.ID == tab.Info.ID); if (info == null) { return; } } //選択用タブの選択を切り替え。 tab_viewMode_Change(info != null ? info.ViewMode : param); tab.UpdateContent(info, param); } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); } }
private void epgView_ViewSettingClick(int param) { try { var tab = tabControl.SelectedItem as EpgTabItem; if (tab == null) { return; } if (param < -2 || 2 < param) { return; } CustomEpgTabInfo info = null; if (param == -1) { //表示設定変更ダイアログから var dlg = new EpgDataViewSettingWindow(tab.Info); dlg.Owner = CommonUtil.GetTopWindow(this); dlg.SetTryMode(Settings.Instance.UseCustomEpgView == false); if (dlg.ShowDialog() == false) { return; } info = dlg.GetSetting(); if (info.Uid != tab.Uid) { return; //保険 } //設定の保存。 if (Settings.Instance.UseCustomEpgView == true && Settings.Instance.TryEpgSetting == false) { int idx1 = tabInfo.FindIndex(ti => ti.ID == info.ID); int idx2 = Settings.Instance.CustomEpgTabList.FindIndex(ti => ti.ID == info.ID); if (idx1 >= 0 && idx2 >= 0) { tabInfo[idx1] = info; Settings.Instance.CustomEpgTabList[idx2] = info; Settings.SaveToXmlFile(); SettingWindow.UpdatesInfo("番組表関連の変更"); } } if (info.IsVisible == false) { tabControl.Items.Remove(tab); return; } } else if (param == -2) { info = get_tabInfo(tab.Uid); if (info == null) { return; } } //選択用タブの選択を切り替え。 tab_viewMode_ChangeTabOnly(info != null ? info.ViewMode : param); tab.ChangeContent(info, param); } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); } }