diff --git a/lib/client/buffer.js b/lib/client/buffer.js index 8e2bea75..04ca481c 100644 --- a/lib/client/buffer.js +++ b/lib/client/buffer.js @@ -30,7 +30,7 @@ function getNames() { var files = DOM.getActiveFiles(), - names = DOM.getSelectedNames(files); + names = DOM.getFilenames(files); return names; } diff --git a/lib/client/dom.js b/lib/client/dom.js index 1bd9a340..2ecfc79f 100644 --- a/lib/client/dom.js +++ b/lib/client/dom.js @@ -1096,14 +1096,16 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog; return name; }; - this.getSelectedNames = function(selected) { - var first, name, isSelected, - ret = []; + this.getFilenames = function(allFiles) { + var first, name, + files, + names = []; - if (!selected) - selected = this.getSelectedFiles() || []; + if (!allFiles) + throw Error('AllFiles could not be empty'); - first = selected[0]; + files = allFiles.slice(0); + first = files[0]; if (first) { name = this.getCurrentName(first); @@ -1112,18 +1114,14 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog; name = this.getCurrentName(first); } - isSelected = this.isSelected(first); + if (name === '..') + files.shift(); - if (name === '..' && isSelected) { - selected.shift(); - this.toggleSelectedFile(first); - } - - ret = selected.map(function(current) { - return Cmd.getCurrentName(current); + names = files.map(function(current) { + return DOM.getCurrentName(current); }); - return ret; + return names; }; /** diff --git a/lib/client/listeners.js b/lib/client/listeners.js index e7aad33f..46f7e3cc 100644 --- a/lib/client/listeners.js +++ b/lib/client/listeners.js @@ -282,8 +282,8 @@ var Util, DOM, CloudFunc, CloudCmd; var i = 0, delta = 0, result = [], - files = [].slice.call(DOM.getFiles()), - names = DOM.getSelectedNames(files), + files = DOM.getFiles(), + names = DOM.getFilenames(files), indexFrom, indexTo; diff --git a/lib/client/operation.js b/lib/client/operation.js index a1ba3073..97742d83 100644 --- a/lib/client/operation.js +++ b/lib/client/operation.js @@ -229,8 +229,9 @@ msgAsk = 'Do you really want to delete the ', msgSel = 'selected ', files = DOM.getSelectedFiles(), - names = DOM.getSelectedNames(files), - i, n = names && names.length, + names = DOM.getFilenames(files), + i, + n = names.length, current = DOM.getCurrentFile(); if (n) { @@ -283,8 +284,8 @@ if (!files) files = DOM.getSelectedFiles(); - names = DOM.getSelectedNames(files), - n = names && names.length; + names = DOM.getFilenames(files), + n = names.length; if (!n) names = [Info.name]; @@ -310,7 +311,7 @@ * @param operation */ function processFiles(data, operation, message) { - var name, files, + var name, selFiles, Info = DOM.CurrentInfo, panel, shouldAsk, @@ -331,7 +332,8 @@ } else { from = Info.dirPath; to = DOM.getNotCurrentDirPath(); - names = DOM.getSelectedNames(); + selFiles = DOM.getSelectedFiles(); + names = DOM.getFilenames(selFiles); data = {}; shouldAsk = true; panel = Info.panelPassive; @@ -400,7 +402,7 @@ path = Info.path, dirPath = Info.dirPath, activeFiles = DOM.getActiveFiles(), - names = DOM.getSelectedNames(activeFiles), + names = DOM.getFilenames(activeFiles), fileFrom; Util.check(arguments, ['operation']);