Index: src_plugins/dialogs/dlg_pref.h =================================================================== --- src_plugins/dialogs/dlg_pref.h (revision 35842) +++ src_plugins/dialogs/dlg_pref.h (revision 35843) @@ -23,9 +23,14 @@ pref_confitem_t *cnext; /* linked list for conf callback - should be NULL initially */ }; +typedef enum Rnd_pref_tab_flag_e { + Rnd_PREFTAB_NEEDS_ROLE +} Rnd_pref_tab_flag_t; + typedef struct Rnd_pref_tab_hook_s Rnd_pref_tab_hook_t; struct Rnd_pref_tab_hook_s { const char *tab_label; + unsigned long flags; /* bitfield of Rnd_pref_tab_flag_t */ void (*open_cb)(pref_ctx_t *ctx); /* called right after the dialog box is created */ void (*close_cb)(pref_ctx_t *ctx); /* called from the dialog box is close_cb event */ Index: src_plugins/dialogs/dlg_pref_board.c =================================================================== --- src_plugins/dialogs/dlg_pref_board.c (revision 35842) +++ src_plugins/dialogs/dlg_pref_board.c (revision 35843) @@ -100,7 +100,7 @@ } static const Rnd_pref_tab_hook_t pref_board = { - "Board meta", + "Board meta", 0, NULL, NULL, pcb_dlg_pref_board_create, pref_board_brd2dlg, pref_board_brd2dlg /* board change, meta change */ Index: src_plugins/dialogs/dlg_pref_color.c =================================================================== --- src_plugins/dialogs/dlg_pref_color.c (revision 35842) +++ src_plugins/dialogs/dlg_pref_color.c (revision 35843) @@ -169,7 +169,7 @@ } static const Rnd_pref_tab_hook_t pref_color = { - "Colors", + "Colors", Rnd_PREFTAB_NEEDS_ROLE, pcb_dlg_pref_color_open, pcb_dlg_pref_color_close, pcb_dlg_pref_color_create, pref_color_brd2dlg, pref_color_brd2dlg /* board change, meta change */ Index: src_plugins/dialogs/dlg_pref_general.c =================================================================== --- src_plugins/dialogs/dlg_pref_general.c (revision 35842) +++ src_plugins/dialogs/dlg_pref_general.c (revision 35843) @@ -93,7 +93,7 @@ } static const Rnd_pref_tab_hook_t pref_general = { - "General", + "General", Rnd_PREFTAB_NEEDS_ROLE, NULL, pcb_dlg_pref_general_close, pcb_dlg_pref_general_create, NULL, NULL Index: src_plugins/dialogs/dlg_pref_layer.c =================================================================== --- src_plugins/dialogs/dlg_pref_layer.c (revision 35842) +++ src_plugins/dialogs/dlg_pref_layer.c (revision 35843) @@ -61,7 +61,7 @@ } static const Rnd_pref_tab_hook_t pref_layer = { - "Layers", + "Layers", 0, NULL, NULL, pcb_dlg_pref_layer_create, NULL, NULL Index: src_plugins/dialogs/dlg_pref_lib.c =================================================================== --- src_plugins/dialogs/dlg_pref_lib.c (revision 35842) +++ src_plugins/dialogs/dlg_pref_lib.c (revision 35843) @@ -468,7 +468,7 @@ } static const Rnd_pref_tab_hook_t pref_lib = { - "Library", + "Library", Rnd_PREFTAB_NEEDS_ROLE, pcb_dlg_pref_lib_open, pcb_dlg_pref_lib_close, pcb_dlg_pref_lib_create, NULL, NULL Index: src_plugins/dialogs/dlg_pref_sizes.c =================================================================== --- src_plugins/dialogs/dlg_pref_sizes.c (revision 35842) +++ src_plugins/dialogs/dlg_pref_sizes.c (revision 35843) @@ -158,7 +158,7 @@ } static const Rnd_pref_tab_hook_t pref_sizes = { - "Sizes & DRC", + "Sizes & DRC", Rnd_PREFTAB_NEEDS_ROLE, NULL, pcb_dlg_pref_sizes_close, pcb_dlg_pref_sizes_create, pref_sizes_brd2dlg, pref_sizes_brd2dlg /* board change, meta change */