⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lyoptions.c

📁 基于rtos开发的浏览器!
💻 C
📖 第 1 页 / 共 5 页
字号:
			 */			addstr("NONE");			clrtoeol();			option_statusline(VALUE_ACCEPTED);			response = ' ';			break;		    }		}		/*		 *  Set the new DISPLAY variable. - FM		 */#ifdef VMS		{		    int i;		    for (i = 0; display_option[i]; i++)			display_option[i] = TOUPPER(display_option[i]);		    Define_VMSLogical(DISPLAY, display_option);		}#else		sprintf(putenv_command, "DISPLAY=%s", display_option);		putenv(putenv_command);#endif /* VMS */		if ((cp = getenv(DISPLAY)) != NULL && *cp != '\0') {		    StrAllocCopy(display, cp);		} else {		    FREE(display);		}		cp = NULL;		addstr(display ? display : "NONE");		clrtoeol();		if ((display == NULL && *display_option == '\0') ||		    (display != NULL &&		     !strcmp(display, display_option))) {		    if (display == NULL &&			LYisConfiguredForX == TRUE) {			option_statusline(VALUE_ACCEPTED_WARNING_X);		    } else if (display != NULL &&			LYisConfiguredForX == FALSE) {			option_statusline(VALUE_ACCEPTED_WARNING_NONX);		    } else {			option_statusline(VALUE_ACCEPTED);		    }		} else {		    if (*display_option) {			option_statusline(FAILED_TO_SET_DISPLAY);		    } else {			option_statusline(FAILED_CLEAR_SET_DISPLAY);		    }		}		response = ' ';		break;	    case 'l':	/* Change multibookmarks option. */	    case 'L':		if (LYMBMBlocked) {		    option_statusline(MULTIBOOKMARKS_DISALLOWED);		    response = ' ';		    break;		}		choices[0] = NULL;		StrAllocCopy(choices[0], "OFF     ");		choices[1] = NULL;		StrAllocCopy(choices[1], "STANDARD");		choices[2] = NULL;		StrAllocCopy(choices[2], "ADVANCED");		choices[3] = NULL;		if (!LYSelectPopups) {		    LYMultiBookmarks = boolean_choice((LYMultiBookmarks *						       (1 + LYMBMAdvanced)),						      L_HOME, C_MULTI,						      choices);		} else {		    LYMultiBookmarks = popup_choice((LYMultiBookmarks *						     (1 + LYMBMAdvanced)),						    L_HOME, (C_MULTI - 1),						    choices,						    3, FALSE);		}		if (LYMultiBookmarks == 2) {		    LYMultiBookmarks = TRUE;		    LYMBMAdvanced = TRUE;		} else {		    LYMBMAdvanced = FALSE;		}#if defined(VMS) || defined(USE_SLANG)		if (LYSelectPopups) {		    move(L_HOME, C_MULTI);		    clrtoeol();		    addstr(choices[(LYMultiBookmarks * (1 + LYMBMAdvanced))]);		}#endif /* VMS || USE_SLANG */		FREE(choices[0]);		FREE(choices[1]);		FREE(choices[2]);#if !defined(VMS) && !defined(USE_SLANG)		if (!LYSelectPopups)#endif /* !VMS && !USE_SLANG */		{		    move(L_HOME, B_BOOK);		    clrtoeol();		    if (LYMultiBookmarks) {			addstr("review/edit B)ookmarks files");		    } else {			addstr("B)ookmark file: ");			addstr((bookmark_page && *bookmark_page) ?						   bookmark_page : "NONE");		    }		}		response = ' ';		if (LYSelectPopups) {#if !defined(VMS) || defined(USE_SLANG)		    if (term_options) {			term_options = FALSE;		    } else {			AddValueAccepted = TRUE;		    }		    goto draw_options;#else		    term_options = FALSE;#endif /* !VMS || USE_SLANG */		}		break;	    case 'b':	/* Change the bookmark page location. */	    case 'B':		/*		 *  Anonymous users should not be allowed to		 *  change the bookmark page.		 */		if (!no_bookmark) {		    if (LYMultiBookmarks) {			edit_bookmarks();			signal(SIGINT, terminate_options);			goto draw_options;		    }		    if (bookmark_page && *bookmark_page) {			strcpy(display_option, bookmark_page);		    } else {  /* clear the NONE */			move(L_HOME, C_DEFAULT);			clrtoeol();			*display_option = '\0';		    }		    option_statusline(ACCEPT_DATA);		    move(L_HOME, C_DEFAULT);		    start_bold();		    ch = LYgetstr(display_option, VISIBLE,				  sizeof(display_option), NORECALL);		    stop_bold();		    move(L_HOME, C_DEFAULT);		    if (term_options ||			ch == -1 || *display_option == '\0') {			addstr((bookmark_page && *bookmark_page) ?						   bookmark_page : "NONE");		    } else if (!LYPathOffHomeOK(display_option,						sizeof(display_option))) {			addstr((bookmark_page && *bookmark_page) ?						   bookmark_page : "NONE");			clrtoeol();			option_statusline(USE_PATH_OFF_HOME);			response = ' ';			break;		    } else {			StrAllocCopy(bookmark_page, display_option);			StrAllocCopy(MBM_A_subbookmark[0],				     bookmark_page);			addstr(bookmark_page);		    }		    clrtoeol();		    if (ch == -1) {			option_statusline(CANCELLED);			sleep(InfoSecs);			option_statusline("");		    } else {			option_statusline(VALUE_ACCEPTED);		    }		} else { /* anonymous */		    option_statusline(BOOKMARK_CHANGE_DISALLOWED);		}		response = ' ';		break;	    case 'f':	/* Change ftp directory sorting. */	    case 'F':	/*  (also local for non-DIRED)	 */		/*		 *  Copy strings into choice array.		 */		choices[0] = NULL;		StrAllocCopy(choices[0], "By Filename");		choices[1] = NULL;		StrAllocCopy(choices[1], "By Type    ");		choices[2] = NULL;		StrAllocCopy(choices[2], "By Size    ");		choices[3] = NULL;		StrAllocCopy(choices[3], "By Date    ");		choices[4] = NULL;		if (!LYSelectPopups) {		    HTfileSortMethod = boolean_choice(HTfileSortMethod,						      L_FTPSTYPE, -1,						      choices);		} else {		    HTfileSortMethod = popup_choice(HTfileSortMethod,						    L_FTPSTYPE, -1,						    choices,						    4, FALSE);#if defined(VMS) || defined(USE_SLANG)		    move(L_FTPSTYPE, COL_OPTION_VALUES);		    clrtoeol();		    addstr(choices[HTfileSortMethod]);#endif /* VMS || USE_SLANG */		}		FREE(choices[0]);		FREE(choices[1]);		FREE(choices[2]);		FREE(choices[3]);		response = ' ';		if (LYSelectPopups) {#if !defined(VMS) || defined(USE_SLANG)		    if (term_options) {			term_options = FALSE;		    } else {			AddValueAccepted = TRUE;		    }		    goto draw_options;#else		    term_options = FALSE;#endif /* !VMS || USE_SLANG */		}		break;	    case 'p': /* Change personal mail address for From headers. */	    case 'P':		if (personal_mail_address && *personal_mail_address) {		    strcpy(display_option, personal_mail_address);		} else {  /* clear the NONE */		    move(L_MAIL_ADDRESS, COL_OPTION_VALUES);		    addstr("    ");		    *display_option = '\0';		}		option_statusline(ACCEPT_DATA);		move(L_MAIL_ADDRESS, COL_OPTION_VALUES);		start_bold();		ch = LYgetstr(display_option, VISIBLE,			      sizeof(display_option), NORECALL);		stop_bold();		move(L_MAIL_ADDRESS, COL_OPTION_VALUES);		if (term_options || ch == -1) {		    addstr((personal_mail_address &&			    *personal_mail_address) ?			      personal_mail_address : "NONE");		} else if (*display_option == '\0') {		    FREE(personal_mail_address);		    addstr("NONE");		} else {		    StrAllocCopy(personal_mail_address, display_option);		    addstr(display_option);		}		clrtoeol();		if (ch == -1) {		    option_statusline(CANCELLED);		    sleep(InfoSecs);		    option_statusline("");		} else {		    option_statusline(VALUE_ACCEPTED);		}		response = ' ';		break;	    case 's':	/* Change case sentitivity for searches. */	    case 'S':		/*		 *  Copy strings into choice array.		 */		choices[0] = NULL;		StrAllocCopy(choices[0], "CASE INSENSITIVE");		choices[1] = NULL;		StrAllocCopy(choices[1], "CASE SENSITIVE  ");		choices[2] = NULL;		case_sensitive = boolean_choice(case_sensitive,						L_SSEARCH, -1, choices);		FREE(choices[0]);		FREE(choices[1]);		response = ' ';		break;	    case '\001':	/* Change assume_charset setting. */		if (use_assume_charset) {		    int i, curval;		    char ** assume_list;		    assume_list = (char **)calloc(LYNumCharsets + 1, sizeof(char *));		    if (!assume_list) {			outofmem(__FILE__, "options");		    }		    for (i = 0; i < LYNumCharsets; i++) {			assume_list[i] = (char *)LYCharSet_UC[i].MIMEname;		    }		    curval = UCLYhndl_for_unspec;		    if (curval == current_char_set && UCAssume_MIMEcharset) {			curval = UCGetLYhndl_byMIME(UCAssume_MIMEcharset);		    }		    if (curval < 0)			curval = LYRawMode ? current_char_set : 0;		    if (!LYSelectPopups) {			UCLYhndl_for_unspec = boolean_choice(curval,							     L_ASSUME_CHARSET, -1,							     assume_list);		    } else {			UCLYhndl_for_unspec = popup_choice(curval,							   L_ASSUME_CHARSET, -1,							   assume_list,							   0, FALSE);#if defined(VMS) || defined(USE_SLANG)			move(L_ASSUME_CHARSET, COL_OPTION_VALUES);			clrtoeol();			if (UCLYhndl_for_unspec >= 0)			    addstr((char *)				   LYCharSet_UC[UCLYhndl_for_unspec].MIMEname);#endif /* VMS || USE_SLANG */		    }		    /*		 *  Set the raw 8-bit or CJK mode defaults and		 *  character set if changed. - FM		 */		    if (CurrentAssumeCharSet != UCLYhndl_for_unspec ||			UCLYhndl_for_unspec != curval) {			if (UCLYhndl_for_unspec != CurrentAssumeCharSet) {			    StrAllocCopy(UCAssume_MIMEcharset,					 LYCharSet_UC[UCLYhndl_for_unspec].MIMEname);			}			LYRawMode = (UCLYhndl_for_unspec == current_char_set);			HTMLSetUseDefaultRawMode(current_char_set, LYRawMode);			HTMLUseCharacterSet(current_char_set);			CurrentAssumeCharSet = UCLYhndl_for_unspec;			CurrentRawMode = LYRawMode;#if !defined(VMS) && !defined(USE_SLANG)			if (!LYSelectPopups)#endif /* !VMS && !USE_SLANG */			{			    move(L_Rawmode, COL_OPTION_VALUES);			    clrtoeol();			    addstr(LYRawMode ? "ON " : "OFF");			}		    }		    FREE(assume_list);		    response = ' ';		    if (LYSelectPopups) {#if !defined(VMS) || defined(USE_SLANG)			if (term_options) {			    term_options = FALSE;			} else {			    AddValueAccepted = TRUE;			}			goto draw_options;#else			term_options = FALSE;#endif /* !VMS || USE_SLANG */		    }		} else {		    option_statusline(NEED_ADVANCED_USER_MODE);		    AddValueAccepted = FALSE;		}		break;	    case 'c':	/* Change charset setting. */	    case 'C':		if (!LYSelectPopups) {		    current_char_set = boolean_choice(current_char_set,						      L_Charset, -1,						      (char **)LYchar_set_names);		} else {		    current_char_set = popup_choice(current_char_set,						    L_Charset, -1,						    (char **)LYchar_set_names,						    0, FALSE);#if defined(VMS) || defined(USE_SLANG)		    move(L_Charset, COL_OPTION_VALUES);		    clrtoeol();		    addstr((char *)LYchar_set_names[current_char_set]);#endif /* VMS || USE_SLANG */		}		/*		 *  Set the raw 8-bit or CJK mode defaults and		 *  character set if changed. - FM		 */		if (CurrentCharSet != current_char_set) {		    HTMLSetRawModeDefault(current_char_set);		    LYUseDefaultRawMode = TRUE;		    HTMLUseCharacterSet(current_char_set);		    CurrentCharSet = current_char_set;		    CurrentRawMode = LYRawMode;#if !defined(VMS) && !defined(USE_SLANG)		    if (!LYSelectPopups)#endif /* !VMS && !USE_SLANG */		    {			move(L_Rawmode, COL_OPTION_VALUES);			clrtoeol();			addstr(LYRawMode ? "ON " : "OFF");		    }		}		response = ' ';		if (LYSelectPopups) {#if !defined(VMS) || defined(USE_SLANG)		    if (term_options) {			term_options = FALSE;		    } else {			AddValueAccepted = TRUE;		    }		    goto draw_options;#else		    term_options = FALSE;#endif /* !VMS || USE_SLANG */		}		break;	    case 'o':	/* Change raw mode setting. */	    case 'O':		/*		 *  Copy strings into choice array.		 */		choices[0] = NULL;		StrAllocCopy(choices[0], "OFF");		choices[1] = NULL;		StrAllocCopy(choices[1], "ON ");		choices[2] = NULL;		LYRawMode = boolean_choice(LYRawMode, L_Rawmode, -1, choices);		/*		 *  Set the LYUseDefaultRawMode value and character		 *  handling if LYRawMode was changed. - FM		 */		if (CurrentRawMode != LYRawMode) {		    HTMLSetUseDefaultRawMode(current_char_set, LYRawMode);		    HTMLSetCharacterHandling(current_char_set);		    CurrentRawMode = LYRawMode;		}		FREE(choices[0]);		FREE(choices[1]);		response = ' ';		break;	    case 'g':	/* Change language preference. */	    case 'G':		if (language && *language) {		    strcpy(display_option, language);		} else {  /* clear the NONE */		    move(L_LANGUAGE, COL_OPTION_VALUES);		    addstr("    ");		    *display_option = '\0';		}		option_statusline(ACCEPT_DATA);		move(L_LANGUAGE, COL_OPTION_VALUES);		start_bold();		ch = LYgetstr(display_option, VISIBLE,			      sizeof(display_option), NORECALL);		stop_bold();		move(L_LANGUAGE, COL_OPTION_VALUES);		if (term_options || ch == -1) {		    addstr((language && *language) ?					  language : "NONE");		} else if (*display_option == '\0') {		    FREE(language);		    addstr("NONE");		} else {		    StrAllocCopy(language, display_option);		    addstr(display_option);		}		clrtoeol();		if (ch == -1) {		    option_statusline(CANCELLED);		    sleep(InfoSecs);		    option_statusline("");		} else {		    option_statusline(VALUE_ACCEPTED);		}		response = ' ';		break;	    case 'h':	/* Change charset preference. */	    case 'H':		if (pref_charset && *pref_charset) {		    strcpy(display_option, pref_charset);		} else {  /* clear the NONE */		    move(L_PREF_CHARSET, COL_OPTION_VALUES);		    addstr("    ");		    *display_option = '\0';		}		option_statusline(ACCEPT_DATA);		move(L_PREF_CHARSET, COL_OPTION_VALUES);		start_bold();		ch = LYgetstr(display_option, VISIBLE,			      sizeof(display_option), NORECALL);		stop_bold();		move(L_PREF_CHARSET, COL_OPTION_VALUES);		if (term_options || ch == -1) {		    addstr((pref_charset && *pref_charset) ?			   pref_charset : "NONE");		} else if (*display_option == '\0') {		    FREE(pref_charset);		    addstr("NONE");		} else {		    StrAllocCopy(pref_charset, display_option);		    addstr(display_option);		}		clrtoeol();		if (ch == -1) {		    option_statusline(CANCELLED);		    sleep(InfoSecs);		    option_statusline("");		} else {		    option_statusline(VALUE_ACCEPTED);		}		response = ' ';		break;	    case 'v':	/* Change VI keys setting. */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -