Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2367)

Unified Diff: chrome/browser/resources/file_manager/js/photo/gallery.js

Issue 10909095: Delete images in Photo Editor (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/file_manager/js/mock_chrome.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/file_manager/js/photo/gallery.js
diff --git a/chrome/browser/resources/file_manager/js/photo/gallery.js b/chrome/browser/resources/file_manager/js/photo/gallery.js
index e26f8ce08ea1f651ac01237c6adf06a0a73c749f..7e706acb4d65dea7e66f94ad2ef84dfe45bacbd4 100644
--- a/chrome/browser/resources/file_manager/js/photo/gallery.js
+++ b/chrome/browser/resources/file_manager/js/photo/gallery.js
@@ -370,14 +370,42 @@ Gallery.prototype.toggleMode_ = function(opt_callback) {
*/
Gallery.prototype.onDelete_ = function() {
// Clone the sorted selected indexes array.
- var toRemove = this.selectionModel_.selectedIndexes.slice();
- this.selectionModel_.unselectAll();
-
- // Remove items starting from the highest index.
- while (toRemove.length)
- this.dataModel_.splice(toRemove.pop(), 1);
+ var indexesToRemove = this.selectionModel_.selectedIndexes.slice();
+ if (!indexesToRemove.length)
+ return;
- // TODO: delete actual files.
+ /* TODO(dgozman): implement Undo delete. */
+
+ var itemsToRemove = this.getSelectedItems();
+ var plural = itemsToRemove.length > 1;
+ var param = plural ? itemsToRemove.length : itemsToRemove[0].getFileName();
+
+ cr.ui.dialogs.BaseDialog.OK_LABEL = this.displayStringFunction_('OK_LABEL');
+ cr.ui.dialogs.BaseDialog.CANCEL_LABEL =
+ this.displayStringFunction_('CANCEL_LABEL');
+ var confirm = new cr.ui.dialogs.ConfirmDialog(this.container_);
+ confirm.show(this.displayStringFunction_(
+ plural ? 'CONFIRM_DELETE_SOME' : 'CONFIRM_DELETE_ONE', param),
+ function() {
+ this.selectionModel_.unselectAll();
+
+ // Remove items from the data model, starting from the highest index.
+ while (indexesToRemove.length)
+ this.dataModel_.splice(indexesToRemove.pop(), 1);
+
+ // Delete actual files.
+ var deleteNext = function() {
dgozman 2012/09/07 10:02:20 You can define this function outside callback to r
Vladislav Kaznacheev 2012/09/07 12:30:16 Done.
+ var item = itemsToRemove.pop();
+ var url = item.getUrl();
+ webkitResolveLocalFileSystemURL(url,
+ function(entry) {
+ entry.remove(deleteNext,
+ util.flog('Error deleting ' + url, deleteNext));
+ },
+ util.flog('Error resolving ' + url, deleteNext));
+ }.bind(this);
dgozman 2012/09/07 10:02:20 No need to bind here.
Vladislav Kaznacheev 2012/09/07 12:30:16 Done.
+ deleteNext();
+ }.bind(this));
};
/**
« no previous file with comments | « chrome/browser/resources/file_manager/js/mock_chrome.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698