[vcs-log] apply filters immediately

This commit is contained in:
Julia Beliaeva
2016-11-04 23:32:19 +03:00
parent acdbef3aed
commit f08fa7d664
2 changed files with 3 additions and 4 deletions
@@ -255,8 +255,7 @@ public class VcsLogUiImpl implements VcsLogUi, Disposable {
return myColorManager;
}
public void applyFiltersAndUpdateUi() {
VcsLogFilterCollection filters = myMainFrame.getFilterUi().getFilters();
public void applyFiltersAndUpdateUi(@NotNull VcsLogFilterCollection filters) {
myFilterer.onFiltersChange(filters);
}
@@ -88,14 +88,14 @@ public class VcsLogClassicFilterUi implements VcsLogFilterUi {
myTextFilterModel = new TextFilterModel(dataPackGetter, myUiProperties);
updateUiOnFilterChange();
ApplicationManager.getApplication().invokeLater(myUi::applyFiltersAndUpdateUi);
myUi.applyFiltersAndUpdateUi(getFilters());
}
private void updateUiOnFilterChange() {
FilterModel[] models = {myBranchFilterModel, myUserFilterModel, myDateFilterModel, myStructureFilterModel, myTextFilterModel};
for (FilterModel<?> model : models) {
model.addSetFilterListener(() -> {
myUi.applyFiltersAndUpdateUi();
myUi.applyFiltersAndUpdateUi(getFilters());
myBranchFilterModel
.onStructureFilterChanged(new HashSet<>(myLogData.getRoots()), myStructureFilterModel.getFilter());
});