29a77d6ec6
This uses a store to keep track of the AppStates, so the user can go back to the previous state by clicking the back button or press Escape.
1040 lines
52 KiB
XML
1040 lines
52 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- Generated with glade 3.20.2 -->
|
|
<interface>
|
|
<requires lib="gtk+" version="3.20"/>
|
|
<object class="GtkApplicationWindow" id="main_window">
|
|
<property name="can_focus">False</property>
|
|
<property name="default_width">860</property>
|
|
<property name="default_height">640</property>
|
|
<property name="show_menubar">False</property>
|
|
<child>
|
|
<object class="GtkStack" id="main_content_stack">
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkBox" id="chat_state">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkBox" id="sidebar-box">
|
|
<property name="width_request">200</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="hexpand">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkSearchBar" id="room_list_searchbar">
|
|
<property name="width_request">200</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkSearchEntry" id="room_list_search">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="primary_icon_name">edit-find-symbolic</property>
|
|
<property name="primary_icon_activatable">False</property>
|
|
<property name="primary_icon_sensitive">False</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkScrolledWindow">
|
|
<property name="width_request">200</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="hscrollbar_policy">never</property>
|
|
<child>
|
|
<object class="GtkViewport">
|
|
<property name="width_request">200</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="shadow_type">none</property>
|
|
<child>
|
|
<object class="GtkBox" id="room_container">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<placeholder/>
|
|
</child>
|
|
<style>
|
|
<class name="rooms-sidebar"/>
|
|
<class name="sidebar"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSeparator">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkOverlay" id="inapp">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkStack" id="room_view_stack">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkBox" id="focused_room">
|
|
<property name="name">room</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkBox" id="history_container">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="room_parent">
|
|
<property name="visible">True</property>
|
|
<style>
|
|
<class name="message-input-area" />
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">room_view</property>
|
|
<property name="title">room_view</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSpinner">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="active">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="name">loading</property>
|
|
<property name="title">loading</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<property name="margin_bottom">30</property>
|
|
<property name="valign">center</property>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_bottom">16</property>
|
|
<property name="resource">/org/gnome/Fractal/icons/chat-icon.svg</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">No room selected</property>
|
|
<property name="margin_bottom">3</property>
|
|
<property name="justify">center</property>
|
|
<attributes>
|
|
<attribute name="weight" value="bold"/>
|
|
</attributes>
|
|
<style>
|
|
<class name="noroom-title"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Join a room to start chatting</property>
|
|
<property name="justify">center</property>
|
|
<style>
|
|
<class name="noroom-description"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">noroom</property>
|
|
<property name="title" translatable="yes">No room</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="index">-1</property>
|
|
</packing>
|
|
</child>
|
|
<child type="overlay">
|
|
<object class="GtkOverlay" id="inapp_notify">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="valign">start</property>
|
|
<property name="halign">center</property>
|
|
<child>
|
|
<object class="GtkRevealer" id="inapp_revealer">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">center</property>
|
|
<child>
|
|
<object class="GtkFrame" id="inapp_frame">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label_xalign">0</property>
|
|
<property name="shadow_type">none</property>
|
|
<child>
|
|
<object class="GtkBox" id="inapp_box">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="spacing">10</property>
|
|
<child>
|
|
<object class="GtkSpinner" id="inapp_spinner">
|
|
<property name="visible">True</property>
|
|
<property name="active">True</property>
|
|
<property name="can_focus">False</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="inapp_label">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="pack_type">end</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child type="label_item">
|
|
<placeholder/>
|
|
</child>
|
|
<style>
|
|
<class name="app-notification"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="pass_through">True</property>
|
|
<property name="index">-1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="pack_type">end</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">chat</property>
|
|
<property name="title" translatable="yes">Chat</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="directory_state">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkScrolledWindow" id="directory_scroll">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="hscrollbar_policy">never</property>
|
|
<child>
|
|
<object class="GtkViewport">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkStack" id="directory_stack">
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkBox" id="directory_spinner">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkSpinner">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="active">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">directory</property>
|
|
<property name="title" translatable="yes">Directory</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="loading_state">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkSpinner">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="active">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">loading</property>
|
|
<property name="title" translatable="yes">Loading</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="login_state">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">center</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkGrid" id="login_grid">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="column_spacing">6</property>
|
|
<property name="column_homogeneous">True</property>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_bottom">40</property>
|
|
<property name="label" translatable="yes" context="big label">Log In</property>
|
|
<attributes>
|
|
<attribute name="scale" value="4"/>
|
|
<attribute name="weight" value="ultralight"/>
|
|
</attributes>
|
|
<style>
|
|
<class name="dim-label"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">0</property>
|
|
<property name="width">4</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="login_username_label">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">end</property>
|
|
<property name="margin_bottom">6</property>
|
|
<property name="hexpand">True</property>
|
|
<property name="label" translatable="yes">Username</property>
|
|
<property name="justify">right</property>
|
|
<accessibility>
|
|
<relation type="label-for" target="login_username"/>
|
|
</accessibility>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEntry" id="login_username">
|
|
<property name="width_request">330</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="margin_bottom">6</property>
|
|
<property name="placeholder_text" translatable="yes">Matrix username, email or phone number</property>
|
|
<accessibility>
|
|
<relation type="labelled-by" target="login_username_label"/>
|
|
</accessibility>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">1</property>
|
|
<property name="top_attach">1</property>
|
|
<property name="width">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="login_button">
|
|
<property name="label" translatable="yes" context="login button">Log In</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<style>
|
|
<class name="suggested-action"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">2</property>
|
|
<property name="top_attach">5</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="login_password_label">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">end</property>
|
|
<property name="margin_bottom">6</property>
|
|
<property name="hexpand">True</property>
|
|
<property name="label" translatable="yes">Password</property>
|
|
<property name="justify">right</property>
|
|
<accessibility>
|
|
<relation type="label-for" target="login_password"/>
|
|
</accessibility>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">3</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEntry" id="login_password">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="margin_bottom">6</property>
|
|
<property name="visibility">False</property>
|
|
<property name="invisible_char">●</property>
|
|
<property name="input_purpose">password</property>
|
|
<accessibility>
|
|
<relation type="labelled-by" target="login_password_label"/>
|
|
</accessibility>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">1</property>
|
|
<property name="top_attach">3</property>
|
|
<property name="width">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkRevealer" id="login_advanced">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkGrid">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="row_spacing">6</property>
|
|
<property name="column_spacing">6</property>
|
|
<child>
|
|
<object class="GtkLabel" id="login_server_label">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">end</property>
|
|
<property name="hexpand">True</property>
|
|
<property name="label" translatable="yes">Home server URL</property>
|
|
<property name="justify">right</property>
|
|
<accessibility>
|
|
<relation type="label-for" target="login_server"/>
|
|
</accessibility>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="login_idp_label">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">end</property>
|
|
<property name="margin_bottom">6</property>
|
|
<property name="hexpand">True</property>
|
|
<property name="label" translatable="yes">Identity server URL</property>
|
|
<property name="justify">right</property>
|
|
<accessibility>
|
|
<relation type="label-for" target="login_idp"/>
|
|
</accessibility>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEntry" id="login_server">
|
|
<property name="width_request">330</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="text"></property>
|
|
<property name="placeholder_text" translatable="yes">Matrix Server</property>
|
|
<property name="input_purpose">url</property>
|
|
<accessibility>
|
|
<relation type="labelled-by" target="login_server_label"/>
|
|
</accessibility>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">1</property>
|
|
<property name="top_attach">0</property>
|
|
<property name="width">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEntry" id="login_idp">
|
|
<property name="width_request">330</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="margin_bottom">6</property>
|
|
<property name="text"></property>
|
|
<property name="placeholder_text" translatable="yes">Identity server</property>
|
|
<property name="input_purpose">url</property>
|
|
<accessibility>
|
|
<relation type="labelled-by" target="login_idp_label"/>
|
|
</accessibility>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">1</property>
|
|
<property name="top_attach">1</property>
|
|
<property name="width">2</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">2</property>
|
|
<property name="width">3</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkToggleButton" id="login_advanced_button">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="halign">start</property>
|
|
<property name="margin_bottom">6</property>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="icon_name">view-more-symbolic</property>
|
|
</object>
|
|
</child>
|
|
<child internal-child="accessible">
|
|
<object class="AtkObject" id="login_advanced_button-atkobject">
|
|
<property name="AtkObject::accessible-name" translatable="yes">Advanced</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">3</property>
|
|
<property name="top_attach">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="login_error_msg">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">10</property>
|
|
<property name="margin_bottom">10</property>
|
|
<property name="label" translatable="yes">Invalid username or password</property>
|
|
<attributes>
|
|
<attribute name="foreground" value="#efef29292929"/>
|
|
</attributes>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">1</property>
|
|
<property name="top_attach">4</property>
|
|
<property name="width">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<placeholder/>
|
|
</child>
|
|
<child>
|
|
<placeholder/>
|
|
</child>
|
|
<child>
|
|
<placeholder/>
|
|
</child>
|
|
<child>
|
|
<placeholder/>
|
|
</child>
|
|
<child>
|
|
<placeholder/>
|
|
</child>
|
|
<child>
|
|
<placeholder/>
|
|
</child>
|
|
<child>
|
|
<placeholder/>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="spacing">6</property>
|
|
<property name="homogeneous">True</property>
|
|
<child>
|
|
<object class="GtkLinkButton">
|
|
<property name="label" translatable="yes">Reset Password</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="uri">https://riot.im/app/#/login</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLinkButton">
|
|
<property name="label" translatable="yes">Create Account</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="uri">https://riot.im/app/#/register</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLinkButton">
|
|
<property name="label" translatable="yes">Log In as Guest</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="uri">https://riot.im/app/</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">login</property>
|
|
<property name="title" translatable="yes">Login</property>
|
|
<property name="position">3</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child type="titlebar">
|
|
<object class="HdyTitleBar">
|
|
<property name="visible">True</property>
|
|
<child>
|
|
<object class="GtkStack" id="headerbar_stack">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="hexpand">True</property>
|
|
<child>
|
|
<object class="GtkBox"> <!--message view-->
|
|
<property name="visible">True</property>
|
|
<child>
|
|
<object class="GtkHeaderBar" id="left-header"> <!--left titlebar-->
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<!--<property name="show-close-button">True</property>-->
|
|
<child>
|
|
<object class="GtkMenuButton" id="main_menu_button">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="popover">user_popover</property>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="icon_name">open-menu-symbolic</property>
|
|
</object>
|
|
</child>
|
|
<accessibility>
|
|
|
|
</accessibility>
|
|
<child internal-child="accessible">
|
|
<object class="AtkObject" id="a11y-main_menu_button">
|
|
<property name="AtkObject::accessible_name" translatable="yes">User</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="pack_type">end</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkMenuButton" id="add_room_menu">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="popover">add_room_popover</property>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="icon_name">list-add-symbolic</property>
|
|
</object>
|
|
</child>
|
|
<accessibility>
|
|
|
|
</accessibility>
|
|
<child internal-child="accessible">
|
|
<object class="AtkObject" id="a11y-add_room_menu">
|
|
<property name="AtkObject::accessible_name" translatable="yes">Add</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="pack_type">end</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkToggleButton" id="room_search_button">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="icon_name">system-search-symbolic</property>
|
|
</object>
|
|
</child>
|
|
<accelerator key="k" signal="activate" modifiers="GDK_CONTROL_MASK"/>
|
|
<style>
|
|
<class name="room-search-button"/>
|
|
</style>
|
|
<accessibility>
|
|
|
|
</accessibility>
|
|
<child internal-child="accessible">
|
|
<object class="AtkObject" id="a11y-room_search_button">
|
|
<property name="AtkObject::accessible_name" translatable="yes">Room search</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSeparator">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<style>
|
|
<class name="sidebar"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkHeaderBar" id="room_header_bar"> <!--right titlebar-->
|
|
<property name="show-close-button">True</property>
|
|
<property name="has-subtitle">False</property>
|
|
<property name="hexpand">True</property>
|
|
<child type="title">
|
|
<object class="GtkBox" id="room_info">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkLabel" id="room_name">
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Room name</property>
|
|
<property name="ellipsize">end</property>
|
|
<style>
|
|
<class name="title"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="room_topic">
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Room topic</property>
|
|
<property name="ellipsize">end</property>
|
|
<style>
|
|
<class name="subtitle"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkMenuButton" id="room_menu_button">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="popover">room_popover</property>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="icon_name">view-more-symbolic</property>
|
|
</object>
|
|
</child>
|
|
<accessibility>
|
|
</accessibility>
|
|
<child internal-child="accessible">
|
|
<object class="AtkObject" id="a11y-room_menu_button">
|
|
<property name="AtkObject::accessible_name" translatable="yes">Room Menu</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="pack_type">end</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">normal</property>
|
|
<property name="title">normal</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox"> <!--login titlebar-->
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkHeaderBar">
|
|
<property name="can_focus">False</property>
|
|
<property name="show-close-button">True</property>
|
|
<property name="title">Fractal</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">login</property>
|
|
<property name="title">login</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkHeaderBar">
|
|
<property name="can_focus">False</property>
|
|
<property name="show_close_button">True</property>
|
|
<child>
|
|
<object class="GtkButton" id="back_button">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="action_name">app.back</property>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="icon_name">go-previous-symbolic</property>
|
|
</object>
|
|
</child>
|
|
<child internal-child="accessible">
|
|
<object class="AtkObject" id="back_button-atkobject">
|
|
<property name="AtkObject::accessible-name" translatable="yes">Back</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child type="title">
|
|
<object class="GtkSearchEntry" id="directory_search_entry">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="width_chars">30</property>
|
|
<property name="primary_icon_name">edit-find-symbolic</property>
|
|
<property name="primary_icon_activatable">False</property>
|
|
<property name="primary_icon_sensitive">False</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkMenuButton" id="server_chooser_menu">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="popover">server_chooser_popover</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="spacing">6</property>
|
|
<child>
|
|
<object class="GtkLabel" id="directory_choice_label">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Default Matrix Server</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="icon_name">pan-down-symbolic</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="pack_type">end</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">back</property>
|
|
<property name="title" translatable="yes">Back</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<style>
|
|
<class name="main-window"/>
|
|
</style>
|
|
</object>
|
|
<!-- Synchronize left header and sidebar -->
|
|
<object class="GtkSizeGroup">
|
|
<property name="mode">horizontal</property>
|
|
<widgets>
|
|
<widget name="left-header"/>
|
|
<widget name="sidebar-box"/>
|
|
</widgets>
|
|
</object>
|
|
</interface>
|