The current implementation seems to have an issue with an undetected binding loop that causes lockup. During investigation I figured that the code was way to complex and brittle for what we need.
This is a cleaner reimplementation. It also replaces the custom Avatar component with the one from Kirigami.
The looks are subject to tweaking of course
## Summary
Upgrade the SMS App to handle multitarget addresses in the "addresses" field of a message and drop usage of the "address" field
Also note that this has all the commits from https://invent.kde.org/kde/kdeconnect-kde/merge_requests/97, but I will rebase those away once that patch is landed
Bonus: Image composition for multitarget conversations
## Test Plan
- Apply Android-side patch https://invent.kde.org/kde/kdeconnect-android/merge_requests/80
- Launch SMS App
- Notice that you can see all the recipients of multitarget messages. (Replying still not supported, but might get implemented as part of fixing replying to single-target messages)
Summary:
Whenever a ConversationMessage was constructed, a warning was printed saying "Both point size and pixel size set. Using pixel size." Stop double-setting the font size and the warnings stop
This may be system-specific because I don't see where we are setting the font's point size. I will test this on a few different systems (I haven't yet) and I hope others will test it on their system!
Note that this is easiest to test when applied on top of D15979 so you can scroll up to cause more messages to be constructed
Test Plan:
Before patch: Experience many warnings when using the SMS app
After patch: Experience fewer (0?) warnings when using the SMS app
Reviewers: #kde_connect, apol
Reviewed By: #kde_connect, apol
Subscribers: kdeconnect
Tags: #kde_connect
Differential Revision: https://phabricator.kde.org/D16769
Summary: Move ColumnLayout containing text elements inside of the graphical bounding rectangle
Test Plan:
Pre patch:
- Launch messaging app
- Open conversation
- Notice huge spew of warnings like: "qrc:/qml/ChatMessage.qml:84:5: QML ColumnLayout: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead."
Post patch:
- Launch messaging app
- Open conversation
- No warnings about undefined behavior
Reviewers: apol
Reviewed By: apol
Subscribers: kdeconnect
Tags: #kde_connect
Differential Revision: https://phabricator.kde.org/D16534