Add message history viewers
This is a Google Summer of Code project, you can follow the development in my blog. This MR is intended for live reviews about the progress of the project.
Note: this MR requires !1137 (merged) and !1151 (merged) first.
First part – Implement a basic media history viewer (18 days)
-
Add MediaTimeline
list model that can load media messages (6 days) -
Add a subpage to the RoomDetails
dialog for the media history with aGtkGridView
that links to theMediaTimeline
(2 days) -
Add MediaHistoryImage
widget that can show an image message type (3 days) -> Integrated it inMediaHistoryMedia
-
Add MediaHistoryVideo
widget that can show a video message type (3 days) -> Integrated it inMediaHistoryMedia
-
Add MediaHistoryAudio
widget that can show an audio message type (1 day) -
Add MediaHistoryVoice
widget that can show a voice message type (1 day) -> Integrated it inMediaHistoryAudio
-
Add MediaHistoryFile
widget that can show a file message type (2 days)
Second part – Add click actions to the media history widgets (18 days)
-
Integrate the MediaViewer
inside the media history page as a subpage (2 days) -
Make image and video message types to be opened by the MediaViewer
on click (2 days) -
Make the file of the MediaHistoryFile
widget to download on click and show the progress (6 days) -> The progress can't currently be implemented due to matrix_sdk limitation -
Make the file of the MediaHistoryFile
widget open on click when it’s downloaded (2 days) -
Add a way to listen to the audio of the MediaHistoryAudio
andMediaHistoryVoice
widgets on click (6 days)
Third part – Filters & Animations (12 days)
-
Wrap the-> Not needed anymoreMediaTimeline
list model to aGtkFilterListModel
to be able to filter the list (1 day) -
Add options to filter the media history by media type (4 days)-> Not needed anymore, since we have separate history viewers now -
Add animations to the MediaViewer
to open and close photos and videos (3 days) -> !1137 (merged) -
Add a swipe back gesture to the MediaViewer
, similar to the one found in Telegram (4 days) -> !1151 (merged)
Preview:
Edited by Marco Melorio