bool ro_gui_options_interface_ok(wimp_w w) { nsoption_set_bool(strip_extensions, ro_gui_get_icon_selected_state(w, INTERFACE_STRIP_EXTNS_OPTION)); nsoption_set_bool(confirm_overwrite, ro_gui_get_icon_selected_state(w, INTERFACE_CONFIRM_OVWR_OPTION)); nsoption_set_bool(url_suggestion, ro_gui_get_icon_selected_state(w, INTERFACE_URL_COMPLETE_OPTION)); nsoption_set_bool(history_tooltip, ro_gui_get_icon_selected_state(w, INTERFACE_HISTORY_TOOLTIP_OPTION)); nsoption_set_bool(thumbnail_iconise, ro_gui_get_icon_selected_state(w, INTERFACE_THUMBNAIL_ICONISE_OPTION)); nsoption_set_bool(external_hotlists, ro_gui_get_icon_selected_state(w, INTERFACE_USE_EXTERNAL_HOTLIST)); nsoption_set_charp(external_hotlist_app, strdup(ro_gui_get_icon_string(w, INTERFACE_EXTERNAL_HOTLIST_APP))); ro_gui_save_options(); return true; }
bool ro_gui_options_theme_ok(wimp_w w) { struct toolbar_display *toolbar; struct theme_descriptor *theme_new = NULL; /* find the current selection */ for (toolbar = toolbars; toolbar; toolbar = toolbar->next) { if (ro_gui_get_icon_selected_state(theme_pane, toolbar->icon_number)) { theme_new = toolbar->descriptor; break; } } /* set the options */ if (option_theme) free(option_theme); if (theme_new) { option_theme = strdup(theme_new->leafname); ro_gui_theme_apply(theme_new); } else option_theme = NULL; ro_gui_save_options(); /* store the pane status */ ro_gui_wimp_event_memorise(theme_pane); return true; }
bool ro_gui_options_connection_ok(wimp_w w) { int proxy_type; proxy_type = ro_gui_options_connection_proxy_type(w); if (proxy_type == 0) option_http_proxy = false; else { option_http_proxy = true; option_http_proxy_auth = proxy_type - 1; } if (option_http_proxy_host) free(option_http_proxy_host); option_http_proxy_host = strdup(ro_gui_get_icon_string(w, CONNECTION_PROXY_HOST)); option_http_proxy_port = ro_gui_get_icon_decimal(w, CONNECTION_PROXY_PORT, 0); if (option_http_proxy_auth_user) free(option_http_proxy_auth_user); option_http_proxy_auth_user = strdup(ro_gui_get_icon_string(w, CONNECTION_PROXY_USERNAME)); if (option_http_proxy_auth_pass) free(option_http_proxy_auth_pass); option_http_proxy_auth_pass = strdup(ro_gui_get_icon_string(w, CONNECTION_PROXY_PASSWORD)); option_max_fetchers = ro_gui_get_icon_decimal(w, CONNECTION_MAX_FETCH_FIELD, 0); option_max_fetchers_per_host = ro_gui_get_icon_decimal(w, CONNECTION_HOST_FETCH_FIELD, 0); option_max_cached_fetch_handles = ro_gui_get_icon_decimal(w, CONNECTION_CACHE_FETCH_FIELD, 0); ro_gui_save_options(); return true; }
bool ro_gui_options_security_ok(wimp_w w) { option_send_referer = ro_gui_get_icon_selected_state(w, SECURITY_REFERRER); option_expire_url = ro_gui_get_icon_decimal(w, SECURITY_DURATION_FIELD, 0); ro_gui_save_options(); return true; }
bool ro_gui_theme_install_apply(wimp_w w) { char theme_save[256]; char *theme_file; struct theme_descriptor *theme_install; os_error *error; char *fix; const char *source_data; unsigned long source_size; assert(theme_install_content); /* convert spaces to hard spaces */ theme_file = strdup(theme_install_descriptor.name); if (!theme_file) { LOG(("malloc failed")); warn_user("NoMemory", 0); return false; } for (fix = theme_file; *fix != '\0'; fix++) if (*fix == ' ') *fix = 160; /* hard space */ /* simply overwrite previous theme versions */ snprintf(theme_save, sizeof theme_save, "%s.%s", nsoption_charp(theme_save), theme_file); theme_save[sizeof theme_save - 1] = '\0'; source_data = content_get_source_data(theme_install_content, &source_size); error = xosfile_save_stamped(theme_save, 0xffd, (byte *) source_data, (byte *) source_data + source_size); if (error) { LOG(("xosfile_save_stamped: 0x%x: %s", error->errnum, error->errmess)); warn_user("ThemeInstallErr", 0); free(theme_file); return false; } /* apply the new theme */ ro_gui_theme_get_available(); theme_install = ro_gui_theme_find(theme_file); if (!theme_install || !ro_gui_theme_apply(theme_install)) { warn_user("ThemeApplyErr", 0); } else { nsoption_set_charp(theme, strdup(theme_install->leafname)); } free(theme_file); ro_gui_save_options(); return true; }
bool ro_gui_options_security_ok(wimp_w w) { nsoption_set_bool(send_referer, ro_gui_get_icon_selected_state(w, SECURITY_REFERRER)); nsoption_set_int(expire_url, ro_gui_get_icon_decimal(w,SECURITY_DURATION_FIELD, 0)); ro_gui_save_options(); return true; }
bool ro_gui_options_home_ok(wimp_w w) { nsoption_set_charp(homepage_url, strdup(ro_gui_get_icon_string(w, HOME_URL_FIELD))); nsoption_set_bool(open_browser_at_startup, ro_gui_get_icon_selected_state(w, HOME_OPEN_STARTUP)); ro_gui_save_options(); return true; }
bool ro_gui_options_image_ok(wimp_w w) { ro_gui_options_image_read(w, (unsigned int *)&nsoption_int(plot_bg_quality), (unsigned int *)&nsoption_int(plot_fg_quality)); nsoption_set_int(minimum_gif_delay, ro_gui_get_icon_decimal(w, IMAGE_SPEED_FIELD, 2)); nsoption_set_bool(animate_images, !ro_gui_get_icon_selected_state(w, IMAGE_DISABLE_ANIMATION)); ro_gui_save_options(); return true; }
bool ro_gui_options_content_ok(wimp_w w) { nsoption_set_bool(block_ads, ro_gui_get_icon_selected_state(w, CONTENT_BLOCK_ADVERTISEMENTS)); nsoption_set_bool(block_popups, ro_gui_get_icon_selected_state(w, CONTENT_BLOCK_POPUPS)); nsoption_set_bool(no_plugins, ro_gui_get_icon_selected_state(w, CONTENT_NO_PLUGINS)); nsoption_set_bool(target_blank, ro_gui_get_icon_selected_state(w, CONTENT_TARGET_BLANK)); ro_gui_save_options(); return true; }
bool ro_gui_options_fonts_ok(wimp_w w) { unsigned int i; nsoption_set_int(font_size, ro_gui_get_icon_decimal(w, FONT_DEFAULT_SIZE, 1)); nsoption_set_int(font_min_size, ro_gui_get_icon_decimal(w, FONT_MINIMUM_SIZE, 1)); if (nsoption_int(font_size) < nsoption_int(font_min_size)) { nsoption_set_int(font_size, nsoption_int(font_min_size)); ro_gui_set_icon_decimal(w, FONT_DEFAULT_SIZE, nsoption_int(font_size), 1); } nsoption_set_charp(font_sans, strdup(ro_gui_get_icon_string(w, FONT_SANS_FIELD))); nsoption_set_charp(font_serif, strdup(ro_gui_get_icon_string(w, FONT_SERIF_FIELD))); nsoption_set_charp(font_mono, strdup(ro_gui_get_icon_string(w, FONT_MONOSPACE_FIELD))); nsoption_set_charp(font_cursive, strdup(ro_gui_get_icon_string(w, FONT_CURSIVE_FIELD))); nsoption_set_charp(font_fantasy, strdup(ro_gui_get_icon_string(w, FONT_FANTASY_FIELD))); for (i = 0; i != 5; i++) { if (!strcmp(font_names[i], ro_gui_get_icon_string(w, FONT_DEFAULT_FIELD))) break; } if (i == 5) /* this should never happen, but still */ i = 0; nsoption_set_int(font_default, i); ro_gui_save_options(); return true; }
bool ro_gui_options_language_ok(wimp_w w) { const char *code; char *temp; code = ro_gui_menu_find_menu_entry_key(languages_menu, ro_gui_get_icon_string(w, LANGUAGE_INTERFACE_FIELD)); if (code) { code += 5; /* skip 'lang_' */ if ((!nsoption_charp(language)) || (strcmp(nsoption_charp(language), code))) { temp = strdup(code); if (temp) { nsoption_set_charp(language, temp); } else { LOG("No memory to duplicate language code"); warn_user("NoMemory", 0); } } } code = ro_gui_menu_find_menu_entry_key(languages_menu, ro_gui_get_icon_string(w, LANGUAGE_WEB_PAGES_FIELD)); if (code) { code += 5; /* skip 'lang_' */ if ((!nsoption_charp(accept_language)) || (strcmp(nsoption_charp(accept_language), code))) { temp = strdup(code); if (temp) { nsoption_set_charp(accept_language,temp); } else { LOG("No memory to duplicate language code"); warn_user("NoMemory", 0); } } } ro_gui_save_options(); return true; }
void ro_gui_global_history_toolbar_save_buttons(char *config) { nsoption_set_charp(toolbar_history, config); ro_gui_save_options(); }
void ro_gui_cookies_toolbar_save_buttons(char *config) { nsoption_set_charp(toolbar_cookies, config); ro_gui_save_options(); }