When the calling code does not return to the event loop (like the CLI test)
we need to run the event loop internally to make sure `bufferOutput()` is
called as of ecd730fd49.
* Add page to apply settings
* Add page to show final result
* Fix updating systemd checkbox (`isVisible()` did not work because when
the function is running the whole page is not visible)
* Enable systemd integration by default if either the user service or the
system service are running
* Fix typo
At least when using Qt 6 I could reproduce crashes very often when invoking
`syncthing -version` as part of the wizard's setup detection (inside
a `QIODevice::readAll()` call).
I suppose the problem is that the callback `bufferOutput()` is already
invoked on another thread and emitting the next `readyRead()` signal while
Qt is still handling the previous `readData()` call. Continuing reading
from the pipe only after `readData()` returns should fix it. At least it
does not crash anymore with that change in the wizard's setup detection.
Set the ABI version (used in so/DLL name) to 2 and increment it on an ABI
break (but only once within one release cycle). This way we don't need to
increment it on every patch release but also don't need to make a new major
release on every ABI break.
Keep the API version as is (using the semantic versioning format).
* Remove `0 &&` in condition for making `QPalette` from Plasma theme
* Set `WindowText`/`Window` of `QPalette` in legacy case so
`isPaletteDark()` works
* Set the icon manager's palette from the beginning (and not only if the
Plasma theme changes)
* Include the conventional copy & paste installation instructions that
most Ubuntu (and derivatives) users expect.
* Request that users test their operating system's app store, because
a potential Appstream bug would be highly visible and would negatively
affect initial user impressions. Such a hypothetical bug should
ideally be found and fixed before Ubuntu 22.10's freeze, and certainly
before Debian 12's.
* Mention the backports repository, because otherwise users will
manually install packages for sid/unstable/testing/bookworm/12 onto
stable/bullseye/11. These packages will be nonfunctional, will
malfunction, or will break the other package's dependencies.
* Remove link to Developer Information Tracker, because it may also
mislead users into creating FrankenDebian, and because it is not
supposed to be a user-facing page.
For instance, the NetworkManager Plasmoid uses these margins for its
ListView. It looks probably better than without margins (after removing
paddings with scroll page).
* The licensing badge does not work anymore and the licensing topic is more
complicated to fit into a badge anyways
* The release badge does not look good on its own and is redundant with
GitHub's own UI since they've reworked it
Otherwise the wizard would immediately start when accessed via settings
which is not very nice. Of course the instructions in the welcome page need
to be slightly adjusted.
It is actually just the normal marging/padding Plasmoids normally have but
with the scroll bar it doesn't look good.
The margins would be automatically collapsed if the scroll view was the
immediate content item. However, that's not the case so we need to set the
according property manually using `Plasma.Representation`.
* Provide icons for command link buttons because it looks rather bad when
some of them are missing in the user's icon theme and are therefore not
displayed at all
* Add icons to lists for bundling icons