Commit Graph

727 Commits

Author SHA1 Message Date
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
4c64340111 Ticket #1650
fix: UNDO behavior when cursor besides EOL

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-30 12:09:10 +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
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
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
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
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
Andrew Borodin
a437ed5d52 Ticket #1560: fixed button locations in editor search dialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-29 20:40:09 +04: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
Slava Zanko
a1e3999abf Editor: Autocomplete all words (not just English words)
Also fix charset conversation for autocompleted text.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-23 16:13:36 +03:00
Slava Zanko
d5381e862e Added option for switch beetween 'collect completions before cursor'
and 'collect completions in entire file'

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-23 16:13:36 +03:00
dborca
fdbd5b8a86 Ticket #1486: Editor completion is confusing
Editor completion became really confusing in 4.7.0-pre1:

1. The list is populated with words from the entire file. This is arguably
better than the old style, which scanned only up to the cursor. But the number
of suggestions are limited, and if you have a bigger file, some words won't
make it in the list. Besides, I somehow liked the old way.

2. Suggestions do not end on a word boundary. This may or may be not useful; but
it just increases the list of suggestions, which slows the user. In the end, it
beats the purpose of completions.

3. It completes the word I am currently editing. That's smart. :)

4. The suggestions are displayed in the order in which they were found from the
beginning of the file. This is my main gripe, because when using the editor for
coding, it is better to have suggestions based on the distance to the cursor.
Closer means higher. When writing a function, I am mainly interested in the
variable names I recently used.

5. Sometimes, it does not work at all, but I haven't investigated the bug. :(

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-23 16:13:36 +03:00
Ilia Maslakov
37383d65d5 Ticket #1598 (vertical selection: Meta+PgDn)
fix: vertical selection with Meta+PgDn

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-23 12:10:28 +00:00
Ilia Maslakov
559f161ebc Ticket #1599 (navigation with Ctrl+arrows besides EOL)
fix: navigation with Ctrl+arrows besides EOL
    fix: kill word left/right when cursor besides EOL

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-23 12:04:25 +00:00
Andrew Borodin
434ebd3780 Ticket #1556: full i18n support of editor 'Search' dialog.
Dialog width calcualtion is based on each dialog widget width.
Updated russian translation (for 'Find all' button).

Thanks a lot to David Martin.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-21 13:21:39 +04: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
981fe001d1 Base support of skins.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-18 11:49:44 +03:00
Andrew Borodin
e983e9eedc fix: i18n label in the search dialog
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-16 13:45:08 +00:00
Andrew Borodin
2ae441dde6 Some optimization of mouse handling in editor. 2009-09-14 15:11:59 +04:00
Andrew Borodin
c00900472e Fixed i18n of editor search dialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-07 13:06:11 +00:00
Ilia Maslakov
9e5fb208a9 Ticket #1556 (editor search: button 'Find all')
* add new button 'Find all' into Search dialog. Bookmarks all founded entries.
    * fix: search dialog (buttons are positioned dynamically)
    * some optimisation of usability.

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-07 13:06:04 +00:00
Andrew Borodin
d6d713eb24 Fixed segfault in editor options dialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-03 11:39:57 +04:00
Andrew Borodin
c057b0a02a Fixed radiobutton label for Macintosh line break.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-03 11:39:57 +04: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
Ilia Maslakov
4eba917c0c Added field lb (kind of line break) into WEdit struct
Some cosmetic changes.
Fixed compiling warnings.

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-31 13:20:49 +04:00
Andrew Borodin
f023ce440f Ticket #1571: enhancement of mcedit 'Save as' action.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-31 13:20:49 +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
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
Ilia Maslakov
b819359535 Ticket #1558 (Search backwards behaves erratically)
fix: backward search. When the cursor set on the begin of the word,
         search found this word, but should not.

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-24 07:04:52 +00:00
Ilia Maslakov
7e13f0a5c1 edit/editdraw.c: removed unused variable
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-08-24 09:31:26 +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
Ilia Maslakov
7ef283975b Ticket #1519 (Editor Search/Replace in selection only)
thanx dborca <dborca@yahoo.com> for the patch

    * add option 'In selection' into 'Search' and 'Replace' dialogs
    * changed search and replace algorithm
    * fix search start position if cursor placed beyond marked text.

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

    * Fixed handle of 'In selection' option in 'search' dialog.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-22 10:00:33 +00:00
Ilia Maslakov
68a6495c96 fix: incorrect move/delete block if 'Cursor beyond end of line' swiched on
fix: Enter behavior if 'Cursor beyond end of line' swiched on

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-21 13:42:30 +00:00
Ilia Maslakov
cdd28feca8 fix: mouse selection if line state swiched on.
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-08-21 13:42:29 +00:00
Ilia Maslakov
46eccd1102 Ticket #61 (Misbehaving rectangular select in editor)
fix: incorrect draw rectangular selection if start highlight from first line.
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-21 13:42:29 +00:00
Sergei Trofimovich
985f076e5f Merge commit 'origin/82_sanitize_ro_file_edition'
* commit 'origin/82_sanitize_ro_file_edition':
  Ticket #82: savannah: "save as" retains mode (take 2) provided by dborka
2009-08-19 20:54:15 +03:00
Sergei Trofimovich
c769f7fcd3 Ticket #82: savannah: "save as" retains mode (take 2) provided by dborka
Suppose you have two files, foo and bar. Both files have 444 permissions.
Now edit foo and "Save". It can't save and instead prompt you to "Save As".
Enter bar. It will chmod bar to 644. If we don't touch touch existing file
permissions for "Save", I don't see why we should for "Save As".

Patch adds S_IWUSR only if different_filename and file does not exist yet.
For consistency, it's S_IWUSR not S_IWRITE.

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-08-18 22:28:59 +03:00
Ilia Maslakov
c7001ef7cf Ticket #1484 (Editor bookmarks made visible)
fix: TWS and abnormal chars not highlighted

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-18 11:30:12 +00:00
Daniel Borca
9f2034d376 Ticket #1484 (show bookmark)
* add keyboard shortcuts
    * add showing bookmarks

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

    * show '*' for bookmarked line (if line state showed)

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-18 10:05:50 +00:00
Daniel Borca
ea219adec3 Ticket #1412 (vertical selection issue)
fix: vertical selection issue then line state is switch on

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-08-18 06:13:01 +00: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
Ilia Maslakov
f4fc6ad79d Ticket #1534 (cool cooledit)
first commit for support drag cursor after end of line

    * change mouse movement, allow place cursor after EOL
    * change vertical select
    * fix: right scroll

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
Ilia Maslakov
2289c62c6e Ticket #267 (etags incorrect get the line number definition)
fix: etags incorrect get the line number of function definition
2009-08-15 11:36:57 +00:00
Ilia Maslakov
bf6d6bafb4 Ticket #364 (Broken keymap after external command)
fix: broken keymap after run external command (like ispell)
2009-08-15 09:09:21 +00: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
3318a5fd98 Call repaint_screen() in screen repaint command handling. 2009-08-12 21:23:13 +04:00
Andrew Borodin
30fd7fc34a TTY: modified line drawing. 2009-08-12 21:23:13 +04:00