Propertly clear the edit widget. Properly space messages in the rx window

This commit is contained in:
Jordan Sherer 2018-07-06 18:25:27 -04:00
parent 27b45a26d9
commit f58ce3aec0
2 changed files with 31 additions and 18 deletions

View File

@ -213,6 +213,15 @@ namespace
return QString {}; return QString {};
} }
void clearTableWidget(QTableWidget *widget){
if(!widget){
return;
}
for(int i = widget->rowCount(); i >= 0; i--){
widget->removeRow(i);
}
}
} }
//--------------------------------------------------- MainWindow constructor //--------------------------------------------------- MainWindow constructor
@ -3061,6 +3070,7 @@ void MainWindow::readFromStdout() //readFromStdout
} }
ActivityDetail d; ActivityDetail d;
d.isFree = !decodedtext.isStandardMessage();
d.firstCall = decodedtext.CQersCall(); d.firstCall = decodedtext.CQersCall();
if(d.firstCall.isEmpty()){ if(d.firstCall.isEmpty()){
auto words = decodedtext.messageWords(); auto words = decodedtext.messageWords();
@ -3141,6 +3151,7 @@ void MainWindow::readFromStdout() //readFromStdout
// TODO: jsherer - parse decode... // TODO: jsherer - parse decode...
RXDetail d; RXDetail d;
d.isFree = !decodedtext.isStandardMessage();
d.freq = audioFreq; d.freq = audioFreq;
d.text = decodedtext.messageWords().first(); d.text = decodedtext.messageWords().first();
d.utcTimestamp = QDateTime::currentDateTimeUtc(); d.utcTimestamp = QDateTime::currentDateTimeUtc();
@ -5057,12 +5068,16 @@ void MainWindow::clearActivity(){
m_rxFrameBlockNumbers.clear(); m_rxFrameBlockNumbers.clear();
m_rxFrameQueue.clear(); m_rxFrameQueue.clear();
ui->tableWidgetCalls->clear();
ui->tableWidgetRXAll->clear(); clearTableWidget(ui->tableWidgetCalls);
clearTableWidget(ui->tableWidgetRXAll);
ui->textEditRX->clear();
ui->freeTextMsg->clear();
ui->extFreeTextMsg->clear(); ui->extFreeTextMsg->clear();
} }
int MainWindow::logRxTxMessageText(QDateTime date, QString text, int freq, bool tx, int block){ int MainWindow::logRxTxMessageText(QDateTime date, bool isFree, QString text, int freq, bool tx, int block){
auto c = ui->textEditRX->textCursor(); auto c = ui->textEditRX->textCursor();
bool found = false; bool found = false;
@ -5083,6 +5098,9 @@ int MainWindow::logRxTxMessageText(QDateTime date, QString text, int freq, bool
} }
if(found){ if(found){
if(!isFree){
c.insertText(" ");
}
c.insertHtml(text); c.insertHtml(text);
} else { } else {
c.insertHtml(QString("<strong>%1 - (%2)</strong> - %3").arg(date.time().toString()).arg(freq).arg(text)); c.insertHtml(QString("<strong>%1 - (%2)</strong> - %3").arg(date.time().toString()).arg(freq).arg(text));
@ -5138,7 +5156,7 @@ void MainWindow::createMessage(QString const& text){
// TODO: jsherer - ew // TODO: jsherer - ew
int freq = ui->TxFreqSpinBox->value(); int freq = ui->TxFreqSpinBox->value();
logRxTxMessageText(QDateTime::currentDateTimeUtc(), text, freq, true); logRxTxMessageText(QDateTime::currentDateTimeUtc(), false, text, freq, true);
} }
void MainWindow::createMessageTransmitQueue(QString const& text){ void MainWindow::createMessageTransmitQueue(QString const& text){
@ -6476,17 +6494,13 @@ void MainWindow::on_clearAction_triggered(QObject * sender){
// TODO: jsherer - abstract this into a tableWidgetRXAllReset function // TODO: jsherer - abstract this into a tableWidgetRXAllReset function
if(sender == ui->tableWidgetRXAll){ if(sender == ui->tableWidgetRXAll){
m_bandActivity.clear(); m_bandActivity.clear();
for(int i = ui->tableWidgetRXAll->rowCount(); i >= 0; i--){ clearTableWidget(ui->tableWidgetRXAll);
ui->tableWidgetRXAll->removeRow(i);
}
} }
// TODO: jsherer - abstract this into a tableWidgetCallsReset function // TODO: jsherer - abstract this into a tableWidgetCallsReset function
if(sender == ui->tableWidgetCalls){ if(sender == ui->tableWidgetCalls){
m_callActivity.clear(); m_callActivity.clear();
for(int i = ui->tableWidgetCalls->rowCount(); i >= 0; i--){ clearTableWidget((ui->tableWidgetCalls));
ui->tableWidgetCalls->removeRow(i);
}
//ui->tableWidgetCalls->insertRow(ui->tableWidgetCalls->rowCount()); //ui->tableWidgetCalls->insertRow(ui->tableWidgetCalls->rowCount());
//ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 0, new QTableWidgetItem("allcall")); //ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 0, new QTableWidgetItem("allcall"));
} }
@ -7516,9 +7530,7 @@ void MainWindow::postDecode (bool is_new, QString const& message)
selectedOffset = selectedItems.first()->text().toInt(); selectedOffset = selectedItems.first()->text().toInt();
} }
auto now = QDateTime::currentDateTimeUtc(); auto now = QDateTime::currentDateTimeUtc();
for(int i = ui->tableWidgetRXAll->rowCount(); i >= 0; i--){ clearTableWidget(ui->tableWidgetRXAll);
ui->tableWidgetRXAll->removeRow(i);
}
QList<int> keys = m_bandActivity.keys(); QList<int> keys = m_bandActivity.keys();
qSort(keys.begin(), keys.end()); qSort(keys.begin(), keys.end());
foreach (int offset, keys) { foreach (int offset, keys) {
@ -7588,9 +7600,8 @@ void MainWindow::postDecode (bool is_new, QString const& message)
if(!selectedCalls.isEmpty()){ if(!selectedCalls.isEmpty()){
selectedCall = selectedCalls.first()->text(); selectedCall = selectedCalls.first()->text();
} }
for(int i = ui->tableWidgetCalls->rowCount(); i >= 0; i--){
ui->tableWidgetCalls->removeRow(i); clearTableWidget(ui->tableWidgetCalls);
}
//ui->tableWidgetCalls->insertRow(ui->tableWidgetCalls->rowCount()); //ui->tableWidgetCalls->insertRow(ui->tableWidgetCalls->rowCount());
//ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 0, new QTableWidgetItem("allcall")); //ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 0, new QTableWidgetItem("allcall"));
@ -7617,7 +7628,7 @@ void MainWindow::postDecode (bool is_new, QString const& message)
int freq = d.freq/10*10; int freq = d.freq/10*10;
int block = m_rxFrameBlockNumbers.contains(freq) ? m_rxFrameBlockNumbers[freq] : -1; int block = m_rxFrameBlockNumbers.contains(freq) ? m_rxFrameBlockNumbers[freq] : -1;
block = logRxTxMessageText(d.utcTimestamp, d.text, d.freq, false, block=block); block = logRxTxMessageText(d.utcTimestamp, d.isFree, d.text, d.freq, false, block);
m_rxFrameBlockNumbers[freq] = block; m_rxFrameBlockNumbers[freq] = block;
} }
} }

View File

@ -120,7 +120,7 @@ public slots:
void fastPick(int x0, int x1, int y); void fastPick(int x0, int x1, int y);
void clearActivity(); void clearActivity();
int logRxTxMessageText(QDateTime date, QString text, int freq, bool tx, int block=-1); int logRxTxMessageText(QDateTime date, bool isFree, QString text, int freq, bool tx, int block=-1);
void addMessageText(QString text); void addMessageText(QString text);
void resetMessage(); void resetMessage();
void resetMessageUI(); void resetMessageUI();
@ -637,6 +637,7 @@ private:
struct ActivityDetail struct ActivityDetail
{ {
bool isFree;
QString firstCall; QString firstCall;
QString secondCall; QString secondCall;
int freq; int freq;
@ -647,6 +648,7 @@ private:
struct RXDetail struct RXDetail
{ {
bool isFree;
int freq; int freq;
QString text; QString text;
QDateTime utcTimestamp; QDateTime utcTimestamp;