fractal::session::view::media_viewer::imp

Struct MediaViewer

Source
pub struct MediaViewer {
Show 14 fields toolbar_view: TemplateChild<ToolbarView>, header_bar: TemplateChild<HeaderBar>, menu: TemplateChild<MenuButton>, revealer: TemplateChild<ScaleRevealer>, media: TemplateChild<MediaContentViewer>, fullscreened: Cell<bool>, room: WeakRef<Room>, event_id: RefCell<Option<OwnedEventId>>, message: RefCell<Option<VisualMediaMessage>>, filename: RefCell<Option<String>>, animation: OnceCell<TimedAnimation>, swipe_tracker: OnceCell<SwipeTracker>, swipe_progress: Cell<f64>, actions_expression_watches: RefCell<HashMap<&'static str, ExpressionWatch>>,
}

Fields§

§toolbar_view: TemplateChild<ToolbarView>§header_bar: TemplateChild<HeaderBar>§menu: TemplateChild<MenuButton>§revealer: TemplateChild<ScaleRevealer>§media: TemplateChild<MediaContentViewer>§fullscreened: Cell<bool>

Whether the viewer is fullscreened.

§room: WeakRef<Room>

The room containing the media message.

§event_id: RefCell<Option<OwnedEventId>>

The ID of the event containing the media message.

§message: RefCell<Option<VisualMediaMessage>>

The media message to display.

§filename: RefCell<Option<String>>

The filename of the media.

§animation: OnceCell<TimedAnimation>

The API to keep track of the animation to fade the background.

§swipe_tracker: OnceCell<SwipeTracker>§swipe_progress: Cell<f64>§actions_expression_watches: RefCell<HashMap<&'static str, ExpressionWatch>>

Implementations§

Source§

impl MediaViewer

Source

fn register_type()

Registers the type only once.

Source§

impl MediaViewer

Source

pub fn downgrade(&self) -> <Self as Downgrade>::Weak

Source§

impl MediaViewer

Source

fn set_fullscreened(&self, fullscreened: bool)

Set whether the viewer is fullscreened.

Source

pub(super) fn set_message( &self, room: &Room, event_id: OwnedEventId, message: VisualMediaMessage, )

Set the media message to display.

Source

fn set_filename(&self, filename: String)

Set the filename of the media.

Source

fn animation(&self) -> &TimedAnimation

The API to keep track of the animation to fade the background.

Source

fn init_swipe_tracker(&self)

Initialize the swipe tracker.

Source

fn update_menu_actions(&self)

Update the actions of the menu according to the current message.

Source

async fn build(&self)

Build the content of this viewer.

Source

fn close(&self)

Close the viewer.

Source

pub(super) fn reveal(&self, source_widget: &Widget)

Reveal this widget by transitioning from source_widget.

Source

fn reveal_headerbar(&self, reveal: bool)

Reveal or hide the headerbar.

Source

fn toggle_headerbar(&self)

Toggle whether the header bar is revealed.

Source

fn handle_motion(&self, _x: f64, y: f64)

Handle when motion was detected in the viewer.

Source

fn handle_click(&self, n_pressed: i32)

Handle a click in the viewer.

Source

fn copy_image(&self)

Copy the current image to the clipboard.

Source

async fn save_file(&self)

Save the current file to the clipboard.

Copy the permalink of the event of the media message to the clipboard.

Trait Implementations§

Source§

impl CompositeTemplate for MediaViewer

Source§

impl CompositeTemplateCallbacks for MediaViewer

Source§

const CALLBACKS: &'static [TemplateCallback] = _

Source§

fn bind_template_callbacks<T>(klass: &mut T)
where T: WidgetClassExt,

Binds the template callbacks from this type into the default template scope for klass.
Source§

fn bind_template_callbacks_prefixed<T>(klass: &mut T, prefix: &str)
where T: WidgetClassExt,

Binds the template callbacks from this type into the default template scope for klass, prepending prefix to each callback name.
Source§

fn add_callbacks_to_scope(scope: &BuilderRustScope)

Binds the template callbacks from this type into scope.
Source§

fn add_callbacks_to_scope_prefixed(scope: &BuilderRustScope, prefix: &str)

Binds the template callbacks from this type into scope, prepending prefix to each callback name.
Source§

impl Debug for MediaViewer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MediaViewer

Source§

fn default() -> MediaViewer

Returns the “default value” for a type. Read more
Source§

impl DerivedObjectProperties for MediaViewer

Source§

fn derived_properties() -> &'static [ParamSpec]

Properties installed for this type.
Source§

fn derived_property(&self, id: usize, pspec: &ParamSpec) -> Value

Similar to ObjectImpl but auto-generated by the Properties macro to allow handling more complex use-cases.
Source§

fn derived_set_property(&self, id: usize, value: &Value, pspec: &ParamSpec)

Similar to ObjectImpl but auto-generated by the Properties macro to allow handling more complex use-cases.
Source§

impl ObjectImpl for MediaViewer

Source§

fn constructed(&self)

Constructed. Read more
Source§

fn dispose(&self)

Disposes of the object. Read more
Source§

fn properties() -> &'static [ParamSpec]

Properties installed for this type.
Source§

fn set_property(&self, id: usize, value: &Value, pspec: &ParamSpec)

Property setter. Read more
Source§

fn property(&self, id: usize, pspec: &ParamSpec) -> Value

Property getter. Read more
Source§

fn signals() -> &'static [Signal]

Signals installed for this type.
Source§

fn notify(&self, pspec: &ParamSpec)

Function to be called when property change is notified for with self.notify("property").
Source§

fn dispatch_properties_changed(&self, pspecs: &[ParamSpec])

Source§

impl ObjectSubclass for MediaViewer

Source§

const NAME: &'static str = "MediaViewer"

GObject type name. Read more
Source§

type Class = ClassStruct<MediaViewer>

The C class struct. Read more
Source§

type Instance = InstanceStruct<MediaViewer>

The C instance struct. Read more
Source§

type Type = MediaViewer

Wrapper around this subclass defined with wrapper!
Source§

type ParentType = Widget

Parent Rust type to inherit from.
Source§

type Interfaces = (Swipeable,)

List of interfaces implemented by this type.
Source§

fn new() -> Self

Constructor. Read more
Source§

fn class_init(klass: &mut Self::Class)

Class initialization. Read more
Source§

fn instance_init(obj: &InitializingObject<Self>)

Performs additional instance initialization. Read more
Source§

const ABSTRACT: bool = false

If this subclass is an abstract class or not. Read more
Source§

const ALLOW_NAME_CONFLICT: bool = false

Allow name conflicts for this class. Read more
Source§

fn type_init(_type_: &mut InitializingType<Self>)

Additional type initialization. Read more
Source§

fn with_class(_klass: &Self::Class) -> Self

Constructor. Read more
Source§

impl ObjectSubclassType for MediaViewer

Source§

fn type_data() -> NonNull<TypeData>

Storage for the type-specific data used during registration.
Source§

fn type_() -> Type

Returns the glib::Type ID of the subclass. Read more
Source§

impl SwipeableImpl for MediaViewer

Source§

impl WidgetImpl for MediaViewer

Source§

fn size_allocate(&self, width: i32, height: i32, baseline: i32)

Source§

fn snapshot(&self, snapshot: &Snapshot)

Source§

fn compute_expand(&self, hexpand: &mut bool, vexpand: &mut bool)

Source§

fn contains(&self, x: f64, y: f64) -> bool

Source§

fn direction_changed(&self, previous_direction: TextDirection)

Source§

fn focus(&self, direction_type: DirectionType) -> bool

Source§

fn request_mode(&self) -> SizeRequestMode

Source§

fn grab_focus(&self) -> bool

Source§

fn hide(&self)

👎Deprecated: Since 4.10
Source§

fn keynav_failed(&self, direction_type: DirectionType) -> bool

Source§

fn map(&self)

Source§

fn measure( &self, orientation: Orientation, for_size: i32, ) -> (i32, i32, i32, i32)

Source§

fn mnemonic_activate(&self, group_cycling: bool) -> bool

Source§

fn move_focus(&self, direction_type: DirectionType)

Source§

fn query_tooltip( &self, x: i32, y: i32, keyboard_tooltip: bool, tooltip: &Tooltip, ) -> bool

Source§

fn realize(&self)

Source§

fn root(&self)

Source§

fn set_focus_child(&self, child: Option<&Widget>)

Source§

fn show(&self)

👎Deprecated: Since 4.10
Source§

fn state_flags_changed(&self, state_flags: &StateFlags)

Source§

fn system_setting_changed(&self, settings: &SystemSetting)

Source§

fn unmap(&self)

Source§

fn unrealize(&self)

Source§

fn unroot(&self)

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CompositeTemplateDisposeExt for T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

impl<T> Identity for T
where T: ?Sized,

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> NoneValue for T
where T: Default,

Source§

type NoneType = T

Source§

fn null_value() -> T

The none-equivalent value.
Source§

impl<T> ObjectImplExt for T
where T: ObjectImpl,

Source§

fn parent_constructed(&self)

Chain up to the parent class’ implementation of glib::Object::constructed().
Source§

fn parent_notify(&self, pspec: &ParamSpec)

Chain up to the parent class’ implementation of glib::Object::notify().
Source§

fn parent_dispatch_properties_changed(&self, pspecs: &[ParamSpec])

Chain up to the parent class’ implementation of glib::Object::dispatch_properties_changed().
Source§

fn signal_chain_from_overridden( &self, token: &SignalClassHandlerToken, values: &[Value], ) -> Option<Value>

Chain up to parent class signal handler.
Source§

impl<T> ObjectSubclassExt for T
where T: ObjectSubclass,

Source§

fn instance(&self) -> BorrowedObject<'_, <T as ObjectSubclass>::Type>

👎Deprecated: Use obj() instead
Returns the corresponding object instance.
Source§

fn from_instance(obj: &<T as ObjectSubclass>::Type) -> &T

👎Deprecated: Use from_obj() instead
Returns the implementation from an instance.
Source§

fn obj(&self) -> BorrowedObject<'_, <T as ObjectSubclass>::Type>

Returns the corresponding object instance. Read more
Source§

fn from_obj(obj: &<T as ObjectSubclass>::Type) -> &T

Returns the implementation from an instance. Read more
Source§

fn ref_counted(&self) -> ObjectImplRef<T>

Returns a new reference-counted wrapper around self.
Source§

fn instance_data<U>(&self, type_: Type) -> Option<&U>
where U: Any + Send + Sync + 'static,

Returns a pointer to the instance implementation specific data. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize = _

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SwipeableImplExt for T
where T: SwipeableImpl,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WidgetImplExt for T
where T: WidgetImpl,

Source§

fn parent_compute_expand(&self, hexpand: &mut bool, vexpand: &mut bool)

Source§

fn parent_contains(&self, x: f64, y: f64) -> bool

Source§

fn parent_direction_changed(&self, previous_direction: TextDirection)

Source§

fn parent_focus(&self, direction_type: DirectionType) -> bool

Source§

fn parent_request_mode(&self) -> SizeRequestMode

Source§

fn parent_grab_focus(&self) -> bool

Source§

fn parent_hide(&self)

👎Deprecated: Since 4.10
Source§

fn parent_keynav_failed(&self, direction_type: DirectionType) -> bool

Source§

fn parent_map(&self)

Source§

fn parent_measure( &self, orientation: Orientation, for_size: i32, ) -> (i32, i32, i32, i32)

Source§

fn parent_mnemonic_activate(&self, group_cycling: bool) -> bool

Source§

fn parent_move_focus(&self, direction_type: DirectionType)

Source§

fn parent_query_tooltip( &self, x: i32, y: i32, keyboard_tooltip: bool, tooltip: &Tooltip, ) -> bool

Source§

fn parent_realize(&self)

Source§

fn parent_root(&self)

Source§

fn parent_set_focus_child(&self, child: Option<&Widget>)

Source§

fn parent_show(&self)

👎Deprecated: Since 4.10
Source§

fn parent_size_allocate(&self, width: i32, height: i32, baseline: i32)

Source§

fn parent_snapshot(&self, snapshot: &Snapshot)

Source§

fn parent_state_flags_changed(&self, state_flags: &StateFlags)

Source§

fn parent_system_setting_changed(&self, settings: &SystemSetting)

Source§

fn parent_unmap(&self)

Source§

fn parent_unrealize(&self)

Source§

fn parent_unroot(&self)

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Any for T
where T: Any,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,

Source§

impl<T> MaybeSendSync for T