Commit Graph

13586 Commits

Author SHA1 Message Date
Andrew Borodin 9f606a6668 (vfs_setup_cwd): move directory test to separate function. 2016-07-29 09:32:04 +03:00
Andrew Borodin 2abb92d7e6 (setup_panels): clarify panel size caclulation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:32:04 +03:00
Andrew Borodin 6951d70c7c (panel_update_cols): move from panel.c to layout.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:32:04 +03:00
Andrew Borodin 2f8b1de05f (tree_move): support VFS.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:32:04 +03:00
Andrew Borodin e07408e8c7 (check_callback): clean unneeded type casting.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:32:04 +03:00
Andrew Borodin b0e3552847 Refactoring of widget's position and size calculation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andrew Borodin 86fd77155e Refactoring of dialog's position and size calculation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
wwp e629712197 Ticket #3562: fix Glib-critical asserts in empty WListbox.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andreas Mohr e4badcf7bc (mc_search_set_error): cleanup compile warning on older gcc compilers:
search.c: In function 'mc_search_set_error':
search.c:497:36: error: declaration of 'mc_search' shadows a global declaration [-Werror=shadow]
search.c:419:1: error: shadowed declaration is here [-Werror=shadow]

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Oswald Buddenhagen bb782ad8ef Find file: fix directory search order to be depth-first again.
This matches the pre-glib implementation, and is way more natural.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andreas Mohr 8710d2522f (variable_completion_function): cleanup Wconditional-uninitialized warning.
input_complete.c:383:42: error: variable 'p' may be uninitialized when used here [-Werror,-Wconditional-uninitialized]
        temp = g_string_new_len (*env_p, p - *env_p);
                                         ^

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andrew Borodin c343697407 Minor refactoring of mc shutdown.
Move calls of disable_mouse() and disable_bracketed_paste()
to main() because init_mouse() and enable_bracketed_paste()
are called here.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andrew Borodin 47cee2d241 (make_symlink): trivial refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andrew Borodin 996f23ac5d (make_symlink): apply coding guidelines.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andrew Borodin 3f1cd8d021 (make_symlink): join if statements.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andrew Borodin 4d8e37b9dc Ticket #3641: code cleanup before 4.8.18 release.
(check_hardlinks): use g_try_new0() istead g_new0() because result is
checked.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andrew Borodin 3265531907 Merge branch '3665_netbsd_curses'
* 3665_netbsd_curses:
  Ticket #3665: fix compatibility with netbsd curses.
2016-07-29 09:22:48 +03:00
rofl0r 38d4c655d3 Ticket #3665: fix compatibility with netbsd curses.
The code that manipulates the ncurses backend into changing
the key combination to generate SIGINT from CTRL-c to CTRL-g does
so by accessing undocumented internal ncurses data structures.
This breaks compilation with netbsd-curses[0], and could also break
when the ncurses author decides to change internal structures in a
future release.

Fix it by using a portable approach that works everywhere using libc
primitives instead.

[0] https://github.com/sabotage-linux/netbsd-curses

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:21:02 +03:00
Andrew Borodin 837a21009e Merge branch '3663_panelize_keep_marked'
* 3663_panelize_keep_marked:
  Ticket #3663: panelize: don't reset marks on marked files.
2016-07-16 09:56:51 +03:00
Mooffie d6aa2ff924 Ticket #3663: panelize: don't reset marks on marked files. 2016-07-16 09:50:37 +03:00
Andrew Borodin 6b6d29e03c Merge branch '3660_view_archive'
* 3660_view_archive:
  Ticket #3660: unable to view archive content using F3.
2016-07-09 19:22:49 +03:00
Andrew Borodin 0c73ca195f Ticket #3660: unable to view archive content using F3.
(mc_popen): fix termination of command array.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-09 19:21:15 +03:00
Andrew Borodin aa79525bb8 Merge branch '3661_panel_mouse_click'
* 3661_panel_mouse_click:
  (edit_dialog_command_execute): when switch to another window, do not select it twice.
  Set WOP_TOP_SELECT options for panel widgets: WPanel, WView and WTree.
  Ticket #3661: wrong handling of mouse clicks in long listing mode.
2016-07-09 19:15:01 +03:00
Seray Rosh 0f7d5cfcd1 (edit_dialog_command_execute): when switch to another window, do not select it twice.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-09 19:13:20 +03:00
Andrew Borodin cd90f2f98c Set WOP_TOP_SELECT options for panel widgets: WPanel, WView and WTree.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-09 19:13:20 +03:00
Andrew Borodin 7c74fd90f0 Ticket #3661: wrong handling of mouse clicks in long listing mode.
This occurs if the left panel is in long listing mode and the right
panel is in full listing mode:
When the left panel is active and you click on the right side of the
panel, the click event is directed to the (inactive) right panel instead
of the (active) left panel.

This occurs if the right panel is in long listing mode:
When the left panel is active and you click on the left panel, the click
event is always directed to the (inactive) right panel. It's impossible
to click anything on the left panel, if the right panel is in long
listing mode.

Thanks Seray Rosh <seray.rosh@web.de> for intial patch.

Initial commit: refactoring of widget selection.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-09 19:13:20 +03:00
Andrew Borodin 5848342bb2 Merge branch '3655_output_lines'
* 3655_output_lines:
  (layout_box): don't update dialog view after close.
  Ticket #3655: the "Output lines" option has no effect.
2016-07-04 09:03:35 +03:00
Andrew Borodin 87df81697a (layout_box): don't update dialog view after close.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-04 09:02:53 +03:00
Andrew Borodin cf221f7f5f Ticket #3655: the "Output lines" option has no effect.
This bug was introduced in a8101d8403.

(layout_box): set up the output_lines value after close "Layout" dialog
box.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-04 09:02:53 +03:00
Andrew Borodin 36d00d03da doc/man/ru/mc.1.in: add midding line break. 2016-06-28 10:33:51 +03:00
Andrew Borodin 1f5e93efc9 Merge branch '3642_subshell_optional'
* 3642_subshell_optional:
  Ticket #3642: make --with-subshell=optional working again.
2016-06-28 09:40:54 +03:00
Andrew Borodin 76a4969b00 Ticket #3642: make --with-subshell=optional working again.
The bug was introduced in 83b02196c8.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-28 09:40:27 +03:00
Andrew Borodin 57d713085b Merge branch '3639_subshell_output_lost_fix'
* 3639_subshell_output_lost_fix:
  Do not botch SIGWINCH delivery to the subshell.
  Ticket #3639: fix window resizing when panels are hidden.
2016-06-28 09:34:46 +03:00
Yuri Khan 968882335a Do not botch SIGWINCH delivery to the subshell.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-28 09:34:11 +03:00
Andrew Borodin 52871230a2 Ticket #3639: fix window resizing when panels are hidden.
This reverts commit f278eaec99.
2016-06-28 09:34:11 +03:00
Andrew Borodin cb06f8c585 (help_interactive_display): fix arguments of dlg_create() call.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-18 10:21:42 +03:00
Andrew Borodin 61c379b964 Merge branch '3632_widget_flags'
* 3632_widget_flags:
  Reorganize WDialog flags.
  (dlg_set_position): minor refactoring.
  Rename DLG_WANT_TAB to WOP_WANT_TAB and move it to widget_options_t.
  By default, WOP_WANT_HOTKEY option is off.
  If widget wants cursor, define that explicitly.
  Add WST_MODAL state.
  WOP_TOP_SELECT: new widget option
  Join widget_state_t and dlg_state_t.
  Move WOP_WANT_IDLE option to widget_state_t flags
  Move WOP_DISABLED option to widget_state_t flags
  widget_state_t: new type.
  (widget_get_options): new widget API.
  Change prefix of widget options: W_ -> WOP_.
  Ticket #3632: refactoring of widget flags.
2016-06-10 14:20:30 +03:00
Andrew Borodin b4af91dfc0 Reorganize WDialog flags.
* DLG_FULLSCREEN: move and rename to WPOS_FULLSCREEN.
 * DLG_CENTER: move and rename to WPOS_CENTER.
 * DLG_TRYUP: move and rename to WPOS_TRYUP.
 * WDialog::fullscreen: remove, use WPOS_FULLSCREEN instead.
 * WDialog::compact: new field. Use instead of DLG_COMPACT.
 * WDialog:🎏 remove.
 * dlg_flags_t: remove.
 * dlg_create: add new agruments: pos_flags, compact. Remove
argument: flags.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:41:00 +03:00
Andrew Borodin 0933b08964 (dlg_set_position): minor refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin 163d9cd94a Rename DLG_WANT_TAB to WOP_WANT_TAB and move it to widget_options_t.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin 2dab74fddd By default, WOP_WANT_HOTKEY option is off.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin d44220c75f If widget wants cursor, define that explicitly.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin db0d01b9d6 Add WST_MODAL state.
* WDialog::modal: remove. Use WST_MODAL instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin fd4e56bf39 WOP_TOP_SELECT: new widget option
...to place widget on top of other widgets in dialog.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin 4b72fb5f5e Join widget_state_t and dlg_state_t.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin 0a2877edef Move WOP_WANT_IDLE option to widget_state_t flags
...and rename to WST_IDLE.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin b337287336 Move WOP_DISABLED option to widget_state_t flags
...and rename to WST_DISABLED.

  * Widget::state: new field.
  * (widget_set_state): new function.
  * (widget_set_options): symplify.
  * (input_set_options): remove.
  * MSG_ENABLE, MSG_DISABLE: new messages.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin a9fcd6c4c6 widget_state_t: new type.
(widget_get_state): new widget API.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin f5a1dfcef4 (widget_get_options): new widget API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin 4a0cd948df Change prefix of widget options: W_ -> WOP_.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00