Merge branch '2384_rebind_fx_keys'

* 2384_rebind_fx_keys:
  Ticket #2384: allow rebind Fx keys in the file manager.
This commit is contained in:
Andrew Borodin 2012-03-25 10:41:31 +04:00
commit e72a46acf9

View File

@ -1511,25 +1511,26 @@ midnight_callback (Dlg_head * h, Widget * sender, dlg_msg_t msg, int parm, void
return MSG_HANDLED; return MSG_HANDLED;
case DLG_UNHANDLED_KEY: case DLG_UNHANDLED_KEY:
if (command_prompt)
{ {
cb_ret_t v; cb_ret_t v = MSG_NOT_HANDLED;
v = send_message ((Widget *) cmdline, WIDGET_KEY, parm); if (ctl_x_map_enabled)
if (v == MSG_HANDLED) {
return MSG_HANDLED; ctl_x_map_enabled = FALSE;
command = keybind_lookup_keymap_command (main_x_map, parm);
}
else
command = keybind_lookup_keymap_command (main_map, parm);
if (command != CK_IgnoreKey)
v = midnight_execute_cmd (NULL, command);
if (v == MSG_NOT_HANDLED && command_prompt)
v = send_message ((Widget *) cmdline, WIDGET_KEY, parm);
return v;
} }
if (ctl_x_map_enabled)
{
ctl_x_map_enabled = FALSE;
command = keybind_lookup_keymap_command (main_x_map, parm);
}
else
command = keybind_lookup_keymap_command (main_map, parm);
return (command == CK_IgnoreKey) ? MSG_NOT_HANDLED : midnight_execute_cmd (NULL, command);
case DLG_POST_KEY: case DLG_POST_KEY:
if (!the_menubar->is_active) if (!the_menubar->is_active)
update_dirty_panels (); update_dirty_panels ();