Skip to content
Snippets Groups Projects
Commit 163b9a5b authored by Karishma Chadha's avatar Karishma Chadha
Browse files

Add ability to restore a deleted costume.

parent e79b56d6
No related branches found
No related tags found
No related merge requests found
...@@ -167,6 +167,11 @@ class MenuBar extends React.Component { ...@@ -167,6 +167,11 @@ class MenuBar extends React.Component {
id="gui.menuBar.restoreSound" id="gui.menuBar.restoreSound"
/>); />);
case 'Costume': case 'Costume':
return (<FormattedMessage
defaultMessage="Restore Costume"
description="Menu bar item for restoring the last deleted costume."
id="gui.menuBar.restoreCostume"
/>);
default: { default: {
return (<FormattedMessage return (<FormattedMessage
defaultMessage="Restore" defaultMessage="Restore"
......
...@@ -24,6 +24,8 @@ import { ...@@ -24,6 +24,8 @@ import {
SOUNDS_TAB_INDEX SOUNDS_TAB_INDEX
} from '../reducers/editor-tab'; } from '../reducers/editor-tab';
import {setRestore} from '../reducers/restore-deletion';
import addLibraryBackdropIcon from '../components/asset-panel/icon--add-backdrop-lib.svg'; import addLibraryBackdropIcon from '../components/asset-panel/icon--add-backdrop-lib.svg';
import addLibraryCostumeIcon from '../components/asset-panel/icon--add-costume-lib.svg'; import addLibraryCostumeIcon from '../components/asset-panel/icon--add-costume-lib.svg';
import fileUploadIcon from '../components/action-menu/icon--file-upload.svg'; import fileUploadIcon from '../components/action-menu/icon--file-upload.svg';
...@@ -135,7 +137,10 @@ class CostumeTab extends React.Component { ...@@ -135,7 +137,10 @@ class CostumeTab extends React.Component {
this.setState({selectedCostumeIndex: costumeIndex}); this.setState({selectedCostumeIndex: costumeIndex});
} }
handleDeleteCostume (costumeIndex) { handleDeleteCostume (costumeIndex) {
this.props.vm.deleteCostume(costumeIndex); const restoreCostumeFun = this.props.vm.deleteCostume(costumeIndex);
this.props.dispatchUpdateRestore({
restoreFun: restoreCostumeFun,
deletedItem: 'Costume'});
} }
handleDuplicateCostume (costumeIndex) { handleDuplicateCostume (costumeIndex) {
this.props.vm.duplicateCostume(costumeIndex); this.props.vm.duplicateCostume(costumeIndex);
...@@ -232,6 +237,7 @@ class CostumeTab extends React.Component { ...@@ -232,6 +237,7 @@ class CostumeTab extends React.Component {
} }
render () { render () {
const { const {
dispatchUpdateRestore, // eslint-disable-line no-unused-vars
intl, intl,
onNewCostumeFromCameraClick, onNewCostumeFromCameraClick,
onNewLibraryBackdropClick, onNewLibraryBackdropClick,
...@@ -325,6 +331,7 @@ class CostumeTab extends React.Component { ...@@ -325,6 +331,7 @@ class CostumeTab extends React.Component {
CostumeTab.propTypes = { CostumeTab.propTypes = {
cameraModalVisible: PropTypes.bool, cameraModalVisible: PropTypes.bool,
dispatchUpdateRestore: PropTypes.func,
editingTarget: PropTypes.string, editingTarget: PropTypes.string,
intl: intlShape, intl: intlShape,
onActivateSoundsTab: PropTypes.func.isRequired, onActivateSoundsTab: PropTypes.func.isRequired,
...@@ -372,6 +379,9 @@ const mapDispatchToProps = dispatch => ({ ...@@ -372,6 +379,9 @@ const mapDispatchToProps = dispatch => ({
}, },
onRequestCloseCameraModal: () => { onRequestCloseCameraModal: () => {
dispatch(closeCameraCapture()); dispatch(closeCameraCapture());
},
dispatchUpdateRestore: restoreState => {
dispatch(setRestore(restoreState));
} }
}); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment