Topic: Setting up customized short cut keys in FA Pages

Finance team in my organisation want some extra short cut keys to be enabled apart from the existing ones.
For example
In the Banking and Ledger page/Payments there is a Tab called "Memo".
I want to put a short cut key to Memo , so that if i press Cntl+M , i should be able to navigate to Memo directly.
Can anybody please suggest me how would do this?
Can i modify the Banking and Ledger Page.php?
Would there be any adverse effects on any other pages and the FA if i do this?

2 (edited by apmuthu 02/13/2013 09:36:19 am)

Re: Setting up customized short cut keys in FA Pages

Code from this link may help.

Ctrl-M is an alternative Carriage Return character (CR) - 0x0D.


includes/ui/ui_controls.php has a few shortcut keys defined outside of the functions at lines 443 - 457:

/* Table editor interfaces. Key is editor type
    0 => url of editor page
    1 => hotkey code
    2 => context help
*/
$popup_editors = array(
    'customer' => array('/sales/manage/customers.php?debtor_no=', 
        113,    _("Customers"), 900, 500),
    'branch' => array('/sales/manage/customer_branches.php?SelectedBranch=', 
        114, _("Branches"), 900, 700),
    'supplier' => array('/purchasing/manage/suppliers.php?supplier_id=', 
        113, _("Suppliers"), 900, 700),
    'item' => array('/inventory/manage/items.php?stock_id=', 
        115, _("Items"), 800, 600)
);

The "F#" function keys are coded in the succeeding function:

/*
    Bind editors for various selectors.
    $type - type of editor
    $input - name of related input field
    $caller - optional function key code (available values F1-F12: 112-123,
        true: default)
*/
function set_editor($type, $input, $caller=true)
{
    global $path_to_root, $Editors, $popup_editors, $Pagehelp;

    $key = $caller===true ? $popup_editors[$type][1] : $caller;

    $Editors[$key] = array( $path_to_root . $popup_editors[$type][0], $input, 
        $popup_editors[$type][3], $popup_editors[$type][4]);
    
    $help = 'F' . ($key - 111) . ' - ';
    $help .= $popup_editors[$type][2];
    $Pagehelp[] = $help;
}

Re: Setting up customized short cut keys in FA Pages

You can just add '&' before  'M' letter in tab tittle to have it available under Alt-M (Alt is standard  hotkey activator in FA.)
If you use any localization, you can change it translation *.po file, and use it after *.mo file generation (see other translation related threads on the forum if you are not sure how to do it).

Janusz

4 (edited by apmuthu 02/15/2013 03:39:31 am)

Re: Setting up customized short cut keys in FA Pages

The shortcut here is not to merely go to a URL but for a specific (Memo) field in a form to get focus. Will this "&" method do it?

Re: Setting up customized short cut keys in FA Pages

Thanks all for the quick reply. Just a quick question. These modification are done on the page level i.e if i am modifying the Banking and ledger page. The Short cut keys code should be implemented in the Banking and Ledger.php right?
I am new to FA and still analyzing the code base how it works hence this question.

Re: Setting up customized short cut keys in FA Pages

In empty.po as well for relevent mods to be ported to other languages if used.

Re: Setting up customized short cut keys in FA Pages

apmuthu wrote:

The shortcut here is not to merely go to a URL but for a specific (Memo) field in a form to get focus. Will this "&" method do it?

Oh, yes you are right. I was misleaded by the original qusetion about 'Tab called Memo'. Now I see here Memo is input field, so hot key will not work here.

Janusz