From 92e81cbf22b78bd06bae8006cd5cda57660838c8 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Fri, 04 Apr 2014 13:58:24 -0400 Subject: [PATCH] Improve error message on failed http connection --- program/js/app.js | 30 +++++++++++++++++++----------- 1 files changed, 19 insertions(+), 11 deletions(-) diff --git a/program/js/app.js b/program/js/app.js index 605df57..6d2581a 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -1901,7 +1901,7 @@ tree += '<span id="msgicn'+uid+'" class="'+css_class+'"> </span>'; row.className = row_class; - // build subject link + // build subject link if (cols.subject) { var action = flags.mbox == this.env.drafts_mailbox ? 'compose' : 'show'; var uid_param = flags.mbox == this.env.drafts_mailbox ? '_draft_uid' : '_uid'; @@ -7063,7 +7063,7 @@ else if (status == 'timeout') this.display_message(this.get_label('requesttimedout'), 'error'); else if (request.status == 0 && status != 'abort') - this.display_message(this.get_label('servererror') + ' (No connection)', 'error'); + this.display_message(this.get_label('connerror'), 'error'); // redirect to url specified in location header if not empty var location_url = request.getResponseHeader("Location"); @@ -7510,20 +7510,28 @@ try { window.navigator.registerProtocolHandler('mailto', this.mailto_handler_uri(), name); } - catch(e) {}; + catch(e) { + this.display_message(String(e), 'error'); + }; }; 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; }); + if (!nav || (typeof nav.registerProtocolHandler != 'function')) { + $(elem).addClass('disabled').click(function(){ return false; }); + } + else { + var status = null; + if (typeof nav.isProtocolHandlerRegistered == 'function') { + status = nav.isProtocolHandlerRegistered('mailto', this.mailto_handler_uri()); + if (status) + $(elem).parent().find('.mailtoprotohandler-status').html(status); + } + else { + $(elem).click(function() { rcmail.register_protocol_handler(name); return false; }); + } + } }; // Checks browser capabilities eg. PDF support, TIF support -- Gitblit v1.9.1