From e878cdd4e5c1ccac4c995f57e5b6740ea53088c5 Mon Sep 17 00:00:00 2001 From: Hidetoshi Niisaka Date: Wed, 12 Jun 2013 03:16:43 +0900 Subject: [PATCH] =?UTF-8?q?=E6=8C=87=E5=AE=9A=E6=99=82=E9=96=93=E3=82=88?= =?UTF-8?q?=E3=82=8A=E3=82=82=E7=9F=AD=E3=81=84=E7=95=AA=E7=B5=84=E3=82=92?= =?UTF-8?q?=E8=A1=A8=E7=A4=BA=E3=81=97=E3=81=AA=E3=81=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EpgTimer/EpgTimer/DefineClass/CustomEpgTabInfo.cs | 7 +++++++ EpgTimer/EpgTimer/DefineClass/ProgramViewItem.cs | 8 ++++++++ EpgTimer/EpgTimer/EpgView/EpgListMainView.xaml.cs | 5 +++++ EpgTimer/EpgTimer/EpgView/EpgMainView.xaml.cs | 10 ++++++++++ EpgTimer/EpgTimer/EpgView/EpgViewPanel.cs | 11 +++++++++++ EpgTimer/EpgTimer/EpgView/EpgWeekMainView.xaml.cs | 5 +++++ .../EpgTimer/UserCtrlView/EpgDataViewSetting.xaml | 2 ++ .../EpgTimer/UserCtrlView/EpgDataViewSetting.xaml.cs | 11 +++++++++++ 8 files changed, 59 insertions(+) diff --git a/EpgTimer/EpgTimer/DefineClass/CustomEpgTabInfo.cs b/EpgTimer/EpgTimer/DefineClass/CustomEpgTabInfo.cs index 4b8f4fd758..78252a78af 100644 --- a/EpgTimer/EpgTimer/DefineClass/CustomEpgTabInfo.cs +++ b/EpgTimer/EpgTimer/DefineClass/CustomEpgTabInfo.cs @@ -20,6 +20,7 @@ public CustomEpgTabInfo() StartTimeWeek = 4; SearchMode = false; SearchKey = new EpgSearchKeyInfo(); + FilterDuration = 0; } public String TabName { @@ -66,6 +67,11 @@ public EpgSearchKeyInfo SearchKey get; set; } + public UInt32 FilterDuration + { + get; + set; + } public void CopyTo(ref CustomEpgTabInfo dest) { @@ -77,6 +83,7 @@ public void CopyTo(ref CustomEpgTabInfo dest) dest.ViewServiceList = ViewServiceList.ToList(); dest.ViewContentKindList = ViewContentKindList.ToList(); dest.SearchMode = SearchMode; + dest.FilterDuration = FilterDuration; dest.SearchKey.aimaiFlag = SearchKey.aimaiFlag; dest.SearchKey.andKey = SearchKey.andKey; diff --git a/EpgTimer/EpgTimer/DefineClass/ProgramViewItem.cs b/EpgTimer/EpgTimer/DefineClass/ProgramViewItem.cs index 1803216d70..ead9689614 100644 --- a/EpgTimer/EpgTimer/DefineClass/ProgramViewItem.cs +++ b/EpgTimer/EpgTimer/DefineClass/ProgramViewItem.cs @@ -19,11 +19,13 @@ public ProgramViewItem() prevItem = null; TitleDrawErr = false; prevTop = 0; + Hidden = false; } public ProgramViewItem(EpgEventInfo info) { EventInfo = info; TitleDrawErr = false; + Hidden = false; } public ProgramViewItem prevItem @@ -71,6 +73,12 @@ public bool TitleDrawErr set; } + public bool Hidden + { + get; + set; + } + public SolidColorBrush ContentColor { get diff --git a/EpgTimer/EpgTimer/EpgView/EpgListMainView.xaml.cs b/EpgTimer/EpgTimer/EpgView/EpgListMainView.xaml.cs index bbf86b4dcc..7c46edad5a 100644 --- a/EpgTimer/EpgTimer/EpgView/EpgListMainView.xaml.cs +++ b/EpgTimer/EpgTimer/EpgView/EpgListMainView.xaml.cs @@ -471,6 +471,11 @@ private void UpdateEventList() //開始未定は除外 continue; } + if (eventInfo.durationSec / 60 <= setViewInfo.FilterDuration) + { + //指定よりも短い番組を除外 + continue; + } //ジャンル絞り込み if (this.viewCustContentKindList.Count > 0) { diff --git a/EpgTimer/EpgTimer/EpgView/EpgMainView.xaml.cs b/EpgTimer/EpgTimer/EpgView/EpgMainView.xaml.cs index 60b4af1d52..0c6b01b909 100644 --- a/EpgTimer/EpgTimer/EpgView/EpgMainView.xaml.cs +++ b/EpgTimer/EpgTimer/EpgView/EpgMainView.xaml.cs @@ -1707,6 +1707,11 @@ private void ReloadProgramViewItem() viewItem.Width = Settings.Instance.ServiceWidth * widthSpan; viewItem.LeftPos = Settings.Instance.ServiceWidth * i; //viewItem.TopPos = (eventInfo.start_time - startTime).TotalMinutes * Settings.Instance.MinHeight; + if (eventInfo.durationSec / 60 <= setViewInfo.FilterDuration) + { + //指定よりも短い番組を表示しない + viewItem.Hidden = true; + } programList.Add(viewItem); //日付チェック @@ -1956,6 +1961,11 @@ private void ReloadProgramViewItemForSearch() viewItem.Width = Settings.Instance.ServiceWidth * widthSpan; viewItem.LeftPos = Settings.Instance.ServiceWidth * i; //viewItem.TopPos = (eventInfo.start_time - startTime).TotalMinutes * Settings.Instance.MinHeight; + if (eventInfo.durationSec / 60 <= setViewInfo.FilterDuration) + { + //指定よりも短い番組を表示しない + viewItem.Hidden = true; + } programList.Add(viewItem); //日付チェック diff --git a/EpgTimer/EpgTimer/EpgView/EpgViewPanel.cs b/EpgTimer/EpgTimer/EpgView/EpgViewPanel.cs index b98f940312..449af17407 100644 --- a/EpgTimer/EpgTimer/EpgView/EpgViewPanel.cs +++ b/EpgTimer/EpgTimer/EpgView/EpgViewPanel.cs @@ -88,6 +88,12 @@ protected void CreateDrawTextList() foreach (ProgramViewItem info in Items) { + // 非表示の番組は変更しない + if (info.Hidden) + { + continue; + } + // 最低表示dot数よりも小さければ if (info.Height < minimum) { @@ -211,6 +217,11 @@ protected void CreateDrawTextList() { List textDrawList = new List(); textDrawDict[info] = textDrawList; + if (info.Hidden) + { + info.TitleDrawErr = true; + continue; + } if (info.Height > 2) { if (info.Height < sizeTitle + 3) diff --git a/EpgTimer/EpgTimer/EpgView/EpgWeekMainView.xaml.cs b/EpgTimer/EpgTimer/EpgView/EpgWeekMainView.xaml.cs index 55ff2a00e3..1b48913935 100644 --- a/EpgTimer/EpgTimer/EpgView/EpgWeekMainView.xaml.cs +++ b/EpgTimer/EpgTimer/EpgView/EpgWeekMainView.xaml.cs @@ -1736,6 +1736,11 @@ private void UpdateProgramView() ProgramViewItem viewItem = new ProgramViewItem(eventInfo); viewItem.Height = (eventInfo.durationSec * Settings.Instance.MinHeight) / 60; viewItem.Width = Settings.Instance.ServiceWidth; + if (eventInfo.durationSec / 60 <= setViewInfo.FilterDuration) + { + //指定よりも短い番組を表示しない + viewItem.Hidden = true; + } programList.Add(viewItem); //日付列の決定 diff --git a/EpgTimer/EpgTimer/UserCtrlView/EpgDataViewSetting.xaml b/EpgTimer/EpgTimer/UserCtrlView/EpgDataViewSetting.xaml index d4d3871a26..a1a4ba63c6 100644 --- a/EpgTimer/EpgTimer/UserCtrlView/EpgDataViewSetting.xaml +++ b/EpgTimer/EpgTimer/UserCtrlView/EpgDataViewSetting.xaml @@ -24,6 +24,8 @@