From 2c1937220e6e0eab0e527e6ebeec716a846afd70 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Mon, 27 Feb 2012 03:43:16 -0500
Subject: [PATCH] - Move percent_indicator from app.js into the skin

---
 skins/default/functions.js |  139 ++++++++++++++++++++++++++--------
 program/js/app.js          |   73 +-----------------
 2 files changed, 110 insertions(+), 102 deletions(-)

diff --git a/program/js/app.js b/program/js/app.js
index f00263c..79ba528 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -5671,13 +5671,11 @@
   // replace content of quota display
   this.set_quota = function(content)
   {
-    if (content && this.gui_objects.quotadisplay) {
-      if (typeof content === 'object' && content.type == 'image')
-        this.percent_indicator(this.gui_objects.quotadisplay, content);
-      else
-        $(this.gui_objects.quotadisplay).html(content.percent+'%').attr('title', content.title);
-    }
+    if (this.gui_objects.quotadisplay && content && content.type == 'text')
+      $(this.gui_objects.quotadisplay).html(content.percent+'%').attr('title', content.title);
+
     this.triggerEvent('setquota', content);
+    this.env.quota_content = content;
   };
 
   // update the mailboxlist
@@ -5786,69 +5784,6 @@
     elem.onclick = function() { rcmail.load_headers(elem); };
   };
 
-  // percent (quota) indicator
-  this.percent_indicator = function(obj, data)
-  {
-    if (!data || !obj)
-      return false;
-
-    var limit_high = 80,
-      limit_mid  = 55,
-      width = data.width ? data.width : this.env.indicator_width ? this.env.indicator_width : 100,
-      height = data.height ? data.height : this.env.indicator_height ? this.env.indicator_height : 14,
-      quota = data.percent ? Math.abs(parseInt(data.percent)) : 0,
-      quota_width = parseInt(quota / 100 * width),
-      pos = $(obj).position();
-
-    // workarounds for Opera and Webkit bugs
-    pos.top = Math.max(0, pos.top);
-    pos.left = Math.max(0, pos.left);
-
-    this.env.indicator_width = width;
-    this.env.indicator_height = height;
-
-    // overlimit
-    if (quota_width > width) {
-      quota_width = width;
-      quota = 100; 
-    }
-
-    if (data.title)
-      data.title = this.get_label('quota') + ': ' +  data.title;
-
-    // main div
-    var main = $('<div>');
-    main.css({position: 'absolute', top: pos.top, left: pos.left,
-	    width: width + 'px', height: height + 'px', zIndex: 100, lineHeight: height + 'px'})
-	  .attr('title', data.title).addClass('quota_text').html(quota + '%');
-    // used bar
-    var bar1 = $('<div>');
-    bar1.css({position: 'absolute', top: pos.top + 1, left: pos.left + 1,
-	    width: quota_width + 'px', height: height + 'px', zIndex: 99});
-    // background
-    var bar2 = $('<div>');
-    bar2.css({position: 'absolute', top: pos.top + 1, left: pos.left + 1,
-	    width: width + 'px', height: height + 'px', zIndex: 98})
-	  .addClass('quota_bg');
-
-    if (quota >= limit_high) {
-      main.addClass(' quota_text_high');
-      bar1.addClass('quota_high');
-    }
-    else if(quota >= limit_mid) {
-      main.addClass(' quota_text_mid');
-      bar1.addClass('quota_mid');
-    }
-    else {
-      main.addClass(' quota_text_low');
-      bar1.addClass('quota_low');
-    }
-
-    // replace quota image
-    $(obj).html('').append(bar1).append(bar2).append(main);
-    // update #quotaimg title
-    $('#quotaimg').attr('title', data.title);
-  };
 
   /********************************************************/
   /*********  html to text conversion functions   *********/
diff --git a/skins/default/functions.js b/skins/default/functions.js
index c4fb022..539f6ff 100644
--- a/skins/default/functions.js
+++ b/skins/default/functions.js
@@ -559,39 +559,6 @@
 };
 
 
-var rcmail_ui;
-
-function rcube_init_mail_ui()
-{
-  rcmail_ui = new rcube_mail_ui();
-  rcube_event.add_listener({ object:rcmail_ui, method:'body_mouseup', event:'mouseup' });
-  rcube_event.add_listener({ object:rcmail_ui, method:'body_keydown', event:'keydown' });
-
-  $('iframe').load(iframe_events)
-    .contents().mouseup(function(e){rcmail_ui.body_mouseup(e)});
-
-  if (rcmail.env.task == 'mail') {
-    rcmail.addEventListener('menu-open', 'open_listmenu', rcmail_ui);
-    rcmail.addEventListener('menu-save', 'save_listmenu', rcmail_ui);
-    rcmail.addEventListener('aftersend-attachment', 'uploadmenu', rcmail_ui);
-    rcmail.addEventListener('aftertoggle-editor', 'resize_compose_body_ev', rcmail_ui);
-    rcmail.gui_object('message_dragmenu', 'dragmessagemenu');
-
-    if (rcmail.gui_objects.mailboxlist) {
-      rcmail.addEventListener('responseaftermark', rcube_render_mailboxlist);
-      rcmail.addEventListener('responseaftergetunread', rcube_render_mailboxlist);
-      rcmail.addEventListener('responseaftercheck-recent', rcube_render_mailboxlist);
-      rcmail.addEventListener('aftercollapse-folder', rcube_render_mailboxlist);
-    }
-
-    if (rcmail.env.action == 'compose')
-      rcmail_ui.init_compose_form();
-  }
-  else if (rcmail.env.task == 'addressbook') {
-    rcmail.addEventListener('afterupload-photo', function(){ rcmail_ui.show_popup('uploadform', false); });
-  }
-}
-
 // Events handling in iframes (eg. preview pane)
 function iframe_events()
 {
@@ -671,8 +638,114 @@
   return result;
 }
 
+function update_quota(data)
+{
+  percent_indicator(rcmail.gui_objects.quotadisplay, data);
+}
+
+// percent (quota) indicator
+function percent_indicator(obj, data)
+{
+  if (!data || !obj)
+    return false;
+
+  var limit_high = 80,
+    limit_mid  = 55,
+    width = data.width ? data.width : rcmail.env.indicator_width ? rcmail.env.indicator_width : 100,
+    height = data.height ? data.height : rcmail.env.indicator_height ? rcmail.env.indicator_height : 14,
+    quota = data.percent ? Math.abs(parseInt(data.percent)) : 0,
+    quota_width = parseInt(quota / 100 * width),
+    pos = $(obj).position();
+
+  // workarounds for Opera and Webkit bugs
+  pos.top = Math.max(0, pos.top);
+  pos.left = Math.max(0, pos.left);
+
+  rcmail.env.indicator_width = width;
+  rcmail.env.indicator_height = height;
+
+  // overlimit
+  if (quota_width > width) {
+    quota_width = width;
+    quota = 100;
+  }
+
+  if (data.title)
+    data.title = rcmail.get_label('quota') + ': ' +  data.title;
+
+  // main div
+  var main = $('<div>');
+  main.css({position: 'absolute', top: pos.top, left: pos.left,
+      width: width + 'px', height: height + 'px', zIndex: 100, lineHeight: height + 'px'})
+    .attr('title', data.title).addClass('quota_text').html(quota + '%');
+  // used bar
+  var bar1 = $('<div>');
+  bar1.css({position: 'absolute', top: pos.top + 1, left: pos.left + 1,
+      width: quota_width + 'px', height: height + 'px', zIndex: 99});
+  // background
+  var bar2 = $('<div>');
+  bar2.css({position: 'absolute', top: pos.top + 1, left: pos.left + 1,
+      width: width + 'px', height: height + 'px', zIndex: 98})
+	.addClass('quota_bg');
+
+  if (quota >= limit_high) {
+    main.addClass(' quota_text_high');
+    bar1.addClass('quota_high');
+  }
+  else if(quota >= limit_mid) {
+    main.addClass(' quota_text_mid');
+    bar1.addClass('quota_mid');
+  }
+  else {
+    main.addClass(' quota_text_low');
+    bar1.addClass('quota_low');
+  }
+
+  // replace quota image
+  $(obj).html('').append(bar1).append(bar2).append(main);
+  // update #quotaimg title
+  $('#quotaimg').attr('title', data.title);
+}
+
 // Optional parameters used by TinyMCE
 var rcmail_editor_settings = {
   skin : "default", // "default", "o2k7"
   skin_variant : "" // "", "silver", "black"
 };
+
+var rcmail_ui;
+
+function rcube_init_mail_ui()
+{
+  rcmail_ui = new rcube_mail_ui();
+  rcube_event.add_listener({ object:rcmail_ui, method:'body_mouseup', event:'mouseup' });
+  rcube_event.add_listener({ object:rcmail_ui, method:'body_keydown', event:'keydown' });
+
+  if (rcmail.env.quota_content)
+    update_quota(rcmail.env.quota_content);
+  rcmail.addEventListener('setquota', update_quota);
+
+  $('iframe').load(iframe_events)
+    .contents().mouseup(function(e){rcmail_ui.body_mouseup(e)});
+
+  if (rcmail.env.task == 'mail') {
+    rcmail.addEventListener('menu-open', 'open_listmenu', rcmail_ui);
+    rcmail.addEventListener('menu-save', 'save_listmenu', rcmail_ui);
+    rcmail.addEventListener('aftersend-attachment', 'uploadmenu', rcmail_ui);
+    rcmail.addEventListener('aftertoggle-editor', 'resize_compose_body_ev', rcmail_ui);
+    rcmail.gui_object('message_dragmenu', 'dragmessagemenu');
+
+    if (rcmail.gui_objects.mailboxlist) {
+      rcmail.addEventListener('responseaftermark', rcube_render_mailboxlist);
+      rcmail.addEventListener('responseaftergetunread', rcube_render_mailboxlist);
+      rcmail.addEventListener('responseaftercheck-recent', rcube_render_mailboxlist);
+      rcmail.addEventListener('aftercollapse-folder', rcube_render_mailboxlist);
+    }
+
+    if (rcmail.env.action == 'compose')
+      rcmail_ui.init_compose_form();
+  }
+  else if (rcmail.env.task == 'addressbook') {
+    rcmail.addEventListener('afterupload-photo', function(){ rcmail_ui.show_popup('uploadform', false); });
+  }
+}

--
Gitblit v1.9.1