OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // WK Bug 55728 is fixed on the chrome 12 branch but not on the trunk. | 5 // WK Bug 55728 is fixed on the chrome 12 branch but not on the trunk. |
6 // TODO(rginda): Enable this everywhere once we have a trunk-worthy fix. | 6 // TODO(rginda): Enable this everywhere once we have a trunk-worthy fix. |
7 const ENABLE_EXIF_READER = navigator.userAgent.match(/chrome\/12\.0/i); | 7 const ENABLE_EXIF_READER = navigator.userAgent.match(/chrome\/12\.0/i); |
8 | 8 |
9 // Thumbnail view is painful without the exif reader. | 9 // Thumbnail view is painful without the exif reader. |
10 const ENABLE_THUMBNAIL_VIEW = ENABLE_EXIF_READER; | 10 const ENABLE_THUMBNAIL_VIEW = ENABLE_EXIF_READER; |
(...skipping 1468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1479 selectable = (this.selection.directoryCount == 0 && | 1479 selectable = (this.selection.directoryCount == 0 && |
1480 this.selection.fileCount == 1); | 1480 this.selection.fileCount == 1); |
1481 } else if (this.dialogType_ == | 1481 } else if (this.dialogType_ == |
1482 FileManager.DialogType.SELECT_OPEN_MULTI_FILE) { | 1482 FileManager.DialogType.SELECT_OPEN_MULTI_FILE) { |
1483 selectable = (this.selection.directoryCount == 0 && | 1483 selectable = (this.selection.directoryCount == 0 && |
1484 this.selection.fileCount >= 1); | 1484 this.selection.fileCount >= 1); |
1485 } else if (this.dialogType_ == FileManager.DialogType.SELECT_SAVEAS_FILE) { | 1485 } else if (this.dialogType_ == FileManager.DialogType.SELECT_SAVEAS_FILE) { |
1486 if (this.selection.leadEntry && this.selection.leadEntry.isFile) | 1486 if (this.selection.leadEntry && this.selection.leadEntry.isFile) |
1487 this.filenameInput_.value = this.selection.leadEntry.name; | 1487 this.filenameInput_.value = this.selection.leadEntry.name; |
1488 | 1488 |
1489 selectable = !!this.filenameInput_.value; | 1489 if (this.currentDirEntry_.fullPath == '/' || |
| 1490 this.currentDirEntry_.fullPath == MEDIA_DIRECTORY) { |
| 1491 // Nothing can be saved in to the root or media/ directories. |
| 1492 selectable = false; |
| 1493 } else { |
| 1494 selectable = !!this.filenameInput_.value; |
| 1495 } |
1490 } else if (this.dialogType_ == FileManager.DialogType.FULL_PAGE) { | 1496 } else if (this.dialogType_ == FileManager.DialogType.FULL_PAGE) { |
1491 // No "select" buttons on the full page UI. | 1497 // No "select" buttons on the full page UI. |
1492 selectable = true; | 1498 selectable = true; |
1493 } else { | 1499 } else { |
1494 throw new Error('Unknown dialog type'); | 1500 throw new Error('Unknown dialog type'); |
1495 } | 1501 } |
1496 | 1502 |
1497 this.okButton_.disabled = !selectable; | 1503 this.okButton_.disabled = !selectable; |
1498 this.updatePreview_(); | 1504 this.updatePreview_(); |
1499 }; | 1505 }; |
(...skipping 25 matching lines...) Expand all Loading... |
1525 * | 1531 * |
1526 * @param {cr.Event} event The directory-changed event. | 1532 * @param {cr.Event} event The directory-changed event. |
1527 */ | 1533 */ |
1528 FileManager.prototype.onDirectoryChanged_ = function(event) { | 1534 FileManager.prototype.onDirectoryChanged_ = function(event) { |
1529 if (event.saveHistory) { | 1535 if (event.saveHistory) { |
1530 history.pushState(this.currentDirEntry_.fullPath, | 1536 history.pushState(this.currentDirEntry_.fullPath, |
1531 this.currentDirEntry_.fullPath, | 1537 this.currentDirEntry_.fullPath, |
1532 location.href); | 1538 location.href); |
1533 } | 1539 } |
1534 | 1540 |
1535 // New folder should never be enabled in the root directory. | 1541 // New folder should never be enabled in the root or media/ directories. |
1536 this.newFolderButton_.disabled = this.currentDirEntry_.fullPath == '/'; | 1542 this.newFolderButton_.disabled = |
| 1543 (this.currentDirEntry_.fullPath == '/' || |
| 1544 this.currentDirEntry_.fullPath == MEDIA_DIRECTORY); |
1537 | 1545 |
1538 this.document_.title = this.currentDirEntry_.fullPath; | 1546 this.document_.title = this.currentDirEntry_.fullPath; |
1539 this.rescanDirectory_(); | 1547 this.rescanDirectory_(); |
1540 }; | 1548 }; |
1541 | 1549 |
1542 /** | 1550 /** |
1543 * Update the UI when a disk is mounted or unmounted. | 1551 * Update the UI when a disk is mounted or unmounted. |
1544 * | 1552 * |
1545 * @param {string} path The path that has been mounted or unmounted. | 1553 * @param {string} path The path that has been mounted or unmounted. |
1546 */ | 1554 */ |
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1996 } else if (this.dialogType_ == FileManager.DialogType.SELECT_OPEN_FILE) { | 2004 } else if (this.dialogType_ == FileManager.DialogType.SELECT_OPEN_FILE) { |
1997 if (!this.selection.leadEntry.isFile) | 2005 if (!this.selection.leadEntry.isFile) |
1998 throw new Error('Selected entry is not a file!'); | 2006 throw new Error('Selected entry is not a file!'); |
1999 } | 2007 } |
2000 | 2008 |
2001 chrome.fileBrowserPrivate.selectFile(ary[0], 0); | 2009 chrome.fileBrowserPrivate.selectFile(ary[0], 0); |
2002 window.close(); | 2010 window.close(); |
2003 }; | 2011 }; |
2004 | 2012 |
2005 })(); | 2013 })(); |
OLD | NEW |