FreeDV Reporter: Force re-sorting on user connect. (#878)
* FreeDV Reporter: Force re-sorting on user connect. * Try unconditionally resorting on every pass through the timer. * Bump up RX input FIFO to 30s. Yes, I know this is pretty excessive. * Remove sortRequired_ since we're not using it anymore. * Default to sorting by frequency.pull/882/head
parent
e2a1bba010
commit
3084177af3
|
@ -50,7 +50,7 @@ FreeDVConfiguration::FreeDVConfiguration()
|
||||||
, reporterWindowWidth("/Windows/FreeDVReporter/width", -1)
|
, reporterWindowWidth("/Windows/FreeDVReporter/width", -1)
|
||||||
, reporterWindowHeight("/Windows/FreeDVReporter/height", -1)
|
, reporterWindowHeight("/Windows/FreeDVReporter/height", -1)
|
||||||
, reporterWindowVisible("/Windows/FreeDVReporter/visible", false)
|
, reporterWindowVisible("/Windows/FreeDVReporter/visible", false)
|
||||||
, reporterWindowCurrentSort("/Windows/FreeDVReporter/currentSort", -1)
|
, reporterWindowCurrentSort("/Windows/FreeDVReporter/currentSort", 5) /* FREQUENCY_COL */
|
||||||
, reporterWindowCurrentSortDirection("/Windows/FreeDVReporter/currentSortDirection", true)
|
, reporterWindowCurrentSortDirection("/Windows/FreeDVReporter/currentSortDirection", true)
|
||||||
|
|
||||||
/* Current tab view */
|
/* Current tab view */
|
||||||
|
|
|
@ -59,7 +59,6 @@ using namespace std::placeholders;
|
||||||
FreeDVReporterDialog::FreeDVReporterDialog(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
|
FreeDVReporterDialog::FreeDVReporterDialog(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
|
||||||
: wxFrame(parent, id, title, pos, size, style)
|
: wxFrame(parent, id, title, pos, size, style)
|
||||||
, tipWindow_(nullptr)
|
, tipWindow_(nullptr)
|
||||||
, sortRequired_(false)
|
|
||||||
{
|
{
|
||||||
if (wxGetApp().customConfigFileName != "")
|
if (wxGetApp().customConfigFileName != "")
|
||||||
{
|
{
|
||||||
|
@ -791,12 +790,7 @@ void FreeDVReporterDialog::OnTimer(wxTimerEvent& event)
|
||||||
{
|
{
|
||||||
FreeDVReporterDataModel* model = (FreeDVReporterDataModel*)spotsDataModel_.get();
|
FreeDVReporterDataModel* model = (FreeDVReporterDataModel*)spotsDataModel_.get();
|
||||||
model->updateHighlights();
|
model->updateHighlights();
|
||||||
|
model->Resort();
|
||||||
if (sortRequired_)
|
|
||||||
{
|
|
||||||
model->Resort();
|
|
||||||
sortRequired_ = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FreeDVReporterDialog::OnFilterTrackingEnable(wxCommandEvent& event)
|
void FreeDVReporterDialog::OnFilterTrackingEnable(wxCommandEvent& event)
|
||||||
|
@ -1861,7 +1855,6 @@ void FreeDVReporterDialog::FreeDVReporterDataModel::refreshAllRows()
|
||||||
else if (updated && kvp.second->isVisible)
|
else if (updated && kvp.second->isVisible)
|
||||||
{
|
{
|
||||||
ItemChanged(wxDataViewItem(kvp.second));
|
ItemChanged(wxDataViewItem(kvp.second));
|
||||||
parent_->sortRequired_ = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2108,9 +2101,6 @@ void FreeDVReporterDialog::FreeDVReporterDataModel::onFrequencyChangeFn_(std::st
|
||||||
else if (newVisibility)
|
else if (newVisibility)
|
||||||
{
|
{
|
||||||
ItemChanged(dvi);
|
ItemChanged(dvi);
|
||||||
parent_->sortRequired_ =
|
|
||||||
parent_->m_listSpots->GetColumn(FREQUENCY_COL)->IsSortKey() ||
|
|
||||||
parent_->m_listSpots->GetColumn(LAST_UPDATE_DATE_COL)->IsSortKey();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -2151,10 +2141,6 @@ void FreeDVReporterDialog::FreeDVReporterDataModel::onTransmitUpdateFn_(std::str
|
||||||
{
|
{
|
||||||
wxDataViewItem dvi(iter->second);
|
wxDataViewItem dvi(iter->second);
|
||||||
ItemChanged(dvi);
|
ItemChanged(dvi);
|
||||||
parent_->sortRequired_ =
|
|
||||||
parent_->m_listSpots->GetColumn(STATUS_COL)->IsSortKey() ||
|
|
||||||
parent_->m_listSpots->GetColumn(TX_MODE_COL)->IsSortKey() ||
|
|
||||||
parent_->m_listSpots->GetColumn(LAST_UPDATE_DATE_COL)->IsSortKey();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -2196,11 +2182,6 @@ void FreeDVReporterDialog::FreeDVReporterDataModel::onReceiveUpdateFn_(std::stri
|
||||||
{
|
{
|
||||||
wxDataViewItem dvi(iter->second);
|
wxDataViewItem dvi(iter->second);
|
||||||
ItemChanged(dvi);
|
ItemChanged(dvi);
|
||||||
parent_->sortRequired_ =
|
|
||||||
parent_->m_listSpots->GetColumn(LAST_RX_CALLSIGN_COL)->IsSortKey() ||
|
|
||||||
parent_->m_listSpots->GetColumn(LAST_RX_MODE_COL)->IsSortKey() ||
|
|
||||||
parent_->m_listSpots->GetColumn(SNR_COL)->IsSortKey() ||
|
|
||||||
parent_->m_listSpots->GetColumn(LAST_UPDATE_DATE_COL)->IsSortKey();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -2247,9 +2228,6 @@ void FreeDVReporterDialog::FreeDVReporterDataModel::onMessageUpdateFn_(std::stri
|
||||||
{
|
{
|
||||||
wxDataViewItem dvi(iter->second);
|
wxDataViewItem dvi(iter->second);
|
||||||
ItemChanged(dvi);
|
ItemChanged(dvi);
|
||||||
parent_->sortRequired_ =
|
|
||||||
parent_->m_listSpots->GetColumn(USER_MESSAGE_COL)->IsSortKey() ||
|
|
||||||
parent_->m_listSpots->GetColumn(LAST_UPDATE_DATE_COL)->IsSortKey();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -289,7 +289,6 @@ class FreeDVReporterDialog : public wxFrame
|
||||||
};
|
};
|
||||||
|
|
||||||
FilterFrequency getFilterForFrequency_(uint64_t freq);
|
FilterFrequency getFilterForFrequency_(uint64_t freq);
|
||||||
bool sortRequired_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // __FREEDV_REPORTER_DIALOG__
|
#endif // __FREEDV_REPORTER_DIALOG__
|
||||||
|
|
|
@ -3157,7 +3157,7 @@ void MainFrame::startRxStream()
|
||||||
// FIFO sizes, which isn't recommended for real-time operation), we will
|
// FIFO sizes, which isn't recommended for real-time operation), we will
|
||||||
// definitely lose audio.
|
// definitely lose audio.
|
||||||
int m_fifoSize_ms = wxGetApp().appConfiguration.fifoSizeMs;
|
int m_fifoSize_ms = wxGetApp().appConfiguration.fifoSizeMs;
|
||||||
int soundCard1InFifoSizeSamples = 10 * wxGetApp().appConfiguration.audioConfiguration.soundCard1In.sampleRate;
|
int soundCard1InFifoSizeSamples = 30 * wxGetApp().appConfiguration.audioConfiguration.soundCard1In.sampleRate;
|
||||||
int soundCard1OutFifoSizeSamples = m_fifoSize_ms*wxGetApp().appConfiguration.audioConfiguration.soundCard1Out.sampleRate / 1000;
|
int soundCard1OutFifoSizeSamples = m_fifoSize_ms*wxGetApp().appConfiguration.audioConfiguration.soundCard1Out.sampleRate / 1000;
|
||||||
|
|
||||||
if (txInSoundDevice && txOutSoundDevice)
|
if (txInSoundDevice && txOutSoundDevice)
|
||||||
|
|
Loading…
Reference in New Issue