From ef663058c72c6039d24594266f1b7fdc61ec2bc6 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Wed, 12 Jun 2013 12:37:48 +0200 Subject: [PATCH] Implemented text file edition, other improvements --- plugins/kolab_files/kolab_files.js | 63 +++++++++++++++++- .../kolab_files/lib/kolab_files_engine.php | 5 +- plugins/kolab_files/localization/en_US.inc | 6 +- .../skins/larry/images/buttons.png | Bin 4790 -> 6966 bytes plugins/kolab_files/skins/larry/style.css | 12 +++- .../skins/larry/templates/filepreview.html | 3 +- plugins/kolab_files/skins/larry/ui.js | 19 +++++- 7 files changed, 97 insertions(+), 11 deletions(-) diff --git a/plugins/kolab_files/kolab_files.js b/plugins/kolab_files/kolab_files.js index 9bf7b82e..5455d3b4 100644 --- a/plugins/kolab_files/kolab_files.js +++ b/plugins/kolab_files/kolab_files.js @@ -559,6 +559,16 @@ kolab_files_selected = function() return files; }; +kolab_files_frame_load = function(frame) +{ + var win = frame.contentWindow; + + rcmail.file_editor = win.file_editor && win.file_editor.editable ? win.file_editor : null; + + if (rcmail.file_editor) + rcmail.enable_command('files-edit', true); +}; + /***********************************************************/ /********** Commands **********/ @@ -666,6 +676,25 @@ rcube_webmail.prototype.files_open = function() file_api.file_open(files[0], rcmail.env.viewer); }; +// enable file editor +rcube_webmail.prototype.files_edit = function() +{ + if (this.file_editor) { + this.file_editor.enable(); + this.enable_command('files-save', true); + } +}; + +rcube_webmail.prototype.files_save = function() +{ + if (!this.file_editor) + return; + + var content = this.file_editor.getContent(); + + file_api.file_save(this.env.file, content); +}; + rcube_webmail.prototype.files_set_quota = function(p) { if (p.total) { @@ -747,7 +776,7 @@ function kolab_files_ui() var row = $('
  • '); row.attr('id', f.id).data('folder', i) - .append($('').text(f.name)) + .append($('').text(f.name)) .click(function() { file_api.folder_select(i); }); if (f.depth) @@ -776,7 +805,7 @@ function kolab_files_ui() var row = $('
  • '); row.attr('id', 'folder-collection-' + n) - .append($('').text(rcmail.gettext('kolab_files.collection_' + n))) + .append($('').text(rcmail.gettext('kolab_files.collection_' + n))) .click(function() { file_api.folder_select(n, true); }); list.append(row); @@ -1433,4 +1462,34 @@ function kolab_files_ui() var href = '?' + $.param({_task: 'files', _action: 'open', file: file, viewer: viewer == 2 ? 1 : 0}); rcmail.open_window(href, false, true); }; + + // save file + this.file_save = function(file, content) + { + rcmail.enable_command('files-save', false); + // because we currently can edit only text files + // and we do not expect them to be very big, we save + // file in a very simple way, no upload progress, etc. + this.req = this.set_busy(true, 'saving'); + this.request('file_update', {file: file, content: content, info: 1}, 'file_save_response'); + }; + + // file save response handler + this.file_save_response = function(response) + { + rcmail.enable_command('files-save', true); + + if (!this.response(response)) + return; + + // update file properties table + var table = $('#fileinfobox table'), file = response.result; + + if (file) { + $('td.filetype', table).text(file.type); + $('td.filesize', table).text(this.file_size(file.size)); + $('td.filemtime', table).text(file.mtime); + } + }; + }; diff --git a/plugins/kolab_files/lib/kolab_files_engine.php b/plugins/kolab_files/lib/kolab_files_engine.php index 467459d1..022fd3ef 100644 --- a/plugins/kolab_files/lib/kolab_files_engine.php +++ b/plugins/kolab_files/lib/kolab_files_engine.php @@ -444,7 +444,10 @@ class kolab_files_engine $this->rc->output->add_gui_object('preview_frame', $attrib['id']); - return html::iframe(array('id' => 'file-content', 'src' => $href)); + $attrib['src'] = $href; + $attrib['onload'] = 'kolab_files_frame_load(this)'; + + return html::iframe($attrib); } /** diff --git a/plugins/kolab_files/localization/en_US.inc b/plugins/kolab_files/localization/en_US.inc index f75f9506..c1488561 100644 --- a/plugins/kolab_files/localization/en_US.inc +++ b/plugins/kolab_files/localization/en_US.inc @@ -27,7 +27,11 @@ $labels['getfile'] = 'Download file'; $labels['view'] = 'View'; $labels['viewfile'] = 'View file'; $labels['rename'] = 'Rename file'; -$labels['deletefile'] = 'Delete selected file(s)'; +$labels['deletefile'] = 'Delete file(s)'; +$labels['edit'] = 'Edit'; +$labels['editfile'] = 'Edit file'; +$labels['save'] = 'Save'; +$labels['savefile'] = 'Save file'; $labels['fileedit'] = 'File properties'; $labels['collection_audio'] = 'Audio'; diff --git a/plugins/kolab_files/skins/larry/images/buttons.png b/plugins/kolab_files/skins/larry/images/buttons.png index 661dbbcde2d9f42bd55862d9219f378bfff50782..6c83cf7acf334bbe9b74d5acab565cf9183d3834 100644 GIT binary patch literal 6966 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 delta 4753 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 Npbbq8%CFpw{vTK)C7A#K diff --git a/plugins/kolab_files/skins/larry/style.css b/plugins/kolab_files/skins/larry/style.css index b41c369b..9f0b5e66 100644 --- a/plugins/kolab_files/skins/larry/style.css +++ b/plugins/kolab_files/skins/larry/style.css @@ -31,7 +31,7 @@ } #filestoolbar a.button.get { - background-position: center -94px; + background-position: center -93px; } #filestoolbar a.button.open { @@ -42,6 +42,14 @@ background-image: url(../../../../skins/larry/images/buttons.png); } +#filestoolbar a.button.edit { + background-position: center -173px; +} + +#filestoolbar a.button.save { + background-position: center -213px; +} + #filestoolbar form { display: inline; } @@ -325,5 +333,5 @@ a.filesaveall { } ul.toolbarmenu li span.saveas { - background: url(images/buttons.png) -5px -180px no-repeat; + background: url(images/buttons.png) -5px -253px no-repeat; } diff --git a/plugins/kolab_files/skins/larry/templates/filepreview.html b/plugins/kolab_files/skins/larry/templates/filepreview.html index 416cbc74..4657f2cc 100644 --- a/plugins/kolab_files/skins/larry/templates/filepreview.html +++ b/plugins/kolab_files/skins/larry/templates/filepreview.html @@ -14,9 +14,8 @@

    - +
    diff --git a/plugins/kolab_files/skins/larry/ui.js b/plugins/kolab_files/skins/larry/ui.js index 374e79ec..aa2c30fb 100644 --- a/plugins/kolab_files/skins/larry/ui.js +++ b/plugins/kolab_files/skins/larry/ui.js @@ -1,8 +1,11 @@ function kolab_files_ui_init() { - if (rcmail.env.action == 'open') + if (rcmail.env.action == 'open') { var filesviewsplit = new rcube_splitter({ id:'filesopensplitter', p1:'#fileinfobox', p2:'#filecontent', orientation:'v', relative:true, start:226, min:150, size:12 }).init(); + + rcmail.addEventListener('enable-command', kolab_files_enable_command); + } else var filesviewsplit = new rcube_splitter({ id:'filesviewsplitter', p1:'#folderlistbox', p2:'#filelistcontainer', orientation:'v', relative:true, start:226, min:150, size:12 }).init(); @@ -28,10 +31,19 @@ function kolab_files_ui_init() kolab_files_upload_input('#filestoolbar a.upload'); }; +function kolab_files_enable_command(p) +{ + if (p.command == 'files-save') { + var toolbar = $('#filestoolbar'); + $('a.button.edit', toolbar).hide(); + $('a.button.save', toolbar).show(); + } +}; + function kolab_files_update_quota(p) { return UI.update_quota(p); -} +}; function kolab_files_show_listoptions() { @@ -61,7 +73,8 @@ function kolab_files_show_listoptions() close: function() { $dialog.dialog('destroy').hide(); }, - width: 650 + minWidth: 400, + width: $dialog.width()+20 }).show(); };