mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-09-20 23:36:21 +08:00
Add task to download RFC2822 for “Show Original” #300
This commit is contained in:
parent
4e119e5ead
commit
66a56abe0f
|
@ -1,6 +1,6 @@
|
|||
/* eslint global-require: 0 */
|
||||
import { remote } from 'electron';
|
||||
import { React, PropTypes, Actions } from 'mailspring-exports';
|
||||
import { React, PropTypes, Actions, TaskQueue, GetMessageRFC2822Task } from 'mailspring-exports';
|
||||
import { RetinaImg, ButtonDropdown, Menu } from 'mailspring-component-kit';
|
||||
|
||||
export default class MessageControls extends React.Component {
|
||||
|
@ -94,18 +94,22 @@ export default class MessageControls extends React.Component {
|
|||
menu.popup(remote.getCurrentWindow());
|
||||
};
|
||||
|
||||
_onShowOriginal = () => {
|
||||
// const fs = require('fs');
|
||||
// const path = require('path');
|
||||
// const BrowserWindow = remote.BrowserWindow;
|
||||
// const app = remote.app;
|
||||
// const tmpfile = path.join(app.getPath('temp'), this.props.message.id);
|
||||
// bg todo
|
||||
// .then((body) =>
|
||||
// fs.writeFile tmpfile, body, =>
|
||||
// window = new BrowserWindow(width: 800, height: 600, title: "${@props.message.subject} - RFC822")
|
||||
// window.loadURL('file://'+tmpfile)
|
||||
// )
|
||||
_onShowOriginal = async () => {
|
||||
const { message } = this.props;
|
||||
const filepath = require('path').join(remote.app.getPath('temp'), message.id);
|
||||
const task = new GetMessageRFC2822Task({
|
||||
messageId: message.id,
|
||||
accountId: message.accountId,
|
||||
filepath,
|
||||
});
|
||||
Actions.queueTask(task);
|
||||
await TaskQueue.waitForPerformRemote(task);
|
||||
const win = new remote.BrowserWindow({
|
||||
width: 800,
|
||||
height: 600,
|
||||
title: `${message.subject} - RFC822`,
|
||||
});
|
||||
win.loadURL(`file://${filepath}`);
|
||||
};
|
||||
|
||||
_onLogData = () => {
|
||||
|
|
|
@ -172,7 +172,7 @@ export default class MessageItemBody extends React.Component {
|
|||
/>
|
||||
{this._renderBody()}
|
||||
<ConditionalQuotedTextControl
|
||||
body={this.props.message.body}
|
||||
body={this.props.message.body || ''}
|
||||
onClick={this._onToggleQuotedText}
|
||||
/>
|
||||
</span>
|
||||
|
|
13
app/src/flux/tasks/get-message-rfc2822-task.es6
Normal file
13
app/src/flux/tasks/get-message-rfc2822-task.es6
Normal file
|
@ -0,0 +1,13 @@
|
|||
import Task from './task';
|
||||
import Attributes from '../attributes';
|
||||
|
||||
export default class GetMessageRFC2822Task extends Task {
|
||||
static attributes = Object.assign({}, Task.attributes, {
|
||||
messageId: Attributes.String({
|
||||
modelKey: 'messageId',
|
||||
}),
|
||||
filepath: Attributes.String({
|
||||
modelKey: 'filepath',
|
||||
}),
|
||||
});
|
||||
}
|
|
@ -102,6 +102,7 @@ lazyLoadAndRegisterTask(`SyncbackEventTask`, 'syncback-event-task');
|
|||
lazyLoadAndRegisterTask(`DestroyCategoryTask`, 'destroy-category-task');
|
||||
lazyLoadAndRegisterTask(`SyncbackCategoryTask`, 'syncback-category-task');
|
||||
lazyLoadAndRegisterTask(`SyncbackMetadataTask`, 'syncback-metadata-task');
|
||||
lazyLoadAndRegisterTask(`GetMessageRFC2822Task`, 'get-message-rfc2822-task');
|
||||
lazyLoadAndRegisterTask(`ExpungeAllInFolderTask`, 'expunge-all-in-folder-task');
|
||||
lazyLoadAndRegisterTask(`ChangeRoleMappingTask`, 'change-role-mapping-task');
|
||||
lazyLoadAndRegisterTask(`SendFeatureUsageEventTask`, 'send-feature-usage-event-task');
|
||||
|
|
2
mailsync
2
mailsync
|
@ -1 +1 @@
|
|||
Subproject commit dea346716738d81b7dd028e9060431b4c75669cf
|
||||
Subproject commit ebbd9cf98658ec674e50d6ccd1ee8e3b4ac75d97
|
Loading…
Reference in a new issue