diff --git a/filemanager/inc/class.filemanager_ui.inc.php b/filemanager/inc/class.filemanager_ui.inc.php
index f9fbd010b7..9e3e6d7e21 100644
--- a/filemanager/inc/class.filemanager_ui.inc.php
+++ b/filemanager/inc/class.filemanager_ui.inc.php
@@ -168,7 +168,29 @@ class filemanager_ui
'caption' => lang('Delete'),
'group' => ++$group,
'confirm' => 'Delete these files or directories?',
+ 'onExecute' => 'javaScript:app.filemanager.action',
),
+ // DRAG and DROP events
+ 'file_drag' => array(
+ 'dragType' => 'file',
+ 'type' => 'drag',
+ 'onExecute' => 'javaScript:add.filemanager.drag'
+ ),
+ 'file_drop_move' => array(
+ 'icon' => 'stylite/move',
+ 'acceptedTypes' => 'file',
+ 'caption' => lang('Move into folder'),
+ 'type' => 'drop',
+ 'onExecute' => 'javaScript:app.filemanager.drop',
+ 'default' => true
+ ),
+ 'file_drop_copy' => array(
+ 'icon' => 'stylite/edit_copy',
+ 'acceptedTypes' => 'file',
+ 'caption' => lang('Copy into folder'),
+ 'type' => 'drop',
+ 'onExecute' => 'javaScript:app.filemanager.drop'
+ )
);
if (!isset($GLOBALS['egw_info']['user']['apps']['felamimail']))
{
@@ -228,7 +250,7 @@ class filemanager_ui
$content = array(
'nm' => egw_session::appsession('index','filemanager'),
);
-// if (!is_array($content['nm']))
+ if (!is_array($content['nm']))
{
$content['nm'] = array(
'get_rows' => 'filemanager.filemanager_ui.get_rows', // I method/callback to request the data for the rows eg. 'notes.bo.get_rows'
diff --git a/filemanager/js/app.js b/filemanager/js/app.js
index 1436b85b86..0b2672182c 100644
--- a/filemanager/js/app.js
+++ b/filemanager/js/app.js
@@ -80,7 +80,23 @@ app.filemanager = AppJS.extend(
}
this.clipboard_tooltips();
},
-
+
+ /**
+ * Convert array of elems to array of paths
+ *
+ * @param array _elems selected items from actions
+ * @return array
+ */
+ _elems2paths: function(_elems)
+ {
+ var paths = [];
+ for (var i = 0; i < _elems.length; i++)
+ {
+ paths.push(_elems[i].id.replace(this.remove_prefix, ''));
+ }
+ return paths;
+ },
+
/**
* Refresh given application _targetapp display of entry _app _id, incl. outputting _msg
*
@@ -104,16 +120,16 @@ app.filemanager = AppJS.extend(
/**
* Open compose with already attached files
*
- * @param attachments
+ * @param string|array attachment path(s)
*/
open_mail: function(attachments)
{
- if (typeof attachments == 'undefined') attachments = clipboard_files;
+ if (typeof attachments == 'undefined') attachments = this.clipboard_files;
var params = {};
if (!(attachments instanceof Array)) attachments = [ attachments ];
for(var i=0; i < attachments.length; i++)
{
- params['preset[file]['+i+']'] = 'vfs://default'+attachments[i].replace(this.remove_prefix,'');
+ params['preset[file]['+i+']'] = 'vfs://default'+attachments[i];
}
egw.open('', 'felamimail', 'add', params);
},
@@ -126,12 +142,7 @@ app.filemanager = AppJS.extend(
*/
mail: function(_action, _elems)
{
- var ids = [];
- for (var i = 0; i < _elems.length; i++)
- {
- ids.push(_elems[i].id);
- }
- this.open_mail(ids);
+ this.open_mail(this._elems2paths(_elems));
},
/**
@@ -183,10 +194,11 @@ app.filemanager = AppJS.extend(
this.clipboard_is_cut = _action.id == "cut";
if (_action.id != "add") this.clipboard_files = [];
- for (var i = 0; i < _elems.length; i++)
+ this.clipboard_files = this.clipboard_files.concat(this._elems2paths(_elems));
+
+ if (_action.id == "add" && this.clipboard_files.length > 1)
{
- var id = _elems[i].id.replace(this.remove_prefix, '');
- this.clipboard_files.push(id);
+ // ToDo: make sure files are unique
}
this.clipboard_tooltips();
@@ -204,17 +216,102 @@ app.filemanager = AppJS.extend(
*/
paste: function(_type)
{
+ if (this.clipboard_files.length == 0)
+ {
+ alert(egw.lang('Clipboard is empty!'));
+ return;
+ }
switch(_type)
{
case 'mailpaste':
this.open_mail(this.clipboard_files);
break;
- case 'linkpaste':
case 'paste':
- alert('Not yet implemented!');
+ this._do_action(this.clipboard_is_cut ? 'move_files' : 'copy_files',
+ this.clipboard_files.concat([this.path_widget.getValue()]));
+
+ if (this.clipboard_is_cut)
+ {
+ this.clipboard_is_cut = false;
+ this.clipboard_files = [];
+ this.clipboard_tooltips();
+ }
+ break;
+
+ case 'linkpaste':
+ this._do_action('symlink', this.clipboard_files.concat([this.path_widget.getValue()]));
+ break;
}
},
+
+ /**
+ * Pass action to server
+ *
+ * @param _action
+ * @param _elems
+ */
+ action: function(_action, _elems)
+ {
+ if (typeof _action.data.confirm == 'undefined'|| confirm(_action.data.confirm))
+ {
+ this._do_action(_action.id, this._elems2paths(_elems));
+ }
+ },
+
+ /**
+ * Prompt user for directory to create
+ */
+ createdir: function()
+ {
+ var dir = prompt(egw.lang('New directory'));
+
+ if (dir)
+ {
+ var path = this.path_widget.get_value();
+ this._do_action('createdir', [ path, dir ], true); // true=synchronous request
+ this.change_dir(path+'/'+dir);
+ }
+ },
+
+ /**
+ * Prompt user for directory to create
+ */
+ symlink: function()
+ {
+ var target = prompt(egw.lang('Link target'));
+
+ if (target)
+ {
+ var path = this.path_widget.get_value();
+ this._do_action('symlink', [ path, target ]);
+ }
+ },
+
+ /**
+ * Run a serverside action via an ajax call
+ *
+ * @param _type 'move_file', 'copy_file', ...
+ * @param _selected selected paths
+ * @param _sync send a synchronous ajax request
+ */
+ _do_action: function(_type, _selected, _sync)
+ {
+ var params = [_type];
+ params = params.concat(_selected);
+ var request = new egw_json_request('filemanager_ui::ajax_action', params, this);
+ request.sendRequest(!_sync, this._do_action_callback, this);
+ },
+
+ /**
+ * Callback for _do_action ajax call
+ *
+ * @param _data
+ */
+ _do_action_callback: function(_data)
+ {
+ window.egw_refresh(_data.msg, this.appname);
+ },
/**
* Force download of a file by appending '?download' to it's download url
@@ -254,6 +351,7 @@ app.filemanager = AppJS.extend(
}
this.path_widget.set_value(_dir);
this.path_widget.change();
+ // ToDo: store path on server too, to be able to reload
},
/**
@@ -274,5 +372,88 @@ app.filemanager = AppJS.extend(
{
egw.open(path, 'file');
}
- }
+ },
+
+ /**
+ * File(s) droped
+ *
+ * @param _action
+ * @param _elems
+ * @param _target
+ * @returns
+ */
+ drop: function(_action, _elems, _target)
+ {
+ var src = this._elems2paths(_elems);
+ var dst = _target.data;
+
+ alert(_action.id+': '+src.join(', ')+' --> '+dst);
+
+ if (_action.id == "file_drop_move")
+ {
+ //
+ }
+ else
+ {
+ //
+ }
+ },
+
+ /**
+ * Get drag helper, called on drag start
+ *
+ * @param _action
+ * @param _elems
+ * @return some dome objects
+ */
+ drag: function(_action, _elems)
+ {
+ var icons = [];
+ for (var i = 0; i < _elems.length; i++)
+ {
+ if (_elems[i].getFocused())
+ {
+ icons.unshift(_elems[i].data.iconUrl);
+ }
+ else
+ {
+ icons.push(_elems[i].data.iconUrl);
+ }
+ }
+
+ // Only take a maximum of 10 icons
+ var maxCnt = 10;
+
+ var div = $j(document.createElement("div"));
+
+ var lastIcon = "";
+ var idx = 0;
+
+ for (var i = 0; i < icons.length; i++)
+ {
+ if (icons[i] != lastIcon)
+ {
+ lastIcon = icons[i];
+
+ // Create a stack of images
+ var img = $j(document.createElement("img"));
+ img.css("position", "absolute");
+ img.css("z-index", 10000-i);
+ img.css("top", idx * 3);
+ img.css("left", idx * 3);
+ img.css("opacity", (maxCnt - idx) / maxCnt);
+
+ img.attr("src", icons[i]);
+ div.append(img);
+
+ idx++;
+ if (idx == maxCnt)
+ {
+ break;
+ }
+ }
+ }
+
+ return div;
+ },
});
\ No newline at end of file
diff --git a/filemanager/setup/etemplates.inc.php b/filemanager/setup/etemplates.inc.php
index 29419b6e25..ada4a4e21a 100644
--- a/filemanager/setup/etemplates.inc.php
+++ b/filemanager/setup/etemplates.inc.php
@@ -2,7 +2,7 @@
/**
* EGroupware - eTemplates for Application filemanager
* http://www.egroupware.org
- * generated by soetemplate::dump4setup() 2013-04-10 19:11
+ * generated by soetemplate::dump4setup() 2013-04-11 12:27
*
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package filemanager
@@ -33,11 +33,11 @@ $templ_data[] = array('name' => 'filemanager.file.perms','template' => '','lang'
$templ_data[] = array('name' => 'filemanager.file.preview','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:5:{s:2:"c1";s:4:",top";s:2:"h1";s:16:",!@mime=/^image/";s:2:"h3";s:22:",@mime=/^(image|text)/";s:2:"h2";s:18:"280,!@text_content";s:2:"c2";s:4:",top";}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:5:"image";s:4:"name";s:4:"link";s:4:"span";s:13:",previewImage";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:8:"textarea";s:4:"name";s:12:"text_content";s:4:"span";s:12:",previewText";s:8:"readonly";s:1:"1";}}i:3;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:20:"No preview available";}}}s:4:"rows";i:3;s:4:"cols";i:1;s:4:"size";s:18:"450,300,,,10,,auto";s:7:"options";a:4:{i:0;s:3:"450";i:1;s:3:"300";i:6;s:4:"auto";i:4;s:2:"10";}}}','size' => '450,300,,,10,,auto','style' => '','modified' => '1204567479',);
-$templ_data[] = array('name' => 'filemanager.index','template' => '','lang' => '','group' => '0','version' => '1.9.003','data' => 'a:3:{i:0;a:3:{s:4:"name";s:7:"nm[msg]";s:4:"type";s:5:"label";s:4:"span";s:10:",redItalic";}i:1;a:3:{s:4:"name";s:2:"nm";s:4:"type";s:9:"nextmatch";s:4:"size";s:53:"filemanager.index.rows,,filemanager.index.header_left";}i:2;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:8:"onchange";s:18:"check_files(this);";s:4:"name";s:8:"upload[]";s:4:"type";s:4:"file";s:4:"help";s:42:"Select file to upload in current directory";}i:2;a:3:{s:5:"label";s:6:"Upload";s:4:"name";s:14:"button[upload]";s:4:"type";s:6:"button";}}}','size' => '','style' => 'input[type=\'file\'] {
+$templ_data[] = array('name' => 'filemanager.index','template' => '','lang' => '','group' => '0','version' => '1.9.003','data' => 'a:3:{i:0;a:3:{s:4:"name";s:3:"msg";s:4:"type";s:5:"label";s:4:"span";s:10:",redItalic";}i:1;a:3:{s:4:"name";s:2:"nm";s:4:"type";s:9:"nextmatch";s:4:"size";s:53:"filemanager.index.rows,,filemanager.index.header_left";}i:2;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:8:"onchange";s:18:"check_files(this);";s:4:"name";s:8:"upload[]";s:4:"type";s:4:"file";s:4:"help";s:42:"Select file to upload in current directory";}i:2;a:3:{s:5:"label";s:6:"Upload";s:4:"name";s:14:"button[upload]";s:4:"type";s:6:"button";}}}','size' => '','style' => 'input[type=\'file\'] {
width: 50ex
}','modified' => '1365608331',);
-$templ_data[] = array('name' => 'filemanager.index.header_left','template' => '','lang' => '','group' => '0','version' => '1.9.002','data' => 'a:1:{i:0;a:15:{s:4:"span";s:3:"all";s:4:"type";s:4:"hbox";s:4:"size";s:2:"12";i:1;a:4:{s:5:"label";s:2:"Up";s:7:"onclick";s:33:"app.filemanager.change_dir(\'..\');";s:4:"type";s:5:"image";s:4:"name";s:4:"goup";}i:2;a:4:{s:5:"label";s:25:"Go to your home directory";s:7:"onclick";s:32:"app.filemanager.change_dir(\'~\');";s:4:"type";s:5:"image";s:4:"name";s:6:"gohome";}i:3;a:6:{s:5:"label";s:4:"Path";s:8:"onchange";s:12:"return true;";s:4:"name";s:4:"path";s:4:"size";s:2:"80";s:4:"type";s:8:"vfs-name";s:4:"span";s:8:",address";}i:4;a:4:{s:5:"label";s:5:"Go to";s:4:"name";s:10:"button[go]";s:4:"type";s:6:"button";s:4:"size";s:9:"key_enter";}i:5;a:2:{s:4:"type";s:5:"image";s:4:"name";s:15:"buttonseparator";}i:6;a:6:{s:5:"label";s:13:"Edit settings";s:7:"onclick";s:194:"window.open(egw::link(\'/index.php\',\'menuaction=filemanager.filemanager_ui.file&path={$cont[nm][path]}\'),\'fileprefs\',\'dependent=yes,width=495,height=425,scrollbars=yes,status=yes\'); return false;";s:4:"name";s:23:"edit[{$cont[nm][path]}]";s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:4:"help";s:39:"Rename, change permissions or ownership";}i:7;a:5:{s:5:"label";s:16:"Create directory";s:7:"onclick";s:128:"var dir = prompt(egw::lang(\'New directory\')); if (!dir) return false; document.getElementById(form::name(\'nm[path]\')).value=dir;";s:4:"name";s:17:"button[createdir]";s:4:"type";s:6:"button";s:4:"size";s:35:"button_createdir,createdir_disabled";}i:8;a:5:{s:5:"label";s:13:"Create a link";s:7:"onclick";s:129:"var link = prompt(egw::lang(\'Link target\')); if (!link) return false; document.getElementById(form::name(\'nm[path]\')).value=link;";s:4:"name";s:15:"button[symlink]";s:4:"type";s:6:"button";s:4:"size";s:18:"link,link_disabled";}i:9;a:4:{s:7:"onclick";s:31:"app.filemanager.paste(\'paste\');";s:4:"name";s:13:"button[paste]";s:4:"size";s:28:"editpaste,editpaste_disabled";s:4:"type";s:10:"buttononly";}i:10;a:4:{s:7:"onclick";s:35:"app.filemanager.paste(\'linkpaste\');";s:4:"name";s:17:"button[linkpaste]";s:4:"size";s:28:"linkpaste,linkpaste_disabled";s:4:"type";s:10:"buttononly";}i:11;a:4:{s:7:"onclick";s:35:"app.filemanager.paste(\'mailpaste\');";s:4:"name";s:17:"button[mailpaste]";s:4:"size";s:28:"mailpaste,mailpaste_disabled";s:4:"type";s:10:"buttononly";}i:12;a:4:{s:5:"label";s:11:"File a file";s:7:"onclick";s:171:"window.open(egw::link(\'/index.php\',\'menuaction=stylite.stylite_filemanager.upload\'),\'_blank\',\'dependent=yes,width=550,height=350,scrollbars=yes,status=yes\'); return false;";s:4:"type";s:6:"button";s:4:"size";s:6:"upload";}}}','size' => '','style' => '','modified' => '1365608384',);
+$templ_data[] = array('name' => 'filemanager.index.header_left','template' => '','lang' => '','group' => '0','version' => '1.9.002','data' => 'a:1:{i:0;a:15:{s:4:"span";s:3:"all";s:4:"type";s:4:"hbox";s:4:"size";s:2:"12";i:1;a:4:{s:5:"label";s:2:"Up";s:7:"onclick";s:33:"app.filemanager.change_dir(\'..\');";s:4:"type";s:5:"image";s:4:"name";s:4:"goup";}i:2;a:4:{s:5:"label";s:25:"Go to your home directory";s:7:"onclick";s:32:"app.filemanager.change_dir(\'~\');";s:4:"type";s:5:"image";s:4:"name";s:6:"gohome";}i:3;a:6:{s:5:"label";s:4:"Path";s:8:"onchange";s:12:"return true;";s:4:"name";s:4:"path";s:4:"size";s:2:"80";s:4:"type";s:8:"vfs-name";s:4:"span";s:8:",address";}i:4;a:4:{s:5:"label";s:5:"Go to";s:4:"name";s:10:"button[go]";s:4:"type";s:6:"button";s:4:"size";s:9:"key_enter";}i:5;a:2:{s:4:"type";s:5:"image";s:4:"name";s:15:"buttonseparator";}i:6;a:6:{s:5:"label";s:13:"Edit settings";s:7:"onclick";s:194:"window.open(egw::link(\'/index.php\',\'menuaction=filemanager.filemanager_ui.file&path={$cont[nm][path]}\'),\'fileprefs\',\'dependent=yes,width=495,height=425,scrollbars=yes,status=yes\'); return false;";s:4:"name";s:23:"edit[{$cont[nm][path]}]";s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:4:"help";s:39:"Rename, change permissions or ownership";}i:7;a:5:{s:5:"label";s:16:"Create directory";s:7:"onclick";s:28:"app.filemanager.createdir();";s:4:"name";s:17:"button[createdir]";s:4:"type";s:10:"buttononly";s:4:"size";s:35:"button_createdir,createdir_disabled";}i:8;a:5:{s:5:"label";s:13:"Create a link";s:7:"onclick";s:26:"app.filemanager.symlink();";s:4:"name";s:15:"button[symlink]";s:4:"type";s:10:"buttononly";s:4:"size";s:18:"link,link_disabled";}i:9;a:4:{s:7:"onclick";s:31:"app.filemanager.paste(\'paste\');";s:4:"name";s:13:"button[paste]";s:4:"size";s:28:"editpaste,editpaste_disabled";s:4:"type";s:10:"buttononly";}i:10;a:4:{s:7:"onclick";s:35:"app.filemanager.paste(\'linkpaste\');";s:4:"name";s:17:"button[linkpaste]";s:4:"size";s:28:"linkpaste,linkpaste_disabled";s:4:"type";s:10:"buttononly";}i:11;a:4:{s:7:"onclick";s:35:"app.filemanager.paste(\'mailpaste\');";s:4:"name";s:17:"button[mailpaste]";s:4:"size";s:28:"mailpaste,mailpaste_disabled";s:4:"type";s:10:"buttononly";}i:12;a:4:{s:5:"label";s:11:"File a file";s:7:"onclick";s:171:"window.open(egw::link(\'/index.php\',\'menuaction=stylite.stylite_filemanager.upload\'),\'_blank\',\'dependent=yes,width=550,height=350,scrollbars=yes,status=yes\'); return false;";s:4:"type";s:6:"button";s:4:"size";s:6:"upload";}}}','size' => '','style' => '','modified' => '1365608384',);
$templ_data[] = array('name' => 'filemanager.index.rows','template' => '','lang' => '','group' => '0','version' => '1.7.002','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:6:{s:2:"c1";s:2:"th";s:2:"c2";s:20:"row $row_cont[class]";s:1:"B";s:3:"30%";s:1:"D";s:3:"120";s:1:"E";s:3:"120";s:1:"K";s:2:"70";}i:1;a:11:{s:1:"A";a:4:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Type";s:4:"name";s:4:"mime";s:5:"align";s:6:"center";}s:1:"B";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Name";s:4:"name";s:4:"name";}s:1:"C";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Size";s:4:"name";s:4:"size";}s:1:"D";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Modified";s:4:"name";s:5:"mtime";}s:1:"E";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:7:"Created";s:4:"name";s:5:"ctime";}s:1:"F";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:11:"Permissions";s:4:"name";s:4:"mode";}s:1:"G";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:3:"uid";s:5:"label";s:5:"Owner";}s:1:"H";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:3:"gid";s:5:"label";s:5:"Group";}s:1:"I";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:7:"Comment";s:4:"name";s:7:"comment";}s:1:"J";a:3:{s:4:"type";s:22:"nextmatch-customfields";s:8:"readonly";s:1:"1";s:4:"name";s:12:"customfields";}s:1:"K";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:7:"Actions";s:4:"name";s:14:"legacy_actions";}i:2;a:8:{s:4:"type";s:6:"button";s:4:"size";s:5:"check";s:5:"label";s:9:"Check all";s:4:"name";s:9:"check_all";s:4:"help";s:9:"Check all";s:7:"onclick";s:98:"egw_globalObjectManager.getObjectById(\'filemanager.index.rows\').toggleAllSelected(); return false;";s:6:"needed";s:1:"1";s:5:"align";s:5:"right";}}}i:2;a:11:{s:1:"A";a:3:{s:4:"type";s:8:"vfs-mime";s:4:"name";s:4:"$row";s:5:"align";s:6:"center";}s:1:"B";a:3:{s:4:"type";s:3:"vfs";s:4:"name";s:4:"$row";s:7:"no_lang";s:1:"1";}s:1:"C";a:3:{s:4:"type";s:8:"vfs-size";s:4:"name";s:12:"${row}[size]";s:5:"align";s:5:"right";}s:1:"D";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:13:"${row}[mtime]";s:8:"readonly";s:1:"1";}s:1:"E";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:13:"${row}[ctime]";s:8:"readonly";s:1:"1";}s:1:"F";a:2:{s:4:"type";s:8:"vfs-mode";s:4:"name";s:12:"${row}[mode]";}s:1:"G";a:3:{s:4:"type";s:7:"vfs-uid";s:4:"name";s:11:"${row}[uid]";s:7:"no_lang";s:1:"1";}s:1:"H";a:3:{s:4:"type";s:7:"vfs-gid";s:4:"name";s:11:"${row}[gid]";s:7:"no_lang";s:1:"1";}s:1:"I";a:2:{s:4:"type";s:5:"label";s:4:"name";s:15:"${row}[comment]";}s:1:"J";a:3:{s:4:"type";s:17:"customfields-list";s:4:"name";s:4:"$row";s:4:"span";s:13:",customfields";}s:1:"K";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";i:1;a:6:{s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:5:"label";s:13:"Edit settings";s:4:"name";s:21:"edit[$row_cont[path]]";s:4:"help";s:39:"Rename, change permissions or ownership";s:7:"onclick";s:192:"window.open(egw::link(\'/index.php\',\'menuaction=filemanager.filemanager_ui.file&path=$row_cont[path]\'),\'fileprefs\',\'dependent=yes,width=495,height=425,scrollbars=yes,status=yes\'); return false;";}i:2;a:5:{s:4:"type";s:10:"buttononly";s:4:"size";s:12:"mail_post_to";s:4:"name";s:21:"mail[$row_cont[path]]";s:7:"onclick";s:43:"open_mail(\'$row_cont[path]\'); return false;";s:5:"align";s:6:"center";}i:3;a:7:{s:4:"type";s:6:"button";s:4:"name";s:23:"delete[$row_cont[path]]";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:4:"help";s:29:"Delete this file or directory";s:7:"onclick";s:48:"return confirm(\'Delete this file or directory\');";s:5:"align";s:6:"center";}s:5:"align";s:5:"right";i:4;a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:9:"checked[]";s:5:"align";s:5:"right";s:4:"size";s:17:""$row_cont[path]"";}}}}s:4:"rows";i:2;s:4:"cols";i:11;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1259329664',);
diff --git a/filemanager/templates/default/index.xet b/filemanager/templates/default/index.xet
index 01d7f063ee..e5e043af21 100644
--- a/filemanager/templates/default/index.xet
+++ b/filemanager/templates/default/index.xet
@@ -62,8 +62,8 @@
-
-
+
+
@@ -71,10 +71,10 @@
-
+
-
+