mirror of
https://github.com/MidnightCommander/mc
synced 2025-02-04 01:14:17 +03:00
Refactoring of ButtonBar drawing in viewer.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
This commit is contained in:
parent
ce4334e51e
commit
e3f85ff6d0
@ -64,14 +64,6 @@ static enum ruler_type {
|
||||
|
||||
/* --------------------------------------------------------------------------------------------- */
|
||||
|
||||
static inline void
|
||||
mcview_my_define (Dlg_head * h, int idx, const char *text, void (*fn) (mcview_t *), mcview_t * view)
|
||||
{
|
||||
buttonbar_set_label_data (h, idx, text, (buttonbarfn) fn, view);
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------------------------- */
|
||||
|
||||
/* Define labels and handlers for functional keys */
|
||||
static void
|
||||
mcview_labels (mcview_t * view)
|
||||
@ -81,38 +73,54 @@ mcview_labels (mcview_t * view)
|
||||
|
||||
buttonbar_set_label (h, 1, Q_ ("ButtonBar|Help"), mcview_help_cmd);
|
||||
|
||||
mcview_my_define (h, 10, Q_ ("ButtonBar|Quit"), mcview_quit_cmd, view);
|
||||
text = view->hex_mode ? Q_ ("ButtonBar|Ascii") : Q_ ("ButtonBar|Hex");
|
||||
mcview_my_define (h, 4, text, mcview_toggle_hex_mode_cmd, view);
|
||||
text = view->hex_mode ? Q_ ("ButtonBar|Goto") : Q_ ("ButtonBar|Line");
|
||||
mcview_my_define (h, 5, text,
|
||||
view->hex_mode ? mcview_moveto_addr_cmd : mcview_moveto_line_cmd, view);
|
||||
|
||||
if (view->hex_mode) {
|
||||
if (view->hexedit_mode) {
|
||||
mcview_my_define (h, 2, Q_ ("ButtonBar|View"), mcview_toggle_hexedit_mode_cmd, view);
|
||||
} else if (view->datasource == DS_FILE) {
|
||||
mcview_my_define (h, 2, Q_ ("ButtonBar|Edit"), mcview_toggle_hexedit_mode_cmd, view);
|
||||
} else {
|
||||
if (view->hexedit_mode)
|
||||
buttonbar_set_label_data (h, 2, Q_ ("ButtonBar|View"),
|
||||
(buttonbarfn) mcview_toggle_hexedit_mode_cmd, view);
|
||||
else if (view->datasource == DS_FILE)
|
||||
buttonbar_set_label_data (h, 2, Q_ ("ButtonBar|Edit"),
|
||||
(buttonbarfn) mcview_toggle_hexedit_mode_cmd, view);
|
||||
else
|
||||
buttonbar_clear_label (h, 2);
|
||||
}
|
||||
mcview_my_define (h, 6, Q_ ("ButtonBar|Save"), mcview_hexedit_save_changes_cmd, view);
|
||||
|
||||
buttonbar_set_label_data (h, 4, Q_ ("ButtonBar|Ascii"),
|
||||
(buttonbarfn) mcview_toggle_hex_mode_cmd, view);
|
||||
buttonbar_set_label_data (h, 5, Q_ ("ButtonBar|Goto"),
|
||||
(buttonbarfn) mcview_moveto_addr_cmd, view);
|
||||
buttonbar_set_label_data (h, 6, Q_ ("ButtonBar|Save"),
|
||||
(buttonbarfn) mcview_hexedit_save_changes_cmd, view);
|
||||
buttonbar_set_label_data (h, 7, Q_ ("ButtonBar|HxSrch"),
|
||||
(buttonbarfn) mcview_search_cmd, view);
|
||||
} else {
|
||||
text = view->text_wrap_mode ? Q_ ("ButtonBar|UnWrap") : Q_ ("ButtonBar|Wrap");
|
||||
mcview_my_define (h, 2, text, mcview_toggle_wrap_mode_cmd, view);
|
||||
}
|
||||
buttonbar_set_label_data (h, 2, text,
|
||||
(buttonbarfn) mcview_toggle_wrap_mode_cmd, view);
|
||||
|
||||
text = view->hex_mode ? Q_ ("ButtonBar|HxSrch") : Q_ ("ButtonBar|Search");
|
||||
mcview_my_define (h, 7, text, mcview_search_cmd, view);
|
||||
text = view->magic_mode ? Q_ ("ButtonBar|Raw") : Q_ ("ButtonBar|Parse");
|
||||
mcview_my_define (h, 8, text, mcview_toggle_magic_mode_cmd, view);
|
||||
buttonbar_set_label_data (h, 4, Q_ ("ButtonBar|Hex"),
|
||||
(buttonbarfn) mcview_toggle_hex_mode_cmd, view);
|
||||
buttonbar_set_label_data (h, 5, Q_ ("ButtonBar|Line"),
|
||||
(buttonbarfn) mcview_moveto_line_cmd, view);
|
||||
buttonbar_clear_label (h, 6);
|
||||
buttonbar_set_label_data (h, 7, Q_ ("ButtonBar|Search"),
|
||||
(buttonbarfn) mcview_search_cmd, view);
|
||||
}
|
||||
|
||||
/* don't override the key to access the main menu */
|
||||
if (!mcview_is_in_panel (view)) {
|
||||
buttonbar_set_label_data (h, 3, Q_ ("ButtonBar|Quit"),
|
||||
(buttonbarfn) mcview_quit_cmd, view);
|
||||
|
||||
text = view->text_nroff_mode ? Q_ ("ButtonBar|Unform") : Q_ ("ButtonBar|Format");
|
||||
mcview_my_define (h, 9, text, mcview_toggle_nroff_mode_cmd, view);
|
||||
mcview_my_define (h, 3, Q_ ("ButtonBar|Quit"), mcview_quit_cmd, view);
|
||||
buttonbar_set_label_data (h, 9, text,
|
||||
(buttonbarfn) mcview_toggle_nroff_mode_cmd, view);
|
||||
}
|
||||
|
||||
text = view->magic_mode ? Q_ ("ButtonBar|Raw") : Q_ ("ButtonBar|Parse");
|
||||
buttonbar_set_label_data (h, 8, text,
|
||||
(buttonbarfn) mcview_toggle_magic_mode_cmd, view);
|
||||
|
||||
buttonbar_set_label_data (h, 10, Q_ ("ButtonBar|Quit"),
|
||||
(buttonbarfn) mcview_quit_cmd, view);
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------------------------- */
|
||||
|
Loading…
x
Reference in New Issue
Block a user