Since we're using the Icon View, we have some more options in terms of user selction and the actions applicable to that. So make the attachment signals and their handlers all apply to collections of attachments and use the GAppInfo class for determining which app to open an attachment with. * src/client/application/geary-controller.vala: Chase signal changes. (GearyController::on_attachments_activated): Handle multiple attachments being activated at once. Use its GAppInfo for launching each attachment, prompt the user with an GtkAppChooserDialog if the info is unknown. * src/client/conversation-viewer/conversation-email.vala Use the new AttachmentInfo class to manage lists of all displayed and currently selected attachments and their associated GAppInfo objects. Add actions for attachment context menu items. Move attachment signals from ConversationViewer here, make all attachment signals have a collection of them as their param. Hook up appropriate GtkIconView callbacks to manage selection, activation, etc. Construct AttachmentInfo instances when loading attachments and use them in the icon view's model. * ui/conversation-email.ui: Define needed callbacks for the icon view. Update its model to accept a GObject for the attachment info class. * ui/conversation-message-menu.ui: Fix action name for save attachments menu item.
68 lines
2.2 KiB
XML
68 lines
2.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<interface>
|
|
<menu id="email_menu">
|
|
<section>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Save Attachments</attribute>
|
|
<attribute name="action">msg.save_all_attachments</attribute>
|
|
</item>
|
|
</section>
|
|
<section>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Reply</attribute>
|
|
<attribute name="action">msg.reply_sender</attribute>
|
|
</item>
|
|
<item>
|
|
<attribute name="label" translatable="yes">Reply to _All</attribute>
|
|
<attribute name="action">msg.reply_all</attribute>
|
|
</item>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Forward</attribute>
|
|
<attribute name="action">msg.forward</attribute>
|
|
</item>
|
|
</section>
|
|
<section>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Mark Read</attribute>
|
|
<attribute name="action">msg.mark_read</attribute>
|
|
</item>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Mark Unread</attribute>
|
|
<attribute name="action">msg.mark_unread</attribute>
|
|
</item>
|
|
<item>
|
|
<attribute name="label" translatable="yes">Mark Unread From _Here</attribute>
|
|
<attribute name="action">msg.mark_unread_down</attribute>
|
|
</item>
|
|
</section>
|
|
<section>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Print...</attribute>
|
|
<attribute name="action">msg.print</attribute>
|
|
</item>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_View Source</attribute>
|
|
<attribute name="action">msg.view_source</attribute>
|
|
</item>
|
|
</section>
|
|
</menu>
|
|
<menu id="attachments_menu">
|
|
<section>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Open</attribute>
|
|
<attribute name="action">msg.open_attachments</attribute>
|
|
</item>
|
|
</section>
|
|
<section>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Save</attribute>
|
|
<attribute name="action">msg.save_attachments</attribute>
|
|
</item>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Save All</attribute>
|
|
<attribute name="action">msg.save_all_attachments</attribute>
|
|
</item>
|
|
</section>
|
|
</menu>
|
|
</interface>
|