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

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

Issue 10914075: [filemanager] Implementing undo delete functionality. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Merge to head 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
Index: chrome/browser/resources/file_manager/js/file_manager.js
===================================================================
--- chrome/browser/resources/file_manager/js/file_manager.js (revision 155363)
+++ chrome/browser/resources/file_manager/js/file_manager.js (working copy)
@@ -210,9 +210,13 @@
this.gdataChangeHandler_ =
fileManager.updateMetadataInUI_.bind(fileManager, 'gdata');
+ var dm = fileManager.directoryModel_;
+ this.internalChangeHandler_ = dm.rescan.bind(dm);
+
this.filesystemObserverId_ = null;
this.thumbnailObserverId_ = null;
this.gdataObserverId_ = null;
+ this.internalObserverId_ = null;
// Holds the directories known to contain files with stale metadata
// as URL to bool map.
@@ -227,8 +231,8 @@
* @param {DirectoryEntryi?} entry New watched directory entry.
* @override
*/
- FileManager.MetadataFileWatcher.prototype.changeWatchedEntry =
- function(entry) {
+ FileManager.MetadataFileWatcher.prototype.changeWatchedEntry = function(
+ entry) {
FileWatcher.prototype.changeWatchedEntry.call(this, entry);
if (this.filesystemObserverId_)
@@ -239,6 +243,7 @@
this.metadataCache_.removeObserver(this.gdataObserverId_);
this.filesystemObserverId_ = null;
this.gdataObserverId_ = null;
+ this.internalObserverId_ = null;
if (!entry)
return;
@@ -261,6 +266,12 @@
'gdata',
this.gdataChangeHandler_);
}
+
+ this.internalObserverId_ = this.metadataCache_.addObserver(
+ entry,
+ MetadataCache.CHILDREN,
+ 'internal',
+ this.internalChangeHandler_);
};
/**
@@ -472,7 +483,8 @@
this.copyManager_.addEventListener('copy-operation-complete',
this.onCopyManagerOperationComplete_.bind(this));
- this.butterBar_ = new ButterBar(this.dialogDom_, this.copyManager_);
+ this.butterBar_ = new ButterBar(this.dialogDom_, this.copyManager_,
+ this.metadataCache_);
var controller = this.fileTransferController_ = new FileTransferController(
GridItem.bind(null, this, false /* no checkbox */),
@@ -1284,7 +1296,7 @@
if (this.isRenamingInProgress())
document.execCommand('delete');
else
- this.deleteEntries(this.selection.entries);
+ this.deleteSelection();
return;
@@ -2637,26 +2649,12 @@
this.directoryModel_.getCurrentDirEntry().toURL();
};
- FileManager.prototype.deleteEntries = function(entries, force, opt_callback) {
- if (!force) {
- var self = this;
- var msg;
- if (entries.length == 1) {
- msg = strf('CONFIRM_DELETE_ONE', entries[0].name);
- } else {
- msg = strf('CONFIRM_DELETE_SOME', entries.length);
- }
-
- this.confirm.show(msg, this.deleteEntries.bind(
- this, entries, true, opt_callback));
- return;
- }
-
- this.directoryModel_.deleteEntries(entries, opt_callback);
+ FileManager.prototype.deleteSelection = function(entries) {
+ this.butterBar_.initiateDelete(this.selection.entries);
};
FileManager.prototype.onDeleteButtonClick_ = function(event) {
- this.deleteEntries(this.selection.entries);
+ this.deleteSelection();
event.preventDefault();
event.stopPropagation();
};
@@ -2665,7 +2663,7 @@
switch (util.getKeyModifiers(event) + event.keyCode) {
case '13': // Enter
case '32': // Space
- this.deleteEntries(this.selection.entries);
+ this.deleteSelection();
event.preventDefault();
event.stopPropagation();
break;

Powered by Google App Engine
This is Rietveld 408576698