Qt6 changed the mouse scroll wheel handling for QtQuick to a type that mimics how touch pads/screens work, which most people find feels very poor. KDE fixes this by creating a custom type which re-implements the QtWidgets handling (see https://invent.kde.org/frameworks/kirigami/-/merge_requests/415).
On Matrix Nico has expressed a desire not to have to deal with compiling Kirigami for Windows and Mac, which is understandable. Linux users on the other hand almost always have kirigami available in their package repos which sidesteps that particular issue. We can search for Kirigami at build time and if present define a QML context property to allow it to be used, which should fix this issue for Linux users at least.
Helps with nheko-reborn/nheko#1819 (which won't be completely resolved until this is working for Windows and Mac as well).
Signed-off-by: Reilly Brogan <reilly@reillybrogan.com>
Log: according to the bug on https://bugreports.qt.io/browse/QTBUG-83972, The menu will always stay if not click one of the item. So I try to make a hack for it, wait qt solve it someday
* First draft of unread line feature.
* Minor visual fix.
* Removed unnecessary ternary operator.
* Extended unread line functionality to work on minimised window or focusing another window.
* Fix for unread line not showing when last read message is hidden.
* Minor performance improvement. Fix for misbehaving event2order DB at application start.
* Fix for possible performance issues when user has joined a large number of rooms.
* Fix for breaking macos and clazy builds.
* Changed on windows focus function to refresh unread line if room is unread.
* Unread line is removed when user sends a message.
* Linting.
* Fixed unread line to work in standalone room windows.
* Switch isRoomUnread for index 0.
* Merged try/catch blocks.
* Fix for crash on opening a room invite.
* Call fullyReadEventId function when used instead of storing it and passing it through.
* Function that was meant to sync the unread line was relying on an async function, oops.
* Linting again.
* More linting...
* Minor changes.