@@ -765,7 +765,12 @@ void FreeDVReporterDialog::OnFilterTrackingEnable(wxCommandEvent& event)
765
765
freq =
766
766
(FilterFrequency)wxGetApp ().appConfiguration .reportingConfiguration .freedvReporterBandFilter .get ();
767
767
}
768
-
768
+
769
+ // Force refresh of filters since the user expects this to happen immediately after changing a
770
+ // filter setting.
771
+ filteredFrequency_ = 0 ;
772
+ currentBandFilter_ = BAND_ALL;
773
+
769
774
setBandFilter (freq);
770
775
}
771
776
@@ -1044,18 +1049,22 @@ void FreeDVReporterDialog::refreshQSYButtonState()
1044
1049
1045
1050
void FreeDVReporterDialog::setBandFilter (FilterFrequency freq)
1046
1051
{
1047
- filteredFrequency_ = wxGetApp ().appConfiguration .reportingConfiguration .reportingFrequency ;
1048
- currentBandFilter_ = freq;
1052
+ if (filteredFrequency_ != wxGetApp ().appConfiguration .reportingConfiguration .reportingFrequency ||
1053
+ currentBandFilter_ != freq)
1054
+ {
1055
+ filteredFrequency_ = wxGetApp ().appConfiguration .reportingConfiguration .reportingFrequency ;
1056
+ currentBandFilter_ = freq;
1049
1057
1050
- // Update displayed list based on new filter criteria.
1051
- clearAllEntries_ (false );
1058
+ // Update displayed list based on new filter criteria.
1059
+ clearAllEntries_ (false );
1052
1060
1053
- std::map<int , int > colResizeList;
1054
- for (auto & kvp : allReporterData_)
1055
- {
1056
- addOrUpdateListIfNotFiltered_ (kvp.second , colResizeList);
1061
+ std::map<int , int > colResizeList;
1062
+ for (auto & kvp : allReporterData_)
1063
+ {
1064
+ addOrUpdateListIfNotFiltered_ (kvp.second , colResizeList);
1065
+ }
1066
+ resizeChangedColumns_ (colResizeList);
1057
1067
}
1058
- resizeChangedColumns_ (colResizeList);
1059
1068
}
1060
1069
1061
1070
void FreeDVReporterDialog::sortColumn_ (int col)
0 commit comments