ParadoxosModManager icon indicating copy to clipboard operation
ParadoxosModManager copied to clipboard

More efficient UX

Open NicolasGrosjean opened this issue 8 years ago • 14 comments

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

  • Set at first/default game the last game used with the application
  • If we detect that the user only uses the application for only one game (for example there is 10 usages for one game and 0 for others), the application starts directly on the configuration list of this game. Of course, there will be an action to go to the default main window

NicolasGrosjean avatar Apr 17 '17 10:04 NicolasGrosjean

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

  • Store user preferences for all games (doc path for now and game install path in the future) -> a settings.xml ?
  • Select the last game used
  • Possibility to set one game as default one -> the app will start directly in the config list (and like you said : an action to change param)

ThibautSF avatar Apr 17 '17 11:04 ThibautSF

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

I agree with your ideas.

NicolasGrosjean avatar Apr 17 '17 11:04 NicolasGrosjean

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 avatar Apr 17 '17 13:04 ThibautSF

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

  • Structure (settings.xml)
  • Methods needed
  • When use them

ThibautSF avatar May 23 '17 17:05 ThibautSF

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 : <paramName value="stringValue">

calling methods public HashMap<String, String> 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 avatar Jun 06 '17 17:06 ThibautSF

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 ^^)

ThibautSF avatar Jun 06 '17 17:06 ThibautSF

I have not seen any bug.

NicolasGrosjean avatar Jun 06 '17 19:06 NicolasGrosjean

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.

NicolasGrosjean avatar Jun 06 '17 19:06 NicolasGrosjean

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...

ThibautSF avatar Jun 08 '17 16:06 ThibautSF

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

NicolasGrosjean avatar Mar 11 '18 19:03 NicolasGrosjean

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 avatar Mar 15 '18 13:03 ThibautSF

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 avatar Mar 16 '18 21:03 ThibautSF

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

ThibautSF avatar Mar 16 '18 22:03 ThibautSF

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)

ThibautSF avatar Mar 29 '18 23:03 ThibautSF