- Publish avatars with a size of 200x200
- Add AvatarSize.PUBLISH so we can easily change it in the future
- Dont upscale small avatars on publish
- Use surfaces for displaying the avatar in ProfileWindow and VcardWindow
because this scales correctly on HiDPI screens
- Groupchats promote a vcard hash with presence
Refactoring:
- Dont delete groupchat contacts if they are maximized from the roster
- Roster and GroupchatControl use the same contact object
Testing for historical messages was broken because `msg_obj.timestamp`
second resolution assumed but this is false and this led to broken
sound playback for received group chat messages.
Dont trigger resizes on notify::position, because the absolut
handle position changes also on window resizes, but the relative handle
position doesnt change.
Instead we use the notify::position event now to save the new position
to the config file and use left button release event (release of the handle after dragging)
and the window maximize/minimize event to trigger resizes in all controls
This fixes also fixes a issue where a previously hidden roster was shown again
if a new tab was opened.
Fixes#8984
- Makes it better understandable
- Fixes a bug where an avatar was drawn in a group row
- Fixes not all cells getting the same background color while using a theme
Using a callback to display a sent message inside the ChatControl means
that all messages we send have to be issued from the GUI layer
(send_message()) if we want them to display in the ChatControl.
This replaces the callback and catches the stanza-message-outgoing event
after it was processed by the core.
This is easier to read/understand than dealing with callbacks and lets
the core issue messages without having to care if a ChatControl is open or not
- Move ActionBar into HeaderMenu
- Make Design of ChatControl look cleaner
- Hide the Roster in Groupchats per default
- Add Button to hide/show Roster in Groupchats
- Move Groupchat topic into popover
- Display Avatars on the right side of the ChatControl and status on the
left
- Add a default Avatar for contacts that have none