diff options
author | alecpl <alec@alec.pl> | 2012-02-13 08:39:39 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2012-02-13 08:39:39 +0000 |
commit | 06c990ead24edee69f07912f8169a0422c411422 (patch) | |
tree | 81f2c69b23f3756e9faaf78030da1717cff2fda4 /program/js | |
parent | bf9ddec776715fd8732a23a1dd0b25b660ed5439 (diff) |
- Added mailto: protocol handler registration link in User Preferences (#1486580)
Diffstat (limited to 'program/js')
-rw-r--r-- | 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 53a746265..208e9b489 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -4849,7 +4849,7 @@ function rcube_webmail() return true; }; - + this.update_identity_row = function(id, name, add) { var row, col, list = this.identity_list, @@ -6316,6 +6316,32 @@ function rcube_webmail() } }; + 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 |