Fix #3997: 模组搜索返回结果为空时下载界面异常 (#3998)

This commit is contained in:
Burning_TNT 2025-06-14 21:15:32 +08:00 committed by Glavo
parent d624086594
commit 462eea3539

View File

@ -356,11 +356,12 @@ public class DownloadListPage extends Control implements DecoratorPage, VersionP
} }
currentFilterID.set(filterID.get()); currentFilterID.set(filterID.get());
int pageOffset = control.pageOffset.get();
getSkinnable().search(gameVersionField.getSelectionModel().getSelectedItem(), getSkinnable().search(gameVersionField.getSelectionModel().getSelectedItem(),
Optional.ofNullable(categoryComboBox.getSelectionModel().getSelectedItem()) Optional.ofNullable(categoryComboBox.getSelectionModel().getSelectedItem())
.map(CategoryIndented::getCategory) .map(CategoryIndented::getCategory)
.orElse(null), .orElse(null),
control.pageOffset.get(), pageOffset == -1 ? 0 : pageOffset,
nameField.getText(), nameField.getText(),
sortComboBox.getSelectionModel().getSelectedItem()); sortComboBox.getSelectionModel().getSelectedItem());
}; };
@ -432,13 +433,15 @@ public class DownloadListPage extends Control implements DecoratorPage, VersionP
int pageOffset = control.pageOffset.get(); int pageOffset = control.pageOffset.get();
int pageCount = control.pageCount.get(); int pageCount = control.pageCount.get();
boolean disablePrevious = pageOffset == 0; boolean disableAll = pageCount >= -1 && pageCount <= 1;
boolean disablePrevious = disableAll || pageOffset == 0;
firstPageButton.setDisable(disablePrevious); firstPageButton.setDisable(disablePrevious);
previousPageButton.setDisable(disablePrevious); previousPageButton.setDisable(disablePrevious);
boolean disableNext = pageOffset == pageCount - 1; boolean disableNext = disableAll || pageOffset == pageCount - 1;
nextPageButton.setDisable(disableNext); nextPageButton.setDisable(disableNext);
lastPageButton.setDisable(disableNext || pageCount == -1); lastPageButton.setDisable(disableNext);
}; };
FXUtils.onChange(control.pageCount, pageCountN -> { FXUtils.onChange(control.pageCount, pageCountN -> {