From 06c990ead24edee69f07912f8169a0422c411422 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Mon, 13 Feb 2012 03:39:39 -0500
Subject: [PATCH] - Added mailto: protocol handler registration link in User Preferences (#1486580)

---
 program/js/app.js |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/program/js/app.js b/program/js/app.js
index 53a7462..208e9b4 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -4849,7 +4849,7 @@
 
     return true;
   };
-  
+
   this.update_identity_row = function(id, name, add)
   {
     var row, col, list = this.identity_list,
@@ -6316,6 +6316,32 @@
     }
   };
 
+  this.mailto_handler_uri = function()
+  {
+    return location.href.split('?')[0] + '?_task=mail&_action=compose&_to=%s';
+  };
+
+  this.register_protocol_handler = function(name)
+  {
+    try {
+      window.navigator.registerProtocolHandler('mailto', this.mailto_handler_uri(), name);
+    }
+    catch(e) {};
+  };
+
+  this.check_protocol_handler = function(name, elem)
+  {
+    var nav = window.navigator;
+    if (!nav
+      || (typeof nav.registerProtocolHandler != 'function')
+      || ((typeof nav.isProtocolHandlerRegistered == 'function')
+        && nav.isProtocolHandlerRegistered('mailto', this.mailto_handler_uri()) == 'registered')
+    )
+      $(elem).addClass('disabled');
+    else
+      $(elem).click(function() { rcmail.register_protocol_handler(name); return false; });
+  };
+
 }  // end object rcube_webmail
 
 

--
Gitblit v1.9.1