diff --git a/lib/coder.js b/lib/coder.js index efaf474..9387e98 100644 --- a/lib/coder.js +++ b/lib/coder.js @@ -333,9 +333,9 @@ var ICEcoder = { // Set all cM instances to be hidden, then make our selected instance visable for (var i=0;i 0 ? top.ICEcoder.fMIconVis('fMDelete',1) : top.ICEcoder.fMIconVis('fMDelete',0.3); top.ICEcoder.selectedFiles.length == 1 ? top.ICEcoder.fMIconVis('fMRename',1) : top.ICEcoder.fMIconVis('fMRename',0.3); + // Hide the file menu incase it's showing + top.document.getElementById('fileMenu').style.display = "none"; }, // Select or deselect file @@ -786,12 +787,21 @@ var ICEcoder = { // Show menu on right clicking in file manager showMenu: function() { - var menuType, folderMenuItems; + var menuType, folderMenuItems, foundFile; + + if (top.ICEcoder.selectedFiles.length == 0) {top.ICEcoder.selectFileFolder()}; + + foundFile=false; + for (var i=0;i<=top.ICEcoder.selectedFiles.length-1;i++) { + if (top.ICEcoder.rightClickedFile.replace(fullPath,"")==top.ICEcoder.selectedFiles[i].replace(/\|/g,"/")) {foundFile=true}; + } + if (!foundFile) {top.ICEcoder.selectFileFolder()}; if ("undefined" != typeof top.ICEcoder.thisFileFolderLink && top.ICEcoder.thisFileFolderLink!="") { top.ICEcoder.selectedFiles[0].indexOf(".")>0 ? menuType = "file" : menuType = "folder"; folderMenuItems = top.document.getElementById('folderMenuItems'); - menuType == "folder" ? folderMenuItems.style.display = "block" : folderMenuItems.style.display = "none"; + menuType == "folder" && top.ICEcoder.selectedFiles.length == 1 ? folderMenuItems.style.display = "block" : folderMenuItems.style.display = "none"; + top.ICEcoder.selectedFiles.length > 1 ? singleFileMenuItems.style.display = "none" : singleFileMenuItems.style.display = "block"; document.getElementById('fileMenu').style.display = "inline-block"; document.getElementById('fileMenu').style.left = (top.ICEcoder.mouseX+20) + "px"; document.getElementById('fileMenu').style.top = (top.ICEcoder.mouseY-top.document.getElementById('filesFrame').contentWindow.document.body.scrollTop+80) + "px"; @@ -1234,10 +1244,13 @@ var ICEcoder = { } if (action=="newFile") {top.ICEcoder.newFile();} if (action=="newFolder") {top.ICEcoder.newFolder();} - if (action=="delete") {top.ICEcoder.deleteFile(top.ICEcoder.rightClickedFile);} if (action=="rename") {top.ICEcoder.renameFile(top.ICEcoder.rightClickedFile);} } + if (action=="delete" && ICEcoder.selectedFiles.length>0) { + top.ICEcoder.deleteFile(); + } + if (action=="view" && ICEcoder.openFiles.length>0) { window.open(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]); } @@ -1347,5 +1360,16 @@ var ICEcoder = { top.ICEcoder.thisFileFolderType='file'; top.ICEcoder.openFile(); } + }, + + // Refresh file manager on demand + refreshFileManager: function() { + top.document.getElementById('loadingMask').style.visibility = "visible"; + top.ICEcoder.filesFrame.src="files.php"; + top.ICEcoder.filesFrame.style.opacity="0"; + top.ICEcoder.filesFrame.onload = function() { + top.ICEcoder.filesFrame.style.opacity="1"; + top.document.getElementById('loadingMask').style.visibility = "hidden"; + } } }; \ No newline at end of file