ELinks 0.18.0
dialogs.c File Reference
#include <string.h>
#include "elinks.h"
#include "bfu/dialog.h"
#include "config/conf.h"
#include "config/dialogs.h"
#include "config/kbdbind.h"
#include "config/options.h"
#include "config/opttypes.h"
#include "intl/libintl.h"
#include "main/event.h"
#include "main/object.h"
#include "session/session.h"
#include "terminal/kbd.h"
#include "terminal/terminal.h"
#include "util/color.h"
#include "util/error.h"
#include "util/lists.h"
#include "util/memory.h"
#include "util/secsave.h"
Include dependency graph for dialogs.c:

Data Structures

struct  add_option_to_tree_ctx
struct  kbdbind_add_hop

Macros

#define _GNU_SOURCE   /* XXX: we _WANT_ strcasestr() ! */
#define EDIT_WIDGETS_COUNT   5
#define ACTION_BOX_SIZE   139

Functions

static void disable_success_msgbox (void *dummy)
void write_config_dialog (struct terminal *term, char *config_file, int secsave_error, int stdio_error)
static void lock_option (struct listbox_item *item)
static void unlock_option (struct listbox_item *item)
static int is_option_used (struct listbox_item *item)
static char * get_range_string (struct option *option)
static char * get_option_text (struct listbox_item *item, struct terminal *term)
static char * get_option_info (struct listbox_item *item, struct terminal *term)
static struct listbox_itemget_option_root (struct listbox_item *item)
static enum listbox_match match_option (struct listbox_item *item, struct terminal *term, char *text)
static int can_delete_option (struct listbox_item *item)
static void delete_option_item (struct listbox_item *item, int last)
static widget_handler_status_T check_valid_option (struct dialog_data *dlg_data, struct widget_data *widget_data)
static void build_edit_dialog (struct terminal *term, struct session *ses, struct option *option)
static widget_handler_status_T push_edit_button (struct dialog_data *dlg_data, struct widget_data *some_useless_info_button)
static void add_option_to_tree (void *data, char *name)
static widget_handler_status_T check_option_name (struct dialog_data *dlg_data, struct widget_data *widget_data)
static widget_handler_status_T push_add_button (struct dialog_data *dlg_data, struct widget_data *some_useless_info_button)
static widget_handler_status_T push_save_button (struct dialog_data *dlg_data, struct widget_data *some_useless_info_button)
 struct_hierbox_browser (option_browser, N_("Option manager"), option_buttons, &options_listbox_ops)
void options_manager (struct session *ses)
struct listbox_itemget_keybinding_action_box_item (keymap_id_T keymap_id, action_id_T action_id)
void init_keybinding_listboxes (struct keymap keymap_table[KEYMAP_MAX], const struct action_list actions[])
void done_keybinding_listboxes (void)
static void lock_keybinding (struct listbox_item *item)
static void unlock_keybinding (struct listbox_item *item)
static int is_keybinding_used (struct listbox_item *item)
static char * get_keybinding_text (struct listbox_item *item, struct terminal *term)
static char * get_keybinding_info (struct listbox_item *item, struct terminal *term)
static struct listbox_itemget_keybinding_root (struct listbox_item *item)
static enum listbox_match match_keybinding (struct listbox_item *item, struct terminal *term, char *text)
static int can_delete_keybinding (struct listbox_item *item)
static void delete_keybinding_item (struct listbox_item *item, int last)
static struct kbdbind_add_hopnew_hop_from (struct kbdbind_add_hop *hop)
static void really_really_add_keybinding (void *data)
static void really_add_keybinding (void *data, char *keystroke)
static widget_handler_status_T check_keystroke (struct dialog_data *dlg_data, struct widget_data *widget_data)
static widget_handler_status_T push_kbdbind_add_button (struct dialog_data *dlg_data, struct widget_data *some_useless_info_button)
static widget_handler_status_T push_kbdbind_toggle_display_button (struct dialog_data *dlg_data, struct widget_data *some_useless_info_button)
static widget_handler_status_T push_kbdbind_save_button (struct dialog_data *dlg_data, struct widget_data *some_useless_info_button)
 struct_hierbox_browser (keybinding_browser, N_("Keybinding manager"), keybinding_buttons, &keybinding_listbox_ops)
void keybinding_manager (struct session *ses)

Variables

static const struct listbox_ops options_listbox_ops
static const struct hierbox_browser_button option_buttons []
static int keybinding_text_toggle
static struct listbox_itemaction_box_items [KEYMAP_MAX][ACTION_BOX_SIZE]
struct listbox_itemkeymap_box_item [KEYMAP_MAX]
static const struct listbox_ops keybinding_listbox_ops
static const struct hierbox_browser_button keybinding_buttons []

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE   /* XXX: we _WANT_ strcasestr() ! */

◆ ACTION_BOX_SIZE

#define ACTION_BOX_SIZE   139

◆ EDIT_WIDGETS_COUNT

#define EDIT_WIDGETS_COUNT   5

Function Documentation

◆ add_option_to_tree()

void add_option_to_tree ( void * data,
char * name )
static

◆ build_edit_dialog()

void build_edit_dialog ( struct terminal * term,
struct session * ses,
struct option * option )
static

◆ can_delete_keybinding()

int can_delete_keybinding ( struct listbox_item * item)
static

◆ can_delete_option()

int can_delete_option ( struct listbox_item * item)
static

◆ check_keystroke()

widget_handler_status_T check_keystroke ( struct dialog_data * dlg_data,
struct widget_data * widget_data )
static

◆ check_option_name()

widget_handler_status_T check_option_name ( struct dialog_data * dlg_data,
struct widget_data * widget_data )
static

◆ check_valid_option()

widget_handler_status_T check_valid_option ( struct dialog_data * dlg_data,
struct widget_data * widget_data )
static

◆ delete_keybinding_item()

void delete_keybinding_item ( struct listbox_item * item,
int last )
static

◆ delete_option_item()

void delete_option_item ( struct listbox_item * item,
int last )
static

◆ disable_success_msgbox()

void disable_success_msgbox ( void * dummy)
static

◆ done_keybinding_listboxes()

void done_keybinding_listboxes ( void )

◆ get_keybinding_action_box_item()

struct listbox_item * get_keybinding_action_box_item ( keymap_id_T keymap_id,
action_id_T action_id )

◆ get_keybinding_info()

char * get_keybinding_info ( struct listbox_item * item,
struct terminal * term )
static

◆ get_keybinding_root()

struct listbox_item * get_keybinding_root ( struct listbox_item * item)
static

◆ get_keybinding_text()

char * get_keybinding_text ( struct listbox_item * item,
struct terminal * term )
static

◆ get_option_info()

char * get_option_info ( struct listbox_item * item,
struct terminal * term )
static

◆ get_option_root()

struct listbox_item * get_option_root ( struct listbox_item * item)
static

◆ get_option_text()

char * get_option_text ( struct listbox_item * item,
struct terminal * term )
static

◆ get_range_string()

char * get_range_string ( struct option * option)
static

◆ init_keybinding_listboxes()

void init_keybinding_listboxes ( struct keymap keymap_table[KEYMAP_MAX],
const struct action_list actions[] )

◆ is_keybinding_used()

int is_keybinding_used ( struct listbox_item * item)
static

◆ is_option_used()

int is_option_used ( struct listbox_item * item)
static

◆ keybinding_manager()

void keybinding_manager ( struct session * ses)

◆ lock_keybinding()

void lock_keybinding ( struct listbox_item * item)
static

◆ lock_option()

void lock_option ( struct listbox_item * item)
static

◆ match_keybinding()

enum listbox_match match_keybinding ( struct listbox_item * item,
struct terminal * term,
char * text )
static

◆ match_option()

enum listbox_match match_option ( struct listbox_item * item,
struct terminal * term,
char * text )
static

◆ new_hop_from()

struct kbdbind_add_hop * new_hop_from ( struct kbdbind_add_hop * hop)
static

◆ options_manager()

void options_manager ( struct session * ses)

◆ push_add_button()

widget_handler_status_T push_add_button ( struct dialog_data * dlg_data,
struct widget_data * some_useless_info_button )
static

◆ push_edit_button()

widget_handler_status_T push_edit_button ( struct dialog_data * dlg_data,
struct widget_data * some_useless_info_button )
static

◆ push_kbdbind_add_button()

widget_handler_status_T push_kbdbind_add_button ( struct dialog_data * dlg_data,
struct widget_data * some_useless_info_button )
static

◆ push_kbdbind_save_button()

widget_handler_status_T push_kbdbind_save_button ( struct dialog_data * dlg_data,
struct widget_data * some_useless_info_button )
static

◆ push_kbdbind_toggle_display_button()

widget_handler_status_T push_kbdbind_toggle_display_button ( struct dialog_data * dlg_data,
struct widget_data * some_useless_info_button )
static

◆ push_save_button()

widget_handler_status_T push_save_button ( struct dialog_data * dlg_data,
struct widget_data * some_useless_info_button )
static

◆ really_add_keybinding()

void really_add_keybinding ( void * data,
char * keystroke )
static

◆ really_really_add_keybinding()

void really_really_add_keybinding ( void * data)
static

◆ struct_hierbox_browser() [1/2]

struct_hierbox_browser ( keybinding_browser ,
N_("Keybinding manager") ,
keybinding_buttons ,
& keybinding_listbox_ops )

◆ struct_hierbox_browser() [2/2]

struct_hierbox_browser ( option_browser ,
N_("Option manager") ,
option_buttons ,
& options_listbox_ops )

◆ unlock_keybinding()

void unlock_keybinding ( struct listbox_item * item)
static

◆ unlock_option()

void unlock_option ( struct listbox_item * item)
static

◆ write_config_dialog()

void write_config_dialog ( struct terminal * term,
char * config_file,
int secsave_error,
int stdio_error )

Variable Documentation

◆ action_box_items

struct listbox_item* action_box_items[KEYMAP_MAX][ACTION_BOX_SIZE]
static

◆ keybinding_buttons

const struct hierbox_browser_button keybinding_buttons[]
static
Initial value:
= {
{ N_("~Add"), push_kbdbind_add_button, 0 },
{ N_("~Delete"), push_hierbox_delete_button, 0 },
{ N_("~Toggle display"), push_kbdbind_toggle_display_button, 1 },
{ N_("~Search"), push_hierbox_search_button, 1 },
{ N_("Sa~ve"), push_kbdbind_save_button, 0 },
}
static widget_handler_status_T push_kbdbind_toggle_display_button(struct dialog_data *dlg_data, struct widget_data *some_useless_info_button)
Definition dialogs.c:906
static widget_handler_status_T push_kbdbind_save_button(struct dialog_data *dlg_data, struct widget_data *some_useless_info_button)
Definition dialogs.c:920
static widget_handler_status_T push_kbdbind_add_button(struct dialog_data *dlg_data, struct widget_data *some_useless_info_button)
Definition dialogs.c:850
#define N_(msg)
Definition libintl.h:25
widget_handler_status_T push_hierbox_search_button(struct dialog_data *dlg_data, struct widget_data *button)
Definition hierbox.c:984
widget_handler_status_T push_hierbox_delete_button(struct dialog_data *dlg_data, struct widget_data *button)
Definition hierbox.c:799

◆ keybinding_listbox_ops

const struct listbox_ops keybinding_listbox_ops
static
Initial value:
= {
}
static int can_delete_keybinding(struct listbox_item *item)
Definition dialogs.c:720
static enum listbox_match match_keybinding(struct listbox_item *item, struct terminal *term, char *text)
Definition dialogs.c:701
static struct listbox_item * get_keybinding_root(struct listbox_item *item)
Definition dialogs.c:684
static void delete_keybinding_item(struct listbox_item *item, int last)
Definition dialogs.c:727
static void lock_keybinding(struct listbox_item *item)
Definition dialogs.c:615
static char * get_keybinding_text(struct listbox_item *item, struct terminal *term)
Definition dialogs.c:636
static char * get_keybinding_info(struct listbox_item *item, struct terminal *term)
Definition dialogs.c:659
static int is_keybinding_used(struct listbox_item *item)
Definition dialogs.c:629
static void unlock_keybinding(struct listbox_item *item)
Definition dialogs.c:622
#define NULL
Definition explodename.c:35

◆ keybinding_text_toggle

int keybinding_text_toggle
static

◆ keymap_box_item

struct listbox_item* keymap_box_item[KEYMAP_MAX]

◆ option_buttons

const struct hierbox_browser_button option_buttons[]
static
Initial value:
= {
{ N_("~Info"), push_hierbox_info_button, 1 },
{ N_("~Edit"), push_edit_button, 0 },
{ N_("~Add"), push_add_button, 0 },
{ N_("~Delete"), push_hierbox_delete_button, 0 },
{ N_("~Search"), push_hierbox_search_button, 1 },
{ N_("Sa~ve"), push_save_button, 0 },
}
static widget_handler_status_T push_add_button(struct dialog_data *dlg_data, struct widget_data *widget_data)
Definition dialogs.c:211
static widget_handler_status_T push_edit_button(struct dialog_data *dlg_data, struct widget_data *edit_btn)
Definition dialogs.c:399
static widget_handler_status_T push_save_button(struct dialog_data *dlg_data, struct widget_data *some_useless_info_button)
Definition dialogs.c:487
widget_handler_status_T push_hierbox_info_button(struct dialog_data *dlg_data, struct widget_data *button)
Definition hierbox.c:410

◆ options_listbox_ops

const struct listbox_ops options_listbox_ops
static
Initial value:
= {
}
static void delete_option_item(struct listbox_item *item, int last)
Definition dialogs.c:234
static enum listbox_match match_option(struct listbox_item *item, struct terminal *term, char *text)
Definition dialogs.c:204
static char * get_option_text(struct listbox_item *item, struct terminal *term)
Definition dialogs.c:118
static void unlock_option(struct listbox_item *item)
Definition dialogs.c:91
static void lock_option(struct listbox_item *item)
Definition dialogs.c:85
static int is_option_used(struct listbox_item *item)
Definition dialogs.c:97
static char * get_option_info(struct listbox_item *item, struct terminal *term)
Definition dialogs.c:132
static int can_delete_option(struct listbox_item *item)
Definition dialogs.c:220
static struct listbox_item * get_option_root(struct listbox_item *item)
Definition dialogs.c:192