* Filemanager: Add new user preference in order to be able to exclude specific file extensions from being opened by document editor (eg. Collabora)

This commit is contained in:
Hadi Nategh
2018-02-08 14:15:51 +01:00
parent 0bbbad3a8c
commit 06ef14c78e
5 changed files with 54 additions and 13 deletions

View File

@ -105,9 +105,17 @@ app.classes.filemanager = AppJS.extend(
if (name == 'filemanager.index')
{
var new_options = this.et2.getArrayMgr('sel_options').getEntry('new');
var fe = egw.link_get_registry('filemanager-editor');
var new_widget = this.et2.getWidgetById('new');
new_widget.set_select_options(new_options);
if (fe && fe.edit)
{
var new_options = this.et2.getArrayMgr('sel_options').getEntry('new');
new_widget.set_select_options(new_options);
}
else
{
new_widget.set_disabled(true);
}
}
},
@ -775,6 +783,7 @@ app.classes.filemanager = AppJS.extend(
var mime = this.et2._inst.widgetContainer.getWidgetById('$row');
// try to get mime widget DOM node out of the row DOM
var mime_dom = jQuery(_senders[0].iface.getDOMNode()).find("span#filemanager-index_\\$row");
var fe = egw_get_file_editor_prefered_mimes();
// symlinks dont have mime 'http/unix-directory', but server marks all directories with class 'isDir'
if (data.data.mime == 'httpd/unix-directory' || data.data['class'] && data.data['class'].split(/ +/).indexOf('isDir') != -1)
@ -785,12 +794,12 @@ app.classes.filemanager = AppJS.extend(
{
mime_dom.click();
}
else if (mime && this.isEditable(_action, _senders))
else if (mime && this.isEditable(_action, _senders) && fe && fe.edit)
{
egw.open_link(egw.link('/index.php', {
menuaction: 'filemanager.filemanager_ui.editor',
menuaction: fe.edit.menuaction,
path: decodeURIComponent(data.data.download_url)
}), '', egw.link_get_registry('filemanager','view_popup'));
}), '', fe.edit_popup);
}
else
{
@ -1278,7 +1287,8 @@ app.classes.filemanager = AppJS.extend(
if (_senders.length>1) return false;
var data = egw.dataGetUIDdata(_senders[0].id),
mime = this.et2._inst.widgetContainer.getWidgetById('$row');
var fe = egw_get_file_editor_prefered_mimes();
if (fe && fe.mime && !fe.mime[mime]) return false;
return data.data.mime.match(mime.mime_odf_regex)?true:false;
},
@ -1290,9 +1300,13 @@ app.classes.filemanager = AppJS.extend(
* @return {boolean} returns true
*/
create_new: function (_action, _selected) {
egw.open_link(egw.link('/index.php', {
menuaction: 'filemanager.filemanager_ui.editor'
}), '', egw.link_get_registry('filemanager','view_popup'));
var fe = egw.link_get_registry('filemanager-editor');
if (fe && fe.edit)
{
egw.open_link(egw.link('/index.php', {
menuaction: fe.edit.menuaction
}), '', fe.popup_edit);
}
return true;
}
});