From e3ca4012bce49cc375fb8a92cd01a81d79de93c1 Mon Sep 17 00:00:00 2001 From: Vishmita Date: Fri, 16 Nov 2012 14:48:04 +0530 Subject: [PATCH] [FIX]Minor changes bzr revid: vja@tinyerp.com-20121116091804-3lalobfufyp6yyx4 --- addons/web/static/src/css/base.css | 2 +- addons/web/static/src/js/view_form.js | 39 ++++++++++++++++++++------- addons/web/static/src/xml/base.xml | 8 +++--- 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 5b40b818dc3..f6dfd9f606e 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -471,7 +471,7 @@ .openerp .oe_form_buttons [accesskey] > p { display:inline; } -.openerp .oe_form_buttons .accessactive { +.openerp .oe_form_buttons span.access ,.oe_form_button span.access{ text-decoration:underline; text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); font-weight:bold; diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index d732d66e0ba..3c0cd5cfb96 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -227,17 +227,36 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM }, widgetAccesskey:function(){ var self = this; - self.$buttons.find("[accesskey]").html(function(i, html){ - return html.replace(/^[^a-zA-Z]*([a-zA-Z])/g, '

$1

'); + $(document).bind('keydown',function(e){ + var list = $(document).find('.oe_form_buttons span button,.oe_form_buttons span a,.oe_application .oe_form_button, oe_list_content.oe_form_field_one2many_list_row_add a'); + list = _.reject(list,function(r){ return $(r).hasClass('oe_form_invisible')}) + var accesskey = _.map(list,function(r){ return $(r).attr('accesskey') }); + _.each(list,function(el,i){ + if (!$(el).attr("accesskey")) { + var text = $(el).text().trim().substr(0,1); + if (_.contains(accesskey.slice(0, i),text)){ + var index = $(el).text().trim().indexOf(text); + var str = $(el).text().trim().substr(index + 1, index + 1); + $(el).attr('accesskey',str); + accesskey[i] = str; + }else { + $(el).attr('accesskey',text); + accesskey[i] = text ; + } + } + }) + if (e.keyCode === e.which) { + _.each(list,function(rl,i){ + $(rl).html(function(i, html){ + return $(rl).text().replace($(rl).attr('accesskey'), '' + $(rl).attr('accesskey') + ''); + }) + }) + }}).keyup(function(){ + var accesskey_list = $(document).find('.oe_form_buttons span button,.oe_form_buttons span a,.oe_application .oe_form_button, oe_list_content.oe_form_field_one2many_list_row_add a'); + accesskey_list.each(function(){ + $(this).find('span.access').removeClass('access'); + }) }); - $(document).keydown(function(e){ - self.$buttons.find("[accesskey] >p").removeClass("accessactive"); - if (e.keyCode === $.ui.keyCode.ALT || e.keyCode === $.ui.keyCode.SHIFT && e.altKey) { - self.$buttons.find("[accesskey] >p").addClass("accessactive"); - } - }).keyup(function(){ - self.$buttons.find("[accesskey] > p").removeClass("accessactive"); - }) }, widgetFocused: function() { // Clear click flag if used to focus a widget diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 22ac56941d7..1c29d3181ef 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -776,15 +776,15 @@
- +
+ type="button" class="oe_button oe_form_button_create">Create
- + or - Discard + Discard