added rename menu item

This commit is contained in:
coderaiser 2013-02-25 10:06:22 -05:00
parent d5b0ff1206
commit 4f1e8237af
6 changed files with 49 additions and 13 deletions

View file

@ -180,6 +180,8 @@ generation of json of directory listing.
* Added ability to delete files.
* Added rename menu item.
2012.12.12, Version 0.1.8

View file

@ -1126,10 +1126,25 @@ var CloudCommander, Util,
var lCurrent = pCurrentFile || DOM.getCurrentFile(),
lLink = DOM.getCurrentLink( lCurrent );
if(lLink)
if( Util.isObject(lLink) )
lLink = lLink.title || lLink.textContent;
return lLink;
return lLink;
};
/**
* set name from current (or param) file
*
* @param pCurrentFile
*/
DOM.setCurrentName = function(pName, pCurrentFile){
var lCurrent = pCurrentFile || DOM.getCurrentFile(),
lLink = DOM.getCurrentLink( lCurrent );
if(lLink)
lLink.title = lLink.textContent = pName;
return lLink;
};
/** function getting FM
@ -1309,6 +1324,23 @@ var CloudCommander, Util,
return lCurrent;
};
/**
* rename current file
*
* @pCurrent
*/
DOM.renameCurrentFile = function(pCurrentFile){
if( Util.isString(pCurrentFile) )
pCurrentFile = null;
var lCurrent = pCurrentFile || DOM.getCurrentFile(),
lName = DOM.getCurrentName(lCurrent);
lName = prompt("Rename", lName);
DOM.setCurrentName(lName, lCurrent);
};
/**
* unified way to scrollIntoViewIfNeeded
* (native suporte by webkit only)

View file

@ -112,9 +112,14 @@ var CloudCommander, Util, DOM;
DOM.preventDefault(pEvent);//запрет на дальнейшее действие
}
else if(lKeyCode === KEY.Delete)
DOM.promptDeleteCurrent(lCurrentFile);
else if(lKeyCode === KEY.Delete){
if(pEvent.shiftKey)
DOM.deleteCurrent(lCurrentFile);
else
DOM.promptDeleteCurrent(lCurrentFile);
}
else if(lKeyCode === KEY.F2)
DOM.renameCurrentFile(lCurrentFile);
/* if f3 or shift+f3 or alt+f3 pressed */
else if(lKeyCode === KEY.F3){
var lEditor = CloudCmd[pEvent.shiftKey ?
@ -216,9 +221,8 @@ var CloudCommander, Util, DOM;
}
/* если нажали Enter - открываем папку*/
else if(lKeyCode === KEY.ENTER)
if(DOM.isCurrentIsDir())
Util.exec(CloudCmd._loadDir());
else if(lKeyCode === KEY.ENTER && DOM.isCurrentIsDir())
Util.exec(CloudCmd._loadDir());
/* если нажали <ctr>+r
* обновляем страницу,

View file

@ -159,6 +159,7 @@ var CloudCommander, Util, DOM, $;
lMenuItems = {
'View' : Util.retExec(showEditor, true),
'Edit' : Util.retExec(showEditor, false),
'Rename' : DOM.renameCurrentFile,
'Delete' : Util.retExec(DOM.promptDeleteCurrent),
};

View file

@ -28,9 +28,6 @@ var CloudFunc, exports;
CloudFunc.LEFTPANEL = 'left';
CloudFunc.RIGHTPANEL = 'right';
/* length of longest file name */
CloudFunc.SHORTNAMELENGTH = 16;
/**
* Функция убирает последний слеш,
* если он - последний символ строки

View file

@ -159,14 +159,14 @@
if(lQuery === 'dir')
fs.rmdir(p.name, function(pError){
if(!pError)
main.sendResponse(pParams, 'Folder ' + p.name + ' removed.');
main.sendResponse(pParams, 'Folder ' + p.name + ' deleted.');
else
main.sendError(pParams, pError);
});
else
fs.unlink(p.name, function(pError){
if(!pError)
main.sendResponse(pParams, 'File ' + p.name + ' removed.');
main.sendResponse(pParams, 'File ' + p.name + ' delete.');
else
main.sendError(pParams, pError);
});