plugins/kolab_files

Aleksander Machniak machniak at kolabsys.com
Wed Jun 12 15:11:12 CEST 2013


 plugins/kolab_files/kolab_files.js                         |   18 +++++++++++++
 plugins/kolab_files/lib/kolab_files_engine.php             |    5 +--
 plugins/kolab_files/localization/en_US.inc                 |    1 
 plugins/kolab_files/skins/larry/style.css                  |    4 ++
 plugins/kolab_files/skins/larry/templates/filepreview.html |    1 
 5 files changed, 26 insertions(+), 3 deletions(-)

New commits:
commit b40f2aaadf326f6d2768f57ffc321fe3ec9fffbb
Author: Aleksander Machniak <machniak at kolabsys.com>
Date:   Wed Jun 12 15:10:58 2013 +0200

    Implemented files printing

diff --git a/plugins/kolab_files/kolab_files.js b/plugins/kolab_files/kolab_files.js
index 5455d3b..d4ea8ed 100644
--- a/plugins/kolab_files/kolab_files.js
+++ b/plugins/kolab_files/kolab_files.js
@@ -567,6 +567,9 @@ kolab_files_frame_load = function(frame)
 
   if (rcmail.file_editor)
     rcmail.enable_command('files-edit', true);
+
+  rcmail.enable_command('files-print', (rcmail.file_editor && rcmail.file_editor.printable) ||
+    (rcmail.env.file_data && /^image\//i.test(rcmail.env.file_data.type)));
 };
 
 
@@ -695,6 +698,21 @@ rcube_webmail.prototype.files_save = function()
   file_api.file_save(this.env.file, content);
 };
 
+rcube_webmail.prototype.files_print = function()
+{
+  if (this.file_editor && this.file_editor.printable)
+    this.file_editor.print();
+  else if (/^image\//i.test(this.env.file_data.type)) {
+    var frame = $('#fileframe').get(0),
+      win = frame ? frame.contentWindow : null;
+
+    if (win) {
+      win.focus();
+      win.print();
+    }
+  }
+};
+
 rcube_webmail.prototype.files_set_quota = function(p)
 {
   if (p.total) {
diff --git a/plugins/kolab_files/lib/kolab_files_engine.php b/plugins/kolab_files/lib/kolab_files_engine.php
index 022fd3e..0401eea 100644
--- a/plugins/kolab_files/lib/kolab_files_engine.php
+++ b/plugins/kolab_files/lib/kolab_files_engine.php
@@ -700,15 +700,14 @@ class kolab_files_engine
 
         $this->plugin->add_label('filedeleteconfirm', 'filedeleting', 'filedeletenotice');
 
-        // this one is for styling purpose
-        $this->rc->output->set_env('extwin', true);
-
         // register template objects for dialogs (and main interface)
         $this->rc->output->add_handlers(array(
             'fileinfobox'      => array($this, 'file_info_box'),
             'filepreviewframe' => array($this, 'file_preview_frame'),
         ));
 
+        // this one is for styling purpose
+        $this->rc->output->set_env('extwin', true);
         $this->rc->output->set_env('file', $file);
         $this->rc->output->set_env('file_data', $this->file_data);
         $this->rc->output->set_pagetitle(rcube::Q($file));
diff --git a/plugins/kolab_files/localization/en_US.inc b/plugins/kolab_files/localization/en_US.inc
index c148856..5023002 100644
--- a/plugins/kolab_files/localization/en_US.inc
+++ b/plugins/kolab_files/localization/en_US.inc
@@ -32,6 +32,7 @@ $labels['edit'] = 'Edit';
 $labels['editfile'] = 'Edit file';
 $labels['save'] = 'Save';
 $labels['savefile'] = 'Save file';
+$labels['printfile'] = 'Print file';
 $labels['fileedit'] = 'File properties';
 
 $labels['collection_audio'] = 'Audio';
diff --git a/plugins/kolab_files/skins/larry/style.css b/plugins/kolab_files/skins/larry/style.css
index 9f0b5e6..d13b53c 100644
--- a/plugins/kolab_files/skins/larry/style.css
+++ b/plugins/kolab_files/skins/larry/style.css
@@ -50,6 +50,10 @@
   background-position: center -213px;
 }
 
+#filestoolbar a.button.print {
+  background:  url(../../../../skins/larry/images/buttons.png) center -810px no-repeat;
+}
+
 #filestoolbar form {
   display: inline;
 }
diff --git a/plugins/kolab_files/skins/larry/templates/filepreview.html b/plugins/kolab_files/skins/larry/templates/filepreview.html
index 4657f2c..bc35752 100644
--- a/plugins/kolab_files/skins/larry/templates/filepreview.html
+++ b/plugins/kolab_files/skins/larry/templates/filepreview.html
@@ -17,6 +17,7 @@
     <roundcube:button command="files-edit" type="link" class="button edit disabled" classAct="button edit" classSel="button edit pressed" label="kolab_files.edit" title="kolab_files.editfile" />
     <roundcube:button command="files-save" type="link" class="button save disabled" classAct="button save" classSel="button save pressed" label="kolab_files.save" title="kolab_files.savefile" style="display:none" />
     <roundcube:button command="files-delete" type="link" class="button delete disabled" classAct="button delete" classSel="button delete pressed" label="delete" title="kolab_files.deletefile" />
+    <roundcube:button command="files-print" type="link" class="button print disabled" classAct="button print" classSel="button print pressed" label="print" title="kolab_files.printfile" />
 </div>
 
 <div id="fileinfobox" class="uibox listbox">





More information about the commits mailing list