You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

378 lines
18 KiB

<?xml version="1.0" encoding="UTF-8"?>
<interface>
<menu id="room-menu-model">
<section>
<item>
<attribute name="label" translatable="yes">Room _Details</attribute>
<attribute name="action">room-history.details</attribute>
<attribute name="hidden-when">action-disabled</attribute>
</item>
<item>
<attribute name="label" translatable="yes">_Invite New Member</attribute>
<attribute name="action">room-history.invite-members</attribute>
<attribute name="hidden-when">action-disabled</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Room _Permalink</attribute>
<attribute name="action">room-history.permalink</attribute>
</item>
</section>
<section>
<item>
<attribute name="label" translatable="yes">_Leave Room</attribute>
<attribute name="action">room-history.leave</attribute>
<attribute name="hidden-when">action-disabled</attribute>
</item>
</section>
</menu>
<menu id="message-menu-model">
<section>
<item>
<attribute name="label" translatable="yes">_Location</attribute>
<attribute name="action">room-history.send-location</attribute>
<attribute name="icon">map-marker-symbolic</attribute>
</item>
<item>
<attribute name="label" translatable="yes">_Attachment</attribute>
<attribute name="action">room-history.select-file</attribute>
<attribute name="icon">mail-attachment-symbolic</attribute>
</item>
</section>
</menu>
<template class="ContentRoomHistory" parent="AdwBin">
<property name="vexpand">True</property>
<property name="hexpand">True</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="AdwHeaderBar" id="headerbar">
<property name="show-start-title-buttons" bind-source="ContentRoomHistory" bind-property="compact" bind-flags="sync-create"/>
<child type="start">
<object class="GtkRevealer">
<property name="transition-type">crossfade</property>
<property name="reveal-child" bind-source="ContentRoomHistory" bind-property="compact" bind-flags="sync-create"/>
<property name="child">
<object class="GtkButton" id="back">
<property name="icon-name">go-previous-symbolic</property>
<property name="action-name">content.go-back</property>
<accessibility>
<property name="label" translatable="yes">Back</property>
</accessibility>
</object>
</property>
</object>
</child>
<child type="title">
<object class="RoomTitle" id="room_title">
<binding name="title">
<lookup name="display-name">
<lookup name="room">ContentRoomHistory</lookup>
</lookup>
</binding>
<binding name="subtitle">
<lookup name="topic">
<lookup name="room">ContentRoomHistory</lookup>
</lookup>
</binding>
</object>
</child>
<child type="end">
<object class="GtkMenuButton" id="room_menu">
<property name="icon-name">view-more-symbolic</property>
<property name="menu-model">room-menu-model</property>
<accessibility>
<property name="label" translatable="yes">Room Settings</property>
</accessibility>
</object>
</child>
<child type="end">
<object class="GtkToggleButton" id="search_content_button">
<property name="icon-name">system-search-symbolic</property>
<accessibility>
<property name="label" translatable="yes">Toggle Room History Search</property>
</accessibility>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSearchBar" id="room_search">
<property name="search-mode-enabled" bind-source="search_content_button" bind-property="active"/>
<property name="child">
<object class="AdwClamp">
<property name="hexpand">True</property>
<property name="maximum-size">750</property>
<property name="tightening-threshold">550</property>
<child>
<object class="GtkSearchEntry"/>
</child>
<accessibility>
<property name="label" translatable="yes">Room History Search</property>
</accessibility>
</object>
</property>
</object>
</child>
<child>
<object class="ContentVerificationInfoBar" id="verification_info_bar">
<binding name="request">
<lookup name="verification">
<lookup name="room">ContentRoomHistory</lookup>
</lookup>
</binding>
</object>
</child>
<child>
<object class="GtkStack" id="stack">
<property name="transition-type">crossfade</property>
<child>
<object class="GtkSpinner" id="loading">
<property name="spinning">True</property>
<property name="valign">center</property>
<property name="halign">center</property>
<property name="vexpand">True</property>
<style>
<class name="session-loading-spinner"/>
</style>
</object>
</child>
<child>
<object class="AdwStatusPage" id="error">
<property name="visible">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="icon-name">dialog-error-symbolic</property>
<property name="title" translatable="yes">Unable to load room</property>
<property name="description" translatable="yes">Check your network connection.</property>
<property name="child">
<object class="GtkButton">
<property name="label" translatable="yes">Try Again</property>
<property name="action-name">room-history.try-again</property>
<property name="halign">center</property>
<style>
<class name="pill"/>
</style>
</object>
</property>
</object>
</child>
<child>
<object class="GtkOverlay" id="content">
<child type="overlay">
<object class="GtkRevealer" id="scroll_btn_revealer">
<property name="transition_type">crossfade</property>
<property name="reveal_child" bind-source="ContentRoomHistory" bind-property="sticky" bind-flags="sync-create | invert-boolean"/>
<property name="valign">end</property>
<property name="halign">end</property>
<property name="margin-end">24</property>
<property name="margin-bottom">24</property>
<child>
<object class="GtkButton" id="scroll_btn">
<property name="icon-name">go-bottom-symbolic</property>
<property name="action-name">room-history.scroll-down</property>
<accessibility>
<property name="label" translatable="yes">Scroll to bottom</property>
</accessibility>
<style>
<class name="osd"/>
<class name="circular"/>
</style>
</object>
</child>
</object>
</child>
<child>
<object class="DragOverlay" id="drag_overlay">
<property name="title" translatable="yes">Drop Here to Send</property>
<property name="child">
<object class="GtkScrolledWindow" id="scrolled_window">
<property name="vexpand">True</property>
<property name="hscrollbar-policy">never</property>
<style>
<class name="room-history"/>
</style>
<property name="child">
<object class="AdwClampScrollable">
<property name="vexpand">True</property>
<property name="hexpand">True</property>
<property name="maximum-size">750</property>
<property name="tightening-threshold">550</property>
<property name="child">
<object class="GtkListView" id="listview">
<style>
<class name="navigation-sidebar"/>
</style>
<property name="single-click-activate">True</property>
<accessibility>
<property name="label" translatable="yes">Room History</property>
</accessibility>
</object>
</property>
</object>
</property>
</object>
</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSeparator"/>
</child>
<child>
<object class="AdwClamp">
<property name="vexpand">False</property>
<property name="maximum-size">750</property>
<property name="tightening-threshold">550</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkBox" id="related_event_toolbar">
<style>
<class name="related-event-toolbar"/>
</style>
<property name="spacing">12</property>
<binding name="visible">
<closure type="gboolean" function="object_is_some">
<lookup name="related-event">ContentRoomHistory</lookup>
</closure>
</binding>
<child>
<object class="GtkBox">
<property name="margin-bottom">6</property>
<property name="margin-top">8</property>
<property name="orientation">vertical</property>
<child>
<object class="LabelWithWidgets" id="related_event_header">
<style>
<class name="heading"/>
</style>
<property name="valign">center</property>
<property name="hexpand">true</property>
<property name="margin-top">2</property>
</object>
</child>
<child>
<object class="ContentMessageContent" id="related_event_content">
<style>
<class name="related-event-content"/>
<class name="dim-label"/>
</style>
<property name="format">ellipsized</property>
</object>
</child>
<child>
<object class="GtkGestureClick">
<signal name="pressed" handler="handle_related_event_click" swapped="yes"/>
</object>
</child>
</object>
</child>
<child>
<object class="GtkButton">
<style>
<class name="circular"/>
</style>
<property name="halign">end</property>
<property name="valign">start</property>
<property name="icon-name">window-close-symbolic</property>
<property name="action-name">room-history.clear-related-event</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox">
<style>
<class name="toolbar"/>
</style>
<child>
<object class="GtkMenuButton" id="markdown_button">
<property name="valign">end</property>
<property name="direction">up</property>
<property name="icon-name">format-justify-left-symbolic</property>
<property name="popover">
<object class="MarkdownPopover">
<property name="markdown-enabled" bind-source="ContentRoomHistory" bind-property="markdown-enabled" bind-flags="sync-create | bidirectional"/>
</object>
</property>
<accessibility>
<property name="label" translatable="yes">Enable Markdown Formatting</property>
</accessibility>
</object>
</child>
<child>
<object class="CustomEntry">
<child>
<object class="GtkScrolledWindow">
<property name="vexpand">True</property>
<property name="hexpand">True</property>
<property name="vscrollbar-policy">external</property>
<property name="max-content-height">200</property>
<property name="propagate-natural-height">True</property>
<property name="child">
<object class="GtkSourceView" id="message_entry">
<property name="hexpand">True</property>
<property name="accepts-tab">False</property>
<property name="top-margin">7</property>
<property name="bottom-margin">7</property>
<property name="wrap-mode">word</property>
<accessibility>
<property name="label" translatable="yes">Message Entry</property>
</accessibility>
</object>
</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkButton">
<property name="valign">end</property>
<property name="icon-name">emoji-people-symbolic</property>
<property name="action-name">room-history.open-emoji</property>
<accessibility>
<property name="label" translatable="yes">Open Emoji Picker</property>
</accessibility>
</object>
</child>
<child>
<object class="GtkMenuButton">
<property name="valign">end</property>
<property name="direction">up</property>
<property name="icon-name">view-more-horizontal-symbolic</property>
<property name="menu-model">message-menu-model</property>
<accessibility>
<property name="label" translatable="yes">Open Message Menu</property>
</accessibility>
</object>
</child>
<child>
<object class="GtkButton">
<property name="valign">end</property>
<property name="icon-name">send-symbolic</property>
<property name="focus-on-click">False</property>
<property name="action-name">room-history.send-text-message</property>
<style>
<class name="suggested-action"/>
<class name="circular"/>
</style>
<accessibility>
<property name="label" translatable="yes">Send Message</property>
</accessibility>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</template>
</interface>