Commit Graph

3474 Commits

Author SHA1 Message Date
Ilia Maslakov
cb5836c2e0 Ticket #1667: Hardcoded colours
Problem:
BOOK_MARK_COLOR and BOOK_MARK_FOUND_COLOR are hardcoded
in edit/edit-widget.h and so cannot be changed via skin.

Solution:
Now these colors will configure via skin-file. Like:

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-10-24 16:42:04 +03:00
Andrew Borodin
c7636e36bb Don't modify file name in file operation.
The problem: if I copy or move file with invalid UTF-8 symbols
in name to another directory (e.g. simply F5 Enter F6 Enter
to copy/move to the other panel), the filename gets mangled,
invalid UTF-8 characters are replaced by literal question marks.

Now the copy/move operation leaves the filename unchanged,
even if it is invalid in the locale mc's using for display.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-24 17:18:48 +04:00
Andrew Borodin
0cd390fd50 Ticket #1609: Do not modify file name in file operations.
Initial step: minor refactoring.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-24 17:18:48 +04:00
Andrew Borodin
551ca67e8f Fixed header of file operation dialogs.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-24 15:38:31 +04:00
Andrew Borodin
562ad3e84b More usage of gettext context.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-23 18:50:13 +04:00
Andrew Borodin
055bff485e Minor otimization of panel_operate_generate_prompt().
Create temporary buffer in stack instead of heap.

Fixed pointer type mismatch in conditional expression
in panel_operate().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-23 18:50:13 +04:00
Andrew Borodin
9fc2ffecce Ticket #1711: i18n: context and cleanup in file prompt strings
Use gettext context to handle file operation names in
Copy/Move/Delete dialogs.
Thanks to David Martin for the original patch.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-23 18:50:13 +04:00
Slava Zanko
1017d4f548 branch-outside patch: Fix return value of function mc_config_normalize_before_save()
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-21 20:13:00 +00:00
Slava Zanko
4db3447eed Ticket #213 [mc-ru-fork] patch for fix bug 'The shell is already running a command'
Test case:

- run mc
- press CTRL+o (hide panels)
- press 'space' key
- press 'backspace' key
- press CTRL+o (show panels)
- type 'ls' and press 'enter' key

Fix issue: Now 'busy shell' status toggle on if user will press 'Enter' key.
Old behavior: User was press any key into subshell and 'busy shell' status toggle on.

Also, patch will enter new behavior:
 * run mc
 * press ctrl+o (hide panels)
 * type 'cat ' and don't press 'Enter' key
 * press ctrl+o (show panels)
 * type 'ls' and press enter

You'll see:
cat: ls: File not found.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-16 14:47:27 +03:00
Andrew Borodin
d3735c6c10 Adjust width of Copy/Move dialog depending on initial screen width.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-16 13:07:30 +04:00
Andrew Borodin
6cd26f8385 Fixed calculation of Copy/Move dialog width.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-16 13:07:30 +04:00
Andrew Borodin
42ba60cebe Use local buffers instead of global cmd_buf one.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-16 13:07:30 +04:00
Andrew Borodin
998001a22e Ticket #1705: fix show of Copy/Move dialog.
Inital step: minor refactoring of src/file.c file.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-16 13:07:30 +04:00
Andrew Borodin
10e8d008d7 Ticket #1704: fixed quick search show.
If "show Mini status" option is off, the quick search box
is shown incorrect. In this case the quick seach box
must be invisible, because this is common MC behavior.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-15 20:45:24 +04:00
Slava Zanko
87979e779b Ticket #1532: Key configuration doesn't save properly
Problem: need to escape ';' char (as '\;'), but mc_config_set_string function
escape this to '\\;'

Solution: Added mc_config_direct_set_string() function. Also, into src/learn.c
characters '\' and ';' is escaped manually.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-15 14:58:47 +03:00
Slava Zanko
8fe4dc26c2 Cosmetic changes of panel interfase (relative to history list):
* Panel widget: History list button  changed  from v to [^]
 * Change drawing of history control elements for panel. Now if panel is active, show in reverse color just panel path.
 * Add reaction on mouse click on [] chars at top of panel
 * Added call of repaint_screen() function for correctly show panels content after click by mouse on 'hidden files' indicator.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-15 14:51:30 +03:00
Slava Zanko
bd29603b41 Relative to Ticket #1643: restore patch 'Mouse support in first line when menu is hidden'
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-15 14:51:24 +03:00
Slava Zanko
ff5dd64c6b Fix showing widget elements with 'mc -a' option.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-15 14:51:24 +03:00
Slava Zanko
d11de35343 Ticket #1716: Adding fully featured skin
As David Martin proposed, this skin support all newest features
May be used as modern skin, but with some restrictions (must be UTF-8 system codepage)

Also, changed src/screen.c for demonstrate skin features :)

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-15 14:51:16 +03:00
Andrew Borodin
2328baf7a3 Place choose panel codepage dialog at the centre of the screen. 2009-10-15 11:40:30 +04:00
Andrew Borodin
47c4744347 Ticket #1451: fixed placement of choose encoding dialog window.
The "Choose codepage" dialog (for file panel) is centered
over the according panel.

Renamed create_listbox_window_delta() function to
create_listbox_window_centered(). Now this function takes in
coordinates of dialog center.
Changed argumets order to unified dialogs API.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-15 11:40:30 +04:00
Slava Zanko
94f30d0905 Merge branch '1714_context_for_indicator'
* 1714_context_for_indicator:
  Ticket #1714: Sort types: use context for indicator translations.
2009-10-13 15:19:57 +03:00
David Martin
415c10e880 Ticket #1714: Sort types: use context for indicator translations.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-13 15:04:36 +03:00
Ilia Maslakov
1e8c3f6789 Ticket #1706
fixed tty_print_anychar, trouble with drawing utf-8 chars in 8-bit locales (ncurses)

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-10-13 11:34:05 +00:00
Andrew Borodin
1e608044af Ticket #1700: fixed skin color parser.
Strip leading and trailing spaces in color names read from skin ini
file.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-13 12:02:14 +03:00
Ilia Maslakov
db419a27c1 Ticket #1706
fixed tty_print_anychar, replaced addch to addstr when MC build with ncurses library.

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-10-13 07:08:00 +00:00
Slava Zanko
1b91f29cbb Ticket #1617: Current editing position of files don't save.
Fixed bug.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-12 09:34:08 +03:00
Slava Zanko
55fe1bb86e Ticket #397: Fix initialization of structure.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-12 09:09:41 +03:00
Ilia Maslakov
4cd93228d4 Ticket #1683
add command EditToggleSyntax for toggle syntax highlight

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-10-10 15:50:58 +00:00
Slava Zanko
0fdb3488e5 Ticket #397: i18n for sort indicator
Fixed translations of sort indicator. Now it separate string for better translate.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-09 09:48:38 +03:00
Slava Zanko
19493b9518 Some fixies for optimization.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-07 11:57:19 +00:00
Egmont Koblinger
51771e0092 Ticket #256
fix: Alt+Backspace (kill word) behaviour in command line

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-10-07 11:57:18 +00:00
Jindrich Novy
7370136f2a Ticket #1680: Allow 'exit' command on non-local filesystems.
On non-local filesystems, mc won't allow execution of commandline arguments.
This makes sense, except for the `exit' command, which might be allowed even on
non-local filesystems.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-07 12:24:40 +03:00
Slava Zanko
14be06d050 Reorganize work with files. Fixed permissions of files in mc home dir. All file names now accumulated into src/fileloc.h
* Added common functions for work with backups of main config files.
 * Fixed permissions of ~/.mc/ini;
 * Fixed permissions of ~/.mc/filepos
 * Fixed permissions of ~/.mc/hotlist
 * Fixed permissions of ~/.mc/Tree
 * Fixed ownership for ~/.mc/hotlist file
 * Changed definitions of config files. Now used constants from src/fileloc.h

Also, added ability for change mc user home dir. Just type:
{{{
make CFLAGS='-DMC_USERCONF_DIR=\".mc2\"'
}}}

And you will have different config files (very usefull for testing or development).

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-07 12:01:05 +03:00
Slava Zanko
a931ff73cc Ticket #1617: ownership of files ~/.mc
Test case:

$ sudo bash
files in the directory ~/.mc overwritten and hence change of ownership at the root.
Later, when starting from a user, MC can not save history (the file ~/.mc/history),
because this file is not overwritten.

Fix issue: Now files will overwrite if exists (rather than remove and create new file).
 * Added backup of saved files.  If someone wrong in 'write config' stage, backup file still present.
 * Identation of code.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-07 12:01:05 +03:00
Slava Zanko
71642b9bdb Ticket #1620: File hightlighting based on extension is case sensitive.
Added parameter extensions_case.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-07 10:42:25 +03:00
Ilia Maslakov
93f8b96b32 Ticket #1664 (Viewer: incorrect tabs alignment)
fix tabs alignment. Variable option_tab_spacing instead hardcoded '8' are used.

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-10-07 07:25:26 +00:00
Ilia Maslakov
1c4f8b1a0e Ticket #1675 (hex editor regression)
Viewer: fixed command handling.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>

    add: binding for "esc", "escape"

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-10-07 07:15:04 +00:00
Andrew Borodin
2d1eb7bea0 Ticket #1662: keep empty 'Content:' field in 'Find File' dialog.
Partially revert of 5fd7d65dca.
If 'Content:' field is empty, keep it and don't populate it
from history.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-06 21:20:26 +04:00
Slava Zanko
ba9ac667d2 Cleanup of code. Remove unused panel_field_t::use_in_gui variable
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-06 10:18:55 +03:00
Slava Zanko
08e6e1caf4 Added indicators for current sort type and sort direction.
Added parameters into skin-files for showing sort indicator.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-06 10:18:55 +03:00
Slava Zanko
9766359a1b Fixed segfault in 'Brief file list' listing mode
Segfault was been raised after clink on header of right column.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-06 10:18:55 +03:00
Slava Zanko
13220bfc6c Added reversing sort order ability if one keybind raised multiple times.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-06 10:18:55 +03:00
Slava Zanko
9fa3347fc1 Added keymaps for some sort types.
* PanelSortOrderByName
 * PanelSortOrderByExt
 * PanelSortOrderBySize
 * PanelSortOrderByMTime

Also added 'PanelReverseSort' keymap.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-06 10:18:54 +03:00
Slava Zanko
3def4aeb0e Remove code for reverse search direction when toggle search types.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-06 10:18:54 +03:00
Slava Zanko
fe73db4227 Fixed behavior of CK_PanelSelectSortOrder event.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-06 10:18:54 +03:00
Slava Zanko
c8857b3084 Remove unneded code
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-06 10:18:54 +03:00
Slava Zanko
7896ea84f6 Added handlers for panel sort keybind actions.
* PanelSelectSortOrder - show 'Sort order' dialog
 * PanelToggleSortOrderPrev - toggle next sort type (or reverse sort order)
 * PanelToggleSortOrderNext - toggle previous sort type (or cancel reverse)

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-06 10:18:54 +03:00
Slava Zanko
b4f7ea071f Remove array of hardcoded format names from listmode.c
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-06 10:18:54 +03:00
Slava Zanko
82a384d8f4 Some changes for better toggle sort types of panel.
Now we have just one array for formats of panel and for sort types.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-06 10:18:53 +03:00
Andrew Borodin
3631f810cc Fixed length of panel header (current directory).
Minor optimization of panel buttons draw.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-06 10:18:53 +03:00
Slava Zanko
d1c686c9f0 Ticket #397: Mouse click on column heading sorts panel on that column
Attached patch that adds the following 2 enhancements:
1) Using the mouse to click on a panel column heading re-sorts
  the panel on that column. If already sorted on that column,
  the sort order is reversed.

2) added a button "." next to "v" that toggles the display
   of hidden files.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-06 10:18:53 +03:00
Stan. S. Krupoderov
35ededec26 Ticket #1390: Key binding ctrl+t and marking files
mc.keymap: remap select charset to M-e, and C-t to mark file
    editmenu.c, main.c: change menu items to be consistent

Signed-off-by: Stan. S. Krupoderov <pashelper@gmail.com>
2009-10-05 16:02:04 +04:00
Andrew Borodin
197e5f62f1 Ticket #1665: panelize doesn't work when Start at: is empty in Find file dialog.
The panelize of find file results doesn't work
if 'Start at:' input field is empty in 'Find file' dialog.

The empty 'Start at:' input is forced populated by "." value.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-05 15:17:36 +04:00
Andrew Borodin
57f9d0e042 Ticket #54: fix of dialog mouse handling.
Skip widgets that matches coords but does not have an action (usually
groupboxes), continuing search of widget with defined action.
Thanks to sfionov.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-05 15:13:36 +04:00
IMDagger
6a4124c8ea Ticket #38: fixed saving other_dir path into panels.ini.
Save Info, Tree and etc. panels state, and restore after.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-10-05 13:09:41 +04:00
Ilia Maslakov
a910b45e57 Ticket #1649: Prepare for prerelease mc-4.7.0-pre3 (code cleanup)
* removed unused edit/editcmddef.h, edit/usermap.c, edit/usermap.h
 * some cleanup

Signed-off-by: Ilia Maslakov <il.smind@google.com>

 * Remove unneded constant definition from src/Makefile.am

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-01 16:14:32 +03:00
Slava Zanko
294a5ed6a1 Fix Makefile.am for correct run 'make dist' command
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-30 16:42:23 +03:00
Slava Zanko
7a137b6d18 Fix conflict of hotkeys in main menu.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-30 16:42:22 +03:00
Slava Zanko
dd94068a62 Ticket #1649: Prepare for prerelease mc-4.7.0-pre3 (code cleanup)
Try to compile with
{{{
make CFLAGS="-Wall -Werror -Wno-long-long -Wwrite-strings"
}}}

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-30 16:42:11 +03:00
Ilia Maslakov
53b0f8546d Ticket #212
fixed completion in command line
    add: EditToggleTabTWS,EditFindDefinition, EditLoadPrevFile, EditLoadNextFile actions into bindings list
    add string bindings for f21..f24

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-30 12:04:17 +00:00
Andrew Borodin
c422f67bd3 Ticket #1643: menu events handling in file panel in case of invisible menu.
Fixed: when main menu is invisible, pressing mouse button
on the first line makes the menu display, even on panel
widgets as "<" ".v>".

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-30 08:44:53 +04:00
Ilia Maslakov
4d4265a3f0 remove unused struct.
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-29 17:42:40 +00:00
Ilia Maslakov
87102cc7e8 fix: main.c keys handler
add more keys into mc.keymap
    fix: CK_SingleDirsizeCmd event
    add default keys (alt-'.', alt-'+') mc.keymap

Signed-off-by: Ilia Maslakov <il.smind@google.com>

    Added alt-shift-h hotkey
    Add some documentation about keymap file.
    Replace some symbols into names '.' to 'dot', '?' to question, etc.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-29 17:42:40 +00:00
Ilia Maslakov
23b81fac46 fix: default_input_keymap, remove incorrect entry
fix: parsing keymap string with "backslash"

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-29 17:42:39 +00:00
Ilia Maslakov
19bb1938f3 add alt+arrows action and descriptions into mc.keymap
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-09-29 17:42:39 +00:00
Ilia Maslakov
c893dcf1dd fix: movement in Lynx navigation mode
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-09-29 17:42:39 +00:00
Slava Zanko
13cc339018 Fix hotkey parser for handle shift+<letter> hotkeys.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-29 17:42:38 +00:00
Slava Zanko
3b7d4c29ec Fixed parsing of hotkeys. Now will read:
alt+p
and
alt-p

as same hotkey.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-29 17:42:38 +00:00
Slava Zanko
52205790b2 Fix memory leak in function lookup_key()
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-29 17:42:38 +00:00
Andrew Borodin
bac7bdf293 Added new WIDGET_COMMAND message.
Handle WIDGET_COMMAND message in WInput widget.
Use this message to show the command line history.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-29 17:42:37 +00:00
Andrew Borodin
100a8d02ae Some minor optimization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-29 17:42:37 +00:00
Slava Zanko
4b48da136d Add some default hotkeys
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-29 17:42:37 +00:00
Slava Zanko
d1856a2268 Add some forgotten hotkeys.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-29 17:42:37 +00:00
Slava Zanko
77f8e57e76 Add more event handlers for actions
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-29 17:42:36 +00:00
Slava Zanko
5bdd17a6ec Rename widget_* functions and variables into input_* functions and variables.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-29 17:42:36 +00:00
Slava Zanko
3f95f87f5e Rename Widget* events into Input* events.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-29 17:42:36 +00:00
Slava Zanko
df59561ab0 Show hotkeys as 'alt-s' instread of 'alt s'.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-29 17:42:35 +00:00
Ilia Maslakov
dbdc3254c1 add more commands into mc.keymap
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-29 17:42:35 +00:00
Ilia Maslakov
592ddbf39e refactoring editor keybindings
add more keys into mc.keymap
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-09-29 17:42:35 +00:00
Ilia Maslakov
8830338411 little cosmetic refactoring
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-29 17:42:34 +00:00
Slava Zanko
07777d282f Added --keymap command line option
Also, anned more pathes for found standart keymap file.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-29 17:42:34 +00:00
Ilia Maslakov
5a397a6b9a * add new commands into cmddef.h
* add user keybind in widgets
    * add widget keybindings

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-29 17:42:34 +00:00
Ilia Maslakov
606dce4e8b add redefine keys support in viewer
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-29 17:42:33 +00:00
Ilia Maslakov
da303d73ac * removed edit/usermap.c edit/usermap.h
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-29 17:42:33 +00:00
Ilia Maslakov
27545f1745 rework screen.c keymapping
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-29 17:42:33 +00:00
Ilia Maslakov
71b1a8bf99 Ticket #212 (User defined hotkeys)
created structs:
    struct name_key_map_t
    struct key_config_t
    global_key_map_t
    add lookup_action
    replace editor key map struct to global_key_map_t
    add main_map screen_map
    replace command CK_* to src/cmddef.h
    add mc.keymap
    fix misc/Makefile.am
    add x_keymap
    add more commands

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-29 17:42:32 +00:00
Slava Zanko
197d5efa28 Ticket #380: About colors schemes (reopened ticket)
Original message:

If invalid skin name is set via command line (or config file, or environment variable),
then mc starts silently like -b -a mode. Two proposals, if required skin cannot be found:
 *. Show error message "Cannot find skin"
 *. Load the default.ini skin instead of set -a -c mode.

Fix issue:
Mc now more verbose if skin not found:
{{{
_("Unable to load '%s' skin.\nDefault skin has been loaded")
}}}
or if skin not parse:
{{{
_("Unable to parse '%s' skin.\nDefault skin has been loaded")
}}}
Translators: please, update your translates.

Also, mc will try to load 'default' skin before switch to 'b&w' scheme.

This commit adds ability to usage GError - glib error handling.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-28 20:54:20 +03:00
Slava Zanko
be2424c960 Ticket #1635: No drawing lines with LANG=C
Fixed drawing of ordinary lines in POSIX codepage.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-28 15:46:02 +03:00
Stan. S. Krupoderov
4048893034 Ticket #1594: hotlist: should be improved
hotlist.c: add path completion in hotlist add entry dialog
    cmd.c: expand environment variables and ~ and ~user exprs in hotlist
    widget.c: focus on listbox item N by '0'..'9' keys

    add capability to focus on N-th item by 0..9 key to
    WListbox widget

Signed-off-by: Stan. S. Krupoderov <pashelper@gmail.com>
2009-09-26 19:16:49 +04:00
Slava Zanko
13e1c9b3b1 Ticket #1619: Problem with "preserve attributes", file times and ntfs/vfat partitions
In changeset 78f01a3a9a there was added detection of
filesystem and defaulting to turning off "preserve attributes" on certain FS
(ntfs, vfat and some others).

Reason of bug: was removed call of  mc_utime() function.

Fix issue:
Restored call of mc_utime() function.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-26 01:00:52 +03:00
Andrew Borodin
9c0a8e7d3f Fixed segfault in search in editor and viewer.
Modified API of search engine: return the number of search types.
This avoids the calculation of the search type count when need.
Sync editor search, editor replace and viewer searc dialogs with
new search API.
Fixed memory leak in editcmd_dialog_search_show().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-26 00:27:45 +03:00
Andrew Borodin
6592eabc8d Ticket #1621: fix segfault of search in editor and viewer.
Initial step: fix i18n of quick_radio widget: create copy of radio
items to avoid memory leaks.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-26 00:27:45 +03:00
Andrew Borodin
5fd7d65dca Ticket #1631: 'Find File': use history for input fields at first run.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-24 21:28:40 +04:00
Andrew Borodin
b04d568620 Ticket #1451: Incorrect charset menu location for 'Long file list' lising mode.
In 'Long file list' the panel width is equal to the screen
width. In this case, choose charset menu is placed in the
center of the screen.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-23 16:57:34 +04:00
Ilia Maslakov
cd27ee24df Ticket #1595 (exceeding newline)
fix: exceeding newline on '\r\n' eol

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-23 12:18:10 +00:00
Andrew Borodin
95d53b08cf Ticket #1564: fiix segfault in menu at GPM_DRAG mouse event.
Ignore GPM_DRAG mouse event above or below dropped down menu.
Also fixed handling of click events.

Minor optimization.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-23 09:38:50 +04:00
Andrew Borodin
d2e6ca7b6e Trinvial refactoring: changed order of color definitions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-22 16:27:38 +03:00
Andrew Borodin
e46e414f2a Modified color of dialog hotkeys.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-22 16:27:38 +03:00
Andrew Borodin
3f4b0ee311 Fixed menu colors for BW mode.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-22 16:27:38 +03:00
Andrew Borodin
3bacc1cc64 Ticket #380: fix of menu colors in BW mode and pseudo-graphics symbols.
Initial step: fixed name of skin sections and items.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-22 16:27:38 +03:00
Andrew Borodin
9aceaf6418 Added IBM866 locale to the list of 8-bit locales.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-21 16:43:08 +04:00
Andrew Borodin
4e38a3ead0 Ticket #1604: add support of CP866 locale.
Initial step: fix MC initalization.
Check codeset after initalization of TTY layer.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-21 16:34:15 +04:00
Slava Zanko
f50b7d6d15 Add octets into array of lines instread of utf-8 string.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-18 11:57:35 +03:00
Slava Zanko
84f502a2e1 Reidentation of code and changes for compile with CFLAGS="-pedantic -Wall -Wextra -Werror -Wno-long-long"
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-18 11:57:35 +03:00
Slava Zanko
bdfc9adf39 Continue development of skins
* Remove highlight of hidden filenames.
 * Fixed colors with ncurses screen library
 * Fix lines drawing with ncurses screen library.
 * Fix drawing of lines in slang with non-utf codepages.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>

 * Code cleanup.
 * Code cleanup, refactoring and optimization.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-18 11:56:12 +03:00
Slava Zanko
2216332c0c continue develop of skins.
* Compile with option --with-screen=ncurses
 * Added default init of colors (if color description is null)
 * Renamed some color pairs. All static color pairs now cached.
 * Fix cursor show in panel over selected files in b&w color scheme.
 * Fix editor highlight
 * Handle old-style colors definitions.
 * Fix showing box lines in onebyte codepages.
 * Fix segfault with:
 * mc -C 'menu=blue,white:'
 * Fix reading of color backgrounds from old-style color definition strings.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>

 * Fixed typos.
 * Added ACS_PLUS char and related stuff.
 * Changed order of colors.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>

 * Fixed pseudo-graphics drawing for S-Lang library and 8-bit locale.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-18 11:54:20 +03:00
Slava Zanko
f9a7ea4c32 Add handle '-b' command line option.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-18 11:49:45 +03:00
Slava Zanko
da6a25afc7 Box lines drawing. Now reading from skins. With ncurses don't work!
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-18 11:49:44 +03:00
Slava Zanko
d0457bbe9f Add hardcoded skins.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-18 11:49:44 +03:00
Slava Zanko
981fe001d1 Base support of skins.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-18 11:49:44 +03:00
Slava Zanko
5c629cafda Ticket #1591: Master don't build with --disable-charset oprion.
* Fixed build on master.
 * Refactoring: avoid compiler warnings.
 * Remove unneeded code from mcviewer.c.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-18 11:40:30 +03:00
Ilia Maslakov
e9a49c83a1 fix: not defined cp_source after autocorrect codeset
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-16 13:45:08 +00:00
Andrew Borodin
8f5ae1983a Ticket #276: display marked files size accurately.
Centered horizontally. Removed rubbish symbols at the end
of displayed text.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-16 09:27:10 +04:00
Slava Zanko
bd95f71a6b Some little bugfixies for xz and lzma archives:
* Increase number of reading butes by one for better analyzation of compression type.
* Add recognize lzma archive by extention.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-16 02:05:06 +03:00
nixtrian
f5d01be72a Ticket #1540: tarfs for xz archives
Since ~beginning of August mc does not enter .tar.xz archives,
it just prints the error message:
"Hmm,... aaa.tar.xz doesn't look like a tar archive."

The version of Jul 28 works with .tar.xz archives.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-16 02:05:06 +03:00
Ilia Maslakov
0ce25dce74 Ticket #1591 (mcview segfault)
fix: segfault mcviev in case when the source_codepage is not equal to the display_codepage.
    refactoring: some code optimization.

Signed-off-by: Ilia Maslakov <il.smind@google.com>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-15 12:24:33 +03:00
Slava Zanko
f3916f085f Changes for lines length less than 100.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-15 11:36:09 +04:00
Andrew Borodin
41dc87ee1f Fixed button locations in 'Sort order' dialog.
Reimplemented 'Sort order' dialog using QuickDialog engine.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-15 11:36:09 +04:00
Andrew Borodin
6fc9cf7a88 Refactoring of src/boxes.c.
Reduce of file scope variables count.
Other those variables have been renamed.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-15 11:36:09 +04:00
Andrew Borodin
a4fad45319 Fixed button locations in 'Listing mode' dialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-15 11:36:09 +04:00
Andrew Borodin
dad66d278b Ticked #1552: fixed non-standard button location in dialogs.
First step: refactoring of WButton widget API.
(button_len): renamed to button_get_len and made global.
(button_get_text): const argument.
Removed trailing spaces.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-15 11:36:09 +04:00
Andrew Borodin
1f0b05b182 Implemented mouse wheel support for WListbox widget.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 15:11:59 +04:00
Andrew Borodin
ae3a14ae0e Modified mouse event handling in menu.
Fixed event boundaries: menu frame is in event aria now.

Middle click is used to execute selected menu item independently
of mouse cursor position.

Minor optimization.

Indentation.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 15:11:59 +04:00
Andrew Borodin
64f5497b67 Ignore mouse wheel events for inactive panel.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 15:11:59 +04:00
Andrew Borodin
15354fdbb4 Call menu using mouse for all panel types.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 15:11:59 +04:00
Andrew Borodin
aa601f831b Fixed smooth scrolling of split panels.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 15:11:59 +04:00
Andrew Borodin
c6ff13821d Modified mouse initialization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 15:11:59 +04:00
Andrew Borodin
62378d71d7 Mouse wheel events hack.
Don't generate 'Button up' event after wheel events.
Need for menu evemnt handling.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 15:11:59 +04:00
David Martin
a252136766 Smooth scrolling in file panel.
If listing panels is operated with the mouse wheel, when window is
at top or bottom of the list, then selection "jumps" to first/last item.
Now it smoother: keep window and decrease/increase selection in
single steps.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 15:11:59 +04:00
Andrew Borodin
07f237782b If menu is inactive, ignore mouse wheel events.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 15:11:59 +04:00
Andrew Borodin
a14574d037 Fixed mouse event boundaries in menus.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 15:11:59 +04:00
Andrew Borodin
c2f37224c5 Don't close menu by mouse wheel outside the menu area.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 15:11:59 +04:00
Andrew Borodin
7c5407e86e Ticket #1564: mouse wheel support for menus and listboxes.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 15:11:59 +04:00
Andrew Borodin
83a0670283 Ticket #1575: applied i18n for radiobuttons in QuickDialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 13:25:28 +04:00
Andrew Borodin
5159a50992 Modified overwrite query dialog.
Renamed function. Move rd_widgets from file scope to function one.
Fixed i18n stuff.
Updated RU translation.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 12:53:16 +04:00
Andrew Borodin
ae313482e6 Ticket #1538: redesign of overwrite query dialog.
Modified main text in overwrite query dialog.
Trancated the target file name less.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 12:53:16 +04:00
Andrew Borodin
ea73b28b45 Ticket #1583: fixed Ctrl-O handling under GNU Screen in altscreen mode.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 11:54:30 +04:00
Stan. S. Krupoderov
956d356a01 Ticket #1580: mc segfaults when you try to use non-anonymous FTP
wtools.c: change widget text vaulue in case of INPUT_PASSWORD special value

Signed-off-by: Stan. S. Krupoderov <pashelper@gmail.com>
2009-09-09 16:12:42 +04:00
Stan. S. Krupoderov
e05778a4e4 Ticket #1580: mc segfaults when you try to use non-anonymous FTP
wtools.c: fix init of def_text for INPUT_PASSWORD special value

Signed-off-by: Stan. S. Krupoderov <pashelper@gmail.com>
2009-09-07 18:45:15 +04:00
Andrew Borodin
f559aeb6b9 Ticket #59: display file size in full precision.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-07 15:34:41 +04:00
Slava Zanko
c1c8671370 refatoring: move init of tty lines drawing onto separate function
Refactoring: transform integer variables into list of integers.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-07 10:17:27 +00:00
Ilia Maslakov
465d4d2cc5 Ticket #1497 (stickchars)
add frm_* vars
    read frame lines from ini
[Lines]
lefttop
righttop
centertop
centerbottom
leftbottom
rightbottom
leftmiddle
rightmiddle
centermiddle
horiz
vert
thinhoriz
thinvert

    fix draw frames in stickchar mode

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-07 10:17:27 +00:00
Slava Zanko
462cb0bf27 Remove description related to filenames highlight from command-line help
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-05 13:06:54 +03:00
Andrew Borodin
e3684f3379 Ticket #1582: fixed screen flickering on updates.
Partial revert of 4e40f6e98f.
Don't call tty_touch_screen() for each screen repaint.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-04 11:35:54 +04:00
Stan. S. Krupoderov
ee10da919d Ticket #1479: Copy/Move dialogs steal Kill Word shortcut
filegui.c: change dive into subdir shortcut, a-d - kill word

Signed-off-by: Stan. S. Krupoderov <pashelper@gmail.com>
2009-09-03 14:47:27 +04:00
Ilia Maslakov
86d8c89f6a Add menu entry for editing filehighlight.ini (Rules for filenames highlighting)
Signed-off-by: Ilia Maslakov <il.smind@google.com>

Some fixies after patch of Ilia Maslakov.
* Fixed pathes to rules-highlight files.
* Added on-fly refresh of rules after editing.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-03 13:12:48 +03:00
Slava Zanko
4afc04eedc Ticket #418: File coloring
Added support of filenames highlighting in panels.

Now rules of highlighting described into external file filehighlight.ini
Number of highlight rules is unlimited (in opposite to X-Stranger patch).

Highlight will made by:
 * file type (directory, regular, symlink, special device etc.)
 * extensions of filenames (ends of filenames)
 * regular expressions

Big thanks to X-Stranger <x@linux.by> for idea
and to Alexey Kaminsky <alexeykaminsky@gmail.com> for testing.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-03 13:12:17 +03:00
Andrew Borodin
f9d6bb075c Ticket #1562: simplfication API of QuickDialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-03 11:39:57 +04:00
David Martin
a4b1050804 Ticket #1578: Revise */ TRANSLATORS */ warnings
Comment by dmartina:
Please, take care not to move those comments labelled "TRANSLATORS" in order to let them show up in *.po files.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-03 10:12:10 +03:00
Slava Zanko
88b4ce4cbe Ticket #390: remove own 'libpopt' stuff.
We really not need for all libpopt features.
As fact, simple POSIX getopt() is enough.
But if we have glib - we must use glib for unification.

Created two files: src/args.c and src/args.h
Parce of command line options now processed in these files.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-02 14:32:32 +03:00
Ilia Maslakov
0ce827bb60 Ticket #1460 (shared search history)
fix: history for mcview (last search string geting from history)

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-31 14:48:54 +00:00
Andrew Borodin
4881dd7c90 Ticket #1561: fixed wrong position of select panel encoding dialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-31 15:43:19 +04:00
Aleksey Lim
ce57055a3a Ticket #1574: mc crashes while setting tty colors
MC crashes if color sring containes an empty color name like following:

base_color=normal=,default:

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-31 14:17:29 +04:00
Denys Vlasenko
e064bd60df De-inline a few functions which are large
...or not-so-large but nevertheless
contain more than one function call,
or contain loops, or contain if's and at least one
function call, or contain largish objects on stack.

In my experience, in those cases the code size
growth is big enough to not inline stuff.

I guess some of the really big functions
are defined inline because they have, or had in the past,
just one callsite.

But for a few years gcc already does it automatically,
no need to do it by hand and risk code size explosion
when later during code evolution another callsite
is created. This optimization by hand is simply
no longer needed.

Anyway, here is the code size difference:

   text    data     bss     dec     hex filename
 572337   17944  177820  768101   bb865 mc.t5/.obj/src/mc
 567697   17944  177820  763461   ba645 mc.t6/.obj/src/mc

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-08-31 07:12:59 +03:00
Ilia Maslakov
d89306849c code clean up
* viewer/mcviewer.c: remove unused variable ‘enc’
    * viewer/actions_cmd.c: remove superfluous param
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-08-28 20:14:30 +00:00
Slava Zanko
8407f5fd9a Add forgotten '#include <stdio.h>' into src/viewer/internal.h for recognize FILE type.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-28 22:58:59 +03:00
Andrew Borodin
5da55ec14e Ticket #1565 (incorrect draw menu)
fix: now used correct color for draw menu frames

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-26 09:19:44 +00:00
Ilia Maslakov
b1546095ca Ticket #1530 (Tricky format in view.c not suitable for i18n)
fix: dialog label string

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-25 12:47:51 +00:00
Andrew Borodin
8b8f7defb7 Implemented interruptable long-distance movements.
There a lot of time required to move to the end of large
binary file. Now such movement can be interrupted by
Ctrl-C key.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-25 12:17:20 +04:00
Ilia Maslakov
a799ef4329 fix: <no translation> behaviour
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-25 11:09:57 +03:00
Slava Zanko
459ef0665f Change prototype of mcview_get_byte() function (and al related functions)
from

int mcview_get_byte (mcview_t *, off_t)

into

gboolean mcview_get_byte (mcview_t, off_t, int *)

Now splitted return code(success/fail) and readed value from datasource value.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-25 11:09:42 +03:00
Ilia Maslakov
dc15da9572 fix: uninitialized variables
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-25 05:33:18 +00:00
Ilia Maslakov
2a207ccabd fix: header paths
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-25 05:22:19 +00:00
Andrew Borodin
a75161aed8 Added missed includes. Fixed OFFSETTYPE_MAX calculation.
Use CHAR_BIT constant instead of hardcoded 8 for char size.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-25 09:01:07 +04:00
Slava Zanko
ac11bedf24 Cleanup of code. Indentation.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-25 01:41:31 +03:00
David Martin
d41e57a673 Ticket #1530
build format string in runtime, not preprocessor

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-08-24 19:44:16 +00:00
Ilia Maslakov
7ff7368c5d * add 'Whole words' option into the viewer 'Search' dialog
related  Ticket #1487
    * fix: some warnings

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-08-24 19:31:31 +00:00
Slava Zanko
e9b1a18b96 Added functions for work with nroff'ed text. Added search across nroff'ed text
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-24 16:26:44 +00:00
Slava Zanko
1828ebd9a8 Fixies with search in HEX mode view:
* Fixed highlight area of searched text
 * Fixed cursor position after search

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-24 16:26:44 +00:00
Slava Zanko
74b94cd1f7 Search in plain text (not nroff'ed) now worked.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-24 16:26:43 +00:00
Slava Zanko
fe399ab039 Cleanup of code. Reidentation.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-24 16:26:43 +00:00
Slava Zanko
1442f34838 Ticket #1431 (Missing translation in view.c ButtonBar?)
Fixed bug.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-24 16:26:43 +00:00
Mikhail S. Pobolovets
a52ba95680 Avoid warning 'format not a string literal and no format arguments'.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-24 16:26:43 +00:00
Slava Zanko
682434b0db Fixed memory leak after geting list of search types.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-24 16:26:42 +00:00
Slava Zanko
10e5730255 Move search dialog from actions_cmd.c into dialogs.c
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-24 16:26:42 +00:00
Slava Zanko
0498a346b5 Changes for correctly work after rebase to master (master with HACK_tty).
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-24 16:26:42 +00:00
Ilia Maslakov
bb7cbfe0db fix: draw nroff text 2009-08-24 16:26:41 +00:00
Slava Zanko
b119f489ab Move inline functions from internal.h into new file inlines.h
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-24 16:26:41 +00:00
Ilia Maslakov
c148f8e055 fix: draw text in utf mode
fix: right movement in HEX
2009-08-24 16:26:41 +00:00
Slava Zanko
b06ab0fe72 Split src/view.c into small files for better support of code
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-24 16:26:41 +00:00
Slava Zanko
ec0c0e3050 Just refactoring. All functions in src/view.c now have mcview_ prefix 2009-08-24 16:20:53 +00:00
Ilia Maslakov
8f143bdddf fix: hex mode show 2009-08-24 16:20:52 +00:00
Ilia Maslakov
eb9a251dcc add: some utf8 procedures:
* get_ptr_file (WView *view, offset_type byte_index)
    * get_ptr_string (WView *view, offset_type byte_index)
    * get_ptr_growing_buffer (WView *view, offset_type byte_index)
    * get_utf (WView *view, offset_type byte_index, int *char_width)

    add: property 'utf' in the struct Wview

    Signed-off-by: Slava Zanko <slavazanko@gmail.com>
    Added temlate for splitting src/view.c into lot of
    smalest files (for better development and supporting).
2009-08-24 16:20:52 +00:00
Andrew Borodin
a83739a910 view.c: made compilable.
Search and recording don't work.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-24 16:20:52 +00:00
Andrew Borodin
ffac3ab7a9 Viewer: version from mc-4.6.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-24 16:20:51 +00:00
Slava Zanko
7dd9fdd505 Ticket #1543: Case-insensitive regex search with [^ranges] does not work correctly
Fixed Case-isentetive search with [ranges].

Reason of bug:

content_pattern was initialized via str_create_search_needle() function (from src/strutils.c)
This function convert string to lowercase if case_sentitive is off. Therefore string
'some_string[^a-zA-Z]' was transform into 'some_string[^a-za-z]'

Fix issue:

replace call of str_create_search_needle() function to g_strdup()

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-24 15:00:53 +03:00
Sergei Trofimovich
67d5824320 src/widget.c: sanitized sprinkled 'const' qualifiers
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-08-24 09:31:26 +04:00
Sergei Trofimovich
5f5d3b8caf src/tty/: sanitized sprinkled 'const' qualifiers
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-08-24 09:31:26 +04:00
Andrew Borodin
179e516c2a VFS: moved vfs_translate_url() declaration to the public scope.
Fixed missed includes.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-24 09:31:26 +04:00
Andrew Borodin
510265b41c Fixed compiling warnings.
src/tty/key.c (get_modifier): comparison between pointer and integer
src/tty/win.c: missed #include <stdlib.h>
src/dialog.c (add_widget): control reaches end of non-void function
src/widget.c: missed #include "layout.h"

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-24 09:31:26 +04:00
Andrew Borodin
25ab169f45 Ticket #1555: draw buttonbar of help dialog.
Fixed Help window to be resizable.
Fixed draw of Help button bar.
Moved WButtonBar widget from dialog.c to dialog.h.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-24 09:21:37 +04:00
Ilia Maslakov
156b79609c Ticket #1487 (Whole words search)
thanx Daniel Borca <dborca@yahoo.com> for the patch

    * fix special_chars in regex.c
    * add whole_words into mc_search_struct
    * add 'Whole words' into 'Search', 'Replace' 'File find' dialogs

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-08-22 11:24:00 +00:00
Daniel Borca
8a797248b0 Ticket #1515: Bug in normal search
The pipe character | is interpreted as branch.

Fix issue: character '|' now escaped for furter regexp search.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-21 16:55:22 +03:00
Patrick Winnertz
93a95a1040 Merge branch '1540_tab_expansion_of_tilde'
* 1540_tab_expansion_of_tilde:
  Ticket #1545: Don't escape tilde on cmdline, this is not necessary.
2009-08-20 10:12:59 +02:00
Patrick Winnertz
83ad350b69 Ticket #1545: Don't escape tilde on cmdline, this is not necessary.
Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-08-19 22:10:33 +02:00
Ilia Maslakov
497af7820e Ticket #1546 (build broken for --with-screen=ncurses)
fix: inconnect value name in tty_print_anychar

    thanx jue for fix

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-08-19 19:46:28 +00:00
Slava Zanko
678e10a3ed Ticket #277: mc hangs if mouse support enabled on konsole-256color terminal
Added recognize for 'konsole' terminal into init_xterm_support() function.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-19 12:30:53 +03:00
Andrew Borodin
1c7d3ca24a Fixed segfault during init saved Info or Tree panel.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-19 12:49:26 +04:00
Andrew Borodin
b98a0d4d1a Ticket #1544: segfault om launch MC with saved Info or Tree panel
First step: minor refactoring and code clean up.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-19 12:49:26 +04:00
Andrew Borodin
96e032b473 Ticket #1531: old method of reverse selection of files.
Now Gray-* shortcut inverts selection of directories as well as files.
This is very confusing feature especially when user is going to delete
files.

Added new variable 'reverse_files_only' allows use the old behavior
of reverse selection.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-19 11:25:25 +04:00
Andrew Borodin
7c1e24525d Ticket #74: TUI is not resized if mouse is desabled.
If you run without mouse support (mc -d), mc doesn't detect resizes.

You need to press a key for mc to resize itself to new window after
window is maximized or resized (press up/down arrow, Ctrl-O, almost
anything will work).

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-19 11:20:15 +04:00
Ilia Maslakov
4afee14f94 Ticket #1529 (remove search converter overhead)
* add: void tty_print_anychar (int c)
    * remove superfluous search converter in convert_from_utf_to_current_c,
      convert_from_8bit_to_utf_c add converter to WEdit struct
    * fix: init defaulf codesets
    * fix: segfault on replace if LANG=C

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-08-18 05:52:40 +00:00
Ilia Maslakov
b536c3e487 add option "Cursor beyond end of line" into "Options\General..." dialog (editor_beyond_eol in ini)
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-17 18:11:20 +00:00
Andrew Borodin
bc09ff3888 Ticket #1414: implemented scalable TUI.
Thanks to E.L.K.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-17 15:54:39 +04:00
Andrew Borodin
f2e6817363 Ticket #1414: small refactoring before major modifications.
Fixed missed includes.
Fised widget_set_size() declaration.
Moved default widget callback (default_proc()) from dialog.[ch] to widget.[ch].

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-17 15:54:39 +04:00
Martin Petricek
3033429645 Ticket #268 (Allow using SI-based size prefixes)
* add: switching between old (default) 1024 based "binary" prefixes
           and SI (1000 based) size prefixes when displaying file sizes

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>

    Size in SI units: changed option name and description.

    * Changed option name in 'Configuration options' dialog.
    * Moved description to proper section in man page.
    * Added russian translation.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-17 11:14:59 +00:00
Patrick Winnertz
1baf186c16 Removed three unneeded variables
Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-08-14 19:18:08 +02:00
Patrick Winnertz
21069fb83d Ticket #1533: Fix the date issue on german locale. Use a #define
for consistent translation of the date through whole util.c

Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-08-14 19:03:51 +02:00
IMDagger
a57ff08d12 Ticket #38: use MC_MAXPATHLEN insterd of MAXPATHLEN.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-14 09:40:45 +04:00
IMDagger
c17ebc96ac Ticket 38: return from Info panel to wrong directory.
When viewing two file lists, if user presses C-x i for info on
a panel's directory or file, the info pops up correctly in the
other panel. However, when the user closes the info screen, the
directory of the current panel is shown -- NOT the directory
which was being viewed before the info panel appeared.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-13 17:00:58 +04:00
Slava Zanko
1a3e71c03c Ticket #186: prompt fixups
TestCase:
 * Have a mc running where you have two different directories in each panel.
 * Tab, so that you are in the other panel.
 * Ctrl-O to go to subshell.
 * You see two different prompts printed next to each other.

Fix issue:
In function src/main.c:do_update_prompt(): added '\r\n' before show prompt.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-13 10:01:44 +03:00
Andrew Borodin
c5490f8a13 TTY: use tty_print_string() instead of printw().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:26:02 +04:00
Andrew Borodin
e7ac83b48a Modified the hintbar draw update.
Since midnight_dlg can be invisible during screen resize,
don't update the hintbar in SIGWING signal handling function.
Now the hintbar is updated during DLG_DRAW message handling
in mignight_dlg callback.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
5feea4aead Fixed dialog colors definition, setup and handling.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
791404055b Revert "src/help.c: minor refactoring."
This reverts commit f070d94275c0e41bed4878caf60f8254473f3486.
Help is displayed incorrectly.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
d7d3267594 TTY: removed slang1 related code.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
e6e97f8cd9 src/help.c: minor refactoring.
Used TTY wrapper. Type accuracy.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
0c278498d5 src/main.c: minor refactoring
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
d1122efe92 TTY: moved SIGWINCH setup function to TTY layer.
Also renamed SIGWINCH signal handler.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
16ceccc6df Panel: fixed width of second column in brief listing mode.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
cf2ecb4491 Moved do_possible_cd() function from main.c to execute.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
d21c8dc448 Screen: moved maybe_cd() function from main.c to screen.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
2c4beaafba Fix after rebase.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
5cd4a8ad83 Moved panel update functions from main.c to screen.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
c43bb6f576 TTY: moved alternate_plus_minus variable to TTY layer.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
d6dc828c0c WListbox: some draw modifications.
Draw scrollbar if widget vertical size is less than item count.
Add leading space.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
1b343c7609 WListbox: removed widget sizes duplication.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
32a52f9fb5 Listbox window: without button, listbox only.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
ac37863688 Listbox window: apply main menu colors to the user menu.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
e7b35b6ef0 Dialog: create own copy of colors.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
a55cf8ae53 TTY: minor optimization of button bar draw.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
bd0d344802 TTY: moved repaint_screen() from src/main.[ch] to src/layout.[ch].
Fixed includes.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
509f4d5c4f TTY: fixes after rebase.
Code clean up.
Modification of tty_refresh for NCurses: call doupdate() after refresh()
every time.
tty_draw_box_slow() is not private function of TTY now.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
7eb4f84dbd TTY: reorganization of mouse handling.
Also small optimization.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
ef282af7ae TTY: draw box for slow terminal was moved to TTY layer.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
05f3ee1f6c TTY: modifed initialization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
a691a99278 Fix after rebasing.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
3c902477cb TTY: use direct cast instead of str_unconst() funcion.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
508c20c92d TTY: modified color initialization.
Set color mode via tty_init_colors() function.
Made disable_colors and force_colors variables static in main.h.
Removed tty_disable_colors() function.
Some code optimization.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
aadc438c20 TTY: code reorganization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
6b07af2fc4 Some modification of initialization.
home_dir variable intialization is moved from main() to OS_setup().
Fixed memory leak ('shell' variable).
2009-08-12 21:23:54 +04:00
Andrew Borodin
7de080e123 Fixes after rebase to master. 2009-08-12 21:23:54 +04:00
Andrew Borodin
46559fd764 TTY: renamed functions.
getch have been renamed to tty_lowlevel_getch.
mi_getch have been renamed to tty_getch.
get_event have been renamed to tty_get_event.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Slava Zanko
7b74e49bd2 Added Copyringt information. Corrected 'Written by' field.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-12 21:23:13 +04:00
Slava Zanko
ce54d07561 Fix include paths in some source files
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-12 21:23:13 +04:00
Andrew Borodin
0827144b5f TTY: renamed functions.
init_curses have been renamed to tty_init_curses.
init_lang have been renamed to tty_init_slang.
2009-08-12 21:23:13 +04:00
Andrew Borodin
5ac4a4ec1a TTY: new function: tty_display_8bit().
tty_display_8bit() is used instead of NCurses meta() and
S-Lang SLsmg_Display_Eight_Bit.
2009-08-12 21:23:13 +04:00
Andrew Borodin
4e40f6e98f Screen repainting modifications.
src/main.c (repaint_screen): call tty_touch_screen() here.

src/execute.c (toggle_panels): fixed comment.
Call repaint_screen() instead of do_refresh().

src/cmd.c (do_view_cmd): small optimization.
(do_edit_at_line): likewise.
(swap_cmd): since tty_touch_screen() is called in repaint_screen()
now, don't call it here.
2009-08-12 21:23:13 +04:00
Andrew Borodin
3225c15e69 Removed draw_double_box() function.
Since S-Lang library actually doesn't provide double boxes drawing,
the draw_box() function is used always.
2009-08-12 21:23:13 +04:00