From a3ed96344e15e7c1c238015911f9dd2d398f7da1 Mon Sep 17 00:00:00 2001 From: alecpl Date: Mon, 20 Feb 2012 13:47:26 +0000 Subject: [PATCH] - Make sure About tab is always the last tab (#1488257) --- CHANGELOG | 1 + skins/default/functions.js | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 2bd325c46..d164970ac 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Make sure About tab is always the last tab (#1488257) - Fix issue with folder creation under INBOX. namespace (#1488349) - Added mailto: protocol handler registration link in User Preferences (#1486580) - Handle identity details box with an iframe (#1487020) diff --git a/skins/default/functions.js b/skins/default/functions.js index 8482e375a..1576aeffc 100644 --- a/skins/default/functions.js +++ b/skins/default/functions.js @@ -8,12 +8,24 @@ function rcube_init_settings_tabs() { - var tab = '#settingstabdefault'; - if (window.rcmail && rcmail.env.action) - tab = '#settingstab' + (rcmail.env.action=='preferences' ? 'default' : (rcmail.env.action.indexOf('identity')>0 ? 'identities' : rcmail.env.action.replace(/\./g, ''))); + var el, cl, container = $('#tabsbar'), + last_tab = $('span:last', container), + tab = '#settingstabdefault', + action = window.rcmail && rcmail.env.action ? rcmail.env.action : null; + + // move About tab to the end + if (last_tab && last_tab.attr('id') != 'settingstababout' && (el = $('#settingstababout'))) { + cl = el.clone(true); + el.remove(); + last_tab.after(cl); + } + + // get selected tab + if (action) + tab = '#settingstab' + (action == 'preferences' ? 'default' : (action.indexOf('identity')>0 ? 'identities' : action.replace(/\./g, ''))); $(tab).addClass('tablink-selected'); - $(tab + '> a').removeAttr('onclick').click(function() { return false; }); + $(a, tab).removeAttr('onclick').click(function() { return false; }); } function rcube_show_advanced(visible)