Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update guided installer abstraction and FOMOD installer #541

Merged
merged 19 commits into from
Aug 17, 2023

Conversation

erri120
Copy link
Member

@erri120 erri120 commented Aug 9, 2023

Followup on #532 and part 2 of #316. Blocked by #540 and #542.

Fixes #544.

Changes:

  • Complete rework of IOptionSelector. We now have the IGuidedInstaller interface and more internal types that aren't directly related to FOMODs.
  • The CLI installer received massive changes and needs to be tested before merging.
  • Contains a new project NexusMods.Games.FOMOD.UI that isn't complete yet, but will be worked on in the next PR.

Originally, I wanted to implement the required ViewModels for the FOMOD UI. However, I had to rework some of our existing FOMOD code because the API of the library we're using is pretty bad.

@erri120 erri120 self-assigned this Aug 9, 2023
@erri120 erri120 added this to the v0.2 milestone Aug 9, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Aug 9, 2023

This PR conflicts with main. You need to rebase the PR before it can be merged.

@github-actions
Copy link
Contributor

This PR doesn't conflict with main anymore. It can be merged after all status checks have passed and it has been reviewed.

@erri120 erri120 marked this pull request as ready for review August 14, 2023 08:07
@erri120 erri120 requested a review from a team August 14, 2023 08:07
@Al12rs
Copy link
Contributor

Al12rs commented Aug 14, 2023

I tested installing a mod from CLI locally, and I found that the experience was rather confusing.

Would it be possible to print a description of the expected operation that the user needs to take depending on the type of option group? (ExactlyOne, AtMostOne, AtLeastOne, Any)

Like: "Select at least one of the following options"

@erri120
Copy link
Member Author

erri120 commented Aug 14, 2023

I tested installing a mod from CLI locally, and I found that the experience was rather confusing.

Would it be possible to print a description of the expected operation that the user needs to take depending on the type of option group? (ExactlyOne, AtMostOne, AtLeastOne, Any)

Like: "Select at least one of the following options"

The CLI shouldn't be different from main. I did change the internal logic and adapted the code to the new system, but the presentation and usage should be the same.

@Al12rs
Copy link
Contributor

Al12rs commented Aug 14, 2023

Also the installer shows "Back" instead of "Next" I think:
image

@erri120
Copy link
Member Author

erri120 commented Aug 14, 2023

Also the installer shows "Back" instead of "Next" I think: image

Always has been

private const string ReturnInput = "x";
private static readonly string[] TableOfOptionsHeaders = { "Key", "State", "Name", "Description" };
private static readonly object[] TableOfOptionsFooter = { ReturnInput, "", "Back", "" };
private static readonly string[] TableOfGroupsHeaders = { "Key", "Group" };
private static readonly object[] TableOfGroupsFooter = { ReturnInput, "Continue" };

@github-actions
Copy link
Contributor

This PR conflicts with main. You need to rebase the PR before it can be merged.

@github-actions
Copy link
Contributor

This PR doesn't conflict with main anymore. It can be merged after all status checks have passed and it has been reviewed.

@erri120 erri120 requested a review from Al12rs August 15, 2023 13:24
@halgari halgari merged commit b4ba0fb into Nexus-Mods:main Aug 17, 2023
3 of 5 checks passed
@erri120 erri120 deleted the issue-316-part-2 branch September 3, 2023 10:51
@erri120 erri120 mentioned this pull request Sep 7, 2023
77 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants