is unavailable (for example running in a gamescope session)
* Do not show the launch window while instantiating the application. This
probably was causing numerous issues because it was running outside of
the applications event loop. This also fixes the exit button on the login
dialog requiring `sys.exit()` to quit Rare. Now it goes through the
proper cleanup procedures.
* Make slot and signal names more uniform
* Fix a problem with RareCore connecting RareGames to the same signals
multiple times when the library was refreshed.
* Don't hide irrelevant elements in Windows, disable them and use them as information
* Create the `Manifests` folder in ProgramData if its parent exists.
Instead of loading images in the showEvent of the MainWindow,
load them in the showEvent of each widget. It seems to reduce
the startup stuttering this way. With some more work
we can only load the images for the widgets that are currently
visible and reduce the stutter even more.
At the same time, reduce the number of concurrent downloads
in the image manager and add a timeout so we won't halt.
The exception from the timeout is just logged at this point,
and the download is not requeued.
* Load and populate Ubisoft information when the page is shown instead of startup.
* List all Ubisoft games, and differentiate based on whether they been redeemed.
Truncate the widget's text down to the command only without the arguments.
Show the full command with the arguments in the tooltip instead.
Update some text.
The order was determined by the order of the container dictionary entries.
Re-order them before returning the list by their index in the container
widget.
Fixes#304
* Check for updates each time the page is visited
* Updated links, developers and contributors.
* Use a less difficult to read color for links
The check for updates still happens at startup, there is now a
subsequent check every time the about label is visited.
The update check should be moved into RareCore itself in the future.
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
When the user navigates to a different game info page, the dlc widgets
get deleted. Because the signal was connected to a lambda, the connection
wasn't severed upon deletion and once the DLC would finish downloading,
Rare would crash because the object with the piggyback signal was already
deleted. By using a dedicated slot to emit the signal we ensure that the
connction is severed at Qt object deletion
Previously the unchanged contents check tested both `key` and `value`
at the same time, so the following case was not accepted.
`ENV_VAR=ENV_VAR`
No matter how unlikely it is for the key to be equal to the value, there
is no reason to restrict it.
For the `key` ("0") column, protecting against existing keys also handles
this case. For the `value` ("1") column, a check has been added.
Previously the `setGeometry()` method was called explicitly. In this
procedure the self-centering widget installs an `eventFilter` on its
parent to react to `Resize` events of the parent.
This breaks centering on the list widgets a bit, pending an investigation
Also partition the space to left and right layouts, left layout being the
image and the space below it (pending future usage), and right the
information.