feat: 更新选中 mod (#4832)
This commit is contained in:
@@ -229,12 +229,13 @@ public final class ModListPage extends ListPageBase<ModListPageSkin.ModInfoObjec
|
|||||||
FXUtils.openFolder(profile.getRepository().getRunDirectory(instanceId).resolve("mods"));
|
FXUtils.openFolder(profile.getRepository().getRunDirectory(instanceId).resolve("mods"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkUpdates() {
|
public void checkUpdates(Collection<LocalModFile> mods) {
|
||||||
|
Objects.requireNonNull(mods);
|
||||||
Runnable action = () -> Controllers.taskDialog(Task
|
Runnable action = () -> Controllers.taskDialog(Task
|
||||||
.composeAsync(() -> {
|
.composeAsync(() -> {
|
||||||
Optional<String> gameVersion = profile.getRepository().getGameVersion(instanceId);
|
Optional<String> gameVersion = profile.getRepository().getGameVersion(instanceId);
|
||||||
if (gameVersion.isPresent()) {
|
if (gameVersion.isPresent()) {
|
||||||
return new ModCheckUpdatesTask(gameVersion.get(), modManager.getMods());
|
return new ModCheckUpdatesTask(gameVersion.get(), mods);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -141,7 +141,13 @@ final class ModListPageSkin extends SkinBase<ModListPage> {
|
|||||||
createToolbarButton2(i18n("button.refresh"), SVG.REFRESH, skinnable::refresh),
|
createToolbarButton2(i18n("button.refresh"), SVG.REFRESH, skinnable::refresh),
|
||||||
createToolbarButton2(i18n("mods.add"), SVG.ADD, skinnable::add),
|
createToolbarButton2(i18n("mods.add"), SVG.ADD, skinnable::add),
|
||||||
createToolbarButton2(i18n("button.reveal_dir"), SVG.FOLDER_OPEN, skinnable::openModFolder),
|
createToolbarButton2(i18n("button.reveal_dir"), SVG.FOLDER_OPEN, skinnable::openModFolder),
|
||||||
createToolbarButton2(i18n("mods.check_updates.button"), SVG.UPDATE, skinnable::checkUpdates),
|
createToolbarButton2(i18n("mods.check_updates"), SVG.UPDATE, () ->
|
||||||
|
skinnable.checkUpdates(
|
||||||
|
listView.getItems().stream()
|
||||||
|
.map(ModInfoObject::getModInfo)
|
||||||
|
.toList()
|
||||||
|
)
|
||||||
|
),
|
||||||
createToolbarButton2(i18n("download"), SVG.DOWNLOAD, skinnable::download),
|
createToolbarButton2(i18n("download"), SVG.DOWNLOAD, skinnable::download),
|
||||||
createToolbarButton2(i18n("search"), SVG.SEARCH, () -> changeToolbar(searchBar))
|
createToolbarButton2(i18n("search"), SVG.SEARCH, () -> changeToolbar(searchBar))
|
||||||
);
|
);
|
||||||
@@ -157,6 +163,13 @@ final class ModListPageSkin extends SkinBase<ModListPage> {
|
|||||||
skinnable.enableSelected(listView.getSelectionModel().getSelectedItems())),
|
skinnable.enableSelected(listView.getSelectionModel().getSelectedItems())),
|
||||||
createToolbarButton2(i18n("mods.disable"), SVG.CLOSE, () ->
|
createToolbarButton2(i18n("mods.disable"), SVG.CLOSE, () ->
|
||||||
skinnable.disableSelected(listView.getSelectionModel().getSelectedItems())),
|
skinnable.disableSelected(listView.getSelectionModel().getSelectedItems())),
|
||||||
|
createToolbarButton2(i18n("mods.check_updates"), SVG.UPDATE, () ->
|
||||||
|
skinnable.checkUpdates(
|
||||||
|
listView.getSelectionModel().getSelectedItems().stream()
|
||||||
|
.map(ModInfoObject::getModInfo)
|
||||||
|
.toList()
|
||||||
|
)
|
||||||
|
),
|
||||||
createToolbarButton2(i18n("button.select_all"), SVG.SELECT_ALL, () ->
|
createToolbarButton2(i18n("button.select_all"), SVG.SELECT_ALL, () ->
|
||||||
listView.getSelectionModel().selectAll()),
|
listView.getSelectionModel().selectAll()),
|
||||||
createToolbarButton2(i18n("button.cancel"), SVG.CANCEL, () ->
|
createToolbarButton2(i18n("button.cancel"), SVG.CANCEL, () ->
|
||||||
|
|||||||
Reference in New Issue
Block a user