📄 links.h
字号:
int vpos, cpos; int checked; struct dialog_item *item; struct list_head history; struct history_item *cur_hist; unsigned char *cdata;};#define EVENT_PROCESSED 0#define EVENT_NOT_PROCESSED 1struct dialog { unsigned char *title; void (*fn)(struct dialog_data *); int (*handle_event)(struct dialog_data *, struct event *); void (*abort)(struct dialog_data *); void *udata; void *udata2; int align; void (*refresh)(void *); void *refresh_data; struct dialog_item items[1];};struct dialog_data { struct window *win; struct dialog *dlg; int x, y, xw, yw; int n; int selected; struct memory_list *ml; struct dialog_item_data items[1];};struct menu_item *new_menu(int);void add_to_menu(struct menu_item **, unsigned char *, unsigned char *, unsigned char *, void (*)(struct terminal *, void *, void *), void *, int);void do_menu(struct terminal *, struct menu_item *, void *);void do_menu_selected(struct terminal *, struct menu_item *, void *, int);void do_mainmenu(struct terminal *, struct menu_item *, void *, int);void do_dialog(struct terminal *, struct dialog *, struct memory_list *);int check_number(struct dialog_data *, struct dialog_item_data *);int check_nonempty(struct dialog_data *, struct dialog_item_data *);void max_text_width(struct terminal *, unsigned char *, int *);void min_text_width(struct terminal *, unsigned char *, int *);void dlg_format_text(struct terminal *, struct terminal *, unsigned char *, int, int *, int, int *, int, int);void max_buttons_width(struct terminal *, struct dialog_item_data *, int, int *);void min_buttons_width(struct terminal *, struct dialog_item_data *, int, int *);void dlg_format_buttons(struct terminal *, struct terminal *, struct dialog_item_data *, int, int, int *, int, int *, int);void checkboxes_width(struct terminal *, unsigned char **, int *, void (*)(struct terminal *, unsigned char *, int *));void dlg_format_checkbox(struct terminal *, struct terminal *, struct dialog_item_data *, int, int *, int, int *, unsigned char *);void dlg_format_checkboxes(struct terminal *, struct terminal *, struct dialog_item_data *, int, int, int *, int, int *, unsigned char **);void dlg_format_field(struct terminal *, struct terminal *, struct dialog_item_data *, int, int *, int, int *, int);void max_group_width(struct terminal *, unsigned char **, struct dialog_item_data *, int, int *);void min_group_width(struct terminal *, unsigned char **, struct dialog_item_data *, int, int *);void dlg_format_group(struct terminal *, struct terminal *, unsigned char **, struct dialog_item_data *, int, int, int *, int, int *);void dlg_format_box(struct terminal *, struct terminal *, struct dialog_item_data *, int, int *, int, int *, int);void checkbox_list_fn(struct dialog_data *);void group_fn(struct dialog_data *);void center_dlg(struct dialog_data *);void draw_dlg(struct dialog_data *);void display_dlg_item(struct dialog_data *, struct dialog_item_data *, int);int ok_dialog(struct dialog_data *, struct dialog_item_data *);int cancel_dialog(struct dialog_data *, struct dialog_item_data *);void msg_box(struct terminal *, struct memory_list *, unsigned char *, int, /*unsigned char *, void *, int,*/ ...);void input_field_fn(struct dialog_data *);void input_field(struct terminal *, struct memory_list *, unsigned char *, unsigned char *, unsigned char *, unsigned char *, void *, struct history *, int, unsigned char *, int, int, int (*)(struct dialog_data *, struct dialog_item_data *), void (*)(void *, unsigned char *), void (*)(void *));void add_to_history(struct history *, unsigned char *);void box_sel_move(struct dialog_item_data *, int ); void show_dlg_item_box(struct dialog_data *, struct dialog_item_data *);void box_sel_set_visible(struct dialog_item_data *, int ); /* menu.c */extern struct history goto_url_history;void activate_bfu_technology(struct session *, int);void dialog_goto_url(struct session *ses, char *url);void dialog_save_url(struct session *ses);void free_history_lists();void query_file(struct session *, unsigned char *, void (*)(struct session *, unsigned char *), void (*)(struct session *));void search_dlg(struct session *, struct f_data_c *, int);void search_back_dlg(struct session *, struct f_data_c *, int);void exit_prog(struct terminal *, void *, struct session *);void do_auth_dialog(struct session *);/* charsets.c */#include "codepage.h"struct conv_table { int t; union { unsigned char *str; struct conv_table *tbl; } u;};int cp2u(unsigned char ch, int from);struct conv_table *get_translation_table(int, int);int get_entity_number(unsigned char *st, int l);unsigned char *get_entity_string(unsigned char *, int, int);unsigned char *convert_string(struct conv_table *, unsigned char *, int);int get_cp_index(unsigned char *n);unsigned char *get_cp_name(int);unsigned char *get_cp_mime_name(int);int is_cp_special(int);void free_conv_table();unsigned char charset_upcase(unsigned char, int);void charset_upcase_string(unsigned char **, int);/* view.c */int can_open_in_new(struct terminal *);void open_in_new_window(struct terminal *, void (*)(struct terminal *, void (*)(struct terminal *, unsigned char *, unsigned char *), struct session *ses), struct session *);void send_open_in_new_xterm(struct terminal *term, void (*open_window)(struct terminal *term, unsigned char *, unsigned char *), struct session *ses);void send_open_new_xterm(struct terminal *, void (*)(struct terminal *, unsigned char *, unsigned char *), struct session *);void destroy_fc(struct form_control *);void sort_links(struct f_data *);void destroy_formatted(struct f_data *);void clear_formatted(struct f_data *);void init_formatted(struct f_data *);void detach_formatted(struct f_data_c *);void init_vs(struct view_state *, unsigned char *);void destroy_vs(struct view_state *);void copy_location(struct location *, struct location *);void draw_doc(struct terminal *, struct f_data_c *, int);int dump_to_file(struct f_data *, int);void draw_formatted(struct session *);void send_event(struct session *, struct event *);void link_menu(struct terminal *, void *, struct session *);void save_as(struct terminal *, void *, struct session *);void save_url(struct session *, unsigned char *);void menu_save_formatted(struct terminal *, void *, struct session *);void selected_item(struct terminal *, void *, struct session *);void toggle(struct session *, struct f_data_c *, int);void do_for_frame(struct session *, void (*)(struct session *, struct f_data_c *, int), int);int get_current_state(struct session *);unsigned char *print_current_link(struct session *);unsigned char *print_current_title(struct session *);void loc_msg(struct terminal *, struct location *, struct f_data_c *);void state_msg(struct session *);void head_msg(struct session *);void search_for(struct session *, unsigned char *);void search_for_back(struct session *, unsigned char *);void find_next(struct session *, struct f_data_c *, int);void find_next_back(struct session *, struct f_data_c *, int);void set_frame(struct session *, struct f_data_c *, int);struct f_data_c *current_frame(struct session *);/* html.c */#define AT_BOLD 1#define AT_ITALIC 2#define AT_UNDERLINE 4#define AT_FIXED 8#define AT_GRAPHICS 16#define AL_LEFT 0#define AL_CENTER 1#define AL_RIGHT 2#define AL_BLOCK 3#define AL_NO 4#define AL_MASK 0x7f#define AL_EXTD_TEXT 0x80 /* DIRTY! for backward compatibility with old menu code */struct text_attrib_beginning { int attr; struct rgb fg; struct rgb bg;};struct text_attrib { int attr; struct rgb fg; struct rgb bg; int fontsize; unsigned char *link; unsigned char *target; unsigned char *image; struct form_control *form; struct rgb clink; struct rgb vlink; unsigned char *href_base; unsigned char *target_base; unsigned char *select; int select_disabled;};#define P_NUMBER 1#define P_alpha 2#define P_ALPHA 3#define P_roman 4#define P_ROMAN 5#define P_STAR 1#define P_O 2#define P_PLUS 3#define P_LISTMASK 7#define P_COMPACT 8struct par_attrib { int align; int leftmargin; int rightmargin; int width; int list_level; unsigned list_number; int dd_margin; int flags; struct rgb bgcolor;};struct html_element { struct html_element *next; struct html_element *prev; struct text_attrib attr; struct par_attrib parattr; int invisible; unsigned char *name; int namelen; unsigned char *options; int linebreak; int dontkill; struct frameset_desc *frameset;};extern struct list_head html_stack;extern int line_breax;extern unsigned char *startf;extern unsigned char *eofff;#define format (((struct html_element *)html_stack.next)->attr)#define par_format (((struct html_element *)html_stack.next)->parattr)#define html_top (*(struct html_element *)html_stack.next)extern void *ff;extern int (*put_chars_f)(void *, unsigned char *, int);extern void (*line_break_f)(void *);extern void *(*special_f)(void *, int, ...);void ln_break(int, void (*)(void *), void *);void put_chrs(unsigned char *, int, int (*)(void *, unsigned char *, int), void *);extern int table_level;extern int empty_format;extern struct form form;extern unsigned char *last_form_tag;extern unsigned char *last_form_attr;extern unsigned char *last_input_tag;int parse_element(unsigned char *, unsigned char *, unsigned char **, int *, unsigned char **, unsigned char **);unsigned char *get_attr_val(unsigned char *, unsigned char *);int has_attr(unsigned char *, unsigned char *);int get_num(unsigned char *, unsigned char *);int get_width(unsigned char *, unsigned char *, int);int get_color(unsigned char *, unsigned char *, struct rgb *);int get_bgcolor(unsigned char *, struct rgb *);void html_stack_dup();void kill_html_stack_item(struct html_element *);unsigned char *skip_comment(unsigned char *, unsigned char *);void parse_html(unsigned char *, unsigned char *, int (*)(void *, unsigned char *, int), void (*)(void *), void *(*)(void *, int, ...), void *, unsigned char *);int get_image_map(unsigned char *, unsigned char *, unsigned char *, unsigned char *a, struct menu_item **, struct memory_list **, unsigned char *, unsigned char *, int, int, int);void scan_http_equiv(unsigned char *, unsigned char *, unsigned char **, int *, unsigned char **);#define SP_TAG 0#define SP_CONTROL 1#define SP_TABLE 2#define SP_USED 3#define SP_FRAMESET 4#define SP_FRAME 5#define SP_NOWRAP 6struct frameset_param { struct frameset_desc *parent; int x, y; int *xw, *yw;};struct frame_param { struct frameset_desc *parent; unsigned char *name; unsigned char *url;};void free_menu(struct menu_item *);void do_select_submenu(struct terminal *, struct menu_item *, struct session *);/* html_r.c */struct part { int x, y; int xp, yp; int xmax; int xa; int cx, cy; struct f_data *data; int bgcolor; unsigned char *spaces; int spl; int link_num; struct list_head uf;};struct sizes { int xmin, xmax, y;};extern struct document_options *d_opt;extern int last_link_to_move;extern int margin;void xxpand_line(struct part *, int, int);void xxpand_lines(struct part *, int);void xset_hchar(struct part *, int, int, unsigned);void xset_hchars(struct part *, int, int, int, unsigned);void align_line(struct part *, int);void free_table_cache();struct conv_table *get_convert_table(unsigned char *, int, int, int *, int *, int);extern int format_cache_entries;long formatted_info(int);void shrink_format_cache(int);void count_format_cache();void delete_unused_format_cache_entries();void format_cache_reactivate(struct f_data *);struct part *format_html_part(unsigned char *, unsigned char *, int, int, int, struct f_data *, int, int, unsigned char *, int);void cached_format_html(struct view_state *, struct f_data_c *, struct document_options *);void html_interpret(struct session *);void get_search_data(struct f_data *);/* html_tbl.c */void format_table(unsigned char *, unsigned char *, unsigned char *, unsigned char **, void *);/* default.c */#define MAX_STR_LEN 1024struct option { int p; unsigned char *(*rd_cmd)(struct option *, unsigned char ***, int *); unsigned char *(*rd_cfg)(struct option *, unsigned char *); void (*wr_cfg)(struct option *, unsigned char **, int *); int min, max; void *ptr; unsigned char *cfg_name; unsigned char *cmd_name;};unsigned char *parse_options(int, unsigned char *[]);void init_home();unsigned char *read_config_file(unsigned char *name);int write_to_config_file(unsigned char *, unsigned char *);unsigned char *get_token(unsigned char **line);void load_config();void write_config(struct terminal *);void write_html_config(struct terminal *);void end_config();void load_url_history();void save_url_history();extern int anonymous;extern unsigned char system_name[];extern unsigned char *links_home;extern int first_use;extern int created_home;extern int no_connect;extern int base_session;extern int force_html;#define D_DUMP 1#define D_SOURCE 2extern int dmp;extern int async_lookup;extern int download_utime;extern int max_connections;extern int max_connections_to_host;extern int max_tries;extern int screen_width;extern int dump_codepage;extern int receive_timeout;extern int unrestartable_receive_timeout;extern struct document_setup dds;extern int max_format_cache_entries;extern long memory_cache_size;extern struct rgb default_fg;extern struct rgb default_bg;extern struct rgb default_link;extern struct rgb default_vlink;extern unsigned char http_proxy[];extern unsigned char ftp_proxy[];extern unsigned char download_dir[];struct http_bugs { int http10; int allow_blacklist; int bug_302_redirect; int bug_post_no_keepalive; int no_accept_charset;};extern struct http_bugs http_bugs;struct ftp_options { unsigned char anon_pass[MAX_STR_LEN]; int fast_ftp; int passive_ftp; int set_tos;};extern struct ftp_options ftp_options;/* bookmarks.c *//* Where all bookmarks are kept */extern struct list_head bookmarks;/* A pointer independent id that bookmarks can be identified by. Guarenteed to be unique between all bookmarks */typedef int bookmark_id;extern bookmark_id next_bookmark_id;#define BAD_BOOKMARK_ID (bookmark_id)(-1)/* Stores display information about a box. Kept in cdata. */struct dlg_data_item_data_box { int sel; /* Item currently selected */ int box_top; /* Index into items of the item that is on the top line of the box */ struct list_head items; /* The list being displayed */ int list_len; /* Number of items in the list */};/* Which fields to free when zapping a box_item. Bitwise or these. */enum box_item_free {NOTHING = 0, TEXT = 1 , DATA = 2};/* An item in a box */struct box_item { struct box_item *next; struct box_item *prev; unsigned char *text; /* Text to display */ void (*on_hilight)(struct terminal *, struct dlg_data_item_data_box *, struct box_item *); /* Run when this item is hilighted */ int (*on_selected)(struct terminal *, struct dlg_data_item_data_box *, struct box_item *); /* Run when the user selects on this item. Returns pointer to the box_item that should be selected after execution*/ void *data; /* data */ enum box_item_free free_i;};void show_dlg_item_box(struct dialog_data *, struct dialog_item_data *); #define BOX_HILIGHT_FUNC (void (*)(struct terminal *, struct dlg_data_item_data_box *, struct box_item *))#define BOX_ON_SELECTED_FUNC (int (*)(struct terminal *, struct dlg_data_item_data_box *, struct box_item *))/* Ops dealing with box data *//* */#define get_box_from_dlg_item_data(x) ((struct dlg_data_item_data_box *)(x->cdata))#define get_box_list_height(x) (x->data_len)/* V.05 bookmarks: *//*struct bookmark { struct bookmark *next; struct bookmark *prev; bookmark_id id; Bookmark id unsigned char *title; title of bookmark unsigned char *url; Location of bookmarked item };*/struct bookmark { struct bookmark *next; struct bookmark *prev; bookmark_id id; /* Bookmark id */ unsigned char *title; /* title of bookmark */ unsigned char *url; /* Location of bookmarked item */ unsigned int type; /* The type of bookmark we're dealing with. */ void *type_data; /* Type-dependent data. */};void finalize_bookmarks();void read_bookmarks();void write_bookmarks();void bookmark_menu(struct terminal *, void *, struct session *);/* Launches bookmark manager */void menu_bookmark_manager(struct terminal *, void *, struct session *);void add_bookmark(const unsigned char *, const unsigned char *);struct bookmark *create_bookmark(const unsigned char *, const unsigned char *);/* Launches add dialogs */void launch_bm_add_link_dialog(struct terminal *,struct dialog_data *,struct session *);void launch_bm_add_doc_dialog(struct terminal *,struct dialog_data *,struct session *);/* kbdbind.c */#define KM_MAIN 0#define KM_EDIT 1#define KM_MENU 2#define KM_MAX 3enum { ACT_ADD_BOOKMARK, ACT_AUTO_COMPLETE, ACT_BACK, ACT_BACKSPACE, ACT_BOOKMARK_MANAGER, ACT_COPY_CLIPBOARD, ACT_CUT_CLIPBOARD, ACT_DELETE, ACT_DOCUMENT_INFO, ACT_DOWN, ACT_DOWNLOAD, ACT_END, ACT_ENTER, ACT_FILE_MENU, ACT_FIND_NEXT, ACT_FIND_NEXT_BACK, ACT_GOTO_URL, ACT_GOTO_URL_CURRENT, ACT_GOTO_URL_CURRENT_LINK, ACT_HEADER_INFO, ACT_HOME, ACT_KILL_TO_BOL, ACT_KILL_TO_EOL, ACT_LEFT, ACT_MENU, ACT_NEXT_FRAME, ACT_OPEN_NEW_WINDOW, ACT_OPEN_LINK_IN_NEW_WINDOW, ACT_PAGE_DOWN, ACT_PAGE_UP, ACT_PASTE_CLIPBOARD, ACT_PREVIOUS_FRAME, ACT_REALLYQUIT, ACT_QUIT, ACT_RELOAD, ACT_RIGHT, ACT_SCROLL_DOWN, ACT_SCROLL_LEFT, ACT_SCROLL_RIGHT, ACT_SCROLL_UP, ACT_SEARCH, ACT_SEARCH_BACK, ACT_TOGGLE_DISPLAY_IMAGES, ACT_TOGGLE_DISPLAY_TABLES, ACT_TOGGLE_HTML_PLAIN, ACT_UP, ACT_VIEW_IMAGE, ACT_ZOOM_FRAME};void init_keymaps();void free_keymaps();int kbd_action(int, struct event *);unsigned char *bind_rd(struct option *, unsigned char *);unsigned char *unbind_rd(struct option *, unsigned char *);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -