Skip to content

Commit

Permalink
予約情報等の強制更新(F5)を追加(仮)
Browse files Browse the repository at this point in the history
4863e43 + 0dcf7a0

休止復帰時など、予約情報が古い状態のままのとき用のショートカットを追加。
基本的には休止時間中の無効予約が消えるだけ。

EpgtimerSrvへカラ変更を送り、予約情報などを強制的に更新させている。
特に問題は起きないと思うが、Epgtimer側からの実施は結構デンジャラスな感じがする。
  • Loading branch information
tkntrec committed Feb 27, 2015
1 parent f62e3a0 commit ff60480
Showing 1 changed file with 69 additions and 0 deletions.
69 changes: 69 additions & 0 deletions EpgTimer/EpgTimer/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1703,6 +1703,75 @@ void NotifyStatus(NotifySrvInfo status)
}
}

void RefreshReserveInfo()
{
try
{
new BlackoutWindow(this).showWindow("情報の強制更新");
DBManager DB = CommonManager.Instance.DB;

//誤って変更しないよう、一度Srv側のリストを読み直す
DB.SetUpdateNotify((UInt32)UpdateNotifyItem.AutoAddEpgInfo);
if (DB.ReloadEpgAutoAddInfo() == ErrCode.CMD_SUCCESS)
{
if (DB.EpgAutoAddList.Count != 0)
{
cmd.SendChgEpgAutoAdd(DB.EpgAutoAddList.Values.ToList());
}
}

//EPG自動登録とは独立
DB.SetUpdateNotify((UInt32)UpdateNotifyItem.AutoAddManualInfo);
if (DB.ReloadManualAutoAddInfo() == ErrCode.CMD_SUCCESS)
{
if (DB.ManualAutoAddList.Count != 0)
{
cmd.SendChgManualAdd(DB.ManualAutoAddList.Values.ToList());
}
}

//上の二つが空リストでなくても、予約情報の更新がされない場合もある
DB.SetUpdateNotify((UInt32)UpdateNotifyItem.ReserveInfo);
if (DB.ReloadReserveInfo() == ErrCode.CMD_SUCCESS)
{
if (DB.ReserveList.Count != 0)
{
//予約一覧は一つでも更新をかければ、再構築される。
List<ReserveData> list = new List<ReserveData>();
list.Add(DB.ReserveList.Values.ToList()[0]);
cmd.SendChgReserve(list);
}
else
{
//更新しない場合でも、再描画だけはかけておく
reserveView.UpdateReserveData();
tunerReserveView.UpdateReserveData();
autoAddView.UpdateAutoAddInfo();
epgView.UpdateReserveData();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace);
}

}

protected override void OnKeyDown(KeyEventArgs e)
{
if (Keyboard.Modifiers == ModifierKeys.None)
{
switch (e.Key)
{
case Key.F5:
RefreshReserveInfo();
break;
}
}
base.OnKeyDown(e);
}

public void moveTo_tabItem_epg()
{
new BlackoutWindow(this).showWindow(this.tabItem_epg.Header.ToString());
Expand Down

0 comments on commit ff60480

Please sign in to comment.