protected override void mc_ToAutoadd(object sender, ExecutedRoutedEventArgs e) { ReserveData resData = null; IBasicPgInfo eventRefData = null; if (eventList.Count != 0) { resData = CtrlCmdDefEx.ConvertEpgToReserveData(eventList[0]); if (dataList.Count != 0) { resData.RecSetting = dataList[0].RecSetting.DeepClone(); } else { resData.RecSetting = Settings.Instance.RecPresetList[0].Data.DeepClone(); } eventRefData = eventList[0]; } else if (dataList.Count != 0) { resData = dataList[0]; eventRefData = new ReserveItem(resData).EventInfo ?? (IBasicPgInfo)resData; } var key = MenuUtil.SendAutoAddKey(eventRefData, CmdExeUtil.IsKeyGesture(e)); MenuUtil.SendAutoAdd(resData, CmdExeUtil.IsKeyGesture(e), key); IsCommandExecuted = true; }
protected void MoveToReserveItem(ReserveData target, bool IsMarking) { uint ID = target.ReserveID; ReserveItem item = lstCtrl.dataList.Find(data => data.ReserveInfo.ReserveID == ID); ViewUtil.ScrollToFindItem(item, listView_reserve, IsMarking); }
private void timeShiftPlay_Click(object sender, RoutedEventArgs e) { if (listView_reserve.SelectedItem != null) { ReserveItem info = listView_reserve.SelectedItem as ReserveItem; CommonManager.Instance.FilePlay(info.ReserveInfo.ReserveID); } }
//リストのチェックボックスからの呼び出し public void ChgOnOffFromCheckbox(ReserveItem hitItem) { if (listView_reserve.SelectedItems.Contains(hitItem) == false) { listView_reserve.SelectedItem = hitItem; } EpgCmds.ChgOnOff.Execute(listView_reserve, this); }
private void MenuItem_Click_Google(object sender, RoutedEventArgs e) { ReserveItem item1 = this.listView_reserve.SelectedItem as ReserveItem; if (item1 != null) { this._popupWindow.google(item1.EventName); } }
private void MenuItem_Click_PogramDetail(object sender, RoutedEventArgs e) { ReserveItem item1 = this.listView_reserve.SelectedItem as ReserveItem; if (item1 != null) { this._popupWindow.show(item1.ProgramDetail); } }
private void MenuItem_Click_ProgramTable(object sender, RoutedEventArgs e) { ReserveItem item1 = this.listView_reserve.SelectedItem as ReserveItem; if (item1 != null) { ((MainWindow)Application.Current.MainWindow).SearchJumpTargetProgram(item1.ReserveInfo); } }
private void MenuItem_Click_ProgramTable(object sender, RoutedEventArgs e) { ReserveItem item1 = this.listView_reserve.SelectedItem as ReserveItem; if (item1 != null) { BlackoutWindow.selectedReserveItem = item1; this._mainWindow.moveTo_tabItem_epg(); } }
private void MenuItem_Click_ReserveDetail(object sender, RoutedEventArgs e) { ReserveItem item1 = this.listView_reserve.SelectedItem as ReserveItem; if (item1 != null) { this._popupWindow.show( CommonManager.Instance.ConvertReserveText(item1.ReserveInfo)); } }
public bool CtxmGenerateShowReserveDialogMenuItems(MenuItem menu, IEnumerable <AutoAddData> list) { menu.Items.Clear(); if (menu.IsEnabled == true && list != null) { var chkList = new HashSet <ReserveData>(list.GetAutoAddList(true).GetReserveList()); var addList = list.GetReserveList().FindAll(info => info.IsOver() == false);//FindAll()は通常無くても同じはず var hasStatus = addList.Any(data => string.IsNullOrWhiteSpace(new ReserveItem(data).Status) == false); foreach (var data in addList.OrderBy(info => info.StartTimeActual)) { var resItem = new ReserveItem(data); var menuItem = new MenuItem(); menuItem.IsChecked = chkList.Contains(data) && data.IsAutoAdded; SetLimitLenHeader(menuItem, resItem.StartTimeShort + " " + data.Title, null, 42, 28); //ステータスがあれば表示する var headBlock = new StackPanel { Orientation = Orientation.Horizontal }; if (hasStatus == true) { headBlock.Children.Add(new TextBlock { Text = resItem.Status, Foreground = resItem.StatusColor, Width = 25 }); } headBlock.Children.Add(new TextBlock { Text = menuItem.Header as string }); //折り返しも可能だがいまいちな感じ。 menuItem.Header = headBlock; if (Settings.Instance.MenuSet.ReserveSearchToolTip == true) { menuItem.ToolTip = resItem.ToolTipViewAlways; } menuItem.Command = EpgCmds.ShowReserveDialog; menuItem.CommandParameter = new EpgCmdParam(menu.CommandParameter as EpgCmdParam); (menuItem.CommandParameter as EpgCmdParam).ID = (int)(data.ReserveID); menuItem.Tag = menuItem.Command; menu.Items.Add(menuItem); } } if (menu.Items.Count == 0) { menu.Items.Add(new object());//メニューに「>」を表示するためのダミー return(false); } return(true); }
private void ChangeReserve() { if (listView_reserve.SelectedItem != null) { ReserveItem item = listView_reserve.SelectedItem as ReserveItem; ChgReserveWindow dlg = new ChgReserveWindow(); dlg.Owner = (Window)PresentationSource.FromVisual(this).RootVisual; dlg.SetReserveInfo(item.ReserveInfo); if (dlg.ShowDialog() == true) { } } }
private void UpdateErrStatus() { text_Status.ItemsSource = null; if (addMode != AddMode.Add) { ReserveData res; //一応重複チューナなどの確認のため、データベースを読みに行く CommonManager.Instance.DB.ReserveList.TryGetValue(reserveInfo.ReserveID, out res); var resItem = new ReserveItem(res ?? reserveInfo); text_Status.ItemsSource = new string[] { resItem.CommentBase }.Concat(resItem.ErrComment.Select(s => "*" + s)); text_Status.SelectedIndex = 0; label_errStar.Content = text_Status.Items.Count > 1 ? string.Format("*×{0}", text_Status.Items.Count - 1) : null; } }
private void autoadd_Click(object sender, RoutedEventArgs e) { if (listView_reserve.SelectedItem != null) { SearchWindow dlg = new SearchWindow(); dlg.Owner = (Window)PresentationSource.FromVisual(this).RootVisual; EpgSearchKeyInfo key = new EpgSearchKeyInfo(); ReserveItem item = listView_reserve.SelectedItem as ReserveItem; key.andKey = item.ReserveInfo.Title; key.serviceList.Add((long)CommonManager.Create64Key(item.ReserveInfo.OriginalNetworkID, item.ReserveInfo.TransportStreamID, item.ReserveInfo.ServiceID)); dlg.SetSearchDefKey(key); dlg.ShowDialog(); } }
protected override void mc_SearchRecLog(object sender, ExecutedRoutedEventArgs e) { ContextMenu cm1 = (ContextMenu)sender; ReserveItem reserveItem1 = cm1.DataContext as ReserveItem; if (reserveItem1 != null) { this.recLogWindow.showResult(reserveItem1.EventInfo); } else if (eventList.Count != 0) { this.recLogWindow.showResult(eventList[0]); } else if (dataList.Count != 0) { this.recLogWindow.showResult(dataList[0]); } IsCommandExecuted = true; }
private void autoadd_Click(object sender, RoutedEventArgs e) { if (listView_reserve.SelectedItem != null) { SearchWindow dlg = new SearchWindow(); dlg.Owner = (Window)PresentationSource.FromVisual(this).RootVisual; dlg.SetViewMode(1); EpgSearchKeyInfo key = new EpgSearchKeyInfo(); ReserveItem item = listView_reserve.SelectedItem as ReserveItem; key.andKey = item.ReserveInfo.Title; Int64 sidKey = ((Int64)item.ReserveInfo.OriginalNetworkID) << 32 | ((Int64)item.ReserveInfo.TransportStreamID) << 16 | ((Int64)item.ReserveInfo.ServiceID); key.serviceList.Add(sidKey); dlg.SetSearchDefKey(key); dlg.ShowDialog(); } }
public static new string GetValuePropertyName(string key) { var obj = new ReserveItem(); if (key == CommonUtil.GetMemberName(() => obj.MarginStart)) { return CommonUtil.GetMemberName(() => obj.MarginStartValue); } else if (key == CommonUtil.GetMemberName(() => obj.MarginEnd)) { return CommonUtil.GetMemberName(() => obj.MarginEndValue); } else { return SearchItem.GetValuePropertyName(key); } }
private bool ReDrawReserveData() { try { if (CommonManager.Instance.NWMode == true) { if (CommonManager.Instance.NW.IsConnected == false) { return false; } } ErrCode err = CommonManager.Instance.DB.ReloadReserveInfo(); if (err == ErrCode.CMD_ERR_CONNECT) { this.Dispatcher.BeginInvoke(new Action(() => { MessageBox.Show("サーバー または EpgTimerSrv に接続できませんでした。"); }), null); return false; } if (err == ErrCode.CMD_ERR_TIMEOUT) { this.Dispatcher.BeginInvoke(new Action(() => { MessageBox.Show("EpgTimerSrvとの接続にタイムアウトしました。"); }), null); return false; } if (err != ErrCode.CMD_SUCCESS) { this.Dispatcher.BeginInvoke(new Action(() => { MessageBox.Show("情報の取得でエラーが発生しました。"); }), null); return false; } ICollectionView dataView = CollectionViewSource.GetDefaultView(listView_reserve.DataContext); if (dataView != null) { dataView.SortDescriptions.Clear(); dataView.Refresh(); } listView_reserve.DataContext = null; reserveList.Clear(); foreach (ReserveData info in CommonManager.Instance.DB.ReserveList.Values) { ReserveItem item = new ReserveItem(info); reserveList.Add(item); } listView_reserve.DataContext = reserveList; if (_lastHeaderClicked != null) { //string header = ((Binding)_lastHeaderClicked.DisplayMemberBinding).Path.Path; if (String.Compare(_lastHeaderClicked, "RecFileName") != 0) { Sort(_lastHeaderClicked, _lastDirection); } } else { bool sort = false; foreach (GridViewColumn info in gridView_reserve.Columns) { GridViewColumnHeader columnHeader = info.Header as GridViewColumnHeader; string header = columnHeader.Tag as string; if (String.Compare(header, Settings.Instance.ResColumnHead, true) == 0) { if (String.Compare(header, "RecFileName") != 0) { Sort(header, Settings.Instance.ResSortDirection); _lastHeaderClicked = header; _lastDirection = Settings.Instance.ResSortDirection; } sort = true; break; } } if (gridView_reserve.Columns.Count > 0 && sort == false) { GridViewColumnHeader columnHeader = gridView_reserve.Columns[0].Header as GridViewColumnHeader; string header = columnHeader.Tag as string; if (String.Compare(header, "RecFileName") != 0) { Sort(header, _lastDirection); _lastHeaderClicked = header; } } } } catch (Exception ex) { this.Dispatcher.BeginInvoke(new Action(() => { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); }), null); return false; } // 枠線表示用 CommonManager.Instance.DB.ReloadEpgData(); return true; }
private bool ReDrawReserveData() { try { if (CommonManager.Instance.NWMode == true) { if (CommonManager.Instance.NW.IsConnected == false) { return(false); } } if (!isInDesignMode) { ErrCode err = CommonManager.Instance.DB.ReloadReserveInfo(); if (err == ErrCode.CMD_ERR_CONNECT) { this.Dispatcher.BeginInvoke(new Action(() => { MessageBox.Show("サーバー または EpgTimerSrv に接続できませんでした。"); }), null); return(false); } if (err == ErrCode.CMD_ERR_TIMEOUT) { this.Dispatcher.BeginInvoke(new Action(() => { MessageBox.Show("EpgTimerSrvとの接続にタイムアウトしました。031"); }), null); return(false); } if (err != ErrCode.CMD_SUCCESS) { this.Dispatcher.BeginInvoke(new Action(() => { MessageBox.Show("情報の取得でエラーが発生しました。"); }), null); return(false); } } ICollectionView dataView = CollectionViewSource.GetDefaultView(listView_reserve.DataContext); if (dataView != null) { dataView.SortDescriptions.Clear(); dataView.Refresh(); } listView_reserve.DataContext = null; reserveList.Clear(); foreach (ReserveData info in CommonManager.Instance.DB.ReserveList.Values) { ReserveItem item = new ReserveItem(info); reserveList.Add(item); } listView_reserve.DataContext = reserveList; if (_lastHeaderClicked != null) { //string header = ((Binding)_lastHeaderClicked.DisplayMemberBinding).Path.Path; if (String.Compare(_lastHeaderClicked, "RecFileName") != 0) { Sort(_lastHeaderClicked, _lastDirection); } } else { bool sort = false; foreach (GridViewColumn info in gridView_reserve.Columns) { GridViewColumnHeader columnHeader = info.Header as GridViewColumnHeader; string header = columnHeader.Tag as string; if (String.Compare(header, Settings.Instance.ResColumnHead, true) == 0) { if (String.Compare(header, "RecFileName") != 0) { Sort(header, Settings.Instance.ResSortDirection); _lastHeaderClicked = header; _lastDirection = Settings.Instance.ResSortDirection; } sort = true; break; } } if (gridView_reserve.Columns.Count > 0 && sort == false) { GridViewColumnHeader columnHeader = gridView_reserve.Columns[0].Header as GridViewColumnHeader; string header = columnHeader.Tag as string; if (String.Compare(header, "RecFileName") != 0) { Sort(header, _lastDirection); _lastHeaderClicked = header; } } } } catch (Exception ex) { this.Dispatcher.BeginInvoke(new Action(() => { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); }), null); return(false); } // 枠線表示用 CommonManager.Instance.DB.ReloadEpgData(); return(true); }