mc/lib/widget
Egmont Koblinger 930f683019 Handle newline and tab with shift/ctrl modifiers correctly.
MC already has its own half-ready trick: when pasting with Shift-Insert,
using the X11 extension, the newline ("Enter" as mc calls it) with the
Shift modifier pressed gets converted to a "Return", and in the editor
the Return character inserts a non-indenting newline. This makes pasting
better in terminals not supporting bracketed paste, however, it has some
problems that this commit addresses:

  * Shift+newline gets this special treatment, but Ctrl+newline gets
    dropped. Hence e.g. when pasting in Gnome-terminal with Ctrl+Shift+V
    all the newlines will be missing. This commit adds the same
    non-indenting newline behavior to Ctrl+Newline and Ctrl+Shift+Newline.

  * The code forgets about Tab that also needs special treatment:

    - Most terminals send \e[Z on Shift+Tab, this is not handled by MC
      at all, moreover it causes a hang for about a second. This commit
      teaches this sequence to MC. This is especially useful when no X11
      is available, because there Ctrl+Tab is identical to Tab, so the
      backwards tab feature is not available. With this commit Shift+Tab
      becomes a backwards tab too on all terminals that emit \e[Z.

    - When pasting to the editor, Shift+Tab, Ctrl+Tab and Ctrl+Shift+Tab
      should all insert a tab for the same reason mentioned at the newline.

    - It would look inconsistent in the keymap files to have logical code
      such as "backtab" instead of "shift-tab" and friends, hence get rid
      of KEY_BTAB and use KEY_M_SHIFT | '\t' instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-10-03 11:41:58 +04:00
..
button.c Rename functions: 2013-06-28 09:21:17 +04:00
button.h Ticket #2111: allow pause in copy/move/delete file operation. 2012-12-21 13:37:39 +04:00
buttonbar.c Rename functions: 2013-06-28 09:21:17 +04:00
buttonbar.h Clarify widget redraw in runtime. 2013-03-09 16:04:19 +04:00
check.c Rename functions: 2013-06-28 09:21:17 +04:00
check.h Add useful macros for widget type cast. 2012-11-19 21:44:14 +04:00
dialog-switch.c Rename functions: 2013-06-28 09:21:17 +04:00
dialog-switch.h Rename Dlg_head to WDialog. 2012-11-19 21:42:47 +04:00
dialog.c Handle newline and tab with shift/ctrl modifiers correctly. 2013-10-03 11:41:58 +04:00
dialog.h Typo fixes. 2013-07-23 14:15:24 +04:00
gauge.c Rename functions: 2013-06-28 09:21:17 +04:00
gauge.h Ticket #2076: make copy/move/delete progress dialog wider. 2013-01-14 16:23:17 +04:00
groupbox.c Rename functions: 2013-06-28 09:21:17 +04:00
groupbox.h lib/widget/*.[ch]: fix indentation. 2012-11-20 13:27:10 +04:00
history.c Rename functions: 2013-06-28 09:21:17 +04:00
history.h fixed doxygen documentation 2012-09-10 14:29:53 +03:00
hline.c (hline_callback): fix of MSG_INIT and MSG_RESIZE messages handling. 2013-08-02 21:58:45 +04:00
hline.h WHLine: allow draw text over horizontal line. 2013-01-14 16:23:17 +04:00
input_complete.c Add DIR_IS_DOT and DIR_IS_DOTDOT macros 2013-07-23 14:15:24 +04:00
input_complete.h Move src/filemanager/complete.c to lib/widget/input_complete.c 2011-03-21 23:55:51 +02:00
input.c Typo fixes. 2013-07-23 14:15:24 +04:00
input.h Concretize the usage of autocompliting in different input fields. 2013-02-04 15:48:21 +03:00
label.c Rename functions: 2013-06-28 09:21:17 +04:00
label.h Add useful macros for widget type cast. 2012-11-19 21:44:14 +04:00
listbox-window.c Rename functions: 2013-06-28 09:21:17 +04:00
listbox-window.h Rename Dlg_head to WDialog. 2012-11-19 21:42:47 +04:00
listbox.c Rename functions: 2013-06-28 09:21:17 +04:00
listbox.h Add useful macros for widget type cast. 2012-11-19 21:44:14 +04:00
Makefile.am PCRE_CFLAGS are CPPFLAGS, actually. 2012-12-18 16:27:49 +04:00
menu.c (menubar_new): add 3rd 'visible' argument. 2013-08-02 21:58:45 +04:00
menu.h (menubar_new): add 3rd 'visible' argument. 2013-08-02 21:58:45 +04:00
quick.c Rename functions: 2013-06-28 09:21:17 +04:00
quick.h Extend QUICK_INPUT and QUICK_LABELED_INPUT macros for getting completion flags via parameters instead of using hardcoded value 2013-02-04 15:29:15 +03:00
radio.c Rename functions: 2013-06-28 09:21:17 +04:00
radio.h Add useful macros for widget type cast. 2012-11-19 21:44:14 +04:00
widget-common.c Rename functions: 2013-06-28 09:21:17 +04:00
widget-common.h Rename functions: 2013-06-28 09:21:17 +04:00
wtools.c Rename functions: 2013-06-28 09:21:17 +04:00
wtools.h Extend QUICK_INPUT and QUICK_LABELED_INPUT macros for getting completion flags via parameters instead of using hardcoded value 2013-02-04 15:29:15 +03:00