Fix selecting X/26 triplets by keyboard

This commit is contained in:
G.K.MacGregor
2022-05-01 16:49:23 +01:00
parent 73c1b482e2
commit 1302205911
2 changed files with 8 additions and 6 deletions

View File

@@ -629,7 +629,7 @@ X26DockWidget::X26DockWidget(TeletextWidget *parent): QDockWidget(parent)
m_x26View->setContextMenuPolicy(Qt::CustomContextMenu); m_x26View->setContextMenuPolicy(Qt::CustomContextMenu);
connect(m_x26View, &QWidget::customContextMenuRequested, this, &X26DockWidget::customMenuRequested); connect(m_x26View, &QWidget::customContextMenuRequested, this, &X26DockWidget::customMenuRequested);
connect(m_x26View, &QAbstractItemView::clicked, this, &X26DockWidget::rowClicked); connect(m_x26View->selectionModel(), &QItemSelectionModel::currentRowChanged, this, &X26DockWidget::rowSelected);
} }
void X26DockWidget::keyPressEvent(QKeyEvent *event) void X26DockWidget::keyPressEvent(QKeyEvent *event)
@@ -654,7 +654,7 @@ void X26DockWidget::selectX26ListRow(int row)
row = m_x26Model->rowCount() - 1; row = m_x26Model->rowCount() - 1;
m_x26View->selectRow(row); m_x26View->selectRow(row);
rowClicked(m_x26View->currentIndex()); rowSelected(m_x26View->currentIndex(), QModelIndex());
} }
void X26DockWidget::loadX26List() void X26DockWidget::loadX26List()
@@ -670,10 +670,12 @@ void X26DockWidget::unloadX26List()
m_rawTripletModeSpinBox->setEnabled(false); m_rawTripletModeSpinBox->setEnabled(false);
} }
void X26DockWidget::rowClicked(const QModelIndex &index) void X26DockWidget::rowSelected(const QModelIndex &current, const QModelIndex &previous)
{ {
updateAllRawTripletSpinBoxes(index); Q_UNUSED(previous);
updateAllCookedTripletWidgets(index);
updateAllRawTripletSpinBoxes(current);
updateAllCookedTripletWidgets(current);
} }
void X26DockWidget::updateAllCookedTripletWidgets(const QModelIndex &index) void X26DockWidget::updateAllCookedTripletWidgets(const QModelIndex &index)

View File

@@ -67,7 +67,7 @@ public slots:
void customMenuRequested(QPoint pos); void customMenuRequested(QPoint pos);
void loadX26List(); void loadX26List();
void unloadX26List(); void unloadX26List();
void rowClicked(const QModelIndex &); void rowSelected(const QModelIndex &, const QModelIndex &);
void updateAllRawTripletSpinBoxes(const QModelIndex &); void updateAllRawTripletSpinBoxes(const QModelIndex &);
void updateRawTripletDataSpinBox(const QModelIndex &); void updateRawTripletDataSpinBox(const QModelIndex &);
void updateAllCookedTripletWidgets(const QModelIndex &); void updateAllCookedTripletWidgets(const QModelIndex &);