/** \brief Launch help system. * */ void gpredict_help_launch (gpredict_help_type_t type) { browser_type_t idx; gint resp; (void) type; /* avoid unused parameter compiler warning */ idx = sat_cfg_get_int (SAT_CFG_INT_WEB_BROWSER_TYPE); /* some sanity check before accessing the arrays ;-) */ if ((idx <= BROWSER_TYPE_NONE) || (idx >= BROWSER_TYPE_NUM)) { idx = BROWSER_TYPE_NONE; } if (idx == BROWSER_TYPE_NONE) { sat_log_log (SAT_LOG_LEVEL_INFO, _("%s: Help browser is not set up yet."), __FUNCTION__); resp = config_help (); if (resp == GTK_RESPONSE_CANCEL) { sat_log_log (SAT_LOG_LEVEL_INFO, _("%s: Configure help browser cancelled."), __FUNCTION__); return; } /* else try again */ idx = sat_cfg_get_int (SAT_CFG_INT_WEB_BROWSER_TYPE); } if ((idx <= BROWSER_TYPE_NONE) || (idx >= BROWSER_TYPE_NUM)) { return; } /* launch help browser */ sat_log_log (SAT_LOG_LEVEL_DEBUG, _("%s: Launching help browser %s."), __FUNCTION__, sat_help[idx].type); g_print ("FIXME: FINSH IMPELMTATION\n"); }
void get_options(int argc, char *argv[], struct dicod_conf_override *conf) { #line 176 { #line 176 int c; #line 176 #line 176 #ifdef HAVE_GETOPT_LONG #line 176 while ((c = getopt_long(argc, argv, "EtifsTx:I:D:hV", #line 176 long_options, NULL)) != EOF) #line 176 #else #line 176 while ((c = getopt(argc, argv, "EtifsTx:I:D:hV")) != EOF) #line 176 #endif #line 176 { #line 176 switch (c) #line 176 { #line 176 default: #line 176 exit(EX_USAGE); exit(EX_USAGE); #line 176 #line 38 "cmdline.opt" case 'E': #line 38 { #line 38 mode = MODE_PREPROC; #line 40 break; #line 40 } #line 44 "cmdline.opt" case 't': #line 44 { #line 44 config_lint_option = 1; #line 46 break; #line 46 } #line 50 "cmdline.opt" case 'i': #line 50 { #line 50 mode = MODE_INETD; #line 52 break; #line 52 } #line 58 "cmdline.opt" case OPTION_CONFIG: #line 58 { #line 58 config_file = optarg; #line 60 break; #line 60 } #line 64 "cmdline.opt" case 'f': #line 64 { #line 64 foreground = 1; #line 66 break; #line 66 } #line 70 "cmdline.opt" case OPTION_STDERR: #line 70 { #line 70 log_to_stderr = 1; #line 72 break; #line 72 } #line 76 "cmdline.opt" case OPTION_SYSLOG: #line 76 { #line 76 log_to_stderr = 0; #line 78 break; #line 78 } #line 82 "cmdline.opt" case 's': #line 82 { #line 82 single_process = 1; #line 84 break; #line 84 } #line 90 "cmdline.opt" case 'T': #line 90 { #line 90 conf->transcript = 1; #line 92 break; #line 92 } #line 96 "cmdline.opt" case OPTION_NO_TRANSCRIPT: #line 96 { #line 96 conf->transcript = 0; #line 98 break; #line 98 } #line 102 "cmdline.opt" case 'x': #line 102 { #line 102 debug_level_str = optarg; debug_level = atoi(optarg); #line 105 break; #line 105 } #line 109 "cmdline.opt" case OPTION_SOURCE_INFO: #line 109 { #line 109 debug_source_info = 1; #line 111 break; #line 111 } #line 115 "cmdline.opt" case OPTION_TRACE_GRAMMAR: #line 115 { #line 115 grecs_gram_trace(1); #line 117 break; #line 117 } #line 121 "cmdline.opt" case OPTION_TRACE_LEX: #line 121 { #line 121 grecs_lex_trace(1); #line 123 break; #line 123 } #line 129 "cmdline.opt" case OPTION_CONFIG_HELP: #line 129 { #line 129 config_help(); exit(0); #line 132 break; #line 132 } #line 138 "cmdline.opt" case OPTION_PREPROCESSOR: #line 138 { #line 138 grecs_preprocessor = optarg; #line 140 break; #line 140 } #line 144 "cmdline.opt" case OPTION_NO_PREPROCESSOR: #line 144 { #line 144 grecs_preprocessor = NULL; #line 146 break; #line 146 } #line 150 "cmdline.opt" case 'I': #line 150 { #line 150 grecs_preproc_add_include_dir(optarg); #line 152 break; #line 152 } #line 156 "cmdline.opt" case 'D': #line 156 { #line 156 char *p; if (!pp_cmd_acc) pp_cmd_acc = grecs_txtacc_create(); grecs_txtacc_grow(pp_cmd_acc, " \"-D", 4); for (p = optarg; *p; p++) { if (*p == '\\' || *p == '"') grecs_txtacc_grow_char(pp_cmd_acc, '\\'); grecs_txtacc_grow_char(pp_cmd_acc, *p); } grecs_txtacc_grow_char(pp_cmd_acc, '"'); #line 168 break; #line 168 } #line 171 "cmdline.opt" case 'h': #line 171 { #line 171 #line 171 print_help (); #line 171 exit (0); #line 171 #line 171 break; #line 171 } #line 171 "cmdline.opt" case OPTION_USAGE: #line 171 { #line 171 #line 171 print_usage (); #line 171 exit (0); #line 171 #line 171 break; #line 171 } #line 171 "cmdline.opt" case 'V': #line 171 { #line 171 #line 171 /* Give version */ #line 171 print_version(program_version, stdout); #line 171 exit (0); #line 171 #line 171 break; #line 171 } #line 176 "cmdline.opt" } #line 176 } #line 176 #line 176 if (optind < argc) { #line 176 fprintf(stderr, "%s: unexpected arguments\n", argv[0]); #line 176 exit(EX_USAGE); #line 176 } #line 176 #line 176 if (cmdline_tree) #line 176 { #line 176 struct grecs_node *rn = grecs_node_create(grecs_node_root, NULL); #line 176 rn->down = cmdline_tree; #line 176 cmdline_tree = rn; #line 176 } #line 176 } #line 176 if (pp_cmd_acc && grecs_preprocessor) { char *args, *cmd; grecs_txtacc_grow_char(pp_cmd_acc, 0); args = grecs_txtacc_finish(pp_cmd_acc, 0); cmd = grecs_malloc(strlen(grecs_preprocessor) + strlen(args) + 1); strcpy(cmd, grecs_preprocessor); strcat(cmd, args); grecs_preprocessor = cmd; } grecs_txtacc_free(pp_cmd_acc); }
/*---------------------------------------------------------------------- Present pinerc data for manipulation Args: None Result: help edit certain pinerc fields. ---*/ void option_screen(struct pine *ps, int edit_exceptions) { char tmp[MAXPATH+1], *pval, **lval; int i, j, ln = 0, readonly_warning = 0; struct variable *vtmp; CONF_S *ctmpa = NULL, *ctmpb, *first_line = NULL; FEATURE_S *feature; PINERC_S *prc = NULL; SAVED_CONFIG_S *vsave; OPT_SCREEN_S screen; int expose_hidden_config, add_hidden_vars_title = 0; dprint((3, "-- option_screen --\n")); expose_hidden_config = F_ON(F_EXPOSE_HIDDEN_CONFIG, ps_global); treat_color_vars_as_text = expose_hidden_config; ew = edit_exceptions ? ps_global->ew_for_except_vars : Main; if(ps->restricted) readonly_warning = 1; else{ switch(ew){ case Main: prc = ps->prc; break; case Post: prc = ps->post_prc; break; default: break; } readonly_warning = prc ? prc->readonly : 1; if(prc && prc->quit_to_edit){ quit_to_edit_msg(prc); treat_color_vars_as_text = 0; return; } } ps->next_screen = SCREEN_FUN_NULL; mailcap_free(); /* free resources we won't be using for a while */ if(ps->fix_fixed_warning) offer_to_fix_pinerc(ps); /* * First, find longest variable name */ for(vtmp = ps->vars; vtmp->name; vtmp++){ if(exclude_config_var(ps, vtmp, expose_hidden_config)) continue; if((i = utf8_width(pretty_var_name(vtmp->name))) > ln) ln = i; } dprint((9, "initialize config list\n")); /* * Next, allocate and initialize config line list... */ for(vtmp = ps->vars; vtmp->name; vtmp++){ /* * INCOMING_FOLDERS is currently the first of the normally * hidden variables. Should probably invent a more robust way * to keep this up to date. */ if(expose_hidden_config && vtmp == &ps->vars[V_INCOMING_FOLDERS]) add_hidden_vars_title = 1; if(exclude_config_var(ps, vtmp, expose_hidden_config)) continue; if(add_hidden_vars_title){ add_hidden_vars_title = 0; new_confline(&ctmpa); /* Blank line */ ctmpa->flags |= CF_NOSELECT | CF_B_LINE; new_confline(&ctmpa)->var = NULL; ctmpa->help = NO_HELP; ctmpa->valoffset = 2; ctmpa->flags |= CF_NOSELECT; ctmpa->value = cpystr("--- [ Normally hidden configuration options ] ---"); new_confline(&ctmpa); /* Blank line */ ctmpa->flags |= CF_NOSELECT | CF_B_LINE; } if(vtmp->is_list) lval = LVAL(vtmp, ew); else pval = PVAL(vtmp, ew); new_confline(&ctmpa)->var = vtmp; if(!first_line) first_line = ctmpa; ctmpa->valoffset = ln + 3; if(vtmp->is_list) ctmpa->keymenu = &config_text_wshuf_keymenu; else ctmpa->keymenu = &config_text_keymenu; ctmpa->help = config_help(vtmp - ps->vars, 0); ctmpa->tool = text_tool; utf8_snprintf(tmp, sizeof(tmp), "%-*.100w =", ln, pretty_var_name(vtmp->name)); tmp[sizeof(tmp)-1] = '\0'; ctmpa->varname = cpystr(tmp); ctmpa->varnamep = ctmpb = ctmpa; ctmpa->flags |= CF_STARTITEM; if(vtmp == &ps->vars[V_FEATURE_LIST]){ /* special checkbox case */ char *this_sect, *new_sect; ctmpa->flags |= CF_NOSELECT; ctmpa->keymenu = &config_checkbox_keymenu; ctmpa->tool = NULL; /* put a nice delimiter before list */ new_confline(&ctmpa)->var = NULL; ctmpa->varnamep = ctmpb; ctmpa->keymenu = &config_checkbox_keymenu; ctmpa->help = NO_HELP; ctmpa->tool = checkbox_tool; ctmpa->valoffset = feature_indent(); ctmpa->flags |= CF_NOSELECT; ctmpa->value = cpystr("Set Feature Name"); new_confline(&ctmpa)->var = NULL; ctmpa->varnamep = ctmpb; ctmpa->keymenu = &config_checkbox_keymenu; ctmpa->help = NO_HELP; ctmpa->tool = checkbox_tool; ctmpa->valoffset = feature_indent(); ctmpa->flags |= CF_NOSELECT; ctmpa->value = cpystr("--- ----------------------"); for(i = 0, this_sect = NULL; (feature = feature_list(i)); i++) if((new_sect = feature_list_section(feature)) && (strcmp(new_sect, HIDDEN_PREF) != 0)){ if(this_sect != new_sect){ new_confline(&ctmpa)->var = NULL; ctmpa->varnamep = ctmpb; ctmpa->keymenu = &config_checkbox_keymenu; ctmpa->help = NO_HELP; ctmpa->tool = checkbox_tool; ctmpa->valoffset = 2; ctmpa->flags |= (CF_NOSELECT | CF_STARTITEM); snprintf(tmp, sizeof(tmp), "[ %s ]", this_sect = new_sect); tmp[sizeof(tmp)-1] = '\0'; ctmpa->value = cpystr(tmp); } new_confline(&ctmpa)->var = vtmp; ctmpa->varnamep = ctmpb; ctmpa->keymenu = &config_checkbox_keymenu; ctmpa->help = config_help(vtmp-ps->vars, feature->id); ctmpa->tool = checkbox_tool; ctmpa->valoffset = feature_indent(); ctmpa->varmem = i; ctmpa->value = pretty_value(ps, ctmpa); } } else if(standard_radio_var(ps, vtmp)){ standard_radio_setup(ps, &ctmpa, vtmp, NULL); } else if(vtmp == &ps->vars[V_SORT_KEY]){ /* radio case */ SortOrder def_sort; int def_sort_rev; ctmpa->flags |= CF_NOSELECT; ctmpa->keymenu = &config_radiobutton_keymenu; ctmpa->tool = NULL; /* put a nice delimiter before list */ new_confline(&ctmpa)->var = NULL; ctmpa->varnamep = ctmpb; ctmpa->keymenu = &config_radiobutton_keymenu; ctmpa->help = NO_HELP; ctmpa->tool = radiobutton_tool; ctmpa->valoffset = 12; ctmpa->flags |= CF_NOSELECT; ctmpa->value = cpystr("Set Sort Options"); new_confline(&ctmpa)->var = NULL; ctmpa->varnamep = ctmpb; ctmpa->keymenu = &config_radiobutton_keymenu; ctmpa->help = NO_HELP; ctmpa->tool = radiobutton_tool; ctmpa->valoffset = 12; ctmpa->flags |= CF_NOSELECT; ctmpa->value = cpystr("--- ----------------------"); decode_sort(pval, &def_sort, &def_sort_rev); for(j = 0; j < 2; j++){ for(i = 0; ps->sort_types[i] != EndofList; i++){ new_confline(&ctmpa)->var = vtmp; ctmpa->varnamep = ctmpb; ctmpa->keymenu = &config_radiobutton_keymenu; ctmpa->help = config_help(vtmp - ps->vars, 0); ctmpa->tool = radiobutton_tool; ctmpa->valoffset = 12; ctmpa->varmem = i + (j * EndofList); ctmpa->value = pretty_value(ps, ctmpa); } } } else if(vtmp == &ps->vars[V_USE_ONLY_DOMAIN_NAME]){ /* yesno case */ ctmpa->keymenu = &config_yesno_keymenu; ctmpa->tool = yesno_tool; ctmpa->value = pretty_value(ps, ctmpa); } else if(vtmp == &ps->vars[V_LITERAL_SIG]){ ctmpa->tool = litsig_text_tool; ctmpa->value = pretty_value(ps, ctmpa); } else if(vtmp == &ps->vars[V_INBOX_PATH]){ ctmpa->tool = inbox_path_text_tool; ctmpa->value = pretty_value(ps, ctmpa); } else if(vtmp == &ps->vars[V_POST_CHAR_SET] #ifndef _WINDOWS || vtmp == &ps->vars[V_CHAR_SET] || vtmp == &ps->vars[V_KEY_CHAR_SET] #endif /* !_WINDOWS */ || vtmp == &ps->vars[V_UNK_CHAR_SET]){ ctmpa->keymenu = &config_text_to_charsets_keymenu; ctmpa->tool = to_charsets_text_tool; ctmpa->value = pretty_value(ps, ctmpa); } else if(vtmp->is_list){ int (*t_tool)(struct pine *, int, CONF_S **, unsigned); struct key_menu *km; t_tool = NULL; km = NULL; if(vtmp == &ps->vars[V_INCCHECKLIST]){ t_tool = incoming_monitoring_list_tool; km = &config_text_keymenu; } else if(vtmp == &ps->vars[V_PERMLOCKED]){ t_tool = stayopen_list_tool; km = &config_text_wshufandfldr_keymenu; } if(lval){ for(i = 0; lval[i]; i++){ if(i) (void)new_confline(&ctmpa); ctmpa->var = vtmp; ctmpa->varmem = i; ctmpa->valoffset = ln + 3; ctmpa->value = pretty_value(ps, ctmpa); ctmpa->keymenu = km ? km : &config_text_wshuf_keymenu; ctmpa->help = config_help(vtmp - ps->vars, 0); ctmpa->tool = t_tool ? t_tool : text_tool; ctmpa->varnamep = ctmpb; } } else{ ctmpa->varmem = 0; ctmpa->value = pretty_value(ps, ctmpa); ctmpa->tool = t_tool ? t_tool : text_tool; ctmpa->keymenu = km ? km : &config_text_wshuf_keymenu; } } else{ if(vtmp == &ps->vars[V_FILLCOL] || vtmp == &ps->vars[V_SLEEP] || vtmp == &ps->vars[V_QUOTE_SUPPRESSION] || vtmp == &ps->vars[V_OVERLAP] || vtmp == &ps->vars[V_MAXREMSTREAM] || vtmp == &ps->vars[V_MARGIN] || vtmp == &ps->vars[V_DEADLETS] || vtmp == &ps->vars[V_NMW_WIDTH] || vtmp == &ps->vars[V_STATUS_MSG_DELAY] || vtmp == &ps->vars[V_ACTIVE_MSG_INTERVAL] || vtmp == &ps->vars[V_MAILCHECK] || vtmp == &ps->vars[V_MAILCHECKNONCURR] || vtmp == &ps->vars[V_MAILDROPCHECK] || vtmp == &ps->vars[V_NNTPRANGE] || vtmp == &ps->vars[V_TCPOPENTIMEO] || vtmp == &ps->vars[V_TCPREADWARNTIMEO] || vtmp == &ps->vars[V_TCPWRITEWARNTIMEO] || vtmp == &ps->vars[V_TCPQUERYTIMEO] || vtmp == &ps->vars[V_RSHOPENTIMEO] || vtmp == &ps->vars[V_SSHOPENTIMEO] || vtmp == &ps->vars[V_INCCHECKTIMEO] || vtmp == &ps->vars[V_INCCHECKINTERVAL] || vtmp == &ps->vars[V_INC2NDCHECKINTERVAL] || vtmp == &ps->vars[V_USERINPUTTIMEO] || vtmp == &ps->vars[V_REMOTE_ABOOK_VALIDITY] || vtmp == &ps->vars[V_REMOTE_ABOOK_HISTORY]) ctmpa->flags |= CF_NUMBER; ctmpa->value = pretty_value(ps, ctmpa); } } dprint((9, "add hidden features\n")); /* add the hidden features */ if(expose_hidden_config){ char *new_sect; new_confline(&ctmpa); /* Blank line */ ctmpa->flags |= CF_NOSELECT | CF_B_LINE; new_confline(&ctmpa)->var = NULL; ctmpa->help = NO_HELP; ctmpa->valoffset = 2; ctmpa->flags |= CF_NOSELECT; ctmpa->value = cpystr("--- [ Normally hidden configuration features ] ---"); new_confline(&ctmpa); /* Blank line */ ctmpa->flags |= CF_NOSELECT | CF_B_LINE; vtmp = &ps->vars[V_FEATURE_LIST]; ctmpa->flags |= CF_NOSELECT; ctmpa->keymenu = &config_checkbox_keymenu; ctmpa->tool = NULL; /* put a nice delimiter before list */ new_confline(&ctmpa)->var = NULL; ctmpa->varnamep = ctmpb; ctmpa->keymenu = &config_checkbox_keymenu; ctmpa->help = NO_HELP; ctmpa->tool = checkbox_tool; ctmpa->valoffset = feature_indent(); ctmpa->flags |= CF_NOSELECT; ctmpa->value = cpystr("Set Feature Name"); new_confline(&ctmpa)->var = NULL; ctmpa->varnamep = ctmpb; ctmpa->keymenu = &config_checkbox_keymenu; ctmpa->help = NO_HELP; ctmpa->tool = checkbox_tool; ctmpa->valoffset = feature_indent(); ctmpa->flags |= CF_NOSELECT; ctmpa->value = cpystr("--- ----------------------"); for(i = 0; (feature = feature_list(i)); i++) if((new_sect = feature_list_section(feature)) && (strcmp(new_sect, HIDDEN_PREF) == 0)){ new_confline(&ctmpa)->var = vtmp; ctmpa->varnamep = ctmpb; ctmpa->keymenu = &config_checkbox_keymenu; ctmpa->help = config_help(vtmp-ps->vars, feature->id); ctmpa->tool = checkbox_tool; ctmpa->valoffset = feature_indent(); ctmpa->varmem = i; ctmpa->value = pretty_value(ps, ctmpa); } } vsave = save_config_vars(ps, expose_hidden_config); first_line = first_sel_confline(first_line); memset(&screen, 0, sizeof(screen)); screen.ro_warning = readonly_warning; /* TRANSLATORS: Print something1 using something2. "configuration" is something1 */ switch(conf_scroll_screen(ps, &screen, first_line, edit_exceptions ? CONFIG_SCREEN_TITLE_EXC : CONFIG_SCREEN_TITLE, _("configuration"), 0)){ case 0: break; case 1: write_pinerc(ps, ew, WRP_NONE); break; case 10: revert_to_saved_config(ps, vsave, expose_hidden_config); if(prc) prc->outstanding_pinerc_changes = 0; break; default: q_status_message(SM_ORDER,7,10, "conf_scroll_screen bad ret, not supposed to happen"); break; } pval = PVAL(&ps->vars[V_SORT_KEY], ew); if(vsave[V_SORT_KEY].saved_user_val.p && pval && strcmp(vsave[V_SORT_KEY].saved_user_val.p, pval)){ if(!mn_get_mansort(ps_global->msgmap)){ clear_index_cache(ps_global->mail_stream, 0); reset_sort_order(SRT_VRB); } } treat_color_vars_as_text = 0; free_saved_config(ps, &vsave, expose_hidden_config); #ifdef _WINDOWS mswin_set_quit_confirm (F_OFF(F_QUIT_WO_CONFIRM, ps_global)); #endif }
void smime_config_init_display(struct pine *ps, CONF_S **ctmp, CONF_S **first_line) { char tmp[200]; int i, ind, ln = 0; struct variable *vtmp; CONF_S *ctmpb; FEATURE_S *feature; /* find longest variable name */ for(vtmp = ps->vars; vtmp->name; vtmp++){ if(!(smime_related_var(ps, vtmp))) continue; if((i = utf8_width(pretty_var_name(vtmp->name))) > ln) ln = i; } for(vtmp = ps->vars; vtmp->name; vtmp++){ if(!(smime_related_var(ps, vtmp))) continue; new_confline(ctmp)->var = vtmp; if(first_line && !*first_line) *first_line = *ctmp; (*ctmp)->valoffset = ln+3; (*ctmp)->keymenu = &config_text_keymenu; (*ctmp)->help = config_help(vtmp - ps->vars, 0); (*ctmp)->tool = text_tool; utf8_snprintf(tmp, sizeof(tmp), "%-*.100w =", ln, pretty_var_name(vtmp->name)); tmp[sizeof(tmp)-1] = '\0'; (*ctmp)->varname = cpystr(tmp); (*ctmp)->varnamep = (*ctmp); (*ctmp)->flags = CF_STARTITEM; (*ctmp)->value = pretty_value(ps, *ctmp); } vtmp = &ps->vars[V_FEATURE_LIST]; new_confline(ctmp); ctmpb = (*ctmp); (*ctmp)->flags |= CF_NOSELECT | CF_STARTITEM; (*ctmp)->keymenu = &config_checkbox_keymenu; (*ctmp)->tool = NULL; /* put a nice delimiter before list */ new_confline(ctmp)->var = NULL; (*ctmp)->varnamep = ctmpb; (*ctmp)->keymenu = &config_checkbox_keymenu; (*ctmp)->help = NO_HELP; (*ctmp)->tool = checkbox_tool; (*ctmp)->valoffset = feature_indent(); (*ctmp)->flags |= CF_NOSELECT; (*ctmp)->value = cpystr("Set Feature Name"); new_confline(ctmp)->var = NULL; (*ctmp)->varnamep = ctmpb; (*ctmp)->keymenu = &config_checkbox_keymenu; (*ctmp)->help = NO_HELP; (*ctmp)->tool = checkbox_tool; (*ctmp)->valoffset = feature_indent(); (*ctmp)->flags |= CF_NOSELECT; (*ctmp)->value = cpystr("--- ----------------------"); ind = feature_list_index(F_DONT_DO_SMIME); feature = feature_list(ind); new_confline(ctmp)->var = vtmp; (*ctmp)->varnamep = ctmpb; (*ctmp)->keymenu = &config_checkbox_keymenu; (*ctmp)->help = config_help(vtmp-ps->vars, feature->id); (*ctmp)->tool = checkbox_tool; (*ctmp)->valoffset = feature_indent(); (*ctmp)->varmem = ind; (*ctmp)->value = pretty_value(ps, (*ctmp)); ind = feature_list_index(F_ENCRYPT_DEFAULT_ON); feature = feature_list(ind); new_confline(ctmp)->var = vtmp; (*ctmp)->varnamep = ctmpb; (*ctmp)->keymenu = &config_checkbox_keymenu; (*ctmp)->help = config_help(vtmp-ps->vars, feature->id); (*ctmp)->tool = checkbox_tool; (*ctmp)->valoffset = feature_indent(); (*ctmp)->varmem = ind; (*ctmp)->value = pretty_value(ps, (*ctmp)); ind = feature_list_index(F_REMEMBER_SMIME_PASSPHRASE); feature = feature_list(ind); new_confline(ctmp)->var = vtmp; (*ctmp)->varnamep = ctmpb; (*ctmp)->keymenu = &config_checkbox_keymenu; (*ctmp)->help = config_help(vtmp-ps->vars, feature->id); (*ctmp)->tool = checkbox_tool; (*ctmp)->valoffset = feature_indent(); (*ctmp)->varmem = ind; (*ctmp)->value = pretty_value(ps, (*ctmp)); ind = feature_list_index(F_SIGN_DEFAULT_ON); feature = feature_list(ind); new_confline(ctmp)->var = vtmp; (*ctmp)->varnamep = ctmpb; (*ctmp)->keymenu = &config_checkbox_keymenu; (*ctmp)->help = config_help(vtmp-ps->vars, feature->id); (*ctmp)->tool = checkbox_tool; (*ctmp)->valoffset = feature_indent(); (*ctmp)->varmem = ind; (*ctmp)->value = pretty_value(ps, (*ctmp)); #ifdef APPLEKEYCHAIN new_confline(ctmp); (*ctmp)->flags |= CF_NOSELECT | CF_B_LINE; new_confline(ctmp); (*ctmp)->flags |= CF_NOSELECT; (*ctmp)->value = cpystr(_("Mac OS X specific features")); ind = feature_list_index(F_PUBLICCERTS_IN_KEYCHAIN); feature = feature_list(ind); new_confline(ctmp)->var = vtmp; (*ctmp)->varnamep = ctmpb; (*ctmp)->keymenu = &config_checkbox_keymenu; (*ctmp)->help = config_help(vtmp-ps->vars, feature->id); (*ctmp)->tool = checkbox_tool; (*ctmp)->valoffset = feature_indent(); (*ctmp)->varmem = ind; (*ctmp)->value = pretty_value(ps, (*ctmp)); #endif /* APPLEKEYCHAIN */ new_confline(ctmp); (*ctmp)->flags |= CF_NOSELECT | CF_B_LINE; new_confline(ctmp); (*ctmp)->flags |= CF_NOSELECT; (*ctmp)->value = cpystr("---------------------------------------------------------------------------"); new_confline(ctmp); (*ctmp)->flags |= CF_NOSELECT; (*ctmp)->value = cpystr(_("Be careful with the following commands, they REPLACE contents in the target")); new_confline(ctmp); (*ctmp)->flags |= CF_NOSELECT; (*ctmp)->value = cpystr("---------------------------------------------------------------------------"); new_confline(ctmp); (*ctmp)->flags |= CF_NOSELECT | CF_B_LINE; /* copy public directory to container */ new_confline(ctmp); (*ctmp)->tool = smime_helper_tool; (*ctmp)->keymenu = &config_smime_helper_keymenu; (*ctmp)->help = h_config_smime_transfer_pub_to_con; (*ctmp)->value = cpystr(_("Transfer public certs FROM directory TO container")); (*ctmp)->varmem = 1; /* copy private directory to container */ new_confline(ctmp); (*ctmp)->tool = smime_helper_tool; (*ctmp)->keymenu = &config_smime_helper_keymenu; (*ctmp)->help = h_config_smime_transfer_priv_to_con; (*ctmp)->value = cpystr(_("Transfer private keys FROM directory TO container")); (*ctmp)->varmem = 3; /* copy cacert directory to container */ new_confline(ctmp); (*ctmp)->tool = smime_helper_tool; (*ctmp)->keymenu = &config_smime_helper_keymenu; (*ctmp)->help = h_config_smime_transfer_cacert_to_con; (*ctmp)->value = cpystr(_("Transfer CA certs FROM directory TO container")); (*ctmp)->varmem = 5; new_confline(ctmp)->var = vtmp; (*ctmp)->flags |= CF_NOSELECT | CF_B_LINE; /* copy public container to directory */ new_confline(ctmp); (*ctmp)->tool = smime_helper_tool; (*ctmp)->keymenu = &config_smime_helper_keymenu; (*ctmp)->help = h_config_smime_transfer_pub_to_dir; (*ctmp)->value = cpystr(_("Transfer public certs FROM container TO directory")); (*ctmp)->varmem = 2; /* copy private container to directory */ new_confline(ctmp); (*ctmp)->tool = smime_helper_tool; (*ctmp)->keymenu = &config_smime_helper_keymenu; (*ctmp)->help = h_config_smime_transfer_priv_to_dir; (*ctmp)->value = cpystr(_("Transfer private keys FROM container TO directory")); (*ctmp)->varmem = 4; /* copy cacert container to directory */ new_confline(ctmp); (*ctmp)->tool = smime_helper_tool; (*ctmp)->keymenu = &config_smime_helper_keymenu; (*ctmp)->help = h_config_smime_transfer_cacert_to_dir; (*ctmp)->value = cpystr(_("Transfer CA certs FROM container TO directory")); (*ctmp)->varmem = 6; #ifdef APPLEKEYCHAIN new_confline(ctmp)->var = vtmp; (*ctmp)->flags |= CF_NOSELECT | CF_B_LINE; /* copy public container to keychain */ new_confline(ctmp); (*ctmp)->tool = smime_helper_tool; (*ctmp)->keymenu = &config_smime_helper_keymenu; (*ctmp)->help = h_config_smime_transfer_pubcon_to_key; (*ctmp)->value = cpystr(_("Transfer public certs FROM container TO keychain")); (*ctmp)->varmem = 7; /* copy public keychain to container */ new_confline(ctmp); (*ctmp)->tool = smime_helper_tool; (*ctmp)->keymenu = &config_smime_helper_keymenu; (*ctmp)->help = h_config_smime_transfer_pubkey_to_con; (*ctmp)->value = cpystr(_("Transfer public certs FROM keychain TO container")); (*ctmp)->varmem = 8; #endif /* APPLEKEYCHAIN */ }