From ed1d212ae2daea5e4bd043417610177093e99f19 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Sat, 16 Jan 2016 03:03:51 -0500 Subject: [PATCH] Improved SVG cleanup code --- program/js/app.js | 63 +++++++++++++++++-------------- 1 files changed, 35 insertions(+), 28 deletions(-) diff --git a/program/js/app.js b/program/js/app.js index 30b6f29..45295c7 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -352,7 +352,7 @@ if (this.gui_objects.mailboxlist) { this.env.unread_counts = {}; this.gui_objects.folderlist = this.gui_objects.mailboxlist; - this.http_request('getunread'); + this.http_request('getunread', {_page: this.env.current_page}); } // init address book widget @@ -3393,12 +3393,12 @@ mailvelope.getKeyring(keyring).then(function(kr) { ref.mailvelope_keyring = kr; ref.mailvelope_init(action, kr); - }).catch(function(err) { + }, function(err) { // attempt to create a new keyring for this app/user mailvelope.createKeyring(keyring).then(function(kr) { ref.mailvelope_keyring = kr; ref.mailvelope_init(action, kr); - }).catch(function(err) { + }, function(err) { console.error(err); }); }); @@ -3526,7 +3526,7 @@ ref.remove_from_attachment_list(name); }); } - }).catch(function(err) { + }, function(err) { console.error(err); console.log(options); }); @@ -3649,15 +3649,15 @@ form.submit(); - }).catch(function(err) { + }, function(err) { console.log(err); }); // mailvelope_editor.encrypt() - }).catch(function(err) { + }, function(err) { console.error(err); }); // mailvelope_keyring.validKeyForAddress(senders) - }).catch(function(err) { + }, function(err) { console.error(err); }); // mailvelope_keyring.validKeyForAddress(recipients) @@ -3671,7 +3671,7 @@ $(selector).addClass('mailvelope').children().not('iframe').hide(); ref.hide_message(msgid); setTimeout(function() { $(window).resize(); }, 10); - }).catch(function(err) { + }, function(err) { console.error(err); ref.hide_message(msgid); ref.display_message('Message decryption failed: ' + err.message, 'error') @@ -3727,7 +3727,7 @@ if (missing_keys.length) { ref.display_message(ref.get_label('nopubkeyfor').replace('$email', missing_keys.join(', ')), 'warning'); } - }, function() { + }).fail(function() { console.error('Pubkey lookup failed with', arguments); ref.hide_message(lock); ref.display_message('pubkeysearcherror', 'error'); @@ -3825,7 +3825,7 @@ btn.closest('.key').fadeOut(); ref.display_message(ref.get_label('keyimportsuccess').replace('$key', $key), 'confirmation'); } - }).catch(function(err) { + }, function(err) { console.log(err); }); }); @@ -4314,7 +4314,7 @@ '<textarea name="text" id="ffresponsetext" cols="40" rows="8"></textarea></div>' + '</form>'; - buttons[this.gettext('save')] = function(e) { + buttons[this.get_label('save')] = function(e) { var name = $('#ffresponsename').val(), text = $('#ffresponsetext').val(); @@ -4330,11 +4330,11 @@ $(this).dialog('close'); }; - buttons[this.gettext('cancel')] = function() { + buttons[this.get_label('cancel')] = function() { $(this).dialog('close'); }; - this.show_popup_dialog(html, this.gettext('newresponse'), buttons, {button_classes: ['mainaction']}); + this.show_popup_dialog(html, this.get_label('newresponse'), buttons, {button_classes: ['mainaction']}); $('#ffresponsetext').val(text); $('#ffresponsename').select(); @@ -5570,7 +5570,7 @@ // add link to pop back to parent group if (this.env.address_group_stack.length > 1) { $('<a href="#list">...</a>') - .attr('title', this.gettext('uponelevel')) + .attr('title', this.get_label('uponelevel')) .addClass('poplink') .appendTo(boxtitle) .click(function(e){ return ref.command('popgroup','',this); }); @@ -8377,7 +8377,7 @@ // html5 file-drop API this.document_drag_hover = function(e, over) { - e.preventDefault(); + // don't e.preventDefault() here to not block text dragging on the page (#1490619) $(this.gui_objects.filedrop)[(over?'addClass':'removeClass')]('active'); }; @@ -8409,7 +8409,7 @@ if (uri = e.dataTransfer.getData('roundcube-uri')) { var ts = new Date().getTime(), // jQuery way to escape filename (#1490530) - content = $('<span>').text(e.dataTransfer.getData('roundcube-name') || this.gettext('attaching')).html(); + content = $('<span>').text(e.dataTransfer.getData('roundcube-name') || this.get_label('attaching')).html(); args._uri = uri; args._uploadid = ts; @@ -8755,14 +8755,10 @@ if (!this.env.browser_capabilities) this.env.browser_capabilities = {}; - if (this.env.browser_capabilities.pdf === undefined) - this.env.browser_capabilities.pdf = this.pdf_support_check(); - - if (this.env.browser_capabilities.flash === undefined) - this.env.browser_capabilities.flash = this.flash_support_check(); - - if (this.env.browser_capabilities.tif === undefined) - this.tif_support_check(); + $.each(['pdf', 'flash', 'tif'], function() { + if (ref.env.browser_capabilities[this] === undefined) + ref.env.browser_capabilities[this] = ref[this + '_support_check'](); + }); }; // Returns browser capabilities string @@ -8781,11 +8777,14 @@ this.tif_support_check = function() { - var img = new Image(); + window.setTimeout(function() { + var img = new Image(); + img.onload = function() { ref.env.browser_capabilities.tif = 1; }; + img.onerror = function() { ref.env.browser_capabilities.tif = 0; }; + img.src = ref.assets_path('program/resources/blank.tif'); + }, 10); - img.onload = function() { ref.env.browser_capabilities.tif = 1; }; - img.onerror = function() { ref.env.browser_capabilities.tif = 0; }; - img.src = this.assets_path('program/resources/blank.tif'); + return 0; }; this.pdf_support_check = function() @@ -8821,6 +8820,14 @@ return 1; } + window.setTimeout(function() { + $('<object>').css({position: 'absolute', left: '-10000px'}) + .attr({data: ref.assets_path('program/resources/dummy.pdf'), width: 1, height: 1, type: 'application/pdf'}) + .load(function() { ref.env.browser_capabilities.pdf = 1; }) + .error(function() { ref.env.browser_capabilities.pdf = 0; }) + .appendTo($('body')); + }, 10); + return 0; }; -- Gitblit v1.9.1