include libgen.h for basename
[elinks.git] / src / dialogs / menu.h
blobc5848c600bd5430be79636b6440e76788f2fb8c3
1 #ifndef EL__DIALOGS_MENU_H
2 #define EL__DIALOGS_MENU_H
4 #include "bfu/menu.h"
5 #include "cache/cache.h"
6 #include "session/task.h"
7 #include "terminal/terminal.h"
8 #include "viewer/action.h"
10 struct document_view;
11 struct open_in_new;
12 struct session;
13 struct uri;
15 void activate_bfu_technology(struct session *, int);
17 void dialog_goto_url(struct session *ses, unsigned char *url);
18 /* void dialog_save_url(struct session *ses); */
20 void tab_menu(struct session *ses, int x, int y,
21 int place_above_cursor);
23 void free_history_lists(void);
25 void query_file(struct session *, struct uri *, void *, void (*)(void *, unsigned char *), void (*)(void *), int);
27 void query_exit(struct session *ses);
28 void exit_prog(struct session *ses, int query);
30 void save_url_as(struct session *ses);
32 void
33 open_uri_in_new_window(struct session *ses, struct uri *uri, struct uri *referrer,
34 enum term_env_type env, enum cache_mode cache_mode,
35 enum task_type task);
37 void send_open_new_window(struct terminal *term, const struct open_in_new *open, struct session *ses);
38 void send_open_in_new_window(struct terminal *term, const struct open_in_new *open, struct session *ses);
40 void open_in_new_window(struct terminal *term, void *func_, void *ses_);
42 void add_new_win_to_menu(struct menu_item **mi, unsigned char *text, struct terminal *term);
44 /* URI passing: */
46 /* Controls what URI to use */
47 enum pass_uri_type {
48 PASS_URI_FRAME,
49 PASS_URI_LINK,
50 PASS_URI_TAB,
53 void add_uri_command_to_menu(struct menu_item **mi, enum pass_uri_type type, unsigned char *text);
54 enum frame_event_status pass_uri_to_command(struct session *ses, struct document_view *doc_view, int /* enum pass_uri_type */ type);
56 void
57 auto_complete_file(struct terminal *term, int no_elevator, unsigned char *path,
58 menu_func_T file_func, menu_func_T dir_func, void *data);
60 #endif