summaryrefslogtreecommitdiff
path: root/program/js/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'program/js/app.js')
-rw-r--r--program/js/app.js28
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