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 var CommandUtil = {}; | 7 var CommandUtil = {}; |
8 | 8 |
9 /** | 9 /** |
10 * Extracts entry on which command event was dispatched. | 10 * Extracts entry on which command event was dispatched. |
(...skipping 30 matching lines...) Expand all Loading... |
41 // element is a normal List (eg. the file list on the right panel). | 41 // element is a normal List (eg. the file list on the right panel). |
42 var entry = element.selectedItem; | 42 var entry = element.selectedItem; |
43 return entry; | 43 return entry; |
44 } else { | 44 } else { |
45 console.warn('Unsupported element'); | 45 console.warn('Unsupported element'); |
46 return null; | 46 return null; |
47 } | 47 } |
48 }; | 48 }; |
49 | 49 |
50 /** | 50 /** |
51 * Extracts path on which command event was dispatched. | |
52 * TODO(yoshiki): Remove this method after adding automatically removing an | |
53 * inactive shortcut on M31. | |
54 * | |
55 * @param {NavigationList|NavigationListItem} element Directory to extract a | |
56 * path from. | |
57 * @return {string} Path of the found node. | |
58 */ | |
59 CommandUtil.getCommandPath = function(element) { | |
60 if (element instanceof NavigationList) { | |
61 // element is a NavigationList. | |
62 | |
63 /** @type {NavigationModelItem} */ | |
64 var selectedItem = element.selectedItem; | |
65 return selectedItem && selectedItem.path; | |
66 } else if (element instanceof NavigationListItem) { | |
67 // element is a subitem of NavigationList. | |
68 /** @type {NavigationList} */ | |
69 var navigationList = element.parentElement; | |
70 var index = navigationList.getIndexOfListItem(element); | |
71 /** @type {NavigationModelItem} */ | |
72 var item = (index != -1) ? navigationList.dataModel.item(index) : null; | |
73 return item && item.path; | |
74 } | |
75 | |
76 console.error('Unsupported element.'); | |
77 }; | |
78 | |
79 /** | |
80 * @param {NavigationList} navigationList navigation list to extract root node. | 51 * @param {NavigationList} navigationList navigation list to extract root node. |
81 * @return {?RootType} Type of the found root. | 52 * @return {?RootType} Type of the found root. |
82 */ | 53 */ |
83 CommandUtil.getCommandRootType = function(navigationList) { | 54 CommandUtil.getCommandRootType = function(navigationList) { |
84 var root = CommandUtil.getCommandEntry(navigationList); | 55 var root = CommandUtil.getCommandEntry(navigationList); |
85 return root && | 56 return root && |
86 PathUtil.isRootPath(root.fullPath) && | 57 PathUtil.isRootPath(root.fullPath) && |
87 PathUtil.getRootType(root.fullPath); | 58 PathUtil.getRootType(root.fullPath); |
88 }; | 59 }; |
89 | 60 |
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
639 /** | 610 /** |
640 * Removes the folder shortcut. | 611 * Removes the folder shortcut. |
641 */ | 612 */ |
642 Commands.removeFolderShortcutCommand = { | 613 Commands.removeFolderShortcutCommand = { |
643 /** | 614 /** |
644 * @param {Event} event Command event. | 615 * @param {Event} event Command event. |
645 * @param {FileManager} fileManager The file manager instance. | 616 * @param {FileManager} fileManager The file manager instance. |
646 */ | 617 */ |
647 execute: function(event, fileManager) { | 618 execute: function(event, fileManager) { |
648 var entry = CommandUtil.getCommandEntry(event.target); | 619 var entry = CommandUtil.getCommandEntry(event.target); |
649 var path = | 620 if (entry && entry.fullPath) |
650 entry ? entry.fullPath : CommandUtil.getCommandPath(event.target); | 621 fileManager.removeFolderShortcut(entry.fullPath); |
651 if (path) | |
652 fileManager.removeFolderShortcut(path); | |
653 }, | 622 }, |
654 | 623 |
655 /** | 624 /** |
656 * @param {Event} event Command event. | 625 * @param {Event} event Command event. |
657 * @param {FileManager} fileManager The file manager instance. | 626 * @param {FileManager} fileManager The file manager instance. |
658 */ | 627 */ |
659 canExecute: function(event, fileManager) { | 628 canExecute: function(event, fileManager) { |
660 var target = event.target; | 629 var target = event.target; |
661 if (!target instanceof NavigationListItem && | 630 if (!target instanceof NavigationListItem && |
662 !target instanceof DirectoryItem) { | 631 !target instanceof DirectoryItem) { |
663 event.command.setHidden(true); | 632 event.command.setHidden(true); |
664 return; | 633 return; |
665 } | 634 } |
666 | 635 |
667 var entry = CommandUtil.getCommandEntry(target); | 636 var entry = CommandUtil.getCommandEntry(target); |
668 var path = | 637 var path = entry && entry.fullPath; |
669 entry ? entry.fullPath : CommandUtil.getCommandPath(event.target); | |
670 | 638 |
671 var eligible = path && PathUtil.isEligibleForFolderShortcut(path); | 639 var eligible = path && PathUtil.isEligibleForFolderShortcut(path); |
672 var isShortcut = path && fileManager.folderShortcutExists(path); | 640 var isShortcut = path && fileManager.folderShortcutExists(path); |
673 event.canExecute = isShortcut && eligible; | 641 event.canExecute = isShortcut && eligible; |
674 event.command.setHidden(!event.canExecute); | 642 event.command.setHidden(!event.canExecute); |
675 } | 643 } |
676 }; | 644 }; |
677 | 645 |
678 /** | 646 /** |
679 * Zoom in to the Files.app. | 647 * Zoom in to the Files.app. |
(...skipping 17 matching lines...) Expand all Loading... |
697 | 665 |
698 /** | 666 /** |
699 * Reset the zoom factor. | 667 * Reset the zoom factor. |
700 */ | 668 */ |
701 Commands.zoomResetCommand = { | 669 Commands.zoomResetCommand = { |
702 execute: function(event) { | 670 execute: function(event) { |
703 chrome.fileBrowserPrivate.zoom('reset'); | 671 chrome.fileBrowserPrivate.zoom('reset'); |
704 }, | 672 }, |
705 canExecute: CommandUtil.canExecuteAlways | 673 canExecute: CommandUtil.canExecuteAlways |
706 }; | 674 }; |
OLD | NEW |