223 lines
9.8 KiB
XML
223 lines
9.8 KiB
XML
<?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">_Leave Room</attribute>
|
|
<attribute name="action">room-history.leave</attribute>
|
|
<attribute name="hidden-when">action-disabled</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>
|
|
</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>
|
|
</object>
|
|
</child>
|
|
<child type="end">
|
|
<object class="GtkToggleButton" id="search_content_button">
|
|
<property name="icon-name">system-search-symbolic</property>
|
|
</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>
|
|
<child>
|
|
<object class="GtkSearchEntry"/>
|
|
</child>
|
|
</object>
|
|
</property>
|
|
</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="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="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="child">
|
|
<object class="GtkListView" id="listview">
|
|
<style>
|
|
<class name="navigation-sidebar"/>
|
|
</style>
|
|
<property name="factory">
|
|
<object class="GtkBuilderListItemFactory">
|
|
<property name="resource">/org/gnome/FractalNext/content-item.ui</property>
|
|
</object>
|
|
</property>
|
|
<accessibility>
|
|
<property name="label" translatable="yes">Room History</property>
|
|
</accessibility>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSeparator"/>
|
|
</child>
|
|
<child>
|
|
<object class="AdwClamp">
|
|
<property name="vexpand">False</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="spacing">6</property>
|
|
<style>
|
|
<class name="send-message-area"/>
|
|
</style>
|
|
<child>
|
|
<object class="GtkButton">
|
|
<property name="valign">end</property>
|
|
<property name="icon-name">mail-attachment-symbolic</property>
|
|
<property name="action-name">room-history.select-file</property>
|
|
</object>
|
|
</child>
|
|
<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>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="CustomEntry">
|
|
<style>
|
|
<class name="message-entry"/>
|
|
</style>
|
|
<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>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
</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"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</template>
|
|
</interface>
|
|
|