Ejemplo n.º 1
0
        private void SelectMergedChannel(MergedChannel merged_channel)
        {
            int merged_channel_index = -1;

            for (int index = 0; index < merged_channels_.Count; ++index)
            {
                if (merged_channels_[index].StoredObjectGuid == merged_channel.StoredObjectGuid)
                {
                    merged_channel_index = index;
                    break;
                }
            }
            if (merged_channel_index >= 0)
            {
                MergedLineupGridView.ClearSelection();
                MergedLineupGridView.CurrentCell = MergedLineupGridView.Rows[merged_channel_index].Cells[0];
                foreach (DataGridViewCell cell in MergedLineupGridView.Rows[merged_channel_index].Cells)
                {
                    cell.Selected = true;
                }
                if (MergedLineupGridView.FirstDisplayedScrollingRowIndex > merged_channel_index)
                {
                    MergedLineupGridView.FirstDisplayedScrollingRowIndex = merged_channel_index;
                }
                else
                {
                    if (MergedLineupGridView.DisplayedRowCount(false) + MergedLineupGridView.FirstDisplayedScrollingRowIndex <= merged_channel_index)
                    {
                        MergedLineupGridView.FirstDisplayedScrollingRowIndex = merged_channel_index - MergedLineupGridView.DisplayedRowCount(false) + 1;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void MergedLineupGridView_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            Comparison <MergedChannel> old_sort = current_sort_;
            Comparison <MergedChannel> new_sort = null;
            MergedChannelGridColumn    column   = MergedChannelColumnToEnum(e.ColumnIndex);

            switch (column)
            {
            case MergedChannelGridColumn.Number:
            case MergedChannelGridColumn.SubNumber:
                new_sort = CompareChannelNumbers;
                break;

            case MergedChannelGridColumn.Listing:
                new_sort = CompareListing;
                break;

            case MergedChannelGridColumn.Type:
                new_sort = CompareChannelType;
                break;

            case MergedChannelGridColumn.TunerCount:
                new_sort = CompareTunerCount;
                break;

            case MergedChannelGridColumn.Visibility:
                new_sort = CompareVisibility;
                break;

            case MergedChannelGridColumn.UserBlockedState:
                new_sort = CompareUserBlockedState;
                break;

            case MergedChannelGridColumn.Encrypted:
                new_sort = CompareEncrypted;
                break;

            case MergedChannelGridColumn.HD:
                new_sort = CompareHD;
                break;

            case MergedChannelGridColumn.InBand:
                new_sort = CompareInBand;
                break;
            }
            if (new_sort == null)
            {
                return;
            }
            reverse_sort_ = (new_sort == old_sort) && !reverse_sort_;
            current_sort_ = new_sort;
            SortChannels();
            MergedLineupGridView.Invalidate();
        }
Ejemplo n.º 3
0
        private void SelectAndLoadLineup(MergedLineup lineup)
        {
            merged_lineup_ = lineup;
            Channel[] channels      = merged_lineup_.GetChannels();
            int       channel_count = channels.Length;

            merged_channels_ = new List <MergedChannel>();
            foreach (Channel ch in channels.Distinct())
            {
                merged_channels_.Add((MergedChannel)ch);
            }
            SortChannels();
            MergedLineupGridView.RowCount = merged_channels_.Count;
            MergedLineupGridView.Invalidate();
        }
Ejemplo n.º 4
0
        private void MergedLineupGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0 || e.RowIndex >= merged_channels_.Count)
            {
                return;
            }
            MergedChannel           ch     = merged_channels_[e.RowIndex];
            MergedChannelGridColumn column = MergedChannelColumnToEnum(e.ColumnIndex);

            switch (column)
            {
            case MergedChannelGridColumn.Listing:
                new ListingSelectionForm(ch).ShowDialog();
                MergedLineupGridView.InvalidateCell(e.ColumnIndex, e.RowIndex);
                break;

            case MergedChannelGridColumn.SourceChannels:
                new SourceChannelManagementForm(ch).ShowDialog();
                MergedLineupGridView.InvalidateRow(e.RowIndex);
                break;

            case MergedChannelGridColumn.HD:
                if (ch.Service != null)
                {
                    ch.Service.IsHDCapable = !ch.Service.IsHDCapable;
                    ch.Service.Update();
                    MergedLineupGridView.InvalidateColumn(e.ColumnIndex);
                }
                break;

            case MergedChannelGridColumn.InBand:
                ch.IgnoreInbandSchedule = !ch.IgnoreInbandSchedule;
                ch.Update();
                MergedLineupGridView.InvalidateCell(e.ColumnIndex, e.RowIndex);
                break;
            }
        }