Resolve https://invent.kde.org/network/neochat/-/issues/547
This patch attempts to add proxy config support to NeoChat so people could set a HTTP or Socks5 proxy for anonymity or privacy/censorship-circumvention reason.
Currently this will only allows setting proxy type, host and port (which should be usable for most of the cases). Settings in that page needs to be applied by clicking the Apply button so the proxy setting won't accidentally get changed.
Proxy is disabled (use System Default option) by default.
Add menu option to change whether the room information drawer is opened automatically or not. This also adds some code to switch off the dim effect during the first animation after modal is changed as this looked bad.
Implements network/neochat#243
Slight cleanup removing the edge option for context drawer from main.qml as this is duplicated from RoomDrawer.qml
If the user wants to automatically launch NeoChat when the system
starts up, the user may also want to minimize the window to system tray
on startup. So a new option named "Minimize to system tray on startup"
is added.
The option is only visible on desktop platforms, and is only enabled
when "Close to system tray" is checked.
In order to restore window geometry for the first time the user opens
the window if the option is checked,
1. a new function named `restoreWindowGeometry` is added, and
`restoreWindowGeometryConnections` will be enabled if the option is
checked, and will be disabled after the window debuts.
2. `saveWindowGeometryConnections` will be enabled if the option is not
checked, and will be disabled if checked and enabled after the window
debuts.
Change are inspired by Quatermion model
* Fix invite events not getting displayed correctly
* Add some options to control what get displayed (for the moment without
a GUI
* Show reason for a state event if it exists