OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 'use strict'; | 5 'use strict'; |
6 | 6 |
7 /** | 7 /** |
8 * Global (placed in the window object) variable name to hold internal | 8 * Global (placed in the window object) variable name to hold internal |
9 * file dragging information. Needed to show visual feedback while dragging | 9 * file dragging information. Needed to show visual feedback while dragging |
10 * since DataTransfer object is in protected state. Reachable from other | 10 * since DataTransfer object is in protected state. Reachable from other |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 cutOrCopy_: function(dataTransfer, effectAllowed) { | 143 cutOrCopy_: function(dataTransfer, effectAllowed) { |
144 var directories = []; | 144 var directories = []; |
145 var files = []; | 145 var files = []; |
146 var entries = this.selectedEntries_; | 146 var entries = this.selectedEntries_; |
147 for (var i = 0; i < entries.length; i++) { | 147 for (var i = 0; i < entries.length; i++) { |
148 (entries[i].isDirectory ? directories : files).push(entries[i].fullPath); | 148 (entries[i].isDirectory ? directories : files).push(entries[i].fullPath); |
149 } | 149 } |
150 | 150 |
151 // Tag to check it's filemanager data. | 151 // Tag to check it's filemanager data. |
152 dataTransfer.setData('fs/tag', 'filemanager-data'); | 152 dataTransfer.setData('fs/tag', 'filemanager-data'); |
153 dataTransfer.setData('fs/isOnDrive', this.isOnDrive); | |
154 dataTransfer.setData('fs/sourceRoot', | 153 dataTransfer.setData('fs/sourceRoot', |
155 this.directoryModel_.getCurrentRootPath()); | 154 this.directoryModel_.getCurrentRootPath()); |
156 dataTransfer.setData('fs/directories', directories.join('\n')); | 155 dataTransfer.setData('fs/directories', directories.join('\n')); |
157 dataTransfer.setData('fs/files', files.join('\n')); | 156 dataTransfer.setData('fs/files', files.join('\n')); |
158 dataTransfer.effectAllowed = effectAllowed; | 157 dataTransfer.effectAllowed = effectAllowed; |
159 dataTransfer.setData('fs/effectallowed', effectAllowed); | 158 dataTransfer.setData('fs/effectallowed', effectAllowed); |
160 | 159 |
161 for (var i = 0; i < this.selectedFileObjects_.length; i++) { | 160 for (var i = 0; i < this.selectedFileObjects_.length; i++) { |
162 dataTransfer.items.add(this.selectedFileObjects_[i]); | 161 dataTransfer.items.add(this.selectedFileObjects_[i]); |
163 } | 162 } |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 this.currentDirectoryContentPath; | 205 this.currentDirectoryContentPath; |
207 // effectAllowed set in copy/pase handlers stay uninitialized. DnD handlers | 206 // effectAllowed set in copy/pase handlers stay uninitialized. DnD handlers |
208 // work fine. | 207 // work fine. |
209 var files = (dataTransfer.getData('fs/files') || '').split('\n'); | 208 var files = (dataTransfer.getData('fs/files') || '').split('\n'); |
210 var directories = | 209 var directories = |
211 (dataTransfer.getData('fs/directories') || '').split('\n'); | 210 (dataTransfer.getData('fs/directories') || '').split('\n'); |
212 var effectAllowed = dataTransfer.effectAllowed != 'uninitialized' ? | 211 var effectAllowed = dataTransfer.effectAllowed != 'uninitialized' ? |
213 dataTransfer.effectAllowed : dataTransfer.getData('fs/effectallowed'); | 212 dataTransfer.effectAllowed : dataTransfer.getData('fs/effectallowed'); |
214 var toMove = effectAllowed == 'move' || | 213 var toMove = effectAllowed == 'move' || |
215 (effectAllowed == 'copyMove' && opt_effect == 'move'); | 214 (effectAllowed == 'copyMove' && opt_effect == 'move'); |
216 var targetOnDrive = (PathUtil.getRootType(destinationPath) === | |
217 RootType.DRIVE); | |
218 this.copyManager_.paste(files, | 215 this.copyManager_.paste(files, |
219 directories, | 216 directories, |
220 toMove, | 217 toMove, |
221 dataTransfer.getData('fs/isOnDrive') == 'true', | 218 destinationPath); |
222 destinationPath, | |
223 targetOnDrive); | |
224 return toMove ? 'move' : 'copy'; | 219 return toMove ? 'move' : 'copy'; |
225 }, | 220 }, |
226 | 221 |
227 /** | 222 /** |
228 * Preloads an image thumbnail for the specified file entry. | 223 * Preloads an image thumbnail for the specified file entry. |
229 * | 224 * |
230 * @this {FileTransferController} | 225 * @this {FileTransferController} |
231 * @param {Entry} entry Entry to preload a thumbnail for. | 226 * @param {Entry} entry Entry to preload a thumbnail for. |
232 */ | 227 */ |
233 preloadThumbnailImage_: function(entry) { | 228 preloadThumbnailImage_: function(entry) { |
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
835 !event.ctrlKey) { | 830 !event.ctrlKey) { |
836 return 'move'; | 831 return 'move'; |
837 } | 832 } |
838 if (event.dataTransfer.effectAllowed == 'copyMove' && | 833 if (event.dataTransfer.effectAllowed == 'copyMove' && |
839 event.shiftKey) { | 834 event.shiftKey) { |
840 return 'move'; | 835 return 'move'; |
841 } | 836 } |
842 return 'copy'; | 837 return 'copy'; |
843 }, | 838 }, |
844 }; | 839 }; |
OLD | NEW |