diff --git a/po/POTFILES.in b/po/POTFILES.in
index f33ca0d4..12ae55d6 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -25,7 +25,6 @@ src/components/dialogs/user_profile.ui
src/components/offline_banner.rs
src/components/media/content_viewer.rs
src/components/media/location_viewer.rs
-src/components/quick_reaction_chooser.ui
src/components/pill/at_room.rs
src/components/power_level_selection/popover.ui
src/components/rows/loading_row.ui
@@ -135,8 +134,9 @@ src/session/view/content/room_details/permissions/permissions_subpage.rs
src/session/view/content/room_details/permissions/permissions_subpage.ui
src/session/view/content/room_details/room_upgrade_dialog.rs
src/session/view/content/room_history/divider_row.rs
-src/session/view/content/room_history/event_actions.ui
+src/session/view/content/room_history/event_context_menu.ui
src/session/view/content/room_history/item_row.rs
+src/session/view/content/room_history/item_row_context_menu.rs
src/session/view/content/room_history/message_row/audio.rs
src/session/view/content/room_history/message_row/content.rs
src/session/view/content/room_history/message_row/file.rs
@@ -157,6 +157,7 @@ src/session/view/content/room_history/message_toolbar/mod.ui
src/session/view/content/room_history/member_timestamp/row.rs
src/session/view/content/room_history/mod.rs
src/session/view/content/room_history/mod.ui
+src/session/view/content/room_history/quick_reaction_chooser.ui
src/session/view/content/room_history/read_receipts_list/mod.rs
src/session/view/content/room_history/sender_avatar/mod.rs
src/session/view/content/room_history/sender_avatar/mod.ui
diff --git a/src/components/mod.rs b/src/components/mod.rs
index ad4ba4c1..4a9937c7 100644
--- a/src/components/mod.rs
+++ b/src/components/mod.rs
@@ -11,7 +11,6 @@ mod media;
mod offline_banner;
mod pill;
mod power_level_selection;
-mod quick_reaction_chooser;
mod role_badge;
mod rows;
mod scale_revealer;
@@ -30,7 +29,6 @@ pub(crate) use self::{
offline_banner::OfflineBanner,
pill::*,
power_level_selection::*,
- quick_reaction_chooser::QuickReactionChooser,
role_badge::RoleBadge,
rows::*,
scale_revealer::ScaleRevealer,
diff --git a/src/session/view/content/room_history/event_actions.ui b/src/session/view/content/room_history/event_actions.ui
deleted file mode 100644
index 6dcee1b0..00000000
--- a/src/session/view/content/room_history/event_actions.ui
+++ /dev/null
@@ -1,213 +0,0 @@
-
-
-
-
-
-
diff --git a/src/session/view/content/room_history/event_context_menu.ui b/src/session/view/content/room_history/event_context_menu.ui
new file mode 100644
index 00000000..1ebee1f2
--- /dev/null
+++ b/src/session/view/content/room_history/event_context_menu.ui
@@ -0,0 +1,89 @@
+
+
+
+
diff --git a/src/session/view/content/room_history/item_row.rs b/src/session/view/content/room_history/item_row.rs
index a743e1f4..c3160453 100644
--- a/src/session/view/content/room_history/item_row.rs
+++ b/src/session/view/content/room_history/item_row.rs
@@ -1,5 +1,3 @@
-use std::sync::LazyLock;
-
use adw::{prelude::*, subclass::prelude::*};
use gettextrs::gettext;
use gtk::{gio, glib, glib::clone};
@@ -132,81 +130,39 @@ mod imp {
return;
};
- let popover = room_history.item_context_menu().to_owned();
- room_history.enable_sticky_mode(false);
-
- obj.add_css_class("has-open-popup");
+ let menu = room_history.item_context_menu();
+ // Reset the state when the popover is closed.
let closed_handler_cell: Rc>> =
Rc::default();
- let quick_reaction_chooser_handler_cell: Rc<
- RefCell