open a file when it is clicked from the download list (#2501)
This commit is contained in:
parent
bab5a372c8
commit
7d79cab916
|
@ -152,6 +152,7 @@ export const HIDE_DOWNLOADS_DROPDOWN_BUTTON_BADGE = 'hide-downloads-dropdown-but
|
||||||
export const REQUEST_DOWNLOADS_DROPDOWN_INFO = 'request-downloads-dropdown-info';
|
export const REQUEST_DOWNLOADS_DROPDOWN_INFO = 'request-downloads-dropdown-info';
|
||||||
export const UPDATE_DOWNLOADS_DROPDOWN = 'update-downloads-dropdown';
|
export const UPDATE_DOWNLOADS_DROPDOWN = 'update-downloads-dropdown';
|
||||||
export const DOWNLOADS_DROPDOWN_SHOW_FILE_IN_FOLDER = 'downloads-dropdown-show-file-in-folder';
|
export const DOWNLOADS_DROPDOWN_SHOW_FILE_IN_FOLDER = 'downloads-dropdown-show-file-in-folder';
|
||||||
|
export const DOWNLOADS_DROPDOWN_OPEN_FILE = 'downloads-dropdown-open-file';
|
||||||
export const REQUEST_HAS_DOWNLOADS = 'request-has-downloads';
|
export const REQUEST_HAS_DOWNLOADS = 'request-has-downloads';
|
||||||
export const DOWNLOADS_DROPDOWN_FOCUSED = 'downloads-dropdown-focused';
|
export const DOWNLOADS_DROPDOWN_FOCUSED = 'downloads-dropdown-focused';
|
||||||
export const RECEIVE_DOWNLOADS_DROPDOWN_SIZE = 'receive-downloads-dropdown-size';
|
export const RECEIVE_DOWNLOADS_DROPDOWN_SIZE = 'receive-downloads-dropdown-size';
|
||||||
|
|
|
@ -21,6 +21,7 @@ import {
|
||||||
TOGGLE_DOWNLOADS_DROPDOWN_MENU,
|
TOGGLE_DOWNLOADS_DROPDOWN_MENU,
|
||||||
UPDATE_DOWNLOADS_DROPDOWN,
|
UPDATE_DOWNLOADS_DROPDOWN,
|
||||||
GET_DOWNLOADED_IMAGE_THUMBNAIL_LOCATION,
|
GET_DOWNLOADED_IMAGE_THUMBNAIL_LOCATION,
|
||||||
|
DOWNLOADS_DROPDOWN_OPEN_FILE,
|
||||||
} from 'common/communication';
|
} from 'common/communication';
|
||||||
|
|
||||||
console.log('preloaded for the downloadsDropdown!');
|
console.log('preloaded for the downloadsDropdown!');
|
||||||
|
@ -61,6 +62,9 @@ window.addEventListener('message', async (event) => {
|
||||||
case REQUEST_CLEAR_DOWNLOADS_DROPDOWN:
|
case REQUEST_CLEAR_DOWNLOADS_DROPDOWN:
|
||||||
ipcRenderer.send(REQUEST_CLEAR_DOWNLOADS_DROPDOWN);
|
ipcRenderer.send(REQUEST_CLEAR_DOWNLOADS_DROPDOWN);
|
||||||
break;
|
break;
|
||||||
|
case DOWNLOADS_DROPDOWN_OPEN_FILE:
|
||||||
|
ipcRenderer.send(DOWNLOADS_DROPDOWN_OPEN_FILE, event.data.payload.item);
|
||||||
|
break;
|
||||||
case DOWNLOADS_DROPDOWN_SHOW_FILE_IN_FOLDER:
|
case DOWNLOADS_DROPDOWN_SHOW_FILE_IN_FOLDER:
|
||||||
ipcRenderer.send(DOWNLOADS_DROPDOWN_SHOW_FILE_IN_FOLDER, event.data.payload.item);
|
ipcRenderer.send(DOWNLOADS_DROPDOWN_SHOW_FILE_IN_FOLDER, event.data.payload.item);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -20,6 +20,7 @@ import {
|
||||||
UPDATE_DOWNLOADS_DROPDOWN,
|
UPDATE_DOWNLOADS_DROPDOWN,
|
||||||
UPDATE_DOWNLOADS_DROPDOWN_MENU_ITEM,
|
UPDATE_DOWNLOADS_DROPDOWN_MENU_ITEM,
|
||||||
GET_DOWNLOADED_IMAGE_THUMBNAIL_LOCATION,
|
GET_DOWNLOADED_IMAGE_THUMBNAIL_LOCATION,
|
||||||
|
DOWNLOADS_DROPDOWN_OPEN_FILE,
|
||||||
} from 'common/communication';
|
} from 'common/communication';
|
||||||
import {TAB_BAR_HEIGHT, DOWNLOADS_DROPDOWN_WIDTH, DOWNLOADS_DROPDOWN_HEIGHT, DOWNLOADS_DROPDOWN_FULL_WIDTH} from 'common/utils/constants';
|
import {TAB_BAR_HEIGHT, DOWNLOADS_DROPDOWN_WIDTH, DOWNLOADS_DROPDOWN_HEIGHT, DOWNLOADS_DROPDOWN_FULL_WIDTH} from 'common/utils/constants';
|
||||||
import {getLocalPreload, getLocalURLString} from 'main/utils';
|
import {getLocalPreload, getLocalURLString} from 'main/utils';
|
||||||
|
@ -66,6 +67,7 @@ export default class DownloadsDropdownView {
|
||||||
ipcMain.on(REQUEST_DOWNLOADS_DROPDOWN_INFO, this.updateDownloadsDropdown);
|
ipcMain.on(REQUEST_DOWNLOADS_DROPDOWN_INFO, this.updateDownloadsDropdown);
|
||||||
ipcMain.on(REQUEST_CLEAR_DOWNLOADS_DROPDOWN, this.clearDownloads);
|
ipcMain.on(REQUEST_CLEAR_DOWNLOADS_DROPDOWN, this.clearDownloads);
|
||||||
ipcMain.on(RECEIVE_DOWNLOADS_DROPDOWN_SIZE, this.handleReceivedDownloadsDropdownSize);
|
ipcMain.on(RECEIVE_DOWNLOADS_DROPDOWN_SIZE, this.handleReceivedDownloadsDropdownSize);
|
||||||
|
ipcMain.on(DOWNLOADS_DROPDOWN_OPEN_FILE, this.openFile);
|
||||||
ipcMain.on(DOWNLOADS_DROPDOWN_SHOW_FILE_IN_FOLDER, this.showFileInFolder);
|
ipcMain.on(DOWNLOADS_DROPDOWN_SHOW_FILE_IN_FOLDER, this.showFileInFolder);
|
||||||
ipcMain.on(UPDATE_DOWNLOADS_DROPDOWN, this.updateDownloads);
|
ipcMain.on(UPDATE_DOWNLOADS_DROPDOWN, this.updateDownloads);
|
||||||
ipcMain.on(UPDATE_DOWNLOADS_DROPDOWN_MENU_ITEM, this.updateDownloadsDropdownMenuItem);
|
ipcMain.on(UPDATE_DOWNLOADS_DROPDOWN_MENU_ITEM, this.updateDownloadsDropdownMenuItem);
|
||||||
|
@ -144,6 +146,12 @@ export default class DownloadsDropdownView {
|
||||||
this.handleClose();
|
this.handleClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
openFile = (e: IpcMainEvent, item: DownloadedItem) => {
|
||||||
|
log.debug('DownloadsDropdownView.openFile', {item});
|
||||||
|
|
||||||
|
downloadsManager.openFile(item);
|
||||||
|
}
|
||||||
|
|
||||||
showFileInFolder = (e: IpcMainEvent, item: DownloadedItem) => {
|
showFileInFolder = (e: IpcMainEvent, item: DownloadedItem) => {
|
||||||
log.debug('DownloadsDropdownView.showFileInFolder', {item});
|
log.debug('DownloadsDropdownView.showFileInFolder', {item});
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import classNames from 'classnames';
|
||||||
|
|
||||||
import {useIntl} from 'react-intl';
|
import {useIntl} from 'react-intl';
|
||||||
|
|
||||||
import {DOWNLOADS_DROPDOWN_SHOW_FILE_IN_FOLDER} from 'common/communication';
|
import {DOWNLOADS_DROPDOWN_OPEN_FILE} from 'common/communication';
|
||||||
|
|
||||||
import FileSizeAndStatus from './FileSizeAndStatus';
|
import FileSizeAndStatus from './FileSizeAndStatus';
|
||||||
import ProgressBar from './ProgressBar';
|
import ProgressBar from './ProgressBar';
|
||||||
|
@ -26,7 +26,7 @@ const DownloadsDropdownItemFile = ({item, activeItem}: OwnProps) => {
|
||||||
const onFileClick = (e: React.MouseEvent<HTMLDivElement>) => {
|
const onFileClick = (e: React.MouseEvent<HTMLDivElement>) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
window.postMessage({type: DOWNLOADS_DROPDOWN_SHOW_FILE_IN_FOLDER, payload: {item}}, window.location.href);
|
window.postMessage({type: DOWNLOADS_DROPDOWN_OPEN_FILE, payload: {item}}, window.location.href);
|
||||||
};
|
};
|
||||||
|
|
||||||
const itemFilename = item.type === 'update' ?
|
const itemFilename = item.type === 'update' ?
|
||||||
|
|
Loading…
Reference in a new issue