bool ro_gui_options_image_initialise(wimp_w w) { int i; /* load the sprite file */ if (example_users == 0) { char pathname[256]; snprintf(pathname, 256, "%s.Resources.Image", NETSURF_DIR); pathname[255] = '\0'; example_images = ro_gui_load_sprite_file(pathname); if (!example_images) return false; } example_users++; /* set the current values */ for (i = 0; (i < 4); i++) { if ((unsigned int)nsoption_int(plot_fg_quality) == tinct_options[i]) ro_gui_set_icon_string(w, IMAGE_FOREGROUND_FIELD, image_quality_menu->entries[i]. data.indirected_text.text, true); if ((unsigned int)nsoption_int(plot_bg_quality) == tinct_options[i]) ro_gui_set_icon_string(w, IMAGE_BACKGROUND_FIELD, image_quality_menu->entries[i]. data.indirected_text.text, true); } ro_gui_set_icon_decimal(w, IMAGE_SPEED_FIELD, nsoption_int(minimum_gif_delay), 2); ro_gui_set_icon_selected_state(w, IMAGE_DISABLE_ANIMATION, !nsoption_bool(animate_images)); ro_gui_options_update_shading(w); /* register icons */ ro_gui_wimp_event_register_menu_gright(w, IMAGE_FOREGROUND_FIELD, IMAGE_FOREGROUND_MENU, image_quality_menu); ro_gui_wimp_event_register_menu_gright(w, IMAGE_BACKGROUND_FIELD, IMAGE_BACKGROUND_MENU, image_quality_menu); ro_gui_wimp_event_register_text_field(w, IMAGE_SPEED_TEXT); ro_gui_wimp_event_register_numeric_field(w, IMAGE_SPEED_FIELD, IMAGE_SPEED_INC, IMAGE_SPEED_DEC, 0, 6000, 10, 2); ro_gui_wimp_event_register_checkbox(w, IMAGE_DISABLE_ANIMATION); ro_gui_wimp_event_register_text_field(w, IMAGE_SPEED_CS); ro_gui_wimp_event_register_redraw_window(w, ro_gui_options_image_redraw); ro_gui_wimp_event_register_mouse_click(w, ro_gui_options_image_click); ro_gui_wimp_event_register_menu_selection(w, ro_gui_options_image_update); ro_gui_wimp_event_register_cancel(w, IMAGE_CANCEL_BUTTON); ro_gui_wimp_event_register_ok(w, IMAGE_OK_BUTTON, ro_gui_options_image_ok); ro_gui_wimp_event_set_help_prefix(w, "HelpImageConfig"); ro_gui_wimp_event_memorise(w); return true; }
void ro_gui_401login_open(const char *url, const char *host, const char *realm, nserror (*cb)(bool proceed, void *pw), void *cbpw) { struct session_401 *session; wimp_w w; const char *auth; session = calloc(1, sizeof(struct session_401)); if (!session) { warn_user("NoMemory", 0); return; } session->url = strdup(url); if (!session->url) { free(session); warn_user("NoMemory", 0); return; } if (realm == NULL) realm = "Secure Area"; auth = urldb_get_auth_details(session->url, realm); if (auth == NULL) { session->uname[0] = '\0'; session->pwd[0] = '\0'; } else { const char *pwd; size_t pwd_len; pwd = strchr(auth, ':'); assert(pwd && pwd < auth + sizeof(session->uname)); memcpy(session->uname, auth, pwd - auth); session->uname[pwd - auth] = '\0'; ++pwd; pwd_len = strlen(pwd); assert(pwd_len < sizeof(session->pwd)); memcpy(session->pwd, pwd, pwd_len); session->pwd[pwd_len] = '\0'; } session->host = strdup(host); session->realm = strdup(realm); session->cb = cb; session->cbpw = cbpw; if ((!session->host) || (!session->realm)) { free(session->host); free(session->realm); free(session); warn_user("NoMemory", 0); return; } /* fill in download window icons */ dialog_401_template->icons[ICON_401LOGIN_HOST].data. indirected_text.text = session->host; dialog_401_template->icons[ICON_401LOGIN_HOST].data. indirected_text.size = strlen(session->host) + 1; dialog_401_template->icons[ICON_401LOGIN_REALM].data. indirected_text.text = session->realm; dialog_401_template->icons[ICON_401LOGIN_REALM].data. indirected_text.size = strlen(session->realm) + 1; dialog_401_template->icons[ICON_401LOGIN_USERNAME].data. indirected_text.text = session->uname; dialog_401_template->icons[ICON_401LOGIN_USERNAME].data. indirected_text.size = sizeof(session->uname); dialog_401_template->icons[ICON_401LOGIN_PASSWORD].data. indirected_text.text = session->pwd; dialog_401_template->icons[ICON_401LOGIN_PASSWORD].data. indirected_text.size = sizeof(session->pwd); /* create and open the window */ w = wimp_create_window(dialog_401_template); ro_gui_wimp_event_register_text_field(w, ICON_401LOGIN_USERNAME); ro_gui_wimp_event_register_text_field(w, ICON_401LOGIN_PASSWORD); ro_gui_wimp_event_register_cancel(w, ICON_401LOGIN_CANCEL); ro_gui_wimp_event_register_ok(w, ICON_401LOGIN_LOGIN, ro_gui_401login_apply); ro_gui_wimp_event_register_close_window(w, ro_gui_401login_close); ro_gui_wimp_event_set_user_data(w, session); ro_gui_dialog_open_persistent(NULL, w, false); }
bool ro_gui_options_connection_initialise(wimp_w w) { int proxy_type; /* set the current values */ proxy_type = (option_http_proxy ? (option_http_proxy_auth + 1) : 0); ro_gui_set_icon_string(w, CONNECTION_PROXY_FIELD, proxy_type_menu->entries[proxy_type]. data.indirected_text.text, true); ro_gui_set_icon_string(w, CONNECTION_PROXY_HOST, option_http_proxy_host ? option_http_proxy_host : "", true); ro_gui_set_icon_integer(w, CONNECTION_PROXY_PORT, option_http_proxy_port); ro_gui_set_icon_string(w, CONNECTION_PROXY_USERNAME, option_http_proxy_auth_user ? option_http_proxy_auth_user : "", true); ro_gui_set_icon_string(w, CONNECTION_PROXY_PASSWORD, option_http_proxy_auth_pass ? option_http_proxy_auth_pass : "", true); ro_gui_set_icon_integer(w, CONNECTION_MAX_FETCH_FIELD, option_max_fetchers); ro_gui_set_icon_integer(w, CONNECTION_HOST_FETCH_FIELD, option_max_fetchers_per_host); ro_gui_set_icon_integer(w, CONNECTION_CACHE_FETCH_FIELD, option_max_cached_fetch_handles); ro_gui_options_connection_update(w, -1, NULL, NULL, NO_ACTION); /* register icons */ ro_gui_wimp_event_register_menu_gright(w, CONNECTION_PROXY_FIELD, CONNECTION_PROXY_MENU, proxy_type_menu); ro_gui_wimp_event_register_text_field(w, CONNECTION_PROXY_HOST_LABEL); ro_gui_wimp_event_register_text_field(w, CONNECTION_PROXY_HOST); ro_gui_wimp_event_register_text_field(w, CONNECTION_PROXY_PORT_LABEL); ro_gui_wimp_event_register_text_field(w, CONNECTION_PROXY_PORT); ro_gui_wimp_event_register_text_field(w, CONNECTION_PROXY_USERNAME_LABEL); ro_gui_wimp_event_register_text_field(w, CONNECTION_PROXY_USERNAME); ro_gui_wimp_event_register_text_field(w, CONNECTION_PROXY_PASSWORD_LABEL); ro_gui_wimp_event_register_text_field(w, CONNECTION_PROXY_PASSWORD); ro_gui_wimp_event_register_numeric_field(w, CONNECTION_MAX_FETCH_FIELD, CONNECTION_MAX_FETCH_INC, CONNECTION_MAX_FETCH_DEC, 1, 99, 1, 0); ro_gui_wimp_event_register_numeric_field(w, CONNECTION_HOST_FETCH_FIELD, CONNECTION_HOST_FETCH_INC, CONNECTION_HOST_FETCH_DEC, 1, 99, 1, 0); ro_gui_wimp_event_register_numeric_field(w, CONNECTION_CACHE_FETCH_FIELD, CONNECTION_CACHE_FETCH_INC, CONNECTION_CACHE_FETCH_DEC, 1, 99, 1, 0); ro_gui_wimp_event_register_menu_selection(w, ro_gui_options_connection_update); ro_gui_wimp_event_register_button(w, CONNECTION_DEFAULT_BUTTON, ro_gui_options_connection_default); ro_gui_wimp_event_register_cancel(w, CONNECTION_CANCEL_BUTTON); ro_gui_wimp_event_register_ok(w, CONNECTION_OK_BUTTON, ro_gui_options_connection_ok); ro_gui_wimp_event_set_help_prefix(w, "HelpConnectConfig"); ro_gui_wimp_event_memorise(w); return true; }