Move email action handling to ConversationListBox

This allows a single widget to get constructed to handle email actions,
rather than every single ConversationEmail having to do so, and thus
related signals can also be moved to and emitted from
ConversationListBox, so that MainWindow only has to hook up to a single
object's signals for a conversation, not every email in the
conversation.
This commit is contained in:
Michael Gratton 2019-10-30 14:30:26 +11:00 committed by Michael James Gratton
parent f9cf70cc0e
commit 5cc92ef964
6 changed files with 663 additions and 450 deletions

View file

@ -7,13 +7,13 @@
<item>
<!-- Translators: Menu item to reply to a specific message. -->
<attribute name="label" translatable="yes">_Reply</attribute>
<attribute name="action">eml.reply_sender</attribute>
<attribute name="action">eml.reply-sender</attribute>
<attribute name="verb-icon">mail-reply-sender-symbolic</attribute>
</item>
<item>
<!-- Translators: Menu item to reply to a specific message. -->
<attribute name="label" translatable="yes">Reply to _All</attribute>
<attribute name="action">eml.reply_all</attribute>
<attribute name="action">eml.reply-all</attribute>
<attribute name="verb-icon">mail-reply-all-symbolic</attribute>
</item>
<item>
@ -28,19 +28,19 @@
<!-- Translators: Menu item to mark a specific message as
read. -->
<attribute name="label" translatable="yes">_Mark Read</attribute>
<attribute name="action">eml.mark_read</attribute>
<attribute name="action">eml.mark-read</attribute>
</item>
<!-- Translators: Menu item to mark a specific message as
unread. -->
<item>
<attribute name="label" translatable="yes">_Mark Unread</attribute>
<attribute name="action">eml.mark_unread</attribute>
<attribute name="action">eml.mark-unread</attribute>
</item>
<item>
<!-- Translators: Menu item to mark all messages in a
conversation from this one as unread. -->
<attribute name="label" translatable="yes">Mark Unread From _Here</attribute>
<attribute name="action">eml.mark_unread_down</attribute>
<attribute name="action">eml.mark-unread-down</attribute>
</item>
</section>
<section id="email_menu_trash">
@ -48,14 +48,14 @@
<!-- Translators: Menu item to move a single, specific message
to the trash folder -->
<attribute name="label" translatable="yes">Move message to _Trash</attribute>
<attribute name="action">eml.trash_msg</attribute>
<attribute name="action">eml.trash</attribute>
</item>
</section>
<section id="email_menu_delete">
<item>
<!-- Translators: Menu item to delete a single, specific message -->
<attribute name="label" translatable="yes">_Delete message…</attribute>
<attribute name="action">eml.delete_msg</attribute>
<attribute name="action">eml.delete</attribute>
</item>
</section>
<section>
@ -67,7 +67,7 @@
<item>
<!-- Translators: Menu item to view the source for a message -->
<attribute name="label" translatable="yes">_View Source</attribute>
<attribute name="action">eml.view_source</attribute>
<attribute name="action">eml.view-source</attribute>
</item>
</section>
</menu>

View file

@ -26,7 +26,7 @@
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Save all attachments</property>
<property name="valign">start</property>
<property name="action_name">eml.save_all_attachments</property>
<property name="action_name">eml.save-all-attachments</property>
<property name="relief">none</property>
<child>
<object class="GtkImage">
@ -49,7 +49,7 @@
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes" comments="Note: The application will never show this button at the same time as unstar_button, one will always be hidden.">Mark this message as starred</property>
<property name="valign">start</property>
<property name="action_name">eml.star</property>
<property name="action_name">eml.mark-starred</property>
<property name="relief">none</property>
<child>
<object class="GtkImage">
@ -71,7 +71,7 @@
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes" comments="Note: The application will never show this button at the same time as star_button, one will always be hidden.">Mark this message as not starred</property>
<property name="valign">start</property>
<property name="action_name">eml.unstar</property>
<property name="action_name">eml.mark-unstarred</property>
<property name="relief">none</property>
<child>
<object class="GtkImage">
@ -92,9 +92,9 @@
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Display the message menu</property>
<property name="valign">start</property>
<property name="relief">none</property>
<signal name="toggled" handler="on_email_menu" swapped="no"/>
<child>
<object class="GtkImage">
<property name="visible">True</property>