diff --git a/build-aux/org.gnome.FractalNext.Devel.json b/build-aux/org.gnome.FractalNext.Devel.json
index 6c3c8f98..5fbafef2 100644
--- a/build-aux/org.gnome.FractalNext.Devel.json
+++ b/build-aux/org.gnome.FractalNext.Devel.json
@@ -11,6 +11,7 @@
"finish-args" : [
"--socket=fallback-x11",
"--socket=wayland",
+ "--socket=pulseaudio",
"--share=network",
"--share=ipc",
"--device=dri",
diff --git a/data/resources/resources.gresource.xml b/data/resources/resources.gresource.xml
index 8840f519..e9d7f1b8 100644
--- a/data/resources/resources.gresource.xml
+++ b/data/resources/resources.gresource.xml
@@ -54,6 +54,7 @@
ui/verification-emoji.ui
ui/incoming-verification.ui
ui/qr-code-scanner.ui
+ ui/components-video-player.ui
style.css
icons/scalable/actions/send-symbolic.svg
icons/scalable/status/welcome.svg
diff --git a/data/resources/style.css b/data/resources/style.css
index 23b12be7..6b4a32cb 100644
--- a/data/resources/style.css
+++ b/data/resources/style.css
@@ -214,6 +214,11 @@ headerbar.flat {
border-radius: 6px;
}
+.room-history .event-content .thumbnail .timestamp {
+ border-radius: 4px;
+ padding: 2px 5px;
+}
+
.room-history .event-content .quote {
border-left: 2px solid @theme_selected_bg_color;
padding-left: 6px;
diff --git a/data/resources/ui/components-video-player.ui b/data/resources/ui/components-video-player.ui
new file mode 100644
index 00000000..85dfc25d
--- /dev/null
+++ b/data/resources/ui/components-video-player.ui
@@ -0,0 +1,32 @@
+
+
+
+
+ hidden
+
+
+
+
+
diff --git a/data/resources/ui/media-viewer.ui b/data/resources/ui/media-viewer.ui
index a3bccafb..3102ddc3 100644
--- a/data/resources/ui/media-viewer.ui
+++ b/data/resources/ui/media-viewer.ui
@@ -24,7 +24,7 @@
go-previous-symbolic
- session.show-content
+ media-viewer.close
@@ -44,6 +44,8 @@
center
+ center
+ true
diff --git a/po/POTFILES.in b/po/POTFILES.in
index ff8fc197..9bba3ee6 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -12,6 +12,7 @@ data/resources/ui/account-settings-devices-page.ui
data/resources/ui/components-auth-dialog.ui
data/resources/ui/components-avatar.ui
data/resources/ui/components-loading-listbox-row.ui
+data/resources/ui/components-video-player.ui
data/resources/ui/avatar-with-selection.ui
data/resources/ui/content-divider-row.ui
data/resources/ui/content-item.ui
@@ -58,6 +59,7 @@ src/components/in_app_notification.rs
src/components/mod.rs
src/components/spinner_button.rs
src/components/pill.rs
+src/components/video_player.rs
src/contrib/mod.rs
src/contrib/qr_code.rs
src/error.rs
@@ -89,6 +91,7 @@ src/session/content/room_history/message_row/file.rs
src/session/content/room_history/message_row/image.rs
src/session/content/room_history/message_row/mod.rs
src/session/content/room_history/message_row/text.rs
+src/session/content/room_history/message_row/video.rs
src/session/content/room_history/mod.rs
src/session/content/room_history/state_row.rs
src/session/content/room_history/state_row/mod.rs
diff --git a/src/components/mod.rs b/src/components/mod.rs
index 5ea7aa17..5c005a97 100644
--- a/src/components/mod.rs
+++ b/src/components/mod.rs
@@ -9,6 +9,7 @@ mod loading_listbox_row;
mod pill;
mod room_title;
mod spinner_button;
+mod video_player;
pub use self::auth_dialog::{AuthData, AuthDialog};
pub use self::avatar::Avatar;
@@ -21,3 +22,4 @@ pub use self::loading_listbox_row::LoadingListBoxRow;
pub use self::pill::Pill;
pub use self::room_title::RoomTitle;
pub use self::spinner_button::SpinnerButton;
+pub use self::video_player::VideoPlayer;
diff --git a/src/components/video_player.rs b/src/components/video_player.rs
new file mode 100644
index 00000000..7cd04b67
--- /dev/null
+++ b/src/components/video_player.rs
@@ -0,0 +1,84 @@
+use adw::subclass::prelude::*;
+use gtk::{glib, glib::clone, prelude::*, subclass::prelude::*, CompositeTemplate};
+
+mod imp {
+ use super::*;
+ use glib::subclass::InitializingObject;
+ use std::cell::RefCell;
+
+ #[derive(Debug, Default, CompositeTemplate)]
+ #[template(resource = "/org/gnome/FractalNext/components-video-player.ui")]
+ pub struct VideoPlayer {
+ pub media_file: RefCell