Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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;
            }
        }
Beispiel #3
0
        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;
            }
        }
Beispiel #4
0
        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;
            }
        }
Beispiel #5
0
        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();
        }