In the current code, where is the best place to know the final state of the tasks ? I didn't see a clear test to check if something has failed. (from a UI point of view, when the "Working" window closes -> this question has to do with freedesktop.org linux notifications/Unity notifications)
[About the overridden packages : overriding all optional parts of a mod (said mod should still show optional parts coming from the same source as proposed version) should be done only if the mod is from an explicit source (a source that appears in the sources list).
For mods coming from implicit sources (sources not appearing in the sources list because they have been set by the dependencies system) they should still show up. ]*
Imagine you install STR from a fs2mod file, which will have higher priority than STR from the main repo :
-> FreeSpace Port will be updated from the fsport fs2mod file which url is specified in STR fs2mod. That's ok.
-> If all fsport children (main repo version) are replaced by fsport children (fs2mod version), and if Awakenings fs2mod file hasn't been installed... well, we can't install Awakenings now : it's not any more in the list.
*We can reasonably assume if some users only installed STR fs2mod, and *not* fsport fs2mod, they may still actually want to install a fsport child from the main repo. Which, by chance, could happen to be compatible with his fs2mod version new parent.
*If they installed both STR and fsport fs2mod files (or at least fsport fs2mod has higher priority), there are chances they don't want to use anything from the main repo. So we don't have to worry about not showing, for example, Awakenings.
Maybe(or maybe not) all this cross-sources dependencies and optional files thing should be part of the "enforce dependencies" setting :
- if it's "on" we disallow cross-sources dependencies (aka a mod can never "adopt" optional parts from another source, and by the way, we make sure that no broken mod will be installed)
- if it's "off" we allow cross-sources dependencies (and broken mods could be installed, if their parent is from a version which is to different to allow them to work properly)
As it's on by default, it's safer. We could name this setting "Safe mode" (with a tooltip explaining that without this option, mods that may miss dependencies, or broken by other (updated or older) mod parents may be installed).
Any thoughts on the issue ?
*EDIT : I just noticed I actually proposed 2 different default behaviours in what i just wrote. You can ignore the paragraph between brackets.
New screenshot (no slider yet in this one, but i'm working on it !)
New video, refined html and css, with an HLP nav bar.
EDIT : second screenshot, daily update on the web slideshow.
Another edit : I have attached a ui file for a simple settings window ( https://www.dropbox.com/s/kk15ermb0j8g4bo/settings.ui
). I'm working on adding support for fso://settings/mod links in protocol.
The right behaviour would be (assuming we will have a unique settings profile per mod):
-> if a fso://run/mod link is accessed AND there is no existing settings profile for this mod, the launcher duplicates the default profile and open a settings window.
-> if a fso://run/mod link is accessed AND there is an existing settings profile for this mod, we launch the game directly.
-> if a fso://settings/mod link is accessed : we launch the settings window for the mod (this is what the "settings" icon next to each "Play" button on the web page is for)
-> if the fso://settings link is accessed : we launch the settings window for the default profile
-> if a fso://settings/<invalid string> : we display a warning about the mod not being found, BUT we launch the settings window for the default profile.
And of course, this window (either default settings or mod profile settings) should be available from somewhere in the main window.
I'm still not sure if tabled settings should be common to all mods or set per profile. The command line should be set per profile, since different mods may require different features or lighting settings. We should save the string stored in cmdline.cfg in the installer settings, for each mod, and the last command line, to restore once the game is launched.
I can start implementing it myself, but I will need some help understanding how to call the same settings window both as a main window (if accessed from a link)
and a modal window (if the ful mod manager is launched).
[attachment deleted by an evil time traveler]