This takes some inspiration from the GNOME Mail mockups. * src/client/components/main-window.vala (MainWindow::set_styling): Work around GtkFlowBoxChild padding issue. * src/client/conversation-viewer/conversation-message.vala (ConversationMessage): Updated to populate new header labels, add addresses to GtkFlowBoxes. * ui/conversation-message.ui: Make date always visible and right-aligned. Remove label for sender address. Use GtkFlowBoxes for sender/to/cc/bcc.
614 lines
31 KiB
XML
614 lines
31 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- Generated with glade 3.20.0 -->
|
|
<interface>
|
|
<requires lib="gtk+" version="3.14"/>
|
|
<template class="ConversationMessage" parent="GtkBox">
|
|
<property name="name">ConversationMessage</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkBox" id="summary_box">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="spacing">6</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkRevealer" id="preview_revealer">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="transition_type">none</property>
|
|
<property name="reveal_child">True</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="spacing">6</property>
|
|
<child>
|
|
<object class="GtkImage" id="preview_avatar">
|
|
<property name="width_request">18</property>
|
|
<property name="height_request">18</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="valign">start</property>
|
|
<property name="pixel_size">32</property>
|
|
<property name="icon_name">avatar-default-symbolic</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="preview_bod">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkLabel" id="preview_from">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="label" translatable="yes">From <email></property>
|
|
<property name="ellipsize">end</property>
|
|
<property name="xalign">0</property>
|
|
<style>
|
|
<class name="header-value"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="preview_date">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="valign">baseline</property>
|
|
<property name="margin_top">3</property>
|
|
<property name="label" translatable="yes">1/1/1970 </property>
|
|
<property name="selectable">True</property>
|
|
<property name="ellipsize">end</property>
|
|
<property name="xalign">1</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">1</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="GtkLabel" id="preview_body">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="label" translatable="yes">Preview body text.</property>
|
|
<property name="ellipsize">end</property>
|
|
<property name="xalign">0</property>
|
|
<style>
|
|
<class name="preview-value"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkRevealer" id="header_revealer">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="transition_type">none</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="spacing">6</property>
|
|
<child>
|
|
<object class="GtkImage" id="header_avatar">
|
|
<property name="width_request">18</property>
|
|
<property name="height_request">18</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="valign">start</property>
|
|
<property name="pixel_size">48</property>
|
|
<property name="icon_name">avatar-default-symbolic</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="headers">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkBox" id="from_header">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="baseline_position">top</property>
|
|
<child>
|
|
<object class="GtkFlowBox" id="from">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="valign">baseline</property>
|
|
<property name="column_spacing">2</property>
|
|
<property name="min_children_per_line">1</property>
|
|
<property name="max_children_per_line">4</property>
|
|
<property name="selection_mode">none</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="date">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="valign">baseline</property>
|
|
<property name="label" translatable="yes">1/1/1970 </property>
|
|
<property name="selectable">True</property>
|
|
<property name="ellipsize">end</property>
|
|
<property name="xalign">1</property>
|
|
<style>
|
|
<class name="geary-header-label"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">1</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="GtkLabel" id="subject">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="valign">baseline</property>
|
|
<property name="label" translatable="yes">Subject</property>
|
|
<property name="wrap">True</property>
|
|
<property name="selectable">True</property>
|
|
<property name="xalign">0</property>
|
|
<style>
|
|
<class name="geary-header-label"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="to_header">
|
|
<property name="can_focus">False</property>
|
|
<property name="baseline_position">top</property>
|
|
<child>
|
|
<object class="GtkLabel" id="to_label">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">To:</property>
|
|
<property name="yalign">0</property>
|
|
<style>
|
|
<class name="dim-label"/>
|
|
<class name="geary-header-label"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkFlowBox" id="to">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="valign">start</property>
|
|
<property name="hexpand">False</property>
|
|
<property name="column_spacing">2</property>
|
|
<property name="min_children_per_line">1</property>
|
|
<property name="max_children_per_line">4</property>
|
|
<property name="selection_mode">none</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="cc_header">
|
|
<property name="can_focus">False</property>
|
|
<property name="baseline_position">top</property>
|
|
<child>
|
|
<object class="GtkLabel" id="cc_label">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Cc:</property>
|
|
<property name="yalign">0</property>
|
|
<style>
|
|
<class name="dim-label"/>
|
|
<class name="geary-header-label"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkFlowBox" id="cc">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="valign">start</property>
|
|
<property name="hexpand">False</property>
|
|
<property name="column_spacing">2</property>
|
|
<property name="min_children_per_line">1</property>
|
|
<property name="max_children_per_line">4</property>
|
|
<property name="selection_mode">none</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">3</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="bcc_header">
|
|
<property name="can_focus">False</property>
|
|
<property name="baseline_position">top</property>
|
|
<child>
|
|
<object class="GtkLabel" id="bcc_label">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Bcc:</property>
|
|
<property name="yalign">0</property>
|
|
<style>
|
|
<class name="dim-label"/>
|
|
<class name="geary-header-label"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkFlowBox" id="bcc">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="valign">start</property>
|
|
<property name="hexpand">False</property>
|
|
<property name="column_spacing">2</property>
|
|
<property name="min_children_per_line">2</property>
|
|
<property name="max_children_per_line">4</property>
|
|
<property name="selection_mode">none</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">4</property>
|
|
</packing>
|
|
</child>
|
|
<style>
|
|
<class name="geary-headers"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkRevealer" id="body_revealer">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkBox" id="body_box">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<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">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="infobar_box">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkInfoBar" id="remote_images_infobar">
|
|
<property name="app_paintable">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="no_show_all">True</property>
|
|
<property name="message_type">warning</property>
|
|
<property name="show_close_button">True</property>
|
|
<signal name="response" handler="on_remote_images_response" swapped="no"/>
|
|
<child internal-child="action_area">
|
|
<object class="GtkButtonBox">
|
|
<property name="can_focus">False</property>
|
|
<property name="spacing">6</property>
|
|
<property name="layout_style">end</property>
|
|
<child>
|
|
<object class="GtkButton" id="button1">
|
|
<property name="label" translatable="yes">Show Images</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="button2">
|
|
<property name="label" translatable="yes">Always Show From Sender</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">2</property>
|
|
<property name="non_homogeneous">True</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child internal-child="content_area">
|
|
<object class="GtkBox">
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<property name="spacing">2</property>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Remote images not shown</property>
|
|
<property name="xalign">0</property>
|
|
<attributes>
|
|
<attribute name="weight" value="bold"/>
|
|
</attributes>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Only show remote images from senders you trust.</property>
|
|
<property name="xalign">0</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<action-widgets>
|
|
<action-widget response="1">button1</action-widget>
|
|
<action-widget response="2">button2</action-widget>
|
|
</action-widgets>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<placeholder/>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</template>
|
|
<object class="GtkPopover" id="link_popover">
|
|
<property name="can_focus">False</property>
|
|
<property name="relative_to">body_box</property>
|
|
<property name="position">bottom</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_left">6</property>
|
|
<property name="margin_right">6</property>
|
|
<property name="margin_top">6</property>
|
|
<property name="margin_bottom">6</property>
|
|
<property name="orientation">vertical</property>
|
|
<property name="spacing">6</property>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">This link appears to go to:</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="good_link_label">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label"><a href="http://goodlink.com">http://goodlink.com</a></property>
|
|
<property name="use_markup">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">But actually goes to:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="bad_link_label">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label"><a href="http://badlink.com">http://badlink.com</a></property>
|
|
<property name="use_markup">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">3</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<style>
|
|
<class name="tooltip"/>
|
|
</style>
|
|
</object>
|
|
</interface>
|