diff --git a/files/js/fileactions.js b/files/js/fileactions.js
index 3ad417c91c4..8c8296894a9 100644
--- a/files/js/fileactions.js
+++ b/files/js/fileactions.js
@@ -52,10 +52,27 @@ FileActions={
$('#file_menu').empty();
parent.append($('#file_menu'));
var actions=FileActions.get(FileActions.getCurrentMimeType(),FileActions.getCurrentType());
+ var defaultAction=FileActions.getDefault(FileActions.getCurrentMimeType(),FileActions.getCurrentType());
for(name in actions){
- var html=''+name+'';
+ if(actions[name]!=defaultAction && name!='Delete'){
+ var html=''+name+'';
+ var element=$(html);
+ element.data('action',name);
+ element.click(function(event){
+ event.stopPropagation();
+ event.preventDefault();
+ var action=actions[$(this).data('action')];
+ var currentFile=FileActions.getCurrentFile();
+ FileActions.hide();
+ action(currentFile);
+ });
+ $('#file_menu').append(element);
+ }
+ }
+ if(actions['Delete']){
+ var html='Delete';
var element=$(html);
- element.data('action',name);
+ element.data('action','Delete');
element.click(function(event){
event.stopPropagation();
event.preventDefault();
@@ -64,7 +81,7 @@ FileActions={
FileActions.hide();
action(currentFile);
});
- $('#file_menu').append(element);
+ parent.parent().children().last().append(element);
}
$('#file_menu').show();
return false;
@@ -72,6 +89,7 @@ FileActions={
hide:function(){
$('#file_menu').hide();
$('#file_menu').empty();
+ $('#action_delete').remove();
$('body').append($('#file_menu'));
},
getCurrentFile:function(){
@@ -107,4 +125,4 @@ FileActions.register('dir','Open',function(filename){
window.location='index.php?dir='+$('#dir').val()+'/'+filename;
});
-FileActions.setDefault('dir','Open');
\ No newline at end of file
+FileActions.setDefault('dir','Open');