ThibautSF / ParadoxosModManager

Software to manage mods for recent Paradox games
37 stars 6 forks source link

More efficient UX #2

Open NicolasGrosjean opened 7 years ago

NicolasGrosjean commented 7 years ago

The application starts by asking for which Paradox game is the configuration. But the users don't play all the time with all the games. Besides they don't necessary have all.

What we can imagine

ThibautSF commented 7 years ago

I imagine (a bit like the nexus mod manager) :

NicolasGrosjean commented 7 years ago

I didn't know the https://github.com/Nexus-Mods/Nexus-Mod-Manager. Unfortunate it is developed in C#.

I agree with your ideas.

ThibautSF commented 7 years ago

First window (i choose to always be able to choose my game) : image

And the second window : image I can select another game or with "Change Default Game" (don't think the name is very good) go to the first window (for us i think that just this last option would be interesting)

ThibautSF commented 7 years ago

I've got a little time today so i make some basic things to the save parameters options.

ThibautSF commented 7 years ago

The settings.xml is functional. The app store the last correct path used and use it for the next launch.

The xml structure is completely dynamic, we can add/modify as many parameters as we want for each game with the following schema :

calling methods public HashMap getGameSettings(Integer gameID) → get ALL parameters for a game and store them in a global var (we can add a version which take only one parameter for more basic infos) public void modifyGameSettings(Integer gameID, String attrName, String value) → edit 'attrName' element with 'value' value for the game element corresponding to 'gameID'. It create the 'attrName' element if it doesn't exists (same for game element)
ThibautSF commented 7 years ago

Just need some tests, and if it's ok it's ready for a 0.5.0 (some peoples in the Paradox's forum will be happy ^^)

NicolasGrosjean commented 7 years ago

I have not seen any bug.

NicolasGrosjean commented 7 years ago

What are your plans for the other part of this issue ?

With attribute in the game, we can count the game usage number and order the list from the more used to the less. We can also put an index as attribute and propose to the user to order the games. I have personally put CK2 first, EUIV second and removed the 2 others because I don't own them.

ThibautSF commented 7 years ago

With the methods we can store lots of interesting values like the number of selection of the game. The game install path (for install outside of steam).

I think we can also make user able to make his own config (set a name, a path to game folder and doc folder) like having together 2 (or more) config for a game with each his own settings. For example : default Stellaris, and a "Stellaris (on D:)" config with another path etc...

NicolasGrosjean commented 6 years ago

We can increase the window width in order to avoid scroll image

ThibautSF commented 6 years ago

Ok i will work on that (at the same time than better UI resize).

Found a new bug for new features "return" ("←" button), it keep the lists of the previous game used. For example i choose "Stellaris" at launch, go back and choose "CK2" it show the stellaris mod lists (and create some errors), it seems that i forgot to update a global var ^^

ThibautSF commented 6 years ago

Why !? Why i don't discover that tool before :'(

http://gluonhq.com/products/scene-builder/

image Here in 10min i made my table view completely re-sizable

ThibautSF commented 6 years ago

Will be usefull too http://code.makery.ch/library/javafx-8-tutorial/ for the work with FXML (with lot of languages)

ThibautSF commented 6 years ago

All main window width are now 800x600 ListCreator is re-sizable (not ListManager, reason unknown)

In ListCreator, the ModList object isn't modified anymore (the modifications are applied only at save in the xml)