Commit Graph

6176 Commits

Author SHA1 Message Date
Andrew Borodin
2e8846163b src/filemanager/chattr.c: get rid of global variable current_panel usage.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-31 16:26:46 +03:00
Andrew Borodin
0c00ead1b0 src/filemanager/chown.c: get rid of global variable current_panel usage.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-31 16:26:46 +03:00
Andrew Borodin
54642d315f src/filemanager/chmod.c: get rid of global variable current_panel usage.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-31 16:26:46 +03:00
Andrew Borodin
e801b62d73 src/filemanager/achown.c: get rid of global variable current_panel usage.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-31 16:26:46 +03:00
Andrew Borodin
41a35b9b8a Rename files:
src/filemanager/midnight.[ch] -> src/filemanager/filemanager.[ch].

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-31 16:26:46 +03:00
Andrew Borodin
1869dffd14 Ticket #4103: code cleanup before 4.8.26 release.
Initial step: rename keymap sections:
  main -> filemanager
  main:xmap -> filemanager:xmap

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-31 16:26:46 +03:00
Andrew Borodin
861f89e4eb Ticket #4155: preserve 0000 permissions on copy/move.
(copy_file_file): remove hack for Windows NT ftp server.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-23 15:33:44 +03:00
Andrij Abyzov
27de03754f Ticket #3987: implement a workaround if readdir() system call returns with EINTR.
On Linux >= 5.1, MC sometimes shows empty directpries on mounted CIFS
shares. Rereading directory restores the directory content.

(local_opendir): reopen directory, if first readdir() returns NULL and
errno == EINTR.

Signed-off-by: Andrij Abyzov <aabyzov@slb.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-13 20:12:14 +03:00
Andrew Borodin
78893d85b8 Drop mc_timer. Use g_get_real_time() instead.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-12 20:39:01 +03:00
Andrew Borodin
4a83daacc4 Ticket #4147: VFS timestamps: use g_get_real_time().
In the function vfs_expire(), curr_time and exp_time are declared
guint64. curr_time is initialised with a timestamp and exp_time
with this timestamp minus vfs_timeout seconds. Later there is if
(stamping->time <= exp_time). Prior to commit
a94dd7d2de curr_time was initialised with
a value larger than vfs_timeout seconds, so everything was fine. This
commit changed the initialisation to a timer starting when mc is
started. So for the first vfs_timeout seconds, the result of the
subtraction is negative, but it is a guint64, so we just get a VERY
large unsigned value and the if (stamping->time <= exp_time) is always
true. So mc thinks the vfs hasn't been used recently and goes into an
infinite loop.

If one opens a .rpm file with mc and goes into the CONTENTS.cpio and
then tries to go into the .tar.gz there (this is the usual structure of
a .rpm) after waiting vfs_timeout seconds, everything is fine. However,
before vfs_timeout seconds, mc hangs.

Solution: use g_get_real_time() instead of mc_timer_elapsed().

Thanks nvwarr at hotmail.com for finding out the reason for this bug.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-12 20:39:01 +03:00
Andrew Borodin
9ed9f45eac WTree: get rid of file name limitation in quick search.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-12 20:23:05 +03:00
Andrew Borodin
4eb1fcd6b7 WPanel: get rid of file name limitation in quick search.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-12 20:23:05 +03:00
Andrew Borodin
0acac06158 (string_file_name): get rid of file name length limitation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-12 20:23:05 +03:00
Andrew Borodin
4c7223e9f2 Ticket #4145: file names longer than 255 bytes are not supported.
Avoid limitation of file name length.

(vfs_dirent): redefined to use instead of standard "struct direct"
to hold file name of any length.
(vfs_class::readdir): return newly allocated vfs_dirent structure.
Related changes.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-12 20:23:05 +03:00
Andrew Borodin
5b44805abf Ticket #4133: allow running clipboard commands if DISPLAY is not set.
This can be used for running a clipboard script (from a virtual terminal)
that autodetects (or requests from sytemctl) the proper values of DISPLAY
and XAUTHORITY without the need of exporting these variables to the whole
virtual terminal session.

(clipboard_file_to_ext_clip): don't test DISPLAY environment variable.
(clipboard_file_from_ext_clip): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-11-21 14:51:34 +03:00
Andrew Borodin
03b9af4e5d Revert "urar extfs: don't start path with ./ in file list."
This reverts commit 6dc337ff90.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-11-21 14:48:06 +03:00
Andrew Borodin
b814b3dd02 extfs/uzip: add leading ./ to file name
...to handle files with name started with space or dash.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-11-21 14:48:06 +03:00
Andrew Borodin
d3c8e5bad7 Ticket #4077: extfs: handle file names started with dash or space.
* (extfs_open_archive): skip leading ./ in file names. extfs plug-ins
  are added leading ./ to handle files with name started with space.
  * (extfs_cmd): skip leading ./ added in name_quote(). ./ is added to
  handle files with name started with dash.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-11-21 14:48:06 +03:00
Ilia Maslakov
954e83191c Ticket #4130: add PAK archive support for extfs.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-11-08 17:36:36 +03:00
Vadim Kalinnikov
942c5549c9 Ticket #4100: extfs vfs: support of WIM archive (image).
wimtools (https://wimlib.net/) are required.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-29 16:58:36 +03:00
Andrew Borodin
5bf714b008 Ticket #4131: use G_UNICODE_SPACING_MARK instead of G_UNICODE_COMBINING_MARK.
G_UNICODE_COMBINING_MARK is deperecated in glib >= 30.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-15 15:16:24 +03:00
Andrew Borodin
22adc618b2 src/subshell/common.c: clarify author list.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:37:46 +03:00
Andrew Borodin
7a641c0df2 iso9660.in: use grep directly.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:37:46 +03:00
Andrew Borodin
08e1a6ba9e src/filemanager/chattr.c: support dax attribute.
Sync with e2fsprogs 1dd48bc23c3776df76459aff0c7723fff850ea45.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:37:46 +03:00
Andrew Borodin
5dce2402b0 src/filemanager/find.c: use g_get_real_time() instead of gettimeofday().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin
63aba8f7e2 (do_view_cmd): rename parameter.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin
69e0283794 (view_file): rename parameter in function declaration.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin
f5e7a9d287 (show_editor_viewer_history): fix call of view_file().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin
94fb03c604 Remove one-line header files.
Move declaration of {advanced_chown,chattr,chmod,chown}_cmd() into cmd.h.
Delete src/filemanager/{achown,chattr,chmod,chown}.h

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin
c5c561274b Remove Cray support.
Sync with gnulib dea936112710e82dd42ffbea510f3bb644acdaaa.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin
375839d657 Optimize comparisions in file sort functions.
Use three-valued comparison macro from gnulib
efa15594e17fc20827dba66414fb391e99905394.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin
377476765a src/filemanager/boxes.c: rename variables.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin
402f5d0791 WPanel: reorder fields.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin
94b7c635a3 WPanel: rename "panel_name" fileld to "name".
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin
8550eee2f6 WPanel: change type of "active" and "dirty" fields to gboolean.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin
da223237c8 WPanel: use structure for quick search fields.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin
968d24a38c WPanel: use structure for directory history fields.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin
2dc692c76b Create command_names using macro.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:47 +03:00
Andrew Borodin
0776f2a49c Fix typos.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:31:22 +03:00
Oswald Buddenhagen
8857423e4e Ticket #4128: improve handling of compressed content in mc.ext.
call 'file' with -z switch to enable getting the type of compressed files,
and use that capability extensively.

the /logs?/ hacks in ext.d/text.sh need to remain for the time being, as
file -z doesn't handle .lz4 files as encapsulated content.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:36:09 +03:00
Oswald Buddenhagen
436296f517 Disable subshell cursor position translation for bash v5+.
the changelog clearly states that the position is now returned as a
character offset.

amends ff0fc17a.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Oswald Buddenhagen
b680f8198d Optimize bash cursor position translation.
the previous algorithm was O(n^2).

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Oswald Buddenhagen
563632819d Make query of subshell command buffer leading-dash-safe.
when the command buffer started with a valid option to the "echo"
command, weird things would happen. use "printf" instead, which doesn't
have this problem. this affected only the bash and zsh code paths.

amends ff0fc17a.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Oswald Buddenhagen
77c910a818 Prevent word-splitting of the subshell command buffer.
this avoids inadvertent whitespace normalization (compression and
trimming), which is annoying and additionally invalidates the cursor
position.

for bash and zsh that meant quoting the variable expansion, while for
fish it meant removing the pointless indirection through echo.
for bash we had to introduce an indirection through a function, as there
is apparently no way to get the quoting right inside the binding. zsh
already had such an indirection - maybe for the same reason?

amends ff0fc17a.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Oswald Buddenhagen
86397c87c6 Fixup FISH subshell setup.
move binding commands out of the fish_prompt function definition, use
consistent command separators, and remove excess backslashes from the
bindings.

amends ff0fc17a.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Oswald Buddenhagen
6b7c4f7c14 Do not avoid big stack allocations.
these are cheap and unproblematic (we aren't in the kernel here).

amends ff0fc17a.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Oswald Buddenhagen
0c1cb8f9a8 Ticket #4126: fixups to persistent subshell command line buffer support.
fix some comments

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Andrew Borodin
2f611780d3 Ticket #4124: standalone mcedit crashes at startup.
Subshell: don't setup command line promt if MC is run as standalone
editor/viewer/diffviewer.

Fix ff0fc17ae3.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-09 14:54:37 +03:00
Eric Roberts
631483ec52 Ticket #4120: tcsh error: "The Commander can't change to the directory".
How to reproduce:

Use tsch as your shell.
ctrl-o
ctrl-c
ctrl-o

mc gives the error:
The Commander can't change to the directory that the subshell claims you
are in. Perhaps you have deleted your working directory, or given
yourself extra permissions with the "su" command?

This commit is really simple workaround that makes the problem go away.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-04 18:51:31 +03:00
Eric Roberts
ff0fc17ae3 Ticket #4114: implement persistent command line buffer for subshell.
This commi allows the user to start typing a command in the MC's command
line, and then continue typing it in the subshell, or to start typing a
command in the subshell, and then finish typing it in the MC's command
line.

It also fixes #2269 and #2110, bugs in which mc can unexpectedly execute
commands without the user's permission.

The new feature works with bash4, zsh, and fish. The bugfix works on all
shells.

How to test the feature:
  Run mc
  Type any command in the command line, but don't hit enter.
  Press Ctrl-O.
  The command you typed will show up in the subshell.
  Type any command in the subshell, but don't hit enter.
  Press Ctrl-O.
  The command you typed will show up in the command line.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-09-27 19:46:12 +03:00
Andrew Borodin
e1c892a49f Ticket #4107: bind ctrl-i to the ChangePanel action.
After ef5f1fa3eb ctrl-i stopped working
on some terminals including native Linux console.

To fix this, add default binging ctrl-i shortcut to ChangePanel action.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-08-15 11:45:46 +03:00
Andrew Borodin
dd25f91dfd Refactoring of directory size caclulation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-08-05 10:43:29 +03:00
Andrew Borodin
5c89d3c2b7 Ticket #4101: wrong copy ETA displaing if "Follow links" is set.
* (do_compute_dir_size): fix directory size calculation.
  Use mc_lstat() if "Follow links" option is set, mc_stat() otherwise.
  * (single_dirsize_cmd): fix compute_dir_size() call.
  * (dirsize_cmd): likewise.
  * (panel_compute_totals): process symlink to directory as directory if
  follow_symlink is set.
  * (panel_operate_init_totals): process symlink to directory as
  directory if "Follow links" option is set.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-08-05 10:43:29 +03:00
Andrew Borodin
8b4386df83 Ticket #4120: draw shadows for dialog boxes and menus.
Thanks Aleš Janda <ales.janda@kyblsoft.cz> for the original patch.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-08-02 16:13:26 +03:00
Andrew Borodin
8e8b91310a Ticket #4104: chattr: mouse clicks on checkboxes have no effect.
(chattrboxes_mouse_callback): mouse events other than scroll ones are
unhandled.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-07-31 20:52:30 +03:00
Koji Builder
99061cc22d Ticket #4091: RPM VFS improvements.
Support weak dependency tags:

ENHANCES, SUGGESTS, RECOMMENDS, SUPPLEMENTS

See https://rpm.org/user_doc/dependencies.html#weak-dependencies
for detais.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-06-21 20:08:19 +03:00
Andrew Borodin
f5d667197b Ticket #4085: mcedit: regex replace: assertion 'string != NULL' failed.
(edit_replace_cmd): don't delete a NULL string.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:49:05 +03:00
Andrew Borodin
0d585eb08d (file_progress_show_total): use hline_set_textv().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
d35f0c68dc Refactoring: use label_set_textv() where reasonable.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
562889ce1e Rename macro MC_SKINS_SUBDIR to MC_SKINS_DIR.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
81b1f47e01 Rename macros with editor-related file locations.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
3c38214458 (edit_close_cmd): refactor to reduce number of type castings.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
d786d88299 Find file refactoring:
* (find_cmd): remove.
  * (find_file): rename to find_cmd() and move declaration to cmd.h.
  * find.h: remove.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
c9e2a4400e Input complete: refactoring.
* (complete): rename to input_complete() and move declaration to
  input.h.
  * input_complete.h: remove.
  * (input_free_completions): rename to input_complete_free() and move
  definition to input_complete.c.
  * lib/widget/input_complete.c: rename variables and function from
  query_* to complete_*.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
d12caa65d0 (dview_handle_key): refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
d68c5c7e13 (help_handle_key): refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
ec0c7cd848 (tree_key): fix key handling.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andreas Mohr
fbabe632a0 (user_group_button_cb): fix variable initialization.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
b0abfc8700 chmod: constify function arguments.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
4314c04ede chmod: show mark of selected mode bits after dialog recreate.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
ab73f041a1 chmod_init: clear check_perm[].selected before use.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
baaef44dde src/filemanager/chmod.c: rename functions:
chmod_init -> chmod_dlg_create
chmod_i18n -> chmod_init

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
a00b7a672b src/filemanager/chown.c: rename functions:
chown_init -> chown_dlg_create
chown_i18n -> chown_init

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:19 +03:00
Andrew Borodin
ff1a52c229 src/filemanager/achown.c: rename functions:
advanced_chown_init -> advanced_chown_dlg_create
advanced_chown_i18n -> advanced_chown_init

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:18 +03:00
Andrew Borodin
8e51f583dc man2hlp: limited support of \fR, \fB, \fI, and \fP troff commands. 2020-05-17 18:48:18 +03:00
Andrew Borodin
cf1d4d80be src/editor/editcmd.c: minor refactoring and fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:18 +03:00
Andrew Borodin
7652b0f3cb (edit_draw_this_line): rename variable because it shadows previous one.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:18 +03:00
Andrew Borodin
2ba413333b src/setup.c: use macros in keymap load/set/free functions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:18 +03:00
Andrew Borodin
946e8d4888 Ticket #212: implement keybindings for radiobuttons.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:18 +03:00
Andrew Borodin
6fbf3d2ecd (toggle_subshell): clarify message.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:18 +03:00
Andrew Borodin
9581c263b2 VFS: use mc_timer for timestamps.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:18 +03:00
Andrew Borodin
7a58b5e498 Ticket #4050: code cleanup before 4.8.25 release.
mcedit: unify messages.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:48:18 +03:00
Andrew Borodin
b36b9459d5 Ticket #4081: speed of file copy is not dispalyed for single file.
(panel_operate_init_totals): set ctx->progress_totals_computed to TRUE
in case of copy/move operation for single file.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-17 18:42:13 +03:00
Elijah Zarezky
17a5ac322d src/filemanager/chattr.c: add missing comma.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-11 10:31:25 +03:00
Andrew Borodin
e14d44c839 Ticket #3847: chattr command implementattion.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-05-05 19:06:18 +03:00
Andrew Borodin
bcdd81c628 WGroup: support colors.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:17:32 +03:00
Andrew Borodin
2e734e5618 Make keybind map a member of Widget.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:17:32 +03:00
Andrew Borodin
c2aadb2ad5 WGroup: support mouse events.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:17:32 +03:00
Andrew Borodin
4b3b49faad (widget_draw): support groups.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:17:32 +03:00
Andrew Borodin
540c3813ab Show console content only in midnight_callback (MSG_DRAW).
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:17:32 +03:00
Andrew Borodin
d1f9e698ac WDialog: use WBackground in frameless dialogs (screens).
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:17:32 +03:00
Andrew Borodin
ed9199e94e Create WFrame widget.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:17:02 +03:00
Andrew Borodin
04f04ba130 Send new widget size as parameter of MSG_RESIZE message.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:15:37 +03:00
Andrew Borodin
7329f53da5 WEdit: use WRect to save previous location.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:15:37 +03:00
Andrew Borodin
045816ed13 (dlg_set_position): use WRect.
(widget_set_size_rect): new API.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:15:37 +03:00
Andrew Borodin
6acd8475dd Update cursor API: support groups.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:13:35 +03:00
Andrew Borodin
95b4a86d44 (dlg_get_current_widget_id): rename to group_get_current_widget_id.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:13:35 +03:00
Andrew Borodin
e9d23e90f0 Find widget API: support groups.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:13:33 +03:00
Andrew Borodin
fdf3d9c3b7 WGroup: implement init & destroy.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:12:45 +03:00
Andrew Borodin
b9cf650605 Move send broadcast message API from WDialog to WGroup.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:11:55 +03:00
Andrew Borodin
74c510f4fb Widget and WGroup API changes:
* (widget_destroy): new API to destroy widget.
  * (group_del_widget): rename to group_remove_widget. Don't destroy
  widget after remove it from group.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:11:55 +03:00
Andrew Borodin
22ad70ed02 Move widget add/del API from WDialog to WGroup.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:11:55 +03:00
Andrew Borodin
6eedbce076 Move widget selection API from WDialog to WGroup.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:11:39 +03:00
Andrew Borodin
e4e0070db5 Ticket #2919: implement WGroup widget.
WGroup is the base widget for complex objects such as windows, dialog
windows, etc.

Initial steps:
  * move widget list of dialog into WGroup class;
  * inherit WGroup from Widget;
  * inherit WDialog from WGroup.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-03-08 20:09:12 +03:00
Andrew Borodin
1ec7a2b768 src/editor/editdraw.c: refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:18 +03:00
Andrew Borodin
95ed249f6c src/editor/editdraw.c: fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:18 +03:00
Andrew Borodin
f30b0d35d5 Skins: unify panel-related item names.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
dcd3a7e39e Skins: move items from [widget-common] section to [widget-panel] one.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
9d89f2f20d src/filemanager/dir.c: fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
bb93a78336 Sync with gnulib 4d4a22ab1f719b7c6c3fe3dbf45d11baafd3c563.
src/filmanager/mountlist.c: consider smb3 file systems as remote.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
fc818e43ab Sync with gnulib 7a15069b68a376f26c5dca34ae2689c5bf8adc99.
src/filemanager/mountlist.c: consider AFS filesystems as remote.

Treat mounts of type 'afs' (OpenAFS, kernel kafs) and 'auristorfs'
(AuriStorFS) as remote.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
4423421014 Ticket #4068: fix preprocessor tests.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
f25135b74b src/textconf.c: use puts() to print simple strings.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
81fc8e7016 (show_version): show library versions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
acdf388291 src/filemanager/panel.c: fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
ab248ecaad Visualize changes in "Layout" dialog box immediately.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
03c54082a6 src/filemanager/layout.c: rename variable.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
bedc7e5c12 src/filemanager/layout.c: fix variable type.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
03af8ba4c1 (load_setup_get_keymap_profile_config): use MC_PTR_FREE macro.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
299b94884e (free_keymap_defs): fix memory leak: free menu keymap.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
31b37a1f79 Ticket #4050: code cleanup before 4.8.25 release.
Update copyright years.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-29 19:10:17 +03:00
Andrew Borodin
c867b9d40e Ticket #5056: avoid subshell warning for mcedit run from mc.
Don't show message "GNU Midnight Commander is already running on this
terminal. Subshell support will be disabled." if standalone
mcedit/mcview/mcdiffview is run from mc. Show this message only in case
of mc run from another mc, as was before commit
41abcbf706 (ticket #3380).

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-08 19:26:49 +03:00
Andrew Borodin
21d993facd Ticket #3722: file manager: clarify double click behaviour.
Don't execute (or enter to) last file on double click on empty area.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-02-02 19:17:49 +03:00
Andrew Borodin
988fb262ae (extfs_read_archive): simplify conditions.
(a || !b) && b == (a && b) || (!b && b) == (a && b) || 0 == a && b

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-01-25 10:43:12 +03:00
Andrew Borodin
298d0bc129 (extfs_read_archive): remove extra type cast.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-01-25 10:38:11 +03:00
Andrew Borodin
ac8d22fa24 (extfs_find_entry_int): fix stale symlinks.
Partially revert e1a1990055.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-01-25 10:35:06 +03:00
Andrew Borodin
3c3cb733c9 Ticket #4055: broken browsing of .deb packages.
src/vfs/extfs/helpers/deb.in: remove leading ./ from paths.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-01-25 09:20:22 +03:00
lijah Zarezky
9ede2fa80b (load_layout): fix load of boolean options.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-12-21 15:25:33 +03:00
Andrew Borodin
d8a7a87747 Refactor of how_console_contents() calls.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-12-15 13:02:31 +03:00
Andrew Borodin
b108728e8a Drop legacy options.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-12-15 13:02:31 +03:00
Andrew Borodin
b2141c0ff0 Ticket #4039: split integer and boolean layout options.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-12-15 13:02:31 +03:00
Andrew Borodin
a3fa3ba54c Ticket #4038: remove unused hotlist option expanded_view_of_groups.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-12-15 13:02:31 +03:00
Andrew Borodin
57c303eeaf Use g_clear_slist() and g_clear_list().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-12-15 12:53:20 +03:00
Andrew Borodin
fb1b66be87 (overwrite_query_dialog): fix comment.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-12-15 12:53:20 +03:00
Andrew Borodin
65e12d1a9f (dlg_redraw): rename to dlg_draw.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-12-15 12:53:20 +03:00
Andrew Borodin
60fe701b76 (widget_redraw): rename to widget_draw.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-12-15 12:53:20 +03:00
Andrew Borodin
35f14be028 (widget_move): rename to widget_gotoyx.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-12-15 12:53:20 +03:00
Andrew Borodin
baca4ba045 Widget and WDialog API changes:
* (widget_destroy): new API to destroy widget.
  * (del_widget): don't destroy widget after remove it from dialog.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-12-15 12:53:20 +03:00
Andrew Borodin
093571938a Ticket #4035: fix compile failure on OS X 10.9.
Fix duplication of menu_map definition.

Move menu_map definition to lib/widget/menu.c.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-11-23 17:41:58 +03:00
Andrew Borodin
92eaf22ed7 Ticket #4027: (do_move_dir_dir): totals aren't computed before move of a single directory.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-11-19 21:09:18 +03:00
Andrew Borodin
68d9961977 Ticket #4022: fix compile failure on AIX 7.2.
Rename MC VFS flags to avoid name conflicts with system-wide VFS flags
on some OSes (such as AIX).

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-11-18 21:27:56 +03:00
Joshua Watt
d009ea7b8b Ticket #4031: add option to control configure args.
Embedding the configure time options into the executable can lead to
non-reproducible builds, since configure options often have embedded
paths. Add a configure time option to control if the configure args are
embedded so this can be disabled.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-11-10 16:24:22 +03:00
Andrew Borodin
41abcbf706 Ticket #3380: enable subshell in standalone mceditor, mcviewer, and mcdiffviewer.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-10-02 17:14:42 +03:00
Andrew Borodin
0dacce4228 Do not include <sys/select> globally via "lib/global.h".
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-29 15:11:53 +03:00
Andrew Borodin
a2d32c22bb (display_bits_box): use tty_display_8bit().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-29 15:11:53 +03:00
Andrew Borodin
3daff7838f (panel_options_box): don't apply integer value to boolean variable.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-29 15:11:53 +03:00
Andrew Borodin
a0c77a5ccf (edit_files): fix shadow of variable declaration.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-29 15:11:53 +03:00
Andrew Borodin
6190f37f53 mcviewer: clarify of HAVE_CHARSET usage.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-29 15:11:53 +03:00
Andrew Borodin
7baaca3fe1 (setup_panels): fix origin and size of panels.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-29 15:11:53 +03:00
Andrew Borodin
12a6af8f29 (ftpfs_dir_load): minor refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-29 15:11:53 +03:00
Andrew Borodin
7ce3ca0991 Make VFS faster a bit.
Each VSF entry is added to VFS using vfs_s_insert_entry() via
g_list_append(). For long lists, a lot of walking through entire list
is performed. To get rid that, change type of vfs_s_inode::subdir from
GList to GQueue.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-29 15:11:53 +03:00
Andrew Borodin
6dc337ff90 urar extfs: don't start path with ./ in file list.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-29 15:11:53 +03:00
Andrew Borodin
48ec7c3d8a Ticket #3997: code clean up before 4.8.24 release.
(subshell_handle_cons_saver): don't call waitpid() twice.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-29 15:11:53 +03:00
Andrew Borodin
3c4fe21108 Ticket #4019: fix SIGWINCH handling,
Fix regression introduced in 37ffc02422.

(tty_got_winch): don't read FIFO, just check whether it os empty or not.
It can be called many times without lost of info about SIGWINCH raises.
(tty_flush_winch): read from FIFO to make it empty.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-29 11:21:14 +03:00
Andrew Borodin
95432ec457 Ticket #3859: rotating dash generates way too much output.
(rotate_dash): draw rotating dash with maximum rate of 10 FPS.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-22 13:04:53 +03:00
Andrew Borodin
dc46dc0009 Ticket #3936: update uc1541 extfs
...from https://github.com/gryf/uc1541.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-21 19:54:54 +03:00
blubbkm
7b187676c4 Ticket #4016: (panel_mouse_callback): prevent run/open files with double right click.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-15 11:04:07 +03:00
Enrico Weigelt, metux IT consult
d2f86e698e Fix .gitignore
autogen.sh generates a bunch of files aren't .gitignore'd yet.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 20:13:27 +03:00
Andrew Borodin
ef085af3ac (dir_list_reload): refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
ef2931272b (dir_list_load): get rid of goto.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
564351e1e5 Refactoring of directory read visualization.
Use dir_list callback to show rotaing dash.

Now src/filenamager/dir.c does not depend on the Widget subsystem.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
284c3de727 Add dir_list callback to visualize of directory reading.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
8c5737f558 (dir_list_load): show error message outside of this function.
(dir_list_reload): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
fcc8639169 (handle_path): change parameters type from int* to gboolean*.
(do_find): change variable type and reduce scope.
(do_external_panelize): change variable type.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
ea0fcc0fb8 (handle_dirent): change parameters type from int* to gboolean*.
(dir_list_load): change variable type and reduce scope.
(dir_list_reload): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
3b39cee81f src/filemanager/layout.c: fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
07d2f11712 (save_panel_dir): minor refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
97bc63d7ac File manager: refactoring of MSG_RESIZE handling.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
6e4ea30fc3 diffviewer: refactoring of MSG_RESIZE handling.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
2ddd6b41a0 mcviewer: refactoring of MSG_RESIZE handling.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
5ca0dbab01 mcedit: refactoring of MSG_RESIZE handling.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
f6c4ae2f31 (setup_panels): refactoring: optimization
..,and change order of widget origin/size calculation.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
2b55c54efc Menubar is always on top line of screen.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
35d2590893 (create_file_manager): clarufy value of hint transparency. 2019-09-01 19:41:12 +03:00
Andrew Borodin
247af01a8e (toggle_panels): join with view_other_cmd and rename to toggle_subshell.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
02f49a8f6d src/subshell/proxyfunc.c: fix up includes.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
29110e5681 Move history operation routines from lib/widget/history.c to lib/mcconfig/history.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
500e49b50a (fish_set_env): remove uneeded function call.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00
Andrew Borodin
596a6edc56 src/filemanager/cmd.c: fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:06 +03:00
Andrew Borodin
d76cf51d54 src/filemanager/boxes.[ch]: unify some function names. 2019-09-01 19:34:45 +03:00
Andrew Borodin
d615e4b9b7 src/filemanager/find.c: test verbose flag before call of find_rotate_dash().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:34:45 +03:00
Andrew Borodin
40f82f2732 src/filemanager/find.c: fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:34:45 +03:00
Andrew Borodin
37ffc02422 Ticket #117: refactoring of SIGWINCH hangling.
Use pipe to collect consecutive raised SIGWINCH events.
Then handle multiple events at a time treating them
as a single one.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:22:21 +03:00
Andrew Borodin
f52a6549d4 Ticket #4006: remove Enter from Down menu key binding.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-08-23 12:44:06 +03:00
Andrew Borodin
ade0e70eb4 Remove archives from temporary directory after VFS timeout or at mc exit.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-08-10 10:04:04 +03:00
Andrew Borodin
e1a1990055 Remove check of "." and ".." directories.
Output of "list" command must not contain them.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-08-10 10:02:08 +03:00
Andrew Borodin
85bf9bec23 Ticket #4000: extfs: nested archives are not removed...
...from temporary directory.

Initial step: don't insert "." and ".." to file/directory tree while
reading archive.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-08-10 10:02:08 +03:00
Andrew Borodin
fede9fb4f9 Editor and viewer history: support CK_Delete,
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-08-10 09:45:27 +03:00
Andrew Borodin
c4668b56f7 history: refactoring.
Prepare to support CK_Delete in editor and viewer history.
The filepos file contains file positions and bookmarks. We must keep
them.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-08-10 09:45:27 +03:00
Andrew Borodin
2ed7abc3fe mceditor: support file history.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-08-10 09:45:27 +03:00
Andrew Borodin
f0c9e50f80 mcviewer: support file history. 2019-08-10 09:45:27 +03:00
Andrew Borodin
a4e36d079d WListbox: add Edit, View and Enter keynindings.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-08-10 09:45:27 +03:00
Andrew Borodin
00f1229af3 Refactoring of show file history in the file manager. 2019-08-10 09:45:27 +03:00
Ilia Maslakov
87428aa8ea added new keybindings (F3, F4) in history list.
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2019-08-10 09:45:27 +03:00
Ilia Maslakov
3e7b2c49dc Ticket #2733 (a simple list of recently edited files)
Based on patch by Filip Sefrna <fsefrna@gmail.com>
    added action 'EditorHistory' for call history dialog.

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2019-08-10 09:45:27 +03:00
Adam Majer
dc830db839 Ticket #3921: enable keyboard interactive authentication.
If SSH server does not support cleartext tunneled password
authentication and only 'keyboard interactive' authentication
instead, then we need to use different authentication
function along with a interactive callback.

Signed-off-by: Adam Majer <amajer@suse.de>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-08-10 09:35:45 +03:00
Andrew Borodin
c1b6d29b95 iso9660: report errors in copyout in case of isoinfo usage.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-07-20 19:09:38 +03:00
Andrew Borodin
afdc9719f3 Ticket #3933: report iso9660 listing errors.
Variation 1:

Steps to reproduce:

    * create empty .iso file (touch foo.iso)
    * run 'mc' and press enter on empty .iso

Expected result: some error about invalid file format (sililar to what
F3 view would yield).
Actual result: mc elters a file as if it would be empty valid file.

Variation 2:
Steps to reproduce:

    * pick valid .iso file
    * deinstall all helper tools that handle .sio (isoinfo, xorriso, etc.)
    * run 'mc' and press enter on empty .iso

Expected result: some error about invalid file format (sililar to what
F3 view would yield)
Actual result: mc enters a file as if it would be empty valid file

Variation 2 is especially confusing for users as it does not hint them
that they should install a tool to get it working. They just observe
silently broken behaviour.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-07-20 19:09:38 +03:00
Andrew Borodin
2120010cf9 Ticket #3996: fix of broken dynamic paragraph formatting.
Revert "Ticket #1666: fix paragraph formatting."
This reverts commit ccb7ab341e.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-07-20 19:02:45 +03:00
Andrew Borodin
92146f1033 smbfs: fix type of DEBUG macro arguments.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-17 10:39:53 +03:00
Andrew Borodin
c47f0c4bba smbfs: fix pointer comparision.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-17 10:39:49 +03:00
Andrew Borodin
58d601c54b (sfs_open): rename variable
...to fix the warning:

sfs.c:281:10: warning: declaration of 'sfs_info' shadows a global declaration [-Wshadow]

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-17 08:17:17 +03:00
Andrew Borodin
cc9b87e9cd src/vfs/extfs/helpers/Makefile.am: clarify condition.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
7cf275db73 VFS: move src/vfs/extfs/helpers/sfs.ini to src/vfs/sfs.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
d4819e1fb6 src/vfs/sfs/sfs.c: refactor flags and options.
Use enum for SFS flags. Use array of structures for SFS info.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
f2203868c1 (sfs_init): refactor loop.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
db342d69ac (sfs_vfmake): use gboolean instead of int for boolean variable was_percent.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
286e10679e src/vfs/sfs/sfs.c: fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
c1b604fa16 src/vfs/local/local.c: fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
45bd20ab0b VFS: move logfile member from vfs_s_subclass to vfs_class.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
94c0b79f37 VFS: change vfs_class::nothingisopen members
Do not free VFS before nested one.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
5b0f177e62 vfs_class::nothingisopen: return gboolean instead of int.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
01a1a01d4e Rename VFS module initialization functions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
7548679271 VFS: invalidate file descriptors after close.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
7d80e8a175 Always use vfs_s_subclass as base class for VFS modules.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
70eba8c2d9 Ticket #3955: code cleanup before 4.8.23 release.
(update_one_panel_widget): clarify call of mc_setctl().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Ilia Maslakov
f5f78ea658 Ticket #212: implement keybinding for menu.
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-09 12:06:10 +03:00
Andrew Borodin
936ba9618d Ticket #3990: (real_do_file_error): fix number of buttons in the dialog window.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-05-29 09:28:42 +03:00
Andrew Borodin
7ddd4e9bb4 Ticket #3452: mcviewer: implement temporary change of search direction.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 20:47:51 +03:00
Andrew Borodin
2c44ec24c9 (mcview_execute_cmd): regroup actions. 2019-04-27 19:31:20 +03:00
Andrew Borodin
94eff3e2fd (setup_mc): clarify call of add_select_channel().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
870c1db722 src/editor/edit.c: cleanup unused include.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
987b4e3234 (ftpfs_get_proxy_host_and_port): ret rid of host name duplcation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
a16db591e3 (ftpfs_open_socket): fix memory leak in case of proxy usage
...and remove pointless check.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
f19a10c657 src/vfs/ftpfs/ftpfs.c: fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
6bbb2d9ded src/vfs/ftpfs/ftpfs.c: use gboolean instead of int where reasonable.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
e6fc6c81fa (tar_read_header): refactor loop. Get rid of goto.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
745c3536fe tar.c: move header decoding to separate function.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
075ad1e047 tar.c: lots of renaming to be close with the GNU tar source code.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
8e6bd77b6e extfs: change some function arguments.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
0c66d9cef6 extfs: refactoring: use standard VFS structures.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
58d2f1be35 extfs: refactoring of open and read archive.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
445b427d37 (extfs_find_entry_int): minor optimization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
533cbbd971 VFS: make vfs_file_handler related macros more readable.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
6d21416672 VFS: derive VFS-specific file handler class from vfs_file_handler_t.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
86401f30dc VFS: make vfs_super related macros more readable.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
3e08cc7226 VFS: derive VFS-specific super class from vfs_s_super.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
d51f1f4963 VFS: refactor VFS unit initialization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
672ba46c8b VFS: make vfs_class and vfs_s_subclass related macros more readable.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
0fbd98fece Join vfs_class_flags_t and vfs_subclass_flags_t.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
c764d60238 VFS: (vfs_s_subclass): derive from vfs_class.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
28926c5760 (find_parm_callback): get rid of extra type casting.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
8235df18af (stop_dialogs): remove extra check.
Continue 433ae45bdd.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
4d219ec5c1 (subst_defines): refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
6b67d123d9 (apply_rules_going_right): minor optimization.
Make easy tests first, call strlen() at the end of test sequence.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:23 +03:00
Andrew Borodin
fd3df33310 src/edit/syntax.c: define size for syntax rules array.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:23 +03:00
Andrew Borodin
3bb602d86f src/edit/syntax.c: cleanup empty macro.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:23 +03:00
Andrew Borodin
516eca2658 src/edit/syntax.c (syntax_keyword_t, context_rule_t): use gboolean for boolean fields.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:23 +03:00
Andrew Borodin
000235c7ee Ticket #3955: code cleanup before 4.8.23 release.
src/editor/syntax.c: fix coding style.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:23 +03:00
Andrew Borodin
19fa75f7a2 Ticket #3958: speed up of large directory structures delete.
(file_progress_show_deleting): reduce update rate of delete status
window. Use the way as in c31e413b2a.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-03-24 14:59:03 +03:00