Revert to direct Log QSO invocation rather than deferred for Fox logging

Deferring using a 0mS timer does not work for Fox logging as it may be
invoked  more  than   once  in  a  loop  when   multiple  streams  are
active.  This change  directly  calls the  logging member  function(s)
inside the message processing loop.

This change  was initially  made because  an unhelpful  database query
order along with a need to display the latest logged QSO at the bottom
of the  Fox log table view  was causing GUI unresponsiveness  when the
Fox log table had many rows.  The current implementation shows the Fox
log table view in descending time  order with the latest logged QSO at
the top  which avoids this  unresponsiveness issue (tested with  a Fox
log table with over 15,000 rows).
This commit is contained in:
Bill Somerville 2019-02-20 19:40:36 +00:00
parent 8a1ff9e1a3
commit fd7bca080a

View File

@ -8266,7 +8266,7 @@ list2Done:
{
writeFoxQSO (QString {" Log: %1 %2 %3 %4 %5"}.arg (m_hisCall).arg (m_hisGrid)
.arg (m_rptSent).arg (m_rptRcvd).arg (m_lastBand));
logQSOTimer.start(0);
on_logQSOButton_clicked ();
m_foxRateQueue.enqueue (now); //Add present time in seconds
//to Rate queue.
}