Browse Source

event-details-dialog: Rename and move to event_actions module

We change "event details" to "event properties" in the UI. The widget is
now called EventPropertiesDialog, to match the change in strings.
fractal-13
Kévin Commaille 7 months ago committed by Kévin Commaille
parent
commit
0be902c142
  1. 4
      po/POTFILES.in
  2. 4
      src/session/view/content/room_history/event_actions/context_menu.blp
  3. 12
      src/session/view/content/room_history/event_actions/group.rs
  4. 3
      src/session/view/content/room_history/event_actions/mod.rs
  5. 12
      src/session/view/content/room_history/event_actions/properties_dialog.blp
  6. 30
      src/session/view/content/room_history/event_actions/properties_dialog.rs
  7. 4
      src/session/view/content/room_history/event_row.rs
  8. 4
      src/session/view/mod.rs
  9. 2
      src/ui-blueprint-resources.in

4
po/POTFILES.in

@ -155,6 +155,8 @@ src/session/view/content/room_history/divider_row.rs
src/session/view/content/room_history/event_actions/context_menu.rs src/session/view/content/room_history/event_actions/context_menu.rs
src/session/view/content/room_history/event_actions/context_menu.blp src/session/view/content/room_history/event_actions/context_menu.blp
src/session/view/content/room_history/event_actions/group.rs src/session/view/content/room_history/event_actions/group.rs
src/session/view/content/room_history/event_actions/properties_dialog.rs
src/session/view/content/room_history/event_actions/properties_dialog.blp
src/session/view/content/room_history/event_actions/quick_reaction_chooser.blp src/session/view/content/room_history/event_actions/quick_reaction_chooser.blp
src/session/view/content/room_history/message_row/audio.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/content.rs
@ -191,8 +193,6 @@ src/session/view/create_direct_chat_dialog/mod.rs
src/session/view/create_direct_chat_dialog/mod.blp src/session/view/create_direct_chat_dialog/mod.blp
src/session/view/create_room_dialog.rs src/session/view/create_room_dialog.rs
src/session/view/create_room_dialog.blp src/session/view/create_room_dialog.blp
src/session/view/event_details_dialog.rs
src/session/view/event_details_dialog.blp
src/session/view/media_viewer.rs src/session/view/media_viewer.rs
src/session/view/media_viewer.blp src/session/view/media_viewer.blp
src/session/view/sidebar/mod.rs src/session/view/sidebar/mod.rs

4
src/session/view/content/room_history/event_actions/context_menu.blp

@ -79,8 +79,8 @@ menu event-actions-menu {
} }
item { item {
label: _("_View Details"); label: _("_Properties");
action: "event.view-details"; action: "event.properties";
hidden-when: "action-missing"; hidden-when: "action-missing";
} }
} }

12
src/session/view/content/room_history/event_actions/group.rs

@ -7,13 +7,11 @@ use matrix_sdk_ui::timeline::MembershipChange;
use ruma::events::room::{message::MessageType, power_levels::PowerLevelUserAction}; use ruma::events::room::{message::MessageType, power_levels::PowerLevelUserAction};
use tracing::error; use tracing::error;
use super::EventPropertiesDialog;
use crate::{ use crate::{
components::{RoomMemberDestructiveAction, confirm_room_member_destructive_action_dialog}, components::{RoomMemberDestructiveAction, confirm_room_member_destructive_action_dialog},
prelude::*, prelude::*,
session::{ session::model::{Event, Membership, MessageState, Room},
model::{Event, Membership, MessageState, Room},
view::EventDetailsDialog,
},
spawn, spawn_tokio, toast, spawn, spawn_tokio, toast,
}; };
@ -67,8 +65,8 @@ pub(crate) trait EventActionsGroup: ObjectSubclass {
} }
)) ))
.build(), .build(),
// View event details. // View event properties.
gio::ActionEntry::builder("view-details") gio::ActionEntry::builder("properties")
.activate(clone!( .activate(clone!(
#[weak(rename_to = imp)] #[weak(rename_to = imp)]
self, self,
@ -77,7 +75,7 @@ pub(crate) trait EventActionsGroup: ObjectSubclass {
return; return;
}; };
let dialog = EventDetailsDialog::new(&event); let dialog = EventPropertiesDialog::new(&event);
dialog.present(Some(&*imp.obj())); dialog.present(Some(&*imp.obj()));
} }
)) ))

3
src/session/view/content/room_history/event_actions/mod.rs

@ -1,6 +1,7 @@
mod context_menu; mod context_menu;
mod group; mod group;
mod properties_dialog;
mod quick_reaction_chooser; mod quick_reaction_chooser;
use self::quick_reaction_chooser::*; use self::quick_reaction_chooser::*;
pub(super) use self::{context_menu::*, group::*}; pub(super) use self::{context_menu::*, group::*, properties_dialog::*};

12
src/session/view/event_details_dialog.blp → src/session/view/content/room_history/event_actions/properties_dialog.blp

@ -2,19 +2,15 @@ using Gtk 4.0;
using Adw 1; using Adw 1;
using GtkSource 5; using GtkSource 5;
template $EventDetailsDialog: $ToastableDialog { template $EventPropertiesDialog: $ToastableDialog {
title: _("Event Details"); title: _("Event Properties");
content-width: 500; content-width: 500;
content-height: 400; content-height: 400;
styles [
"event-details-dialog",
]
child-content: Adw.NavigationView navigation_view { child-content: Adw.NavigationView navigation_view {
Adw.NavigationPage { Adw.NavigationPage {
title: _("Event Details"); title: _("Event Properties");
tag: "details"; tag: "properties";
child: Adw.ToolbarView { child: Adw.ToolbarView {
[top] [top]

30
src/session/view/event_details_dialog.rs → src/session/view/content/room_history/event_actions/properties_dialog.rs

@ -19,9 +19,11 @@ mod imp {
use super::*; use super::*;
#[derive(Debug, Default, CompositeTemplate, glib::Properties)] #[derive(Debug, Default, CompositeTemplate, glib::Properties)]
#[template(resource = "/org/gnome/Fractal/ui/session/view/event_details_dialog.ui")] #[template(
#[properties(wrapper_type = super::EventDetailsDialog)] resource = "/org/gnome/Fractal/ui/session/view/content/room_history/event_actions/properties_dialog.ui"
pub struct EventDetailsDialog { )]
#[properties(wrapper_type = super::EventPropertiesDialog)]
pub struct EventPropertiesDialog {
/// The event that is displayed in the dialog. /// The event that is displayed in the dialog.
#[property(get, construct_only)] #[property(get, construct_only)]
event: RefCell<Option<Event>>, event: RefCell<Option<Event>>,
@ -34,9 +36,9 @@ mod imp {
} }
#[glib::object_subclass] #[glib::object_subclass]
impl ObjectSubclass for EventDetailsDialog { impl ObjectSubclass for EventPropertiesDialog {
const NAME: &'static str = "EventDetailsDialog"; const NAME: &'static str = "EventPropertiesDialog";
type Type = super::EventDetailsDialog; type Type = super::EventPropertiesDialog;
type ParentType = ToastableDialog; type ParentType = ToastableDialog;
fn class_init(klass: &mut Self::Class) { fn class_init(klass: &mut Self::Class) {
@ -53,7 +55,7 @@ mod imp {
} }
#[glib::derived_properties] #[glib::derived_properties]
impl ObjectImpl for EventDetailsDialog { impl ObjectImpl for EventPropertiesDialog {
fn constructed(&self) { fn constructed(&self) {
self.parent_constructed(); self.parent_constructed();
@ -69,12 +71,12 @@ mod imp {
} }
} }
impl WidgetImpl for EventDetailsDialog {} impl WidgetImpl for EventPropertiesDialog {}
impl AdwDialogImpl for EventDetailsDialog {} impl AdwDialogImpl for EventPropertiesDialog {}
impl ToastableDialogImpl for EventDetailsDialog {} impl ToastableDialogImpl for EventPropertiesDialog {}
#[gtk::template_callbacks] #[gtk::template_callbacks]
impl EventDetailsDialog { impl EventPropertiesDialog {
/// View the given source. /// View the given source.
fn show_source(&self, title: &str, source: &str) { fn show_source(&self, title: &str, source: &str) {
self.source_view.buffer().set_text(source); self.source_view.buffer().set_text(source);
@ -139,12 +141,12 @@ mod imp {
} }
glib::wrapper! { glib::wrapper! {
/// A dialog showing the details of an event. /// A dialog showing the properties of an event.
pub struct EventDetailsDialog(ObjectSubclass<imp::EventDetailsDialog>) pub struct EventPropertiesDialog(ObjectSubclass<imp::EventPropertiesDialog>)
@extends gtk::Widget, adw::Dialog, ToastableDialog, @implements gtk::Accessible; @extends gtk::Widget, adw::Dialog, ToastableDialog, @implements gtk::Accessible;
} }
impl EventDetailsDialog { impl EventPropertiesDialog {
pub fn new(event: &Event) -> Self { pub fn new(event: &Event) -> Self {
glib::Object::builder().property("event", event).build() glib::Object::builder().property("event", event).build()
} }

4
src/session/view/content/room_history/event_row.rs

@ -359,7 +359,7 @@ mod imp {
if action_group if action_group
.as_ref() .as_ref()
.is_some_and(|action_group| action_group.has_action("view-details")) .is_some_and(|action_group| action_group.has_action("properties"))
{ {
if self.shortcut_controller.borrow().is_none() { if self.shortcut_controller.borrow().is_none() {
let shortcut_controller = gtk::ShortcutController::new(); let shortcut_controller = gtk::ShortcutController::new();
@ -368,7 +368,7 @@ mod imp {
gtk::ShortcutTrigger::parse_string("<Alt>Return") gtk::ShortcutTrigger::parse_string("<Alt>Return")
.expect("trigger string should be valid"), .expect("trigger string should be valid"),
), ),
gtk::ShortcutAction::parse_string("action(event.view-details)"), gtk::ShortcutAction::parse_string("action(event.properties)"),
)); ));
obj.add_controller(shortcut_controller.clone()); obj.add_controller(shortcut_controller.clone());
self.shortcut_controller.replace(Some(shortcut_controller)); self.shortcut_controller.replace(Some(shortcut_controller));

4
src/session/view/mod.rs

@ -2,7 +2,6 @@ mod account_settings;
mod content; mod content;
mod create_direct_chat_dialog; mod create_direct_chat_dialog;
mod create_room_dialog; mod create_room_dialog;
mod event_details_dialog;
mod media_viewer; mod media_viewer;
mod session_view; mod session_view;
mod sidebar; mod sidebar;
@ -10,6 +9,5 @@ mod sidebar;
pub use self::{account_settings::AccountSettings, session_view::SessionView}; pub use self::{account_settings::AccountSettings, session_view::SessionView};
use self::{ use self::{
content::Content, create_direct_chat_dialog::CreateDirectChatDialog, content::Content, create_direct_chat_dialog::CreateDirectChatDialog,
create_room_dialog::CreateRoomDialog, event_details_dialog::EventDetailsDialog, create_room_dialog::CreateRoomDialog, media_viewer::MediaViewer, sidebar::Sidebar,
media_viewer::MediaViewer, sidebar::Sidebar,
}; };

2
src/ui-blueprint-resources.in

@ -109,6 +109,7 @@ session/view/content/room_details/permissions/select_member_row.blp
session/view/content/room_details/upgrade_dialog/mod.blp session/view/content/room_details/upgrade_dialog/mod.blp
session/view/content/room_history/divider_row.blp session/view/content/room_history/divider_row.blp
session/view/content/room_history/event_actions/context_menu.blp session/view/content/room_history/event_actions/context_menu.blp
session/view/content/room_history/event_actions/properties_dialog.blp
session/view/content/room_history/event_actions/quick_reaction_chooser.blp session/view/content/room_history/event_actions/quick_reaction_chooser.blp
session/view/content/room_history/member_timestamp/row.blp session/view/content/room_history/member_timestamp/row.blp
session/view/content/room_history/message_row/audio.blp session/view/content/room_history/message_row/audio.blp
@ -136,7 +137,6 @@ session/view/content/room_history/typing_row.blp
session/view/content/room_history/verification_info_bar.blp session/view/content/room_history/verification_info_bar.blp
session/view/create_direct_chat_dialog/mod.blp session/view/create_direct_chat_dialog/mod.blp
session/view/create_room_dialog.blp session/view/create_room_dialog.blp
session/view/event_details_dialog.blp
session/view/media_viewer.blp session/view/media_viewer.blp
session/view/session_view.blp session/view/session_view.blp
session/view/sidebar/icon_item_row.blp session/view/sidebar/icon_item_row.blp

Loading…
Cancel
Save