Skip to content

Commit

Permalink
1週間モードでのバグ修正とレイアウト調整
Browse files Browse the repository at this point in the history
  • Loading branch information
Velmy committed May 6, 2013
1 parent dd3cbb1 commit 3b0643e
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 14 deletions.
37 changes: 31 additions & 6 deletions EpgTimer/EpgTimer/EpgView/EpgViewPanel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ protected void CreateDrawTextList()
Items.Sort(Compare);
// 前番組へのリンク
ProgramViewItem wkPrev = null;
String wkPrevDate = "";
foreach (ProgramViewItem info in Items)
{
if (wkPrev != null)
Expand All @@ -73,9 +74,14 @@ protected void CreateDrawTextList()
{ // サービスIDが変わる => 局が変わる => その局の一番先頭の番組
wkPrev = null;
}
if (!wkPrevDate.Equals(info.EventInfo.start_time.AddHours(-4).ToShortDateString()))
{ // 1週間モード時、先頭は4時に切り替わる=4時間前に日付が変わるタイミング
wkPrev = null;
}
}
info.prevItem = wkPrev;
wkPrev = info;
wkPrevDate = info.EventInfo.start_time.AddHours(-4).ToShortDateString();
}

double minimum = (Settings.Instance.FontSizeTitle + 2) * Settings.Instance.MinimumHeight;
Expand All @@ -95,7 +101,13 @@ protected void CreateDrawTextList()
{
pr.prevTop = pr.TopPos;
}
pr.TopPos -= wk; // 先頭位置のみ更新

// 番組表先頭が欠けないための処理
//if (pr.Height >= minimum && pr.prevItem != null)
if (pr.Height >= minimum)
{
pr.TopPos -= wk; // 先頭位置のみ更新
}
pr = pr.prevItem;
if (pr == null)
{
Expand All @@ -114,9 +126,9 @@ protected void CreateDrawTextList()
{
info.prevTop = info.TopPos;
}
info.TopPos -= wk; // 先頭位置をずらす
info.Height = minimum; // 最低表示dot数
}
info.TopPos -= wk; // 先頭位置をずらす
info.Height = minimum; // 最低表示dot数
}
}
}
Expand Down Expand Up @@ -391,7 +403,7 @@ protected override void OnRender(DrawingContext dc)
}
}

// サービスID/TopPos 順にソート
// サービスID/開始日付/TopPos 順にソート
public static int Compare(ProgramViewItem x, ProgramViewItem y)
{
//nullが最も小さいとする
Expand All @@ -418,17 +430,30 @@ public static int Compare(ProgramViewItem x, ProgramViewItem y)
}
else
{
if (x.TopPos < y.TopPos)
if (x.EventInfo.start_time < y.EventInfo.start_time)
{
return -1;
}
else if (x.TopPos > y.TopPos)
else if (x.EventInfo.start_time > y.EventInfo.start_time)
{
return 1;
}
else
{
return 0;
//// 不必要?
//if (x.TopPos < y.TopPos)
//{
// return -1;
//}
//else if (x.TopPos > y.TopPos)
//{
// return 1;
//}
//else
//{
// return 0;
//}
}
}
}
Expand Down
8 changes: 4 additions & 4 deletions EpgTimer/EpgTimer/Setting/SetEpgView.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,10 @@
<TextBox Height="24" HorizontalAlignment="Left" Margin="165,6,0,0" Name="textBox_mouse_scroll" VerticalAlignment="Top" Width="55" />
<Label Content="サービス1つの幅" Height="28" HorizontalAlignment="Left" Margin="11,36,0,0" Name="label8" VerticalAlignment="Top" />
<TextBox Height="24" HorizontalAlignment="Left" Margin="165,36,0,0" Name="textBox_service_width" VerticalAlignment="Top" Width="55" />
<Label Content="1分あたりの高さ" Height="28" HorizontalAlignment="Left" Margin="357,6,0,0" Name="label9" VerticalAlignment="Top" />
<TextBox Height="24" HorizontalAlignment="Left" Margin="475,8,0,0" Name="textBox_minHeight" VerticalAlignment="Top" Width="55" />
<Label Content="ドラッグスクロール倍率" Height="28" HorizontalAlignment="Left" Margin="357,36,0,0" Name="label10" VerticalAlignment="Top" />
<TextBox Height="24" HorizontalAlignment="Left" Margin="475,38,0,0" Name="textBox_dragScroll" VerticalAlignment="Top" Width="55" />
<Label Content="1分あたりの高さ" Height="28" HorizontalAlignment="Left" Margin="327,6,0,0" Name="label9" VerticalAlignment="Top" />
<TextBox Height="24" HorizontalAlignment="Left" Margin="470,8,0,0" Name="textBox_minHeight" VerticalAlignment="Top" Width="55" />
<Label Content="ドラッグスクロール倍率" Height="28" HorizontalAlignment="Left" Margin="327,36,0,0" Name="label10" VerticalAlignment="Top" />
<TextBox Height="24" HorizontalAlignment="Left" Margin="470,38,0,0" Name="textBox_dragScroll" VerticalAlignment="Top" Width="55" />
<CheckBox Content="番組詳細をツールチップで表示する" Height="16" HorizontalAlignment="Left" Margin="17,70,0,0" Name="checkBox_descToolTip" VerticalAlignment="Top" />
<CheckBox Content="番組内容表示位置を番組名表示位置にあわせる" Height="16" HorizontalAlignment="Left" Margin="357,70,0,0" Name="checkBox_title_indent" VerticalAlignment="Top" />
<CheckBox Content="番組名を表示しきれない物のみ表示する" Height="16" HorizontalAlignment="Left" Margin="34,92,0,0" Name="checkBox_toolTip_noView_only" VerticalAlignment="Top" />
Expand Down
8 changes: 4 additions & 4 deletions EpgTimerNW/EpgTimerNW/Setting/SetEpgView.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,10 @@
<TextBox Height="24" HorizontalAlignment="Left" Margin="165,6,0,0" Name="textBox_mouse_scroll" VerticalAlignment="Top" Width="55" />
<Label Content="サービス1つの幅" Height="28" HorizontalAlignment="Left" Margin="11,36,0,0" Name="label8" VerticalAlignment="Top" />
<TextBox Height="24" HorizontalAlignment="Left" Margin="165,36,0,0" Name="textBox_service_width" VerticalAlignment="Top" Width="55" />
<Label Content="1分あたりの高さ" Height="28" HorizontalAlignment="Left" Margin="357,6,0,0" Name="label9" VerticalAlignment="Top" />
<TextBox Height="24" HorizontalAlignment="Left" Margin="475,8,0,0" Name="textBox_minHeight" VerticalAlignment="Top" Width="55" />
<Label Content="ドラッグスクロール倍率" Height="28" HorizontalAlignment="Left" Margin="357,36,0,0" Name="label10" VerticalAlignment="Top" />
<TextBox Height="24" HorizontalAlignment="Left" Margin="475,38,0,0" Name="textBox_dragScroll" VerticalAlignment="Top" Width="55" />
<Label Content="1分あたりの高さ" Height="28" HorizontalAlignment="Left" Margin="327,6,0,0" Name="label9" VerticalAlignment="Top" />
<TextBox Height="24" HorizontalAlignment="Left" Margin="470,8,0,0" Name="textBox_minHeight" VerticalAlignment="Top" Width="55" />
<Label Content="ドラッグスクロール倍率" Height="28" HorizontalAlignment="Left" Margin="327,36,0,0" Name="label10" VerticalAlignment="Top" />
<TextBox Height="24" HorizontalAlignment="Left" Margin="470,38,0,0" Name="textBox_dragScroll" VerticalAlignment="Top" Width="55" />
<CheckBox Content="番組詳細をツールチップで表示する" Height="16" HorizontalAlignment="Left" Margin="17,70,0,0" Name="checkBox_descToolTip" VerticalAlignment="Top" />
<CheckBox Content="番組内容表示位置を番組名表示位置にあわせる" Height="16" HorizontalAlignment="Left" Margin="357,70,0,0" Name="checkBox_title_indent" VerticalAlignment="Top" />
<CheckBox Content="番組名を表示しきれない物のみ表示する" Height="16" HorizontalAlignment="Left" Margin="34,92,0,0" Name="checkBox_toolTip_noView_only" VerticalAlignment="Top" />
Expand Down

0 comments on commit 3b0643e

Please sign in to comment.