edit/edit.h: moved N_menus 5 macro to editmenu.c. Renamed edit_init_menu()
to edit_create_menu().
edit/editmenu.c: added static variable EditMenuBar to store editor menus.
Reimplemented menu creation. Added new edit_create_menu() function.
edit/editwidget.c (edit_file): used edit_create_menu() instead of
edit_init_menu().
like buttons use menu entries hotkey_t. But menus are staticly defined, so this
change is much bigger. All menu declaration must be edited. follow standard
changes in drawing and handling hotkeys.
now basic mc's functions works in utf-8, remain correct calculation of controls
width in dialogs, replace functions like tolower, toupper,isspace, ... width
functions from strutil or g_ascii variant.
highlighting.
* edit/Makefile.am: Add choosesyntax.c.
* edit/edit.c (edit_init): Set option_auto_syntax to 1 on every invokation
of the editor.
* edit/edit.h: Pass char*** to edit_load_syntax(). Add parameters for
syntax dialog and override.
* edit/editmenu.c (menu_options): Add menu option to override syntax
hightlighting.
* edit/editoptions.c (edit_options_dialog): Pass option_syntax_type to
edit_load_syntax().
* edit/syntax.c (edit_read_syntax_file): Dynamically allocate and fill
syntax list pnames.
* edit/syntax.c (edit_load_syntax): Use char*** for syntax list.
* src/wtools.h: #include "widget.h" and remove redundant declarations
of Dlg_head and WListbox.
* usermap.h: Likewise.
* Makefile.am: Likewise.
* editcmd.c: Define new editor commands which had been coded
inline before.
This change also affects some other files.
* edit-widget.h: Invented a new type edit_key_map_type instead of
using long for.
* editkeys.c: Using that type.
* editmenu.c (edit_init_menu): ... here. Allocate menu
dynamically.
(edit_done_menu): Take Wmenu argument rather than Menu. Free
menu.
(edit_reload_menu): New function, reload the menu.
(edit_options_dialog): Reload the menu if key emulation has
changed.
pointer for previous widget. The widget can be replaced in the
meantime.
* dlg.c (dlg_select_by_id): New function, essentially a cleaner
implementation of dlg_select_nth_widget().
* configure.in: ALL_LINGUAS test added, to allow specify list
of languages to be installed by setting env variable before
configure. If it is empty, it defaults to full list.
* src/menu.h menu_entry.{hot_pos, is_dupped} dropped
* src/menu.c: consistency fixes: pull-down menu items are now
accessible either with arrow keys or with hotkeys, denoted with &
(and highlighted). (key combinations, placed to the right of items
intended to be used from outside the menus). Freeing menu entries
removed as it no longer needed
* src/main.c, edit/editmenu.c: menubar init code is changed to conform
above fixes.
* edit/edit.h: use of "Cancel" in error_dialogs replaced with
"Dismiss", to avoid collisions in translation of "Cancel" in other
places with this case.
* src/boxes.c: select_format() and it's support removed, as it is
obsoleted by input line history feature. display_init()/display_callback
fixed to suite i18n changes. sort_box() - alike.
* src/option.c: pause_options added &'s and gettext calls to expand
statically assigned values.
* src/widget.c: (radio_callback) hotkey recognition is changed to
&-notation, rather than simple uppercase.
* src/dlg.c: (dlg_try_hotkey) plain symbol comparison replaced with
call to isalpha(), this fixes errorneous exit from input line, when
button hotkey is 8-bit NLS char.
* menu.c (destroy_menu): Implement destroy_menu for all of the
ports as a routine that frees the menu entries if
internationalization has been enabled.
* wtools.c (quick_dialog_skip): Do not i18n any string that is empty.
Sun Mar 29 23:02:09 1998 Alex Tkachenko <alex@bcs.zp.ua>
* src/menu.[ch]: new member to menu_entry (hot_pos) introduced to make
internationalized version of menu use externally defined hotkeys
(denoted with preceding &). create_menu() fixed to load intl text of
the entries. Some fixes around menu.c to enable usage of reloaded
hotkeys.
* main.c, editmenu.c: menu initialization code fixed to conform new
menu structure. editmenu init code includes N_(..) now.
* menu.c, layout.c, editwidget.c: bar menu items displacement is made
dynamically upon initialization and window size changes. Mouse event
processing is fixed accordingly.
Sat Mar 28 13:18:36 1998 Alex Tkachenko <alex@bcs.zp.ua>
* src/screen.c: (repaint_file) last patches to format_file() in the
same file broke appearance of panels in brief mode -- fixed.