Use HeaderBars for composers

Move the buttons from the bottom of the composer into the header.  The
draft save text is moved into the composer toolbar, for lack of a better
location.  When it's inline, we insert our own close button, so we can
control what it does.  When it's detached (and not using Unity), we
enable to default close button.

https://bugzilla.gnome.org/show_bug.cgi?id=731537
This commit is contained in:
Robert Schroll 2014-07-10 02:27:33 -04:00
parent 6064dbda7e
commit 221d8f7400
7 changed files with 191 additions and 253 deletions

View file

@ -141,7 +141,9 @@
</object>
</child>
<child>
<object class="GtkAction" id="close"/>
<object class="GtkAction" id="close">
<property name="icon_name">window-close-symbolic</property>
</object>
<accelerator key="w" modifiers="GDK_CONTROL_MASK"/>
</child>
<child>
@ -180,12 +182,58 @@
<property name="short_label" translatable="yes">Fixed Width</property>
</object>
</child>
<child>
<object class="GtkAction" id="detach">
<property name="label" translatable="yes">Detach</property>
<property name="short_label" translatable="yes">Detach</property>
<property name="tooltip" translatable="yes">Detach</property>
<property name="icon_name">window-maximize-symbolic</property>
</object>
</child>
<child>
<object class="GtkAction" id="send">
<property name="label" translatable="yes">_Send</property>
<property name="short_label" translatable="yes">Send</property>
<property name="tooltip" translatable="yes">Send</property>
<property name="icon_name">mail-send-symbolic</property>
</object>
</child>
<child>
<object class="GtkAction" id="add attachment">
<property name="label" translatable="yes">_Attach File</property>
<property name="short_label" translatable="yes">Attach File</property>
<property name="tooltip" translatable="yes">Attach File</property>
<property name="icon_name">mail-attachment-symbolic</property>
</object>
</child>
<child>
<object class="GtkAction" id="add original attachments">
<property name="label" translatable="yes">_Include Original Attachments</property>
<property name="short_label" translatable="yes">Include Original Attachments</property>
<property name="tooltip" translatable="yes">Include Original Attachments</property>
<property name="icon_name">edit-copy-symbolic</property>
</object>
</child>
</object>
<object class="GtkBox" id="composer">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<object class="GtkAlignment" id="header_area">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkAlignment" id="hidden_on_attachment_drag_over">
<property name="visible">True</property>
@ -194,56 +242,15 @@
<object class="GtkBox" id="hidden_on_attachment_drag_over_child">
<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="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkBox" id="compact_recipients">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="resize_mode">queue</property>
<child>
<object class="GtkButton" id="expand_button">
<property name="label" translatable="no">@</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Edit recipients</property>
<property name="margin_right">6</property>
<property name="xalign">0.54000002145767212</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="compact_recipients_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="no">label</property>
<property name="ellipsize">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</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>
<child>
<object class="GtkGrid" id="recipients">
<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="row_spacing">6</property>
<property name="column_spacing">6</property>
<child>
@ -440,7 +447,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
<property name="position">1</property>
</packing>
</child>
<child>
@ -489,7 +496,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
<property name="position">2</property>
</packing>
</child>
<child>
@ -505,7 +512,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
<property name="position">3</property>
</packing>
</child>
<child>
@ -530,7 +537,7 @@
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
<property name="position">4</property>
</packing>
</child>
<child>
@ -550,151 +557,8 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkSeparator" id="separator">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">6</property>
<property name="margin_right">6</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">2</property>
<property name="position">5</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="button_area">
<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="spacing">8</property>
<property name="layout_style">start</property>
<child>
<object class="GtkButton" id="add_attachment_button">
<property name="label" translatable="yes">_Attach File</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkButton" id="add_pending_attachments">
<property name="label" translatable="yes">_Include Original Attachments</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="no_show_all">True</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="draft_save_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<style>
<class name="draft-save-label"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">8</property>
<property name="layout_style">start</property>
<child>
<object class="GtkButton" id="Close">
<property name="label" translatable="yes">C_lose</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">3</property>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="Detach">
<property name="label" translatable="yes">Detach</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="focus_on_click">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">3</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="Send">
<property name="label" translatable="yes">_Send</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">3</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
<property name="secondary">True</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">6</property>
</packing>
</child>
</object>
</interface>