Fixed scrolling bug for band activity and call activity lists
This commit is contained in:
		
							parent
							
								
									64022c18b6
								
							
						
					
					
						commit
						e5347eb4b6
					
				| @ -9548,18 +9548,19 @@ void MainWindow::displayBandActivity() { | ||||
|                 } | ||||
| 
 | ||||
|                 ui->tableWidgetRXAll->insertRow(ui->tableWidgetRXAll->rowCount()); | ||||
|                 int row = ui->tableWidgetRXAll->rowCount() - 1; | ||||
| 
 | ||||
|                 auto offsetItem = new QTableWidgetItem(QString("%1").arg(offset)); | ||||
|                 offsetItem->setData(Qt::UserRole, QVariant(offset)); | ||||
|                 ui->tableWidgetRXAll->setItem(ui->tableWidgetRXAll->rowCount() - 1, 0, offsetItem); | ||||
|                 ui->tableWidgetRXAll->setItem(row, 0, offsetItem); | ||||
| 
 | ||||
|                 auto ageItem = new QTableWidgetItem(QString("(%1)").arg(age)); | ||||
|                 ageItem->setTextAlignment(Qt::AlignCenter | Qt::AlignVCenter); | ||||
|                 ui->tableWidgetRXAll->setItem(ui->tableWidgetRXAll->rowCount() - 1, 1, ageItem); | ||||
|                 ui->tableWidgetRXAll->setItem(row, 1, ageItem); | ||||
| 
 | ||||
|                 auto snrItem = new QTableWidgetItem(QString("%1").arg(Varicode::formatSNR(snr))); | ||||
|                 snrItem->setTextAlignment(Qt::AlignCenter | Qt::AlignVCenter); | ||||
|                 ui->tableWidgetRXAll->setItem(ui->tableWidgetRXAll->rowCount() - 1, 2, snrItem); | ||||
|                 ui->tableWidgetRXAll->setItem(row, 2, snrItem); | ||||
| 
 | ||||
|                 // align right if eliding...
 | ||||
|                 int colWidth = ui->tableWidgetRXAll->columnWidth(3); | ||||
| @ -9590,10 +9591,12 @@ void MainWindow::displayBandActivity() { | ||||
|                     textItem->setBackground(QBrush(m_config.color_MyCall())); | ||||
|                 } | ||||
| 
 | ||||
|                 ui->tableWidgetRXAll->setItem(ui->tableWidgetRXAll->rowCount() - 1, 3, textItem); | ||||
|                 ui->tableWidgetRXAll->setItem(row, 3, textItem); | ||||
| 
 | ||||
|                 if (offset == selectedOffset) { | ||||
|                     ui->tableWidgetRXAll->selectRow(ui->tableWidgetRXAll->rowCount() - 1); | ||||
|                     for(int i = 0; i < ui->tableWidgetRXAll->columnCount(); i++){ | ||||
|                         ui->tableWidgetRXAll->item(row, i)->setSelected(true); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| @ -9615,10 +9618,10 @@ void MainWindow::displayCallActivity() { | ||||
|     // Selected callsign
 | ||||
|     QString selectedCall = callsignSelected(); | ||||
| 
 | ||||
|     auto currentScrollPos = ui->tableWidgetCalls->verticalScrollBar()->value(); | ||||
| 
 | ||||
|     ui->tableWidgetCalls->setUpdatesEnabled(false); | ||||
|     { | ||||
|         auto currentScrollPos = ui->tableWidgetCalls->verticalScrollBar()->value(); | ||||
| 
 | ||||
|         // Clear the table
 | ||||
|         clearTableWidget(ui->tableWidgetCalls); | ||||
| 
 | ||||
| @ -9709,22 +9712,25 @@ void MainWindow::displayCallActivity() { | ||||
|             } | ||||
| 
 | ||||
|             ui->tableWidgetCalls->insertRow(ui->tableWidgetCalls->rowCount()); | ||||
|             int row = ui->tableWidgetCalls->rowCount() - 1; | ||||
| 
 | ||||
|             QString displayCall = d.through.isEmpty() ? d.call : QString("%1 | %2").arg(d.through).arg(d.call); | ||||
|             auto displayItem = new QTableWidgetItem(displayCall); | ||||
|             displayItem->setData(Qt::UserRole, QVariant((d.call))); | ||||
|             ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 0, displayItem); | ||||
|             ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 1, new QTableWidgetItem(QString("(%1)").arg(since(d.utcTimestamp)))); | ||||
|             ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 2, new QTableWidgetItem(QString("%1").arg(d.freq))); | ||||
|             ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 3, new QTableWidgetItem(QString("%1").arg(Varicode::formatSNR(d.snr)))); | ||||
|             ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 4, new QTableWidgetItem(QString("%1").arg(d.grid))); | ||||
|             ui->tableWidgetCalls->setItem(row, 0, displayItem); | ||||
|             ui->tableWidgetCalls->setItem(row, 1, new QTableWidgetItem(QString("(%1)").arg(since(d.utcTimestamp)))); | ||||
|             ui->tableWidgetCalls->setItem(row, 2, new QTableWidgetItem(QString("%1").arg(d.freq))); | ||||
|             ui->tableWidgetCalls->setItem(row, 3, new QTableWidgetItem(QString("%1").arg(Varicode::formatSNR(d.snr)))); | ||||
|             ui->tableWidgetCalls->setItem(row, 4, new QTableWidgetItem(QString("%1").arg(d.grid))); | ||||
| 
 | ||||
|             auto distanceItem = new QTableWidgetItem(calculateDistance(d.grid)); | ||||
|             distanceItem->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); | ||||
|             ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 5, distanceItem); | ||||
| 
 | ||||
|             if (call == selectedCall) { | ||||
|                 ui->tableWidgetCalls->selectRow(ui->tableWidgetCalls->rowCount() - 1); | ||||
|                 for(int i = 0; i < ui->tableWidgetCalls->columnCount(); i++){ | ||||
|                     ui->tableWidgetCalls->item(row, i)->setSelected(true); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Jordan Sherer
						Jordan Sherer