From 462eea3539e27fa460b9529ab329f814597b3423 Mon Sep 17 00:00:00 2001 From: Burning_TNT Date: Sat, 14 Jun 2025 21:15:32 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20#3997:=20=E6=A8=A1=E7=BB=84=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E8=BF=94=E5=9B=9E=E7=BB=93=E6=9E=9C=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E6=97=B6=E4=B8=8B=E8=BD=BD=E7=95=8C=E9=9D=A2=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=20(#3998)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jackhuang/hmcl/ui/versions/DownloadListPage.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DownloadListPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DownloadListPage.java index b53b6a1db..aefea6524 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DownloadListPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DownloadListPage.java @@ -356,11 +356,12 @@ public class DownloadListPage extends Control implements DecoratorPage, VersionP } currentFilterID.set(filterID.get()); + int pageOffset = control.pageOffset.get(); getSkinnable().search(gameVersionField.getSelectionModel().getSelectedItem(), Optional.ofNullable(categoryComboBox.getSelectionModel().getSelectedItem()) .map(CategoryIndented::getCategory) .orElse(null), - control.pageOffset.get(), + pageOffset == -1 ? 0 : pageOffset, nameField.getText(), sortComboBox.getSelectionModel().getSelectedItem()); }; @@ -432,13 +433,15 @@ public class DownloadListPage extends Control implements DecoratorPage, VersionP int pageOffset = control.pageOffset.get(); int pageCount = control.pageCount.get(); - boolean disablePrevious = pageOffset == 0; + boolean disableAll = pageCount >= -1 && pageCount <= 1; + + boolean disablePrevious = disableAll || pageOffset == 0; firstPageButton.setDisable(disablePrevious); previousPageButton.setDisable(disablePrevious); - boolean disableNext = pageOffset == pageCount - 1; + boolean disableNext = disableAll || pageOffset == pageCount - 1; nextPageButton.setDisable(disableNext); - lastPageButton.setDisable(disableNext || pageCount == -1); + lastPageButton.setDisable(disableNext); }; FXUtils.onChange(control.pageCount, pageCountN -> {