From 1490b52a6b96b6a69a0c4fe9e0515dc717425128 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Thu, 22 Mar 2012 09:34:34 +0000 Subject: NetSurf options rework (a=vince r=daniels,jmb) svn path=/trunk/netsurf/; revision=13548 --- windows/font.c | 25 ++++- windows/gui.c | 28 ++--- windows/main.c | 12 +-- windows/prefs.c | 280 ++++++++++++++++++++++++------------------------ windows/system_colour.c | 56 +++++----- 5 files changed, 207 insertions(+), 194 deletions(-) (limited to 'windows') diff --git a/windows/font.c b/windows/font.c index ada54eef0..f97e366f6 100644 --- a/windows/font.c +++ b/windows/font.c @@ -46,30 +46,45 @@ utf8_convert_ret utf8_to_local_encoding(const char *string, return utf8_to_enc(string, "UCS-2", len, result); } +utf8_convert_ret utf8_from_local_encoding(const char *string, size_t len, + char **result) +{ + assert(string && result); + + if (len == 0) + len = strlen(string); + + *result = strndup(string, len); + if (!(*result)) + return UTF8_CONVERT_NOMEM; + + return UTF8_CONVERT_OK; +} + HFONT get_font(const plot_font_style_t *style) { char *face = NULL; DWORD family; switch(style->family) { case PLOT_FONT_FAMILY_SERIF: - face = strdup(option_font_serif); + face = strdup(nsoption_charp(font_serif)); family = FF_ROMAN | DEFAULT_PITCH; break; case PLOT_FONT_FAMILY_MONOSPACE: - face = strdup(option_font_mono); + face = strdup(nsoption_charp(font_mono)); family = FF_MODERN | DEFAULT_PITCH; break; case PLOT_FONT_FAMILY_CURSIVE: - face = strdup(option_font_cursive); + face = strdup(nsoption_charp(font_cursive)); family = FF_SCRIPT | DEFAULT_PITCH; break; case PLOT_FONT_FAMILY_FANTASY: - face = strdup(option_font_fantasy); + face = strdup(nsoption_charp(font_fantasy)); family = FF_DECORATIVE | DEFAULT_PITCH; break; case PLOT_FONT_FAMILY_SANS_SERIF: default: - face = strdup(option_font_sans); + face = strdup(nsoption_charp(font_sans)); family = FF_SWISS | DEFAULT_PITCH; break; } diff --git a/windows/gui.c b/windows/gui.c index f3a2a730d..b98bde469 100644 --- a/windows/gui.c +++ b/windows/gui.c @@ -832,7 +832,7 @@ nsws_window_command(HWND hwnd, break; case IDM_NAV_HOME: - browser_window_go(gw->bw, option_homepage_url, 0, true); + browser_window_go(gw->bw, nsoption_charp(homepage_url), 0, true); break; case IDM_NAV_STOP: @@ -893,11 +893,11 @@ nsws_window_command(HWND hwnd, case IDM_VIEW_SAVE_WIN_METRICS: { RECT r; GetWindowRect(gw->main, &r); - option_window_x = r.left; - option_window_y = r.top; - option_window_width = r.right - r.left; - option_window_height = r.bottom - r.top; - options_write(options_file_location); + nsoption_set_int(window_x, r.left); + nsoption_set_int(window_y, r.top); + nsoption_set_int(window_width, r.right - r.left); + nsoption_set_int(window_height, r.bottom - r.top); + nsoption_write(options_file_location); break; } @@ -1140,16 +1140,16 @@ static HWND nsws_window_create(struct gui_window *gw) nscss_screen_dpi = get_window_dpi(hwnd); - if ((option_window_width >= 100) && - (option_window_height >= 100) && - (option_window_x >= 0) && - (option_window_y >= 0)) { + if ((nsoption_int(window_width) >= 100) && + (nsoption_int(window_height) >= 100) && + (nsoption_int(window_x) >= 0) && + (nsoption_int(window_y) >= 0)) { LOG(("Setting Window position %d,%d %d,%d", - option_window_x, option_window_y, - option_window_width, option_window_height)); + nsoption_int(window_x), nsoption_int(window_y), + nsoption_int(window_width), nsoption_int(window_height))); SetWindowPos(hwnd, HWND_TOP, - option_window_x, option_window_y, - option_window_width, option_window_height, + nsoption_int(window_x), nsoption_int(window_y), + nsoption_int(window_width), nsoption_int(window_height), SWP_SHOWWINDOW); } diff --git a/windows/main.c b/windows/main.c index 26b966d25..8213ca8c7 100644 --- a/windows/main.c +++ b/windows/main.c @@ -131,19 +131,19 @@ WinMain(HINSTANCE hInstance, HINSTANCE hLastInstance, LPSTR lpcli, int ncmd) ret = nsws_create_drawable_class(hInstance); ret = nsws_create_localhistory_class(hInstance); - option_target_blank = false; + nsoption_set_bool(target_blank, false); nsws_window_init_pointers(hInstance); /* ensure homepage option has a default */ - if (option_homepage_url == NULL || option_homepage_url[0] == '\0') - option_homepage_url = strdup(NETSURF_HOMEPAGE); + nsoption_setnull_charp(homepage_url, strdup(NETSURF_HOMEPAGE)); /* If there is a url specified on the command line use it */ - if (argc > 1) + if (argc > 1) { addr = argv[1]; - else - addr = option_homepage_url; + } else { + addr = nsoption_charp(homepage_url); + } LOG(("calling browser_window_create")); bw = browser_window_create(addr, 0, 0, true, false); diff --git a/windows/prefs.c b/windows/prefs.c index d7cc51afa..b3cdca3ae 100644 --- a/windows/prefs.c +++ b/windows/prefs.c @@ -47,26 +47,27 @@ static CHOOSEFONT *nsws_prefs_font_prepare(int fontfamily, HWND parent) switch(fontfamily) { case FF_ROMAN: snprintf(lf->lfFaceName, LF_FACESIZE, "%s", - option_font_serif); + nsoption_charp(font_serif)); break; case FF_MODERN: snprintf(lf->lfFaceName, LF_FACESIZE, "%s", - option_font_mono); + nsoption_charp(font_mono)); break; case FF_SCRIPT: snprintf(lf->lfFaceName, LF_FACESIZE, "%s", - option_font_cursive); + nsoption_charp(font_cursive)); break; case FF_DECORATIVE: snprintf(lf->lfFaceName, LF_FACESIZE, "%s", - option_font_fantasy); + nsoption_charp(font_fantasy)); break; case FF_SWISS: default: snprintf(lf->lfFaceName, LF_FACESIZE, "%s", - option_font_sans); + nsoption_charp(font_sans)); break; } + cf->lStructSize = sizeof(CHOOSEFONT); cf->hwndOwner = parent; cf->lpLogFont = lf; @@ -124,76 +125,75 @@ static BOOL CALLBACK options_appearance_dialog_handler(HWND hwnd, SendMessage(sub, CB_ADDSTRING, 0, (LPARAM)"Cursive"); SendMessage(sub, CB_ADDSTRING, 0, (LPARAM)"Fantasy"); SendMessage(sub, CB_SETCURSEL, - (WPARAM) (option_font_default - 1), 0); + (WPARAM) (nsoption_int(font_default) - 1), 0); - if ((option_font_sans != NULL) && - (option_font_sans[0] != '\0')) { + if ((nsoption_charp(font_sans) != NULL) && + (nsoption_charp(font_sans)[0] != '\0')) { sub = GetDlgItem(hwnd, IDC_PREFS_SANS); SendMessage(sub, WM_SETTEXT, 0, - (LPARAM)option_font_sans); + (LPARAM)nsoption_charp(font_sans)); } - if ((option_font_serif != NULL) && - (option_font_serif[0] != '\0')) { + if ((nsoption_charp(font_serif) != NULL) && + (nsoption_charp(font_serif)[0] != '\0')) { sub = GetDlgItem(hwnd, IDC_PREFS_SERIF); SendMessage(sub, WM_SETTEXT, 0, - (LPARAM)option_font_serif); + (LPARAM)nsoption_charp(font_serif)); } - if ((option_font_mono != NULL) && - (option_font_mono[0] != '\0')) { + if ((nsoption_charp(font_mono) != NULL) && + (nsoption_charp(font_mono)[0] != '\0')) { sub = GetDlgItem(hwnd, IDC_PREFS_MONO); SendMessage(sub, WM_SETTEXT, 0, - (LPARAM)option_font_mono); + (LPARAM)nsoption_charp(font_mono)); } - if ((option_font_cursive != NULL) && - (option_font_cursive[0] != '\0')) { + if ((nsoption_charp(font_cursive) != NULL) && + (nsoption_charp(font_cursive)[0] != '\0')) { sub = GetDlgItem(hwnd, IDC_PREFS_CURSIVE); SendMessage(sub, WM_SETTEXT, 0, - (LPARAM)option_font_cursive); + (LPARAM)nsoption_charp(font_cursive)); } - if ((option_font_fantasy != NULL) && - (option_font_fantasy[0] != '\0')) { + if ((nsoption_charp(font_fantasy) != NULL) && + (nsoption_charp(font_fantasy)[0] != '\0')) { sub = GetDlgItem(hwnd, IDC_PREFS_FANTASY); SendMessage(sub, WM_SETTEXT, 0, - (LPARAM)option_font_fantasy); + (LPARAM)nsoption_charp(font_fantasy)); } - if (option_font_min_size != 0) { + if (nsoption_int(font_min_size) != 0) { sub = GetDlgItem(hwnd, IDC_PREFS_FONT_MINSIZE); - snprintf(number, 6, "%.1f", option_font_min_size / - 10.0); + snprintf(number, 6, "%.1f", nsoption_int(font_min_size) / 10.0); SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number); } - if (option_font_size != 0) { + if (nsoption_int(font_size) != 0) { sub = GetDlgItem(hwnd, IDC_PREFS_FONT_SIZE); - snprintf(number, 6, "%.1f", option_font_size / 10.0); + snprintf(number, 6, "%.1f", nsoption_int(font_size) / 10.0); SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number); } - if (option_max_fetchers != 0) { + if (nsoption_int(max_fetchers) != 0) { sub = GetDlgItem(hwnd, IDC_PREFS_FETCHERS); - snprintf(number, 6, "%d", option_max_fetchers); + snprintf(number, 6, "%d", nsoption_int(max_fetchers)); SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number); } - if (option_max_fetchers_per_host != 0) { + if (nsoption_int(max_fetchers_per_host) != 0) { sub = GetDlgItem(hwnd, IDC_PREFS_FETCH_HOST); snprintf(number, 6, "%d", - option_max_fetchers_per_host); + nsoption_int(max_fetchers_per_host)); SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number); } - if (option_max_cached_fetch_handles != 0) { + if (nsoption_int(max_cached_fetch_handles) != 0) { sub = GetDlgItem(hwnd, IDC_PREFS_FETCH_HANDLES); snprintf(number, 6, "%d", - option_max_cached_fetch_handles); + nsoption_int(max_cached_fetch_handles)); SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number); } /* animation */ sub = GetDlgItem(hwnd, IDC_PREFS_NOANIMATION); - SendMessage(sub, BM_SETCHECK, (WPARAM)((option_animate_images) + SendMessage(sub, BM_SETCHECK, (WPARAM)((nsoption_bool(animate_images)) ? BST_UNCHECKED : BST_CHECKED), 0); - if (option_minimum_gif_delay != 0) { + if (nsoption_int(minimum_gif_delay) != 0) { sub = GetDlgItem(hwnd, IDC_PREFS_ANIMATIONDELAY); - snprintf(number, 6, "%.1f", option_minimum_gif_delay / + snprintf(number, 6, "%.1f", nsoption_int(minimum_gif_delay) / 100.0); SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number); } @@ -208,7 +208,7 @@ static BOOL CALLBACK options_appearance_dialog_handler(HWND hwnd, if (temp != NULL) { SendMessage(sub, WM_GETTEXT, (WPARAM) (len + 1), (LPARAM) temp); - option_font_size = (int) + nsoption_int(font_size) = (int) (10 * strtod(temp, NULL)); free(temp); } @@ -219,13 +219,14 @@ static BOOL CALLBACK options_appearance_dialog_handler(HWND hwnd, if (temp != NULL) { SendMessage(sub, WM_GETTEXT, (WPARAM) (len + 1), (LPARAM) temp); - option_font_min_size = (int) - (10 * strtod(temp, NULL)); + nsoption_set_int(font_min_size, + (int)(10 * strtod(temp, NULL))); free(temp); } /* animation */ - option_animate_images = (IsDlgButtonChecked(hwnd, IDC_PREFS_NOANIMATION) == BST_CHECKED) ? true : false; + nsoption_set_bool(animate_images, + (IsDlgButtonChecked(hwnd, IDC_PREFS_NOANIMATION) == BST_CHECKED) ? true : false); sub = GetDlgItem(hwnd, IDC_PREFS_ANIMATIONDELAY); @@ -234,8 +235,8 @@ static BOOL CALLBACK options_appearance_dialog_handler(HWND hwnd, if (temp != NULL) { SendMessage(sub, WM_GETTEXT, (WPARAM) (len + 1), (LPARAM) temp); - option_minimum_gif_delay = (int) - (100 * strtod(temp, NULL)); + nsoption_set_int(minimum_gif_delay, + (int)(100 * strtod(temp, NULL))); free(temp); } @@ -255,7 +256,7 @@ static BOOL CALLBACK options_appearance_dialog_handler(HWND hwnd, case IDC_PREFS_ANIMATIONDELAY_SPIN: change_spinner(GetDlgItem(hwnd, IDC_PREFS_ANIMATIONDELAY), 0.1 * ud->iDelta, 0.1, 100.0); return TRUE; - + } } break; @@ -264,131 +265,134 @@ static BOOL CALLBACK options_appearance_dialog_handler(HWND hwnd, case WM_COMMAND: LOG(("WM_COMMAND Identifier 0x%x",LOWORD(wparam))); + switch(LOWORD(wparam)) { case IDC_PREFS_PROXYTYPE: sub = GetDlgItem(hwnd, IDC_PREFS_PROXYTYPE); - option_http_proxy_auth = SendMessage(sub, - CB_GETCURSEL, 0, 0) - 1; - option_http_proxy = (option_http_proxy_auth != -1); - option_http_proxy_auth += (option_http_proxy) ? 0 : 1; + nsoption_set_int(http_proxy_auth, + SendMessage(sub, CB_GETCURSEL, 0, 0) - 1); + nsoption_set_bool(http_proxy, + (nsoption_int(http_proxy_auth) != -1)); + nsoption_set_int(http_proxy_auth, + nsoption_int(http_proxy_auth) + + (nsoption_bool(http_proxy)) ? 0 : 1); break; case IDC_PREFS_SANS: { - CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_SWISS, - hwnd); - if (cf == NULL) + CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_SWISS, hwnd); + if (cf == NULL) { break; + } + if (ChooseFont(cf) == TRUE) { - if (option_font_sans != NULL) - free(option_font_sans); - option_font_sans = strdup( - cf->lpLogFont->lfFaceName); + nsoption_set_charp(font_sans, + strdup(cf->lpLogFont->lfFaceName)); } + free(cf->lpLogFont); free(cf); - if ((option_font_sans != NULL) && - (option_font_sans[0] != '\0')) { + if ((nsoption_charp(font_sans) != NULL) && + (nsoption_charp(font_sans)[0] != '\0')) { sub = GetDlgItem(hwnd, IDC_PREFS_SANS); SendMessage(sub, WM_SETTEXT, 0, - (LPARAM)option_font_sans); + (LPARAM)nsoption_charp(font_sans)); } break; } case IDC_PREFS_SERIF: { - CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_ROMAN, - hwnd); - if (cf == NULL) + CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_ROMAN, hwnd); + if (cf == NULL) { break; + } if (ChooseFont(cf) == TRUE) { - if (option_font_serif != NULL) - free(option_font_serif); - option_font_serif = strdup( - cf->lpLogFont->lfFaceName); + nsoption_set_charp(font_serif, + strdup(cf->lpLogFont->lfFaceName)); } + free(cf->lpLogFont); free(cf); - if ((option_font_serif != NULL) && - (option_font_serif[0] != '\0')) { + if ((nsoption_charp(font_serif) != NULL) && + (nsoption_charp(font_serif)[0] != '\0')) { sub = GetDlgItem(hwnd, IDC_PREFS_SERIF); SendMessage(sub, WM_SETTEXT, 0, - (LPARAM)option_font_serif); + (LPARAM)nsoption_charp(font_serif)); } break; } + case IDC_PREFS_MONO: { - CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_MODERN, - hwnd); - if (cf == NULL) + CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_MODERN, hwnd); + if (cf == NULL) { break; + } if (ChooseFont(cf) == TRUE) { - if (option_font_mono != NULL) - free(option_font_mono); - option_font_mono = strdup( - cf->lpLogFont->lfFaceName); + nsoption_set_charp(font_mono, + strdup(cf->lpLogFont->lfFaceName)); } + free(cf->lpLogFont); free(cf); - if ((option_font_mono != NULL) && - (option_font_mono[0] != '\0')) { + + if ((nsoption_charp(font_mono) != NULL) && + (nsoption_charp(font_mono)[0] != '\0')) { sub = GetDlgItem(hwnd, IDC_PREFS_MONO); SendMessage(sub, WM_SETTEXT, 0, - (LPARAM)option_font_mono); + (LPARAM)nsoption_charp(font_mono)); } break; } + case IDC_PREFS_CURSIVE: { - CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_SCRIPT, - hwnd); - if (cf == NULL) + CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_SCRIPT, hwnd); + if (cf == NULL) { break; + } if (ChooseFont(cf) == TRUE) { - if (option_font_cursive != NULL) - free(option_font_cursive); - option_font_cursive = strdup( - cf->lpLogFont->lfFaceName); + nsoption_set_charp(font_cursive, + strdup(cf->lpLogFont->lfFaceName)); } free(cf->lpLogFont); free(cf); - if ((option_font_cursive != NULL) && - (option_font_cursive[0] != '\0')) { + if ((nsoption_charp(font_cursive) != NULL) && + (nsoption_charp(font_cursive)[0] != '\0')) { sub = GetDlgItem(hwnd, IDC_PREFS_CURSIVE); SendMessage(sub, WM_SETTEXT, 0, - (LPARAM)option_font_cursive); + (LPARAM)nsoption_charp(font_cursive)); } break; } + case IDC_PREFS_FANTASY: { - CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_DECORATIVE, - hwnd); - if (cf == NULL) + CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_DECORATIVE, hwnd); + if (cf == NULL) { break; + } + if (ChooseFont(cf) == TRUE) { - if (option_font_fantasy != NULL) - free(option_font_fantasy); - option_font_fantasy = strdup( - cf->lpLogFont->lfFaceName); + nsoption_set_charp(font_fantasy, + strdup(cf->lpLogFont->lfFaceName)); } free(cf->lpLogFont); free(cf); - if ((option_font_fantasy != NULL) && - (option_font_fantasy[0] != '\0')) { + if ((nsoption_charp(font_fantasy) != NULL) && + (nsoption_charp(font_fantasy)[0] != '\0')) { sub = GetDlgItem(hwnd, IDC_PREFS_FANTASY); SendMessage(sub, WM_SETTEXT, 0, - (LPARAM)option_font_fantasy); + (LPARAM)nsoption_charp(font_fantasy)); } break; } case IDC_PREFS_FONTDEF: sub = GetDlgItem(hwnd, IDC_PREFS_FONTDEF); - option_font_default = SendMessage(sub, CB_GETCURSEL, 0, 0) + 1; + nsoption_set_int(font_default, + SendMessage(sub, CB_GETCURSEL, 0, 0) + 1); break; - } break; @@ -412,46 +416,47 @@ static BOOL CALLBACK options_connections_dialog_handler(HWND hwnd, SendMessage(sub, CB_ADDSTRING, 0, (LPARAM)"Simple"); SendMessage(sub, CB_ADDSTRING, 0, (LPARAM)"Basic Auth"); SendMessage(sub, CB_ADDSTRING, 0, (LPARAM)"NTLM Auth"); - if (option_http_proxy) + if (nsoption_bool(http_proxy)) { SendMessage(sub, CB_SETCURSEL, (WPARAM) - (option_http_proxy_auth + 1), 0); - else + (nsoption_int(http_proxy_auth) + 1), 0); + } else { SendMessage(sub, CB_SETCURSEL, 0, 0); + } sub = GetDlgItem(hwnd, IDC_PREFS_PROXYHOST); - if ((option_http_proxy_host != NULL) && - (option_http_proxy_host[0] != '\0')) + if ((nsoption_charp(http_proxy_host) != NULL) && + (nsoption_charp(http_proxy_host)[0] != '\0')) SendMessage(sub, WM_SETTEXT, 0, - (LPARAM)option_http_proxy_host); + (LPARAM)nsoption_charp(http_proxy_host)); sub = GetDlgItem(hwnd, IDC_PREFS_PROXYPORT); - if (option_http_proxy_port != 0) { - snprintf(number, 6, "%d", option_http_proxy_port); + if (nsoption_int(http_proxy_port) != 0) { + snprintf(number, 6, "%d", nsoption_int(http_proxy_port)); SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number); } sub = GetDlgItem(hwnd, IDC_PREFS_PROXYNAME); - if ((option_http_proxy_auth_user != NULL) && - (option_http_proxy_auth_user[0] != '\0')) + if ((nsoption_charp(http_proxy_auth_user) != NULL) && + (nsoption_charp(http_proxy_auth_user)[0] != '\0')) SendMessage(sub, WM_SETTEXT, 0, - (LPARAM)option_http_proxy_auth_user); + (LPARAM)nsoption_charp(http_proxy_auth_user)); sub = GetDlgItem(hwnd, IDC_PREFS_PROXYPASS); - if ((option_http_proxy_auth_pass != NULL) && - (option_http_proxy_auth_pass[0] != '\0')) + if ((nsoption_charp(http_proxy_auth_pass) != NULL) && + (nsoption_charp(http_proxy_auth_pass)[0] != '\0')) SendMessage(sub, WM_SETTEXT, 0, - (LPARAM)option_http_proxy_auth_pass); + (LPARAM)nsoption_charp(http_proxy_auth_pass)); sub = GetDlgItem(hwnd, IDC_PREFS_FETCHERS); - snprintf(number, 6, "%d", option_max_fetchers); + snprintf(number, 6, "%d", nsoption_int(max_fetchers)); SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number); sub = GetDlgItem(hwnd, IDC_PREFS_FETCH_HOST); - snprintf(number, 6, "%d", option_max_fetchers_per_host); + snprintf(number, 6, "%d", nsoption_int(max_fetchers_per_host)); SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number); sub = GetDlgItem(hwnd, IDC_PREFS_FETCH_HANDLES); - snprintf(number, 6, "%d", option_max_cached_fetch_handles); + snprintf(number, 6, "%d", nsoption_int(max_cached_fetch_handles)); SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number); break; @@ -463,11 +468,9 @@ static BOOL CALLBACK options_connections_dialog_handler(HWND hwnd, len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0); temp = malloc(len + 1); if (temp != NULL) { - if (option_http_proxy_host != NULL) - free(option_http_proxy_host); SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1), (LPARAM)temp); - option_http_proxy_host = strdup(temp); + nsoption_set_charp(http_proxy_host, strdup(temp)); free(temp); } @@ -477,7 +480,7 @@ static BOOL CALLBACK options_connections_dialog_handler(HWND hwnd, if (temp != NULL) { SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1), (LPARAM)temp); - option_http_proxy_port = atoi(temp); + nsoption_set_int(http_proxy_port, atoi(temp)); free(temp); } @@ -485,11 +488,9 @@ static BOOL CALLBACK options_connections_dialog_handler(HWND hwnd, len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0); temp = malloc(len + 1); if (temp != NULL) { - if (option_http_proxy_auth_user != NULL) - free(option_http_proxy_auth_user); SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1), (LPARAM)temp); - option_http_proxy_auth_user = strdup(temp); + nsoption_set_charp(http_proxy_auth_user, strdup(temp)); free(temp); } @@ -497,11 +498,9 @@ static BOOL CALLBACK options_connections_dialog_handler(HWND hwnd, len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0); temp = malloc(len + 1); if (temp != NULL) { - if (option_http_proxy_auth_pass != NULL) - free(option_http_proxy_auth_pass); SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1), (LPARAM)temp); - option_http_proxy_auth_pass = strdup(temp); + nsoption_set_charp(http_proxy_auth_pass, strdup(temp)); free(temp); } @@ -512,7 +511,7 @@ static BOOL CALLBACK options_connections_dialog_handler(HWND hwnd, if (temp != NULL) { SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1), (LPARAM)temp); - option_max_fetchers = atoi(temp); + nsoption_set_int(max_fetchers, atoi(temp)); free(temp); } @@ -522,7 +521,7 @@ static BOOL CALLBACK options_connections_dialog_handler(HWND hwnd, if (temp != NULL) { SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1), (LPARAM)temp); - option_max_fetchers_per_host = atoi(temp); + nsoption_set_int(max_fetchers_per_host, atoi(temp)); free(temp); } @@ -532,7 +531,7 @@ static BOOL CALLBACK options_connections_dialog_handler(HWND hwnd, if (temp != NULL) { SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1), (LPARAM)temp); - option_max_cached_fetch_handles = atoi(temp); + nsoption_set_int(max_cached_fetch_handles, atoi(temp)); free(temp); } break; @@ -571,24 +570,24 @@ static BOOL CALLBACK options_general_dialog_handler(HWND hwnd, case WM_INITDIALOG: /* homepage url */ sub = GetDlgItem(hwnd, IDC_PREFS_HOMEPAGE); - SendMessage(sub, WM_SETTEXT, 0, (LPARAM)option_homepage_url); + SendMessage(sub, WM_SETTEXT, 0, (LPARAM)nsoption_charp(homepage_url)); /* Display images */ sub = GetDlgItem(hwnd, IDC_PREFS_IMAGES); SendMessage(sub, BM_SETCHECK, - (WPARAM) ((option_suppress_images) ? + (WPARAM) ((nsoption_bool(suppress_images)) ? BST_CHECKED : BST_UNCHECKED), 0); /* advert blocking */ sub = GetDlgItem(hwnd, IDC_PREFS_ADVERTS); SendMessage(sub, BM_SETCHECK, - (WPARAM) ((option_block_ads) ? + (WPARAM) ((nsoption_bool(block_ads)) ? BST_CHECKED : BST_UNCHECKED), 0); /* Referrer sending */ sub = GetDlgItem(hwnd, IDC_PREFS_REFERER); SendMessage(sub, BM_SETCHECK, - (WPARAM)((option_send_referer) ? + (WPARAM)((nsoption_bool(send_referer)) ? BST_CHECKED : BST_UNCHECKED), 0); break; @@ -607,19 +606,18 @@ static BOOL CALLBACK options_general_dialog_handler(HWND hwnd, SendMessage(sub, WM_GETTEXT, (WPARAM)text_length + 1, (LPARAM)text); - free(option_homepage_url); - option_homepage_url = text; + nsoption_set_charp(homepage_url, text); } } - option_suppress_images = (IsDlgButtonChecked(hwnd, - IDC_PREFS_IMAGES) == BST_CHECKED) ? true : false; + nsoption_set_bool(suppress_images, + (IsDlgButtonChecked(hwnd, IDC_PREFS_IMAGES) == BST_CHECKED) ? true : false); - option_block_ads = (IsDlgButtonChecked(hwnd, - IDC_PREFS_ADVERTS) == BST_CHECKED) ? true : false; + nsoption_set_bool(block_ads, (IsDlgButtonChecked(hwnd, + IDC_PREFS_ADVERTS) == BST_CHECKED) ? true : false); - option_send_referer = (IsDlgButtonChecked(hwnd, - IDC_PREFS_REFERER) == BST_CHECKED) ? true : false; + nsoption_set_bool(send_referer, (IsDlgButtonChecked(hwnd, + IDC_PREFS_REFERER) == BST_CHECKED) ? true : false); break; @@ -675,7 +673,7 @@ void nsws_prefs_dialog_init(HINSTANCE hinst, HWND parent) win_perror("PropertySheet"); } else if (ret > 0) { /* user saved changes */ - options_write(options_file_location); + nsoption_write(options_file_location); } } diff --git a/windows/system_colour.c b/windows/system_colour.c index b58717492..ec40947c0 100644 --- a/windows/system_colour.c +++ b/windows/system_colour.c @@ -39,170 +39,170 @@ static struct gui_system_colour_ctx colour_list[] = { "ActiveBorder", SLEN("ActiveBorder"), 0xff000000, - &option_sys_colour_ActiveBorder, + &nsoption_charp(sys_colour_ActiveBorder), NULL }, { "ActiveCaption", SLEN("ActiveCaption"), 0xffdddddd, - &option_sys_colour_ActiveCaption, + &nsoption_charp(sys_colour_ActiveCaption), NULL }, { "AppWorkspace", SLEN("AppWorkspace"), 0xffeeeeee, - &option_sys_colour_AppWorkspace, + &nsoption_charp(sys_colour_AppWorkspace), NULL }, { "Background", SLEN("Background"), 0xff0000aa, - &option_sys_colour_Background, + &nsoption_charp(sys_colour_Background), NULL }, { "ButtonFace", SLEN("ButtonFace"), 0xffaaaaaa, - &option_sys_colour_ButtonFace, + &nsoption_charp(sys_colour_ButtonFace), NULL }, { "ButtonHighlight", SLEN("ButtonHighlight"), 0xffdddddd, - &option_sys_colour_ButtonHighlight, + &nsoption_charp(sys_colour_ButtonHighlight), NULL }, { "ButtonShadow", SLEN("ButtonShadow"), 0xffbbbbbb, - &option_sys_colour_ButtonShadow, + &nsoption_charp(sys_colour_ButtonShadow), NULL }, { "ButtonText", SLEN("ButtonText"), 0xff000000, - &option_sys_colour_ButtonText, + &nsoption_charp(sys_colour_ButtonText), NULL }, { "CaptionText", SLEN("CaptionText"), 0xff000000, - &option_sys_colour_CaptionText, + &nsoption_charp(sys_colour_CaptionText), NULL }, { "GrayText", SLEN("GrayText"), 0xffcccccc, - &option_sys_colour_GrayText, + &nsoption_charp(sys_colour_GrayText), NULL }, { "Highlight", SLEN("Highlight"), 0xff0000ee, - &option_sys_colour_Highlight, + &nsoption_charp(sys_colour_Highlight), NULL }, { "HighlightText", SLEN("HighlightText"), 0xff000000, - &option_sys_colour_HighlightText, + &nsoption_charp(sys_colour_HighlightText), NULL }, { "InactiveBorder", SLEN("InactiveBorder"), 0xffffffff, - &option_sys_colour_InactiveBorder, + &nsoption_charp(sys_colour_InactiveBorder), NULL }, { "InactiveCaption", SLEN("InactiveCaption"), 0xffffffff, - &option_sys_colour_InactiveCaption, + &nsoption_charp(sys_colour_InactiveCaption), NULL }, { "InactiveCaptionText", SLEN("InactiveCaptionText"), 0xffcccccc, - &option_sys_colour_InactiveCaptionText, + &nsoption_charp(sys_colour_InactiveCaptionText), NULL }, { "InfoBackground", SLEN("InfoBackground"), 0xffaaaaaa, - &option_sys_colour_InfoBackground, + &nsoption_charp(sys_colour_InfoBackground), NULL }, { "InfoText", SLEN("InfoText"), 0xff000000, - &option_sys_colour_InfoText, + &nsoption_charp(sys_colour_InfoText), NULL }, { "Menu", SLEN("Menu"), 0xffaaaaaa, - &option_sys_colour_Menu, + &nsoption_charp(sys_colour_Menu), NULL }, { "MenuText", SLEN("MenuText"), 0xff000000, - &option_sys_colour_MenuText, + &nsoption_charp(sys_colour_MenuText), NULL }, { "Scrollbar", SLEN("Scrollbar"), 0xffaaaaaa, - &option_sys_colour_Scrollbar, + &nsoption_charp(sys_colour_Scrollbar), NULL }, { "ThreeDDarkShadow", SLEN("ThreeDDarkShadow"), 0xff555555, - &option_sys_colour_ThreeDDarkShadow, + &nsoption_charp(sys_colour_ThreeDDarkShadow), NULL }, { "ThreeDFace", SLEN("ThreeDFace"), 0xffdddddd, - &option_sys_colour_ThreeDFace, + &nsoption_charp(sys_colour_ThreeDFace), NULL }, { "ThreeDHighlight", SLEN("ThreeDHighlight"), 0xffaaaaaa, - &option_sys_colour_ThreeDHighlight, + &nsoption_charp(sys_colour_ThreeDHighlight), NULL }, { "ThreeDLightShadow", SLEN("ThreeDLightShadow"), 0xff999999, - &option_sys_colour_ThreeDLightShadow, + &nsoption_charp(sys_colour_ThreeDLightShadow), NULL }, { "ThreeDShadow", SLEN("ThreeDShadow"), 0xff777777, - &option_sys_colour_ThreeDShadow, + &nsoption_charp(sys_colour_ThreeDShadow), NULL }, { "Window", SLEN("Window"), 0xffaaaaaa, - &option_sys_colour_Window, + &nsoption_charp(sys_colour_Window), NULL }, { "WindowFrame", SLEN("WindowFrame"), 0xff000000, - &option_sys_colour_WindowFrame, + &nsoption_charp(sys_colour_WindowFrame), NULL }, { "WindowText", SLEN("WindowText"), 0xff000000, - &option_sys_colour_WindowText, + &nsoption_charp(sys_colour_WindowText), NULL }, -- cgit v1.2.3