Skip to content

Add message history viewers

Marco Melorio requested to merge melix99/fractal:media-history-viewer into main

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 a GtkGridView that links to the MediaTimeline (2 days)
  • Add MediaHistoryImage widget that can show an image message type (3 days) -> Integrated it in MediaHistoryMedia
  • Add MediaHistoryVideo widget that can show a video message type (3 days) -> Integrated it in MediaHistoryMedia
  • 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 in MediaHistoryAudio
  • 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 and MediaHistoryVoice widgets on click (6 days)

Third part – Filters & Animations (12 days)

  • Wrap the MediaTimeline list model to a GtkFilterListModel to be able to filter the list (1 day) -> Not needed anymore
  • 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:

2022-09-11-00-25-28

Edited by Marco Melorio

Merge request reports