From e3f85ff6d08f696c13cba8c9e7c91096c8586c3c Mon Sep 17 00:00:00 2001 From: Andrew Borodin Date: Sun, 1 Nov 2009 17:01:02 +0300 Subject: [PATCH] Refactoring of ButtonBar drawing in viewer. Signed-off-by: Andrew Borodin --- src/viewer/display.c | 68 +++++++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/src/viewer/display.c b/src/viewer/display.c index b11044579..08b3702e2 100644 --- a/src/viewer/display.c +++ b/src/viewer/display.c @@ -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); } /* --------------------------------------------------------------------------------------------- */