Exemple #1
0
        public void UpdateSetting()
        {
            try
            {
                SaveViewData();

                //表示していた番組表の情報を保存
                var item = tabControl.SelectedItem as TabItem;
                if (item != null)
                {
                    var view = item.Content as EpgDataViewItem;
                    oldInfo  = view.GetViewMode();
                    oldState = view.GetViewState();
                    oldID    = oldInfo.ID;
                }

                //一度全部削除して作り直す。
                //保存情報は次回のタブ作成時に復元する。
                tabControl.Items.Clear();
                UpdateInfo();
            }
            catch (Exception ex) { CommonUtil.DispatcherMsgBoxShow(ex.Message + "\r\n" + ex.StackTrace); }

            //UpdateInfo()は非表示の時走らない。
            //データはここでクリアしてしまうので、現に表示されているもの以外は表示状態はリセットされる。
            //ただし、番組表(oldID)の選択そのものは保持する。
            oldInfo  = null;
            oldState = null;
        }
Exemple #2
0
        /// <summary>設定の更新通知</summary>
        public void UpdateSetting(bool noRestoreState = false)
        {
            try
            {
                SaveViewData();

                //表示していた番組表の情報を保存
                var item = tabControl.SelectedItem as EpgTabItem;
                if (item != null)
                {
                    if (noRestoreState == false && item.view != null)
                    {
                        oldState = item.view.GetViewState();
                    }
                    oldID = item.Uid;
                }

                //一度全部削除して作り直す。
                //保存情報は次回のタブ作成時に復元する。
                tabInfo.Clear();
                tabControl.Items.Clear();
                UpdateInfo();
            }
            catch (Exception ex) { CommonUtil.DispatcherMsgBoxShow(ex.Message + "\r\n" + ex.StackTrace); }

            //UpdateInfo()は非表示の時走らない。
            //データはここでクリアしてしまうので、現に表示されているもの以外は表示状態はリセットされる。
            //ただし、番組表(oldID)の選択そのものは保持する。
            oldState = null;
        }
Exemple #3
0
 public static string TrimKeyword(string val)
 {
     try
     {
         if (TrimKeywordFatalErr == true)
         {
             return(val);
         }
         return(Settings.Instance.PicUpTitleWork.PicUp(val));
     }
     catch (Exception ex)
     {
         string msg = "\r\n\r\nエラーメッセージ :\r\n" + ex.Message;
         if (Settings.Instance.PicUpTitleWork.UseCustom == true)
         {
             msg = "記号類の除去でエラーが発生しました。\r\n"
                   + "カスタム設定の使用を中止し、内部デフォルト設定で実行します。" + msg;
             Settings.Instance.PicUpTitleWork.UseCustom = false;
         }
         else
         {
             msg = "記号類の除去で致命的なエラーが発生しました。\r\n"
                   + "記号類の除去を停止します。" + msg;
             TrimKeywordFatalErr = true;
         }
         string ret = TrimKeyword(val);//メッセージボックスの順序を入れ替える
         CommonUtil.DispatcherMsgBoxShow(msg, "記号類除去のエラー", MessageBoxButton.OK, MessageBoxImage.Error);
         return(ret);
     }
 }
Exemple #4
0
        /// <summary>設定の更新通知</summary>
        public void UpdateSetting(bool noRestoreState = false)
        {
            try
            {
                SaveViewData();

                //表示していた番組表の情報を保存
                var item = tabControl.SelectedItem as EpgTabItem;
                if (item != null)
                {
                    if (noRestoreState == false && item.view != null)
                    {
                        oldState = item.view.GetViewState();
                    }
                    oldID = item.Uid;
                }

                //一度全部削除して作り直す。
                //保存情報は次回のタブ作成時に復元する。
                tabInfo.Clear();
                tabControl.Items.Clear();
                //実際にEPGが読込まれたかと無関係に、操作感としてこれでいい。
                UpdateInfo(!Settings.Instance.NgAutoEpgLoadNW);
            }
            catch (Exception ex) { CommonUtil.DispatcherMsgBoxShow(ex.ToString()); }

            //UpdateInfo()はオプションによるガ非表示の時走らない。
            //データはここでクリアしてしまうので、現に表示されているもの以外は表示状態はリセットされる。
            //ただし、番組表(oldID)の選択そのものは保持する。
            oldState = null;
        }
Exemple #5
0
        /// <summary>
        /// タブ生成
        /// </summary>
        private bool CreateTabItem()
        {
            try
            {
                List <CustomEpgTabInfo> setInfo = null;
                if (Settings.Instance.UseCustomEpgView == false)
                {
                    setInfo = CommonManager.Instance.CreateDefaultTabInfo();
                }
                else
                {
                    setInfo = Settings.Instance.CustomEpgTabList;
                }

                int selectIndex = 0;
                setInfo.ForEach(info =>
                {
                    var epgView     = new EpgDataViewItem();
                    var tabItem     = new TabItem();
                    tabItem.Header  = info.TabName;
                    tabItem.Content = epgView;
                    int index       = tabControl.Items.Add(tabItem);

                    //とりあえず同じIDを探して表示してみる(中身は別物になってるかもしれないが、とりあえず表示を試みる)。
                    //標準・カスタム切り替えの際は、標準番組表が負のIDを与えられているので、このコードは走らない。
                    object state = null;
                    if (oldID == info.ID)
                    {
                        selectIndex = index;
                        if (oldInfo != null)
                        {
                            info          = info.Clone();
                            info.ViewMode = oldInfo.ViewMode;
                            state         = oldState;
                        }
                    }
                    epgView.SetViewMode(info, state);
                });
                tabControl.SelectedIndex = selectIndex;
                oldID = null;
            }
            catch (Exception ex) { CommonUtil.DispatcherMsgBoxShow(ex.Message + "\r\n" + ex.StackTrace); }
            return(true);
        }
Exemple #6
0
        public bool ReloadInfoData(Func <List <T>, bool> reloadData)
        {
            try
            {
                RefreshStyle();

                //更新前の選択情報の保存
                var oldItems = new ListViewSelectedKeeper(listView, true, GridViewSorter.GetKeyFunc(typeof(T)));

                listView.ItemsSource = null;
                dataList.Clear();

                if (CommonManager.Instance.IsConnected == false)
                {
                    return(false);
                }

                if (reloadData(dataList) == false)
                {
                    return(false);
                }

                if (IsSortViewOnReload == true)
                {
                    this.gvSorter.SortByMultiHeader(dataList);
                }
                else
                {
                    this.gvSorter.ResetSortParams();
                }

                listView.ItemsSource = dataList;

                //選択情報の復元
                oldItems.RestoreListViewSelected();
                return(true);
            }
            catch (Exception ex) { CommonUtil.DispatcherMsgBoxShow(ex.ToString()); }
            return(false);
        }
Exemple #7
0
        /// <summary>タブ生成</summary>
        private bool CreateTabItem()
        {
            try
            {
                tabInfo = Settings.Instance.UseCustomEpgView == false?
                          CommonManager.CreateDefaultTabInfo() : Settings.Instance.CustomEpgTabList.ToList();

                //とりあえず同じIDを探して表示してみる(中身は別物になってるかもしれないが、とりあえず表示を試みる)。
                //標準・カスタム切り替えの際は、標準番組表が負のIDを与えられているので、このコードは走らない。
                foreach (CustomEpgTabInfo info in tabInfo.Where(info => info.IsVisible == true))
                {
                    tabControl.Items.Add(new EpgTabItem(info, oldID, info.Uid == oldID ? oldState : null));
                }
                if (tabControl.SelectedIndex == -1)
                {
                    tabControl.SelectedIndex = 0;
                }
            }
            catch (Exception ex) { CommonUtil.DispatcherMsgBoxShow(ex.Message + "\r\n" + ex.StackTrace); }

            oldID = null;
            return(true);
        }
Exemple #8
0
        private void CreateTabItem()
        {
            OnCreateTab = true;//タブの初期選択対策。挙動が以前と変わってるような‥
            try
            {
                tabInfo = Settings.Instance.UseCustomEpgView == false?
                          CommonManager.CreateDefaultTabInfo() : Settings.Instance.CustomEpgTabList.ToList();

                //以前表示していた番組表があればそれを表示する。
                //標準・カスタム切り替えの際は、標準番組表が負のIDを与えられているので、このコードは走らない。
                foreach (CustomEpgTabInfo info in tabInfo.Where(info => info.IsVisible == true))
                {
                    tabControl.Items.Add(new EpgTabItem(info, this, oldID, info.Uid == oldID ? oldState : null));
                }
                if (tabControl.SelectedIndex < 0)
                {
                    tabControl.SelectedIndex = 0;
                }
            }
            catch (Exception ex) { CommonUtil.DispatcherMsgBoxShow(ex.Message + "\r\n" + ex.StackTrace); }

            oldID       = null;
            OnCreateTab = false;
        }