private void ScannedLineupGridView_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) { if (e.RowIndex < 0 || e.RowIndex >= scanned_channels_.Count) { return; } Channel ch = scanned_channels_[e.RowIndex]; ScannedGridColumn column = ScannedColumnToEnum(e.ColumnIndex); switch (column) { case ScannedGridColumn.Type: try { ChannelType channel_type = (ChannelType)Enum.Parse(typeof(ChannelType), e.FormattedValue.ToString()); if (ch.ChannelType == channel_type) { return; } ch.ChannelType = channel_type; ch.Update(); } catch { e.Cancel = true; } break; } }
private void ScannedLineupGridView_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0 || e.RowIndex >= scanned_channels_.Count) { return; } Channel ch = scanned_channels_[e.RowIndex]; ScannedGridColumn column = ScannedColumnToEnum(e.ColumnIndex); switch (column) { case ScannedGridColumn.Listing: new ListingSelectionForm(ch).ShowDialog(); ScannedLineupGridView.InvalidateCell(e.ColumnIndex, e.RowIndex); break; case ScannedGridColumn.Remove: try { ChannelEditing.DeleteChannel(ch); } catch (Exception exc) { new ErrorReporter.ErrorReportingForm("Exception occured when attempting to remove channel.", exc); } SelectAndLoadScannedLineup(scanned_lineup_); break; } }
private void ScannedLineupGridView_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e) { if (e.RowIndex < 0 || e.RowIndex >= scanned_channels_.Count) { return; } Channel ch = scanned_channels_[e.RowIndex]; ScannedGridColumn column = ScannedColumnToEnum(e.ColumnIndex); switch (column) { case ScannedGridColumn.Logo: try { e.Value = GetChannelLogo(ch); } catch { e.Value = new Bitmap(5, 5); } break; case ScannedGridColumn.Number: e.Value = ch.DisplayChannelNumber; break; case ScannedGridColumn.Listing: e.Value = ch.Service.Name + ":" + ch.Service.Provider.Name; break; case ScannedGridColumn.Type: e.Value = ch.ChannelType.ToString(); break; case ScannedGridColumn.TunerCount: e.Value = ChannelEditing.GetTunerCount(ch); break; case ScannedGridColumn.Encrypted: e.Value = IsScannedEncrypted(ch); break; case ScannedGridColumn.TuningParams: if (ch.TuningInfos != null && !ch.TuningInfos.Empty) { e.Value = ChannelEditing.GetTuningParamsAsString(ch.TuningInfos.First); } else { e.Value = "No tuning infos"; } break; case ScannedGridColumn.Callsign: e.Value = ch.CallSign; break; } }
private void ScannedLineupGridView_CellValuePushed(object sender, DataGridViewCellValueEventArgs e) { if (e.RowIndex < 0 || e.RowIndex >= scanned_channels_.Count) { return; } Channel ch = scanned_channels_[e.RowIndex]; ScannedGridColumn column = ScannedColumnToEnum(e.ColumnIndex); switch (column) { case ScannedGridColumn.Callsign: ch.CallSign = e.Value.ToString(); ch.Update(); break; } }
private void ScannedLineupGridView_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { Comparison <Channel> old_sort = current_scanned_sort_; Comparison <Channel> new_sort = null; ScannedGridColumn column = ScannedColumnToEnum(e.ColumnIndex); switch (column) { case ScannedGridColumn.Number: new_sort = CompareChannelNumbers; break; case ScannedGridColumn.Listing: new_sort = CompareListing; break; case ScannedGridColumn.Type: new_sort = CompareChannelType; break; case ScannedGridColumn.TunerCount: new_sort = CompareTunerCount; break; case ScannedGridColumn.Encrypted: new_sort = CompareScannedEncrypted; break; case ScannedGridColumn.TuningParams: new_sort = CompareTuningParams; break; case ScannedGridColumn.Callsign: new_sort = CompareCallsigns; break; } if (new_sort == null) { return; } reverse_scanned_sort_ = (new_sort == old_sort) && !reverse_scanned_sort_; current_scanned_sort_ = new_sort; SortScannedChannels(); ScannedLineupGridView.Invalidate(); }