diff --git a/src/extensions/default/RemoteFileAdapter/main.js b/src/extensions/default/RemoteFileAdapter/main.js index 022946bc414..143e7ff3c75 100644 --- a/src/extensions/default/RemoteFileAdapter/main.js +++ b/src/extensions/default/RemoteFileAdapter/main.js @@ -32,6 +32,7 @@ define(function (require, exports, module) { Commands = brackets.getModule("command/Commands"), ExtensionUtils = brackets.getModule("utils/ExtensionUtils"), WorkingSetView = brackets.getModule("project/WorkingSetView"), + MainViewManager = brackets.getModule("view/MainViewManager"), Menus = brackets.getModule("command/Menus"), RemoteFile = require("RemoteFile"); @@ -56,22 +57,20 @@ define(function (require, exports, module) { * Disable context menus which are not useful for remote file */ function _setMenuItemsVisible() { - var file = WorkingSetView.getContext(), - cMenuItems = [Commands.FILE_SAVE, Commands.FILE_RENAME, Commands.NAVIGATE_SHOW_IN_FILE_TREE, Commands.NAVIGATE_SHOW_IN_OS]; + var file = MainViewManager.getCurrentlyViewedFile(MainViewManager.ACTIVE_PANE), + cMenuItems = [Commands.FILE_SAVE, Commands.FILE_RENAME, Commands.NAVIGATE_SHOW_IN_FILE_TREE, Commands.NAVIGATE_SHOW_IN_OS], + enable = (file.constructor.name !== "RemoteFile"); - if (file.constructor.name === "RemoteFile") { + // Enable or disable commands based on whether the file is a remoteFile or not. cMenuItems.forEach(function (item) { - CommandManager.get(item).setEnabled(false); + CommandManager.get(item).setEnabled(enable); }); - } else { - //Explicitly enabling save, other commands are handled by DefaultMenus.js - CommandManager.get(Commands.FILE_SAVE).setEnabled(true); - } } AppInit.htmlReady(function () { Menus.getContextMenu(Menus.ContextMenuIds.WORKING_SET_CONTEXT_MENU).on("beforeContextMenuOpen", _setMenuItemsVisible); + MainViewManager.on("currentFileChange", _setMenuItemsVisible); var protocolAdapter = { priority: 0, // Default priority