summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2011-03-06 23:27:09 +0000
committerVincent Sanders <vince@netsurf-browser.org>2011-03-06 23:27:09 +0000
commitb925439a14ac8c8787034f30631ad60dd626a299 (patch)
tree6d94f728b8d78fe1236a38f64758816d955806d1
parenta88963d82e3821797ff65afb5e68dbcbf5e13d60 (diff)
downloadnetsurf-b925439a14ac8c8787034f30631ad60dd626a299.tar.gz
netsurf-b925439a14ac8c8787034f30631ad60dd626a299.tar.bz2
rationalise windows resource script
make window options dialog into a property sheet svn path=/trunk/netsurf/; revision=11929
-rw-r--r--windows/about.c4
-rw-r--r--windows/bitmap.c4
-rw-r--r--windows/bitmap.h2
-rw-r--r--windows/download.c9
-rw-r--r--windows/gui.c216
-rw-r--r--windows/prefs.c930
-rw-r--r--windows/prefs.h4
-rw-r--r--windows/res/banner.bmpbin0 -> 79518 bytes
-rw-r--r--windows/res/home.bmpbin0 -> 2358 bytes
-rw-r--r--windows/res/netsurf.gifbin0 -> 14119 bytes
-rw-r--r--windows/res/resource.rc473
-rw-r--r--windows/res/throbber/throbber0.bmpbin0 -> 1866 bytes
-rw-r--r--windows/res/throbber/throbber1.bmpbin0 -> 1866 bytes
-rw-r--r--windows/res/throbber/throbber2.bmpbin0 -> 1866 bytes
-rw-r--r--windows/res/throbber/throbber3.bmpbin0 -> 1866 bytes
-rw-r--r--windows/res/throbber/throbber4.bmpbin0 -> 1866 bytes
-rw-r--r--windows/res/throbber/throbber5.bmpbin0 -> 1866 bytes
-rw-r--r--windows/res/throbber/throbber6.bmpbin0 -> 1866 bytes
-rw-r--r--windows/res/throbber/throbber7.bmpbin0 -> 1866 bytes
-rw-r--r--windows/resourceid.h194
-rw-r--r--windows/windbg.c51
-rw-r--r--windows/windbg.h24
22 files changed, 1041 insertions, 870 deletions
diff --git a/windows/about.c b/windows/about.c
index e73b270ce..515d36258 100644
--- a/windows/about.c
+++ b/windows/about.c
@@ -67,7 +67,7 @@ BOOL CALLBACK nsws_about_event_callback(HWND hwnd, UINT msg, WPARAM wparam,
{
switch(msg) {
case WM_INITDIALOG: {
- HWND content = GetDlgItem(hwnd, NSWS_ID_ABOUT_CONTENT);
+ HWND content = GetDlgItem(hwnd, IDC_ABOUT_CONTENT);
/* modify label NSWS_ID_ABOUT_CONTENT */
size_t len;
char *newcontent, *authors, *artists, *documenters;
@@ -165,7 +165,7 @@ BOOL CALLBACK nsws_about_event_callback(HWND hwnd, UINT msg, WPARAM wparam,
void nsws_about_dialog_init(HINSTANCE hinst, HWND parent)
{
- int ret = DialogBox(hinst, MAKEINTRESOURCE(NSWS_ID_ABOUT_DIALOG), parent,
+ int ret = DialogBox(hinst, MAKEINTRESOURCE(IDD_DLG_ABOUT), parent,
nsws_about_event_callback);
if (ret == -1) {
warn_user(messages_get("NoMemory"), 0);
diff --git a/windows/bitmap.c b/windows/bitmap.c
index 2f9d2810f..aaa5633bc 100644
--- a/windows/bitmap.c
+++ b/windows/bitmap.c
@@ -40,7 +40,7 @@ void *bitmap_create(int width, int height, unsigned int state)
{
struct bitmap *bitmap;
BITMAPV5HEADER *pbmi;
- BITMAP *windib;
+ HBITMAP windib;
uint8_t *pixdata;
LOG(("width %d, height %d, state %u",width,height,state));
@@ -61,7 +61,7 @@ void *bitmap_create(int width, int height, unsigned int state)
pbmi->bV5BlueMask = 0xff0000; /* blue mask */
pbmi->bV5AlphaMask = 0xff000000; /* alpha mask */
- windib = CreateDIBSection(NULL, (BITMAPINFO *)pbmi, DIB_RGB_COLORS, &pixdata, NULL, 0);
+ windib = CreateDIBSection(NULL, (BITMAPINFO *)pbmi, DIB_RGB_COLORS, (void **)&pixdata, NULL, 0);
if (windib == NULL) {
diff --git a/windows/bitmap.h b/windows/bitmap.h
index 11c5cdce1..d05fef2ed 100644
--- a/windows/bitmap.h
+++ b/windows/bitmap.h
@@ -23,7 +23,7 @@
#include "desktop/plotters.h"
struct bitmap {
- BITMAP *windib;
+ HBITMAP windib;
BITMAPV5HEADER *pbmi;
int width;
int height;
diff --git a/windows/download.c b/windows/download.c
index 9ba531db1..f128eea51 100644
--- a/windows/download.c
+++ b/windows/download.c
@@ -137,8 +137,7 @@ gui_download_window_create(download_context *ctx, struct gui_window *gui)
bool nsws_download_window_up(struct gui_download_window *w)
{
- w->hwnd = CreateDialog(hinstance, MAKEINTRESOURCE(
- NSWS_ID_DOWNLOAD_DIALOG),
+ w->hwnd = CreateDialog(hinstance, MAKEINTRESOURCE(IDD_DLG_DOWNLOAD),
gui_window_main_window(w->window),
nsws_download_event_callback);
if (w->hwnd == NULL) {
@@ -155,7 +154,7 @@ BOOL CALLBACK nsws_download_event_callback(HWND hwnd, UINT msg, WPARAM wparam,
HWND sub;
switch(msg){
case WM_INITDIALOG:
- sub = GetDlgItem(hwnd, NSWS_ID_DOWNLOAD_LABEL);
+ sub = GetDlgItem(hwnd, IDC_DOWNLOAD_LABEL);
nsws_download_update_label((void *)download1);
nsws_download_update_progress((void *)download1);
return TRUE;
@@ -182,7 +181,7 @@ void nsws_download_update_label(void *p)
schedule_remove(nsws_download_update_label, p);
return;
}
- HWND sub = GetDlgItem(w->hwnd, NSWS_ID_DOWNLOAD_LABEL);
+ HWND sub = GetDlgItem(w->hwnd, IDC_DOWNLOAD_LABEL);
char *size = human_friendly_bytesize(w->downloaded);
int i = 0, temp = w->time_remaining;
if (temp == -1) {
@@ -230,7 +229,7 @@ void nsws_download_update_progress(void *p)
schedule_remove(nsws_download_update_progress, p);
return;
}
- HWND sub = GetDlgItem(w->hwnd, NSWS_ID_DOWNLOAD_PROGRESS);
+ HWND sub = GetDlgItem(w->hwnd, IDC_DOWNLOAD_PROGRESS);
SendMessage(sub, PBM_SETPOS, (WPARAM)(w->progress / 100), 0);
if (w->progress < 10000)
schedule(50, nsws_download_update_progress, p);
diff --git a/windows/gui.c b/windows/gui.c
index 908cefaa6..d66f7a062 100644
--- a/windows/gui.c
+++ b/windows/gui.c
@@ -233,7 +233,7 @@ nsws_window_urlbar_callback(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
switch (msg) {
case WM_CHAR:
if (wparam == 13) {
- SendMessage(gw->main, WM_COMMAND, NSWS_ID_LAUNCH_URL, 0);
+ SendMessage(gw->main, WM_COMMAND, IDC_MAIN_LAUNCH_URL, 0);
return 0;
}
break;
@@ -289,7 +289,7 @@ nsws_window_toolbar_command(struct gui_window *gw,
switch(identifier) {
- case NSWS_ID_URLBAR:
+ case IDC_MAIN_URLBAR:
switch (notification_code) {
case EN_CHANGE:
LOG(("EN_CHANGE"));
@@ -411,23 +411,23 @@ static void nsws_window_update_forward_back(struct gui_window *w)
bool back = history_back_available(w->bw->history);
if (w->mainmenu != NULL) {
- EnableMenuItem(w->mainmenu, NSWS_ID_NAV_FORWARD,
+ EnableMenuItem(w->mainmenu, IDM_NAV_FORWARD,
(forward ? MF_ENABLED : MF_GRAYED));
- EnableMenuItem(w->mainmenu, NSWS_ID_NAV_BACK,
+ EnableMenuItem(w->mainmenu, IDM_NAV_BACK,
(back ? MF_ENABLED : MF_GRAYED));
- EnableMenuItem(w->rclick, NSWS_ID_NAV_FORWARD,
+ EnableMenuItem(w->rclick, IDM_NAV_FORWARD,
(forward ? MF_ENABLED : MF_GRAYED));
- EnableMenuItem(w->rclick, NSWS_ID_NAV_BACK,
+ EnableMenuItem(w->rclick, IDM_NAV_BACK,
(back ? MF_ENABLED : MF_GRAYED));
}
if (w->toolbar != NULL) {
SendMessage(w->toolbar, TB_SETSTATE,
- (WPARAM) NSWS_ID_NAV_FORWARD,
+ (WPARAM) IDM_NAV_FORWARD,
MAKELONG((forward ? TBSTATE_ENABLED :
TBSTATE_INDETERMINATE), 0));
SendMessage(w->toolbar, TB_SETSTATE,
- (WPARAM) NSWS_ID_NAV_BACK,
+ (WPARAM) IDM_NAV_BACK,
MAKELONG((back ? TBSTATE_ENABLED :
TBSTATE_INDETERMINATE), 0));
}
@@ -454,31 +454,31 @@ static void nsws_update_edit(struct gui_window *w)
del = false;
}
EnableMenuItem(w->mainmenu,
- NSWS_ID_EDIT_PASTE,
+ IDM_EDIT_PASTE,
(paste ? MF_ENABLED : MF_GRAYED));
EnableMenuItem(w->rclick,
- NSWS_ID_EDIT_PASTE,
+ IDM_EDIT_PASTE,
(paste ? MF_ENABLED : MF_GRAYED));
EnableMenuItem(w->mainmenu,
- NSWS_ID_EDIT_COPY,
+ IDM_EDIT_COPY,
(copy ? MF_ENABLED : MF_GRAYED));
EnableMenuItem(w->rclick,
- NSWS_ID_EDIT_COPY,
+ IDM_EDIT_COPY,
(copy ? MF_ENABLED : MF_GRAYED));
if (del == true) {
- EnableMenuItem(w->mainmenu, NSWS_ID_EDIT_CUT, MF_ENABLED);
- EnableMenuItem(w->mainmenu, NSWS_ID_EDIT_DELETE, MF_ENABLED);
- EnableMenuItem(w->rclick, NSWS_ID_EDIT_CUT, MF_ENABLED);
- EnableMenuItem(w->rclick, NSWS_ID_EDIT_DELETE, MF_ENABLED);
+ EnableMenuItem(w->mainmenu, IDM_EDIT_CUT, MF_ENABLED);
+ EnableMenuItem(w->mainmenu, IDM_EDIT_DELETE, MF_ENABLED);
+ EnableMenuItem(w->rclick, IDM_EDIT_CUT, MF_ENABLED);
+ EnableMenuItem(w->rclick, IDM_EDIT_DELETE, MF_ENABLED);
} else {
- EnableMenuItem(w->mainmenu, NSWS_ID_EDIT_CUT, MF_GRAYED);
- EnableMenuItem(w->mainmenu, NSWS_ID_EDIT_DELETE, MF_GRAYED);
- EnableMenuItem(w->rclick, NSWS_ID_EDIT_CUT, MF_GRAYED);
- EnableMenuItem(w->rclick, NSWS_ID_EDIT_DELETE, MF_GRAYED);
+ EnableMenuItem(w->mainmenu, IDM_EDIT_CUT, MF_GRAYED);
+ EnableMenuItem(w->mainmenu, IDM_EDIT_DELETE, MF_GRAYED);
+ EnableMenuItem(w->rclick, IDM_EDIT_CUT, MF_GRAYED);
+ EnableMenuItem(w->rclick, IDM_EDIT_DELETE, MF_GRAYED);
}
}
@@ -523,33 +523,33 @@ static void nsws_window_set_accels(struct gui_window *w)
for (i = 0; i < nitems; i++)
accels[i].fVirt = FCONTROL | FVIRTKEY;
accels[0].key = 0x51; /* Q */
- accels[0].cmd = NSWS_ID_FILE_QUIT;
+ accels[0].cmd = IDM_FILE_QUIT;
accels[1].key = 0x4E; /* N */
- accels[1].cmd = NSWS_ID_FILE_OPEN_WINDOW;
+ accels[1].cmd = IDM_FILE_OPEN_WINDOW;
accels[2].key = VK_LEFT;
- accels[2].cmd = NSWS_ID_NAV_BACK;
+ accels[2].cmd = IDM_NAV_BACK;
accels[3].key = VK_RIGHT;
- accels[3].cmd = NSWS_ID_NAV_FORWARD;
+ accels[3].cmd = IDM_NAV_FORWARD;
accels[4].key = VK_UP;
- accels[4].cmd = NSWS_ID_NAV_HOME;
+ accels[4].cmd = IDM_NAV_HOME;
accels[5].key = VK_BACK;
- accels[5].cmd = NSWS_ID_NAV_STOP;
+ accels[5].cmd = IDM_NAV_STOP;
accels[6].key = VK_SPACE;
- accels[6].cmd = NSWS_ID_NAV_RELOAD;
+ accels[6].cmd = IDM_NAV_RELOAD;
accels[7].key = 0x4C; /* L */
- accels[7].cmd = NSWS_ID_FILE_OPEN_LOCATION;
+ accels[7].cmd = IDM_FILE_OPEN_LOCATION;
accels[8].key = 0x57; /* w */
- accels[8].cmd = NSWS_ID_FILE_CLOSE_WINDOW;
+ accels[8].cmd = IDM_FILE_CLOSE_WINDOW;
accels[9].key = 0x41; /* A */
- accels[9].cmd = NSWS_ID_EDIT_SELECT_ALL;
+ accels[9].cmd = IDM_EDIT_SELECT_ALL;
accels[10].key = VK_F8;
- accels[10].cmd = NSWS_ID_VIEW_SOURCE;
+ accels[10].cmd = IDM_VIEW_SOURCE;
accels[11].key = VK_RETURN;
accels[11].fVirt = FVIRTKEY;
- accels[11].cmd = NSWS_ID_LAUNCH_URL;
+ accels[11].cmd = IDC_MAIN_LAUNCH_URL;
accels[12].key = VK_F11;
accels[12].fVirt = FVIRTKEY;
- accels[12].cmd = NSWS_ID_VIEW_FULLSCREEN;
+ accels[12].cmd = IDM_VIEW_FULLSCREEN;
w->acceltable = CreateAcceleratorTable(accels, nitems);
}
@@ -593,7 +593,7 @@ nsws_window_throbber_create(struct gui_window *w)
NSWS_THROBBER_WIDTH,
NSWS_THROBBER_WIDTH,
w->main,
- (HMENU) NSWS_ID_THROBBER,
+ (HMENU) IDC_MAIN_THROBBER,
hinstance,
NULL);
@@ -650,7 +650,7 @@ nsws_window_urlbar_create(struct gui_window *gw, HWND hwndparent)
urlwidth,
urlheight,
hwndparent,
- (HMENU)NSWS_ID_URLBAR,
+ (HMENU)IDC_MAIN_URLBAR,
hinstance,
0);
@@ -681,11 +681,11 @@ nsws_window_toolbar_create(struct gui_window *gw, HWND hWndParent)
HWND hWndToolbar;
/* Toolbar buttons */
TBBUTTON tbButtons[] = {
- {0, NSWS_ID_NAV_BACK, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0},
- {1, NSWS_ID_NAV_FORWARD, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0},
- {2, NSWS_ID_NAV_HOME, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0},
- {3, NSWS_ID_NAV_RELOAD, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0},
- {4, NSWS_ID_NAV_STOP, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0},
+ {0, IDM_NAV_BACK, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0},
+ {1, IDM_NAV_FORWARD, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0},
+ {2, IDM_NAV_HOME, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0},
+ {3, IDM_NAV_RELOAD, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0},
+ {4, IDM_NAV_STOP, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0},
};
WNDPROC toolproc;
@@ -716,13 +716,13 @@ nsws_window_toolbar_create(struct gui_window *gw, HWND hWndParent)
gw->toolbuttonc = sizeof(tbButtons) / sizeof(TBBUTTON);
/* Create the standard image list and assign to toolbar. */
- nsws_set_imagelist(hWndToolbar, TB_SETIMAGELIST, NSWS_ID_TOOLBAR_BITMAP, gw->toolbuttonsize, gw->toolbuttonc);
+ nsws_set_imagelist(hWndToolbar, TB_SETIMAGELIST, IDR_TOOLBAR_BITMAP, gw->toolbuttonsize, gw->toolbuttonc);
/* Create the disabled image list and assign to toolbar. */
- nsws_set_imagelist(hWndToolbar, TB_SETDISABLEDIMAGELIST, NSWS_ID_TOOLBAR_GREY_BITMAP, gw->toolbuttonsize, gw->toolbuttonc);
+ nsws_set_imagelist(hWndToolbar, TB_SETDISABLEDIMAGELIST, IDR_TOOLBAR_BITMAP_GREY, gw->toolbuttonsize, gw->toolbuttonc);
/* Create the hot image list and assign to toolbar. */
- nsws_set_imagelist(hWndToolbar, TB_SETHOTIMAGELIST, NSWS_ID_TOOLBAR_HOT_BITMAP, gw->toolbuttonsize, gw->toolbuttonc);
+ nsws_set_imagelist(hWndToolbar, TB_SETHOTIMAGELIST, IDR_TOOLBAR_BITMAP_HOT, gw->toolbuttonsize, gw->toolbuttonc);
/* Add buttons. */
SendMessage(hWndToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
@@ -1265,7 +1265,7 @@ nsws_window_resize(struct gui_window *w,
if (w->toolbar != NULL) {
SendMessage(w->toolbar, TB_SETSTATE,
- (WPARAM) NSWS_ID_NAV_STOP,
+ (WPARAM) IDM_NAV_STOP,
MAKELONG(TBSTATE_INDETERMINATE, 0));
}
@@ -1284,7 +1284,7 @@ nsws_window_command(struct gui_window *gw,
switch(identifier) {
- case NSWS_ID_FILE_QUIT:
+ case IDM_FILE_QUIT:
{
struct gui_window *w;
w = window_list;
@@ -1295,40 +1295,37 @@ nsws_window_command(struct gui_window *gw,
break;
}
- case NSWS_ID_FILE_OPEN_LOCATION:
+ case IDM_FILE_OPEN_LOCATION:
SetFocus(gw->urlbar);
break;
- case NSWS_ID_FILE_OPEN_WINDOW:
+ case IDM_FILE_OPEN_WINDOW:
browser_window_create(NULL, gw->bw, NULL, false, false);
break;
- case NSWS_ID_FILE_CLOSE_WINDOW:
+ case IDM_FILE_CLOSE_WINDOW:
PostMessage(gw->main, WM_CLOSE, 0, 0);
break;
- case NSWS_ID_FILE_SAVE_PAGE:
+ case IDM_FILE_SAVE_PAGE:
break;
- case NSWS_ID_FILE_SAVEAS_TEXT:
+ case IDM_FILE_SAVEAS_TEXT:
break;
- case NSWS_ID_FILE_SAVEAS_PDF:
+ case IDM_FILE_SAVEAS_PDF:
break;
- case NSWS_ID_FILE_SAVEAS_DRAWFILE:
+ case IDM_FILE_SAVEAS_POSTSCRIPT:
break;
- case NSWS_ID_FILE_SAVEAS_POSTSCRIPT:
+ case IDM_FILE_PRINT_PREVIEW:
break;
- case NSWS_ID_FILE_PRINT_PREVIEW:
+ case IDM_FILE_PRINT:
break;
- case NSWS_ID_FILE_PRINT:
- break;
-
- case NSWS_ID_EDIT_CUT:
+ case IDM_EDIT_CUT:
OpenClipboard(gw->main);
EmptyClipboard();
CloseClipboard();
@@ -1339,7 +1336,7 @@ nsws_window_command(struct gui_window *gw,
}
break;
- case NSWS_ID_EDIT_COPY:
+ case IDM_EDIT_COPY:
OpenClipboard(gw->main);
EmptyClipboard();
CloseClipboard();
@@ -1350,7 +1347,7 @@ nsws_window_command(struct gui_window *gw,
}
break;
- case NSWS_ID_EDIT_PASTE: {
+ case IDM_EDIT_PASTE: {
OpenClipboard(gw->main);
HANDLE h = GetClipboardData(CF_TEXT);
if (h != NULL) {
@@ -1366,28 +1363,28 @@ nsws_window_command(struct gui_window *gw,
break;
}
- case NSWS_ID_EDIT_DELETE:
+ case IDM_EDIT_DELETE:
if (GetFocus() == gw->urlbar)
SendMessage(gw->urlbar, WM_CUT, 0, 0);
else
browser_window_key_press(gw->bw, KEY_DELETE_RIGHT);
break;
- case NSWS_ID_EDIT_SELECT_ALL:
+ case IDM_EDIT_SELECT_ALL:
if (GetFocus() == gw->urlbar)
SendMessage(gw->urlbar, EM_SETSEL, 0, -1);
else
selection_select_all(gw->bw->sel);
break;
- case NSWS_ID_EDIT_SEARCH:
+ case IDM_EDIT_SEARCH:
break;
- case NSWS_ID_EDIT_PREFERENCES:
- nsws_prefs_dialog_init(gw->main);
+ case IDM_EDIT_PREFERENCES:
+ nsws_prefs_dialog_init(hinstance, gw->main);
break;
- case NSWS_ID_NAV_BACK:
+ case IDM_NAV_BACK:
if ((gw->bw != NULL) &&
(history_back_available(gw->bw->history))) {
history_back(gw->bw, gw->bw->history);
@@ -1395,7 +1392,7 @@ nsws_window_command(struct gui_window *gw,
nsws_window_update_forward_back(gw);
break;
- case NSWS_ID_NAV_FORWARD:
+ case IDM_NAV_FORWARD:
if ((gw->bw != NULL) &&
(history_forward_available(gw->bw->history))) {
history_forward(gw->bw, gw->bw->history);
@@ -1403,26 +1400,26 @@ nsws_window_command(struct gui_window *gw,
nsws_window_update_forward_back(gw);
break;
- case NSWS_ID_NAV_HOME:
+ case IDM_NAV_HOME:
browser_window_go(gw->bw, default_page, 0, true);
break;
- case NSWS_ID_NAV_STOP:
+ case IDM_NAV_STOP:
browser_window_stop(gw->bw);
break;
- case NSWS_ID_NAV_RELOAD:
+ case IDM_NAV_RELOAD:
browser_window_reload(gw->bw, true);
break;
- case NSWS_ID_NAV_LOCALHISTORY:
+ case IDM_NAV_LOCALHISTORY:
nsws_localhistory_init(gw);
break;
- case NSWS_ID_NAV_GLOBALHISTORY:
+ case IDM_NAV_GLOBALHISTORY:
break;
- case NSWS_ID_VIEW_ZOOMPLUS: {
+ case IDM_VIEW_ZOOMPLUS: {
int x, y;
gui_window_get_scroll(gw, &x, &y);
if (gw->bw != NULL) {
@@ -1434,7 +1431,7 @@ nsws_window_command(struct gui_window *gw,
break;
}
- case NSWS_ID_VIEW_ZOOMMINUS: {
+ case IDM_VIEW_ZOOMMINUS: {
int x, y;
gui_window_get_scroll(gw, &x, &y);
if (gw->bw != NULL) {
@@ -1447,7 +1444,7 @@ nsws_window_command(struct gui_window *gw,
break;
}
- case NSWS_ID_VIEW_ZOOMNORMAL: {
+ case IDM_VIEW_ZOOMNORMAL: {
int x, y;
gui_window_get_scroll(gw, &x, &y);
if (gw->bw != NULL) {
@@ -1459,10 +1456,10 @@ nsws_window_command(struct gui_window *gw,
break;
}
- case NSWS_ID_VIEW_SOURCE:
+ case IDM_VIEW_SOURCE:
break;
- case NSWS_ID_VIEW_SAVE_WIN_METRICS: {
+ case IDM_VIEW_SAVE_WIN_METRICS: {
RECT r;
GetWindowRect(gw->main, &r);
option_window_x = r.left;
@@ -1473,7 +1470,7 @@ nsws_window_command(struct gui_window *gw,
break;
}
- case NSWS_ID_VIEW_FULLSCREEN: {
+ case IDM_VIEW_FULLSCREEN: {
RECT rdesk;
if (gw->fullscreen == NULL) {
HWND desktop = GetDesktopWindow();
@@ -1511,36 +1508,36 @@ nsws_window_command(struct gui_window *gw,
break;
}
- case NSWS_ID_VIEW_DOWNLOADS:
+ case IDM_VIEW_DOWNLOADS:
break;
- case NSWS_ID_VIEW_TOGGLE_DEBUG_RENDERING:
+ case IDM_VIEW_TOGGLE_DEBUG_RENDERING:
html_redraw_debug = !html_redraw_debug;
if (gw->bw != NULL) {
browser_window_reformat(gw->bw, gw->width, gw->height);
}
break;
- case NSWS_ID_VIEW_DEBUGGING_SAVE_BOXTREE:
+ case IDM_VIEW_DEBUGGING_SAVE_BOXTREE:
break;
- case NSWS_ID_VIEW_DEBUGGING_SAVE_DOMTREE:
+ case IDM_VIEW_DEBUGGING_SAVE_DOMTREE:
break;
- case NSWS_ID_HELP_CONTENTS:
+ case IDM_HELP_CONTENTS:
break;
- case NSWS_ID_HELP_GUIDE:
+ case IDM_HELP_GUIDE:
break;
- case NSWS_ID_HELP_INFO:
+ case IDM_HELP_INFO:
break;
- case NSWS_ID_HELP_ABOUT:
+ case IDM_HELP_ABOUT:
nsws_about_dialog_init(hinstance, gw->main);
break;
- case NSWS_ID_LAUNCH_URL:
+ case IDC_MAIN_LAUNCH_URL:
{
if (GetFocus() != gw->urlbar)
break;
@@ -1570,6 +1567,7 @@ nsws_window_event_callback(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
gw = nsws_get_gui_window(hwnd);
+ if ((msg!=WM_SETCURSOR) && (msg!=WM_MOUSEMOVE) &&(msg!=WM_NCHITTEST))
LOG(("%s, hwnd %p, gw %p", msg_num_to_name(msg), hwnd, gw));
if (gw == NULL) {
@@ -1641,12 +1639,12 @@ static void create_local_windows_classes(void) {
w.cbClsExtra = 0;
w.cbWndExtra = 0;
w.hInstance = hinstance;
- w.hIcon = LoadIcon(hinstance, MAKEINTRESOURCE(NSWS_ID_NETSURF32_ICON)); /* -> NetSurf */
+ w.hIcon = LoadIcon(hinstance, MAKEINTRESOURCE(IDR_NETSURF32_ICON)); /* -> NetSurf */
w.hCursor = NULL;
w.hbrBackground = (HBRUSH)(COLOR_MENU + 1);
w.lpszMenuName = NULL;
w.lpszClassName = windowclassname_main;
- w.hIconSm = LoadIcon(hinstance, MAKEINTRESOURCE(NSWS_ID_NETSURF16_ICON)); /* -> NetSurf */
+ w.hIconSm = LoadIcon(hinstance, MAKEINTRESOURCE(IDR_NETSURF16_ICON)); /* -> NetSurf */
RegisterClassEx(&w);
/* drawable area */
@@ -1671,7 +1669,7 @@ static HWND nsws_window_statusbar_create(struct gui_window *w)
WS_CHILD | WS_VISIBLE,
0, 0, 0, 0,
w->main,
- (HMENU)NSWS_ID_STATUSBAR,
+ (HMENU)IDC_MAIN_STATUSBAR,
hinstance,
NULL);
SendMessage(hwnd, SB_SETTEXT, 0, (LPARAM)"NetSurf");
@@ -1712,8 +1710,8 @@ static HWND nsws_window_create(struct gui_window *gw)
#endif
InitCommonControlsEx(&icc);
- gw->mainmenu = LoadMenu(hinstance, MAKEINTRESOURCE(NSWS_ID_MAINMENU));
- gw->rclick = LoadMenu(hinstance, MAKEINTRESOURCE(NSWS_ID_CTXMENU));
+ gw->mainmenu = LoadMenu(hinstance, MAKEINTRESOURCE(IDR_MENU_MAIN));
+ gw->rclick = LoadMenu(hinstance, MAKEINTRESOURCE(IDR_MENU_CONTEXT));
LOG(("creating window for hInstance %p", hinstance));
hwnd = CreateWindowEx(0,
@@ -2289,18 +2287,18 @@ void gui_window_start_throbber(struct gui_window *w)
nsws_window_update_forward_back(w);
if (w->mainmenu != NULL) {
- EnableMenuItem(w->mainmenu, NSWS_ID_NAV_STOP, MF_ENABLED);
- EnableMenuItem(w->mainmenu, NSWS_ID_NAV_RELOAD, MF_GRAYED);
+ EnableMenuItem(w->mainmenu, IDM_NAV_STOP, MF_ENABLED);
+ EnableMenuItem(w->mainmenu, IDM_NAV_RELOAD, MF_GRAYED);
}
if (w->rclick != NULL) {
- EnableMenuItem(w->rclick, NSWS_ID_NAV_STOP, MF_ENABLED);
- EnableMenuItem(w->rclick, NSWS_ID_NAV_RELOAD, MF_GRAYED);
+ EnableMenuItem(w->rclick, IDM_NAV_STOP, MF_ENABLED);
+ EnableMenuItem(w->rclick, IDM_NAV_RELOAD, MF_GRAYED);
}
if (w->toolbar != NULL) {
- SendMessage(w->toolbar, TB_SETSTATE, (WPARAM) NSWS_ID_NAV_STOP,
+ SendMessage(w->toolbar, TB_SETSTATE, (WPARAM) IDM_NAV_STOP,
MAKELONG(TBSTATE_ENABLED, 0));
SendMessage(w->toolbar, TB_SETSTATE,
- (WPARAM) NSWS_ID_NAV_RELOAD,
+ (WPARAM) IDM_NAV_RELOAD,
MAKELONG(TBSTATE_INDETERMINATE, 0));
}
w->throbbing = true;
@@ -2313,18 +2311,18 @@ void gui_window_stop_throbber(struct gui_window *w)
return;
nsws_window_update_forward_back(w);
if (w->mainmenu != NULL) {
- EnableMenuItem(w->mainmenu, NSWS_ID_NAV_STOP, MF_GRAYED);
- EnableMenuItem(w->mainmenu, NSWS_ID_NAV_RELOAD, MF_ENABLED);
+ EnableMenuItem(w->mainmenu, IDM_NAV_STOP, MF_GRAYED);
+ EnableMenuItem(w->mainmenu, IDM_NAV_RELOAD, MF_ENABLED);
}
if (w->rclick != NULL) {
- EnableMenuItem(w->rclick, NSWS_ID_NAV_STOP, MF_GRAYED);
- EnableMenuItem(w->rclick, NSWS_ID_NAV_RELOAD, MF_ENABLED);
+ EnableMenuItem(w->rclick, IDM_NAV_STOP, MF_GRAYED);
+ EnableMenuItem(w->rclick, IDM_NAV_RELOAD, MF_ENABLED);
}
if (w->toolbar != NULL) {
- SendMessage(w->toolbar, TB_SETSTATE, (WPARAM) NSWS_ID_NAV_STOP,
+ SendMessage(w->toolbar, TB_SETSTATE, (WPARAM) IDM_NAV_STOP,
MAKELONG(TBSTATE_INDETERMINATE, 0));
SendMessage(w->toolbar, TB_SETSTATE,
- (WPARAM) NSWS_ID_NAV_RELOAD,
+ (WPARAM) IDM_NAV_RELOAD,
MAKELONG(TBSTATE_ENABLED, 0));
}
w->throbbing = false;
@@ -2582,13 +2580,15 @@ static void gui_init(int argc, char** argv)
nsws_window_init_pointers();
LOG(("argc %d, argv %p", argc, argv));
+ /* ensure homepage option has a default */
+ if (option_homepage_url == NULL || option_homepage_url[0] == '\0')
+ option_homepage_url = strdup(default_page);
+
+ /* If there is a url specified on the command line use it */
if (argc > 1)
addr = argv[1];
- else if (option_homepage_url != NULL && option_homepage_url[0]
- != '\0')
+ else
addr = option_homepage_url;
- else
- addr = default_page;
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 f41f96663..0b3597d88 100644
--- a/windows/prefs.c
+++ b/windows/prefs.c
@@ -26,381 +26,298 @@
#include "windows/gui.h"
#include "windows/prefs.h"
#include "windows/resourceid.h"
+#include "windows/windbg.h"
#define NSWS_PREFS_WINDOW_WIDTH 600
#define NSWS_PREFS_WINDOW_HEIGHT 400
-#ifndef MIN
-#define MIN(a,b) (((a) < (b)) ? (a) : (b))
-#endif
-
-#ifndef MAX
-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
-#endif
-/* static HWND prefswindow = NULL; */
-
-void nsws_prefs_window_create(HWND parent);
-BOOL CALLBACK nsws_prefs_event_callback(HWND hwnd, UINT msg, WPARAM wparam,
- LPARAM lparam);
-CHOOSEFONT *nsws_prefs_font_prepare(int fontfamily, HWND parent);
-
-void nsws_prefs_dialog_init(HWND parent)
+static CHOOSEFONT *nsws_prefs_font_prepare(int fontfamily, HWND parent)
{
- int ret = DialogBox(hinstance, MAKEINTRESOURCE(NSWS_ID_PREFS_DIALOG),
- parent, nsws_prefs_event_callback);
- if (ret == -1) {
- warn_user(messages_get("NoMemory"), 0);
- return;
+ CHOOSEFONT *cf = malloc(sizeof(CHOOSEFONT));
+ if (cf == NULL) {
+ warn_user(messages_get("NoMemory"),0);
+ return NULL;
}
-}
+ LOGFONT *lf = malloc(sizeof(LOGFONT));
+ if (lf == NULL) {
+ warn_user(messages_get("NoMemory"),0);
+ free(cf);
+ return NULL;
+ }
+ switch(fontfamily) {
+ case FF_ROMAN:
+ snprintf(lf->lfFaceName, LF_FACESIZE, "%s",
+ option_font_serif);
+ break;
+ case FF_MODERN:
+ snprintf(lf->lfFaceName, LF_FACESIZE, "%s",
+ option_font_mono);
+ break;
+ case FF_SCRIPT:
+ snprintf(lf->lfFaceName, LF_FACESIZE, "%s",
+ option_font_cursive);
+ break;
+ case FF_DECORATIVE:
+ snprintf(lf->lfFaceName, LF_FACESIZE, "%s",
+ option_font_fantasy);
+ break;
+ case FF_SWISS:
+ default:
+ snprintf(lf->lfFaceName, LF_FACESIZE, "%s",
+ option_font_sans);
+ break;
+ }
+ cf->lStructSize = sizeof(CHOOSEFONT);
+ cf->hwndOwner = parent;
+ cf->lpLogFont = lf;
+ cf->Flags = CF_SCREENFONTS | CF_INITTOLOGFONTSTRUCT | CF_LIMITSIZE;
+ cf->nSizeMin = 16;
+ cf->nSizeMax = 24;
+ return cf;
+}
-BOOL CALLBACK nsws_prefs_event_callback(HWND hwnd, UINT msg, WPARAM wparam,
- LPARAM lparam)
+static void change_spinner(HWND sub, double change, double minval, double maxval)
{
- HWND sub;
char *temp, number[6];
int len;
- switch(msg) {
- case WM_INITDIALOG: {
- if ((option_homepage_url != NULL) &&
- (option_homepage_url[0] != '\0')) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_HOMEPAGE);
- SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_homepage_url);
- }
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_PROXYTYPE);
- SendMessage(sub, CB_ADDSTRING, 0, (LPARAM)"None");
- 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)
- SendMessage(sub, CB_SETCURSEL, (WPARAM)
- (option_http_proxy_auth + 1), 0);
- else
- SendMessage(sub, CB_SETCURSEL, 0, 0);
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_PROXYHOST);
- if ((option_http_proxy_host != NULL) &&
- (option_http_proxy_host[0] != '\0'))
- SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_http_proxy_host);
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_PROXYPORT);
- if (option_http_proxy_port != 0) {
- snprintf(number, 6, "%d", option_http_proxy_port);
- SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number);
- }
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_PROXYNAME);
- if ((option_http_proxy_auth_user != NULL) &&
- (option_http_proxy_auth_user[0] != '\0'))
- SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_http_proxy_auth_user);
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_PROXYPASS);
- if ((option_http_proxy_auth_pass != NULL) &&
- (option_http_proxy_auth_pass[0] != '\0'))
- SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_http_proxy_auth_pass);
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FONTDEF);
+ double value = 0;
+
+ len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
+ temp = malloc(len + 1);
+
+ if (temp == NULL)
+ return;
+
+ SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1), (LPARAM) temp);
+
+ value = strtod(temp, NULL) - change;
+
+ free(temp);
+ value = max(value, minval);
+ value = min(value, maxval);
+
+ if ((change == 1.0) || (change == -1.0))
+ snprintf(number, 6, "%.0f", value);
+ else
+ snprintf(number, 6, "%.1f", value);
+
+ SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number);
+}
+
+
+static BOOL CALLBACK options_appearance_dialog_handler(HWND hwnd,
+ UINT msg, WPARAM wparam, LPARAM lParam)
+{
+ int len;
+ char *temp, number[6];
+ HWND sub;
+
+ switch (msg) {
+ case WM_INITDIALOG:
+ sub = GetDlgItem(hwnd, IDC_PREFS_FONTDEF);
SendMessage(sub, CB_ADDSTRING, 0, (LPARAM)"Sans serif");
SendMessage(sub, CB_ADDSTRING, 0, (LPARAM)"Serif");
SendMessage(sub, CB_ADDSTRING, 0, (LPARAM)"Monospace");
SendMessage(sub, CB_ADDSTRING, 0, (LPARAM)"Cursive");
SendMessage(sub, CB_ADDSTRING, 0, (LPARAM)"Fantasy");
SendMessage(sub, CB_SETCURSEL,
- (WPARAM) (option_font_default - 1), 0);
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_ADVERTS);
- SendMessage(sub, BM_SETCHECK, (WPARAM) ((option_block_ads) ?
- BST_CHECKED : BST_UNCHECKED), 0);
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_REFERER);
- SendMessage(sub, BM_SETCHECK, (WPARAM)((option_send_referer) ?
- BST_CHECKED : BST_UNCHECKED), 0);
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_NOANIMATION);
- SendMessage(sub, BM_SETCHECK, (WPARAM)((option_animate_images)
- ? BST_UNCHECKED : BST_CHECKED), 0);
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FETCHERS);
- snprintf(number, 6, "%d", option_max_fetchers);
- SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number);
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FETCH_HOST);
- snprintf(number, 6, "%d", option_max_fetchers_per_host);
- SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number);
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FETCH_HANDLES);
- snprintf(number, 6, "%d", option_max_cached_fetch_handles);
- SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number);
-
- if ((option_font_sans != NULL) &&
- (option_font_sans[0] != '\0')) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_SANS);
+ (WPARAM) (option_font_default - 1), 0);
+
+ if ((option_font_sans != NULL) &&
+ (option_font_sans[0] != '\0')) {
+ sub = GetDlgItem(hwnd, IDC_PREFS_SANS);
SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_font_sans);
+ (LPARAM)option_font_sans);
}
- if ((option_font_serif != NULL) &&
- (option_font_serif[0] != '\0')) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_SERIF);
+ if ((option_font_serif != NULL) &&
+ (option_font_serif[0] != '\0')) {
+ sub = GetDlgItem(hwnd, IDC_PREFS_SERIF);
SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_font_serif);
+ (LPARAM)option_font_serif);
}
- if ((option_font_mono != NULL) &&
- (option_font_mono[0] != '\0')) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_MONO);
+ if ((option_font_mono != NULL) &&
+ (option_font_mono[0] != '\0')) {
+ sub = GetDlgItem(hwnd, IDC_PREFS_MONO);
SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_font_mono);
+ (LPARAM)option_font_mono);
}
- if ((option_font_cursive != NULL) &&
- (option_font_cursive[0] != '\0')) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_CURSIVE);
+ if ((option_font_cursive != NULL) &&
+ (option_font_cursive[0] != '\0')) {
+ sub = GetDlgItem(hwnd, IDC_PREFS_CURSIVE);
SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_font_cursive);
+ (LPARAM)option_font_cursive);
}
- if ((option_font_fantasy != NULL) &&
- (option_font_fantasy[0] != '\0')) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FANTASY);
+ if ((option_font_fantasy != NULL) &&
+ (option_font_fantasy[0] != '\0')) {
+ sub = GetDlgItem(hwnd, IDC_PREFS_FANTASY);
SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_font_fantasy);
+ (LPARAM)option_font_fantasy);
}
if (option_font_min_size != 0) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FONT_MINSIZE);
+ sub = GetDlgItem(hwnd, IDC_PREFS_FONT_MINSIZE);
snprintf(number, 6, "%.1f", option_font_min_size /
- 10.0);
+ 10.0);
SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number);
}
if (option_font_size != 0) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FONT_SIZE);
+ sub = GetDlgItem(hwnd, IDC_PREFS_FONT_SIZE);
snprintf(number, 6, "%.1f", option_font_size / 10.0);
SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number);
}
if (option_max_fetchers != 0) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FETCHERS);
+ sub = GetDlgItem(hwnd, IDC_PREFS_FETCHERS);
snprintf(number, 6, "%d", option_max_fetchers);
SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number);
}
if (option_max_fetchers_per_host != 0) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FETCH_HOST);
- snprintf(number, 6, "%d",
- option_max_fetchers_per_host);
+ sub = GetDlgItem(hwnd, IDC_PREFS_FETCH_HOST);
+ snprintf(number, 6, "%d",
+ option_max_fetchers_per_host);
SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number);
}
if (option_max_cached_fetch_handles != 0) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FETCH_HANDLES);
+ sub = GetDlgItem(hwnd, IDC_PREFS_FETCH_HANDLES);
snprintf(number, 6, "%d",
- option_max_cached_fetch_handles);
+ option_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)
+ ? BST_UNCHECKED : BST_CHECKED), 0);
+
if (option_minimum_gif_delay != 0) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_ANIMATIONDELAY);
+ sub = GetDlgItem(hwnd, IDC_PREFS_ANIMATIONDELAY);
snprintf(number, 6, "%.1f", option_minimum_gif_delay /
- 100.0);
+ 100.0);
SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number);
}
- return TRUE;
- }
- case WM_CREATE:
- return TRUE;
- case WM_COMMAND:
- switch(LOWORD(wparam)) {
- case IDOK: {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_HOMEPAGE);
- len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
- if (option_homepage_url != NULL)
- free(option_homepage_url);
- option_homepage_url = malloc(len + 1);
- if (option_homepage_url != NULL)
- SendMessage(sub, WM_GETTEXT,
- (WPARAM) (len + 1),
- (LPARAM) option_homepage_url);
-/* seems to segfault at startup
-
- option_block_ads = (IsDlgButtonChecked(hwnd,
- NSWS_ID_PREFS_ADVERTS) == BST_CHECKED)
- ? true : false;
-*/
- option_send_referer = (IsDlgButtonChecked(hwnd,
- NSWS_ID_PREFS_REFERER) == BST_CHECKED)
- ? true : false;
- option_animate_images = (IsDlgButtonChecked(hwnd,
- NSWS_ID_PREFS_NOANIMATION) ==
- BST_CHECKED) ? false : true;
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FETCHERS);
- len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
- temp = malloc(len + 1);
- if (temp != NULL) {
- SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1),
- (LPARAM)temp);
- option_max_fetchers = atoi(temp);
- free(temp);
- }
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FETCH_HOST);
- len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
- temp = malloc(len + 1);
- if (temp != NULL) {
- SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1),
- (LPARAM)temp);
- option_max_fetchers_per_host = atoi(temp);
- free(temp);
- }
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FETCH_HANDLES);
- len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
- temp = malloc(len + 1);
- if (temp != NULL) {
- SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1),
- (LPARAM)temp);
- option_max_cached_fetch_handles = atoi(temp);
- free(temp);
- }
- sub = GetDlgItem(hwnd,
- NSWS_ID_PREFS_FONT_SIZE);
+ break;
+
+ case WM_NOTIFY:
+ switch (((NMHDR FAR *)lParam)->code) {
+ case PSN_APPLY:
+ sub = GetDlgItem(hwnd, IDC_PREFS_FONT_SIZE);
len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
temp = malloc(len + 1);
if (temp != NULL) {
SendMessage(sub, WM_GETTEXT, (WPARAM)
- (len + 1), (LPARAM) temp);
- option_font_size = (int)
- (10 * strtod(temp, NULL));
+ (len + 1), (LPARAM) temp);
+ option_font_size = (int)
+ (10 * strtod(temp, NULL));
free(temp);
}
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FONT_MINSIZE);
+
+ sub = GetDlgItem(hwnd, IDC_PREFS_FONT_MINSIZE);
len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
temp = malloc(len + 1);
if (temp != NULL) {
SendMessage(sub, WM_GETTEXT, (WPARAM)
- (len + 1), (LPARAM) temp);
- option_font_min_size = (int)
- (10 * strtod(temp, NULL));
+ (len + 1), (LPARAM) temp);
+ option_font_min_size = (int)
+ (10 * strtod(temp, NULL));
free(temp);
}
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_ANIMATIONDELAY);
+
+ /* animation */
+ option_animate_images = (IsDlgButtonChecked(hwnd, IDC_PREFS_NOANIMATION) == BST_CHECKED) ? true : false;
+
+
+ sub = GetDlgItem(hwnd, IDC_PREFS_ANIMATIONDELAY);
len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
temp = malloc(len + 1);
if (temp != NULL) {
SendMessage(sub, WM_GETTEXT, (WPARAM)
- (len + 1), (LPARAM) temp);
- option_minimum_gif_delay = (int)
- (100 * strtod(temp, NULL));
- free(temp);
- }
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_PROXYHOST);
- 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);
- free(temp);
- }
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_PROXYPORT);
- len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
- temp = malloc(len + 1);
- if (temp != NULL) {
- SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1),
- (LPARAM)temp);
- option_http_proxy_port = atoi(temp);
- free(temp);
- }
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_PROXYNAME);
- 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);
+ (len + 1), (LPARAM) temp);
+ option_minimum_gif_delay = (int)
+ (100 * strtod(temp, NULL));
free(temp);
}
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_PROXYPASS);
- 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);
- free(temp);
+
+ break;
+
+ case UDN_DELTAPOS: {
+ NMUPDOWN *ud = (NMUPDOWN *)lParam;
+ switch(((NMHDR *)lParam)->idFrom) {
+ case IDC_PREFS_FONT_SIZE_SPIN:
+ change_spinner(GetDlgItem(hwnd, IDC_PREFS_FONT_SIZE), 0.1 * ud->iDelta, 1.0, 50.0);
+ return TRUE;
+
+ case IDC_PREFS_FONT_MINSIZE_SPIN:
+ change_spinner(GetDlgItem(hwnd, IDC_PREFS_FONT_MINSIZE), 0.1 * ud->iDelta, 1.0, 50.0);
+ return TRUE;
+
+ case IDC_PREFS_ANIMATIONDELAY_SPIN:
+ change_spinner(GetDlgItem(hwnd, IDC_PREFS_ANIMATIONDELAY), 0.1 * ud->iDelta, 0.1, 100.0);
+ return TRUE;
+
}
- options_write(options_file_location);
}
- case IDCANCEL:
- EndDialog(hwnd, IDOK);
- break;
- case NSWS_ID_PREFS_HOMEPAGE:
- break;
- case NSWS_ID_PREFS_ADVERTS:
- break;
- case NSWS_ID_PREFS_POPUPS:
- printf("wparam %d, lparam %ld hi %d lo %d\n", wparam,
- lparam, HIWORD(lparam),
- LOWORD(lparam));
- break;
- case NSWS_ID_PREFS_PLUGINS:
- printf("wparam %d, lparam %ld hi %d lo %d\n", wparam,
- lparam, HIWORD(lparam),
- LOWORD(lparam));
break;
- case NSWS_ID_PREFS_REFERER:
- printf("wparam %d, lparam %ld hi %d lo %d\n", wparam,
- lparam, HIWORD(lparam),
- LOWORD(lparam));
- break;
- case NSWS_ID_PREFS_PROXYTYPE:
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_PROXYTYPE);
+ }
+
+
+ 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;
+ CB_GETCURSEL, 0, 0) - 1;
option_http_proxy = (option_http_proxy_auth != -1);
option_http_proxy_auth += (option_http_proxy) ? 0 : 1;
break;
- case NSWS_ID_PREFS_PROXYHOST:
- break;
- case NSWS_ID_PREFS_PROXYNAME:
- break;
- case NSWS_ID_PREFS_PROXYPASS:
- break;
- case NSWS_ID_PREFS_SANS: {
+
+ case IDC_PREFS_SANS: {
CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_SWISS,
- hwnd);
+ 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);
+ cf->lpLogFont->lfFaceName);
}
free(cf->lpLogFont);
free(cf);
- if ((option_font_sans != NULL) &&
- (option_font_sans[0] != '\0')) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_SANS);
- SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_font_sans);
+ if ((option_font_sans != NULL) &&
+ (option_font_sans[0] != '\0')) {
+ sub = GetDlgItem(hwnd, IDC_PREFS_SANS);
+ SendMessage(sub, WM_SETTEXT, 0,
+ (LPARAM)option_font_sans);
}
break;
}
- case NSWS_ID_PREFS_SERIF: {
+
+ case IDC_PREFS_SERIF: {
CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_ROMAN,
- hwnd);
+ 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);
+ cf->lpLogFont->lfFaceName);
}
free(cf->lpLogFont);
free(cf);
- if ((option_font_serif != NULL) &&
- (option_font_serif[0] != '\0')) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_SERIF);
- SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_font_serif);
+ if ((option_font_serif != NULL) &&
+ (option_font_serif[0] != '\0')) {
+ sub = GetDlgItem(hwnd, IDC_PREFS_SERIF);
+ SendMessage(sub, WM_SETTEXT, 0,
+ (LPARAM)option_font_serif);
}
break;
}
- case NSWS_ID_PREFS_MONO: {
+ case IDC_PREFS_MONO: {
CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_MODERN,
- hwnd);
+ hwnd);
if (cf == NULL)
break;
@@ -408,228 +325,351 @@ BOOL CALLBACK nsws_prefs_event_callback(HWND hwnd, UINT msg, WPARAM wparam,
if (option_font_mono != NULL)
free(option_font_mono);
option_font_mono = strdup(
- cf->lpLogFont->lfFaceName);
+ cf->lpLogFont->lfFaceName);
}
free(cf->lpLogFont);
free(cf);
- if ((option_font_mono != NULL) &&
- (option_font_mono[0] != '\0')) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_MONO);
- SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_font_mono);
+ if ((option_font_mono != NULL) &&
+ (option_font_mono[0] != '\0')) {
+ sub = GetDlgItem(hwnd, IDC_PREFS_MONO);
+ SendMessage(sub, WM_SETTEXT, 0,
+ (LPARAM)option_font_mono);
}
break;
}
- case NSWS_ID_PREFS_CURSIVE: {
- CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_SCRIPT,
- hwnd);
+ case IDC_PREFS_CURSIVE: {
+ 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);
+ cf->lpLogFont->lfFaceName);
}
free(cf->lpLogFont);
free(cf);
- if ((option_font_cursive != NULL) &&
- (option_font_cursive[0] != '\0')) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_CURSIVE);
- SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_font_cursive);
+ if ((option_font_cursive != NULL) &&
+ (option_font_cursive[0] != '\0')) {
+ sub = GetDlgItem(hwnd, IDC_PREFS_CURSIVE);
+ SendMessage(sub, WM_SETTEXT, 0,
+ (LPARAM)option_font_cursive);
}
break;
}
- case NSWS_ID_PREFS_FANTASY: {
+ case IDC_PREFS_FANTASY: {
CHOOSEFONT *cf = nsws_prefs_font_prepare(FF_DECORATIVE,
- hwnd);
+ 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);
+ cf->lpLogFont->lfFaceName);
}
free(cf->lpLogFont);
free(cf);
- if ((option_font_fantasy != NULL) &&
- (option_font_fantasy[0] != '\0')) {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FANTASY);
- SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)option_font_fantasy);
+ if ((option_font_fantasy != NULL) &&
+ (option_font_fantasy[0] != '\0')) {
+ sub = GetDlgItem(hwnd, IDC_PREFS_FANTASY);
+ SendMessage(sub, WM_SETTEXT, 0,
+ (LPARAM)option_font_fantasy);
}
break;
}
- case NSWS_ID_PREFS_FONTDEF: {
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FONTDEF);
+
+ case IDC_PREFS_FONTDEF:
+ sub = GetDlgItem(hwnd, IDC_PREFS_FONTDEF);
option_font_default = SendMessage(sub, CB_GETCURSEL, 0, 0) + 1;
break;
+
+
+ }
+ break;
+
+ }
+ return FALSE;
+}
+
+static BOOL CALLBACK options_connections_dialog_handler(HWND hwnd,
+ UINT msg, WPARAM wparam, LPARAM lParam)
+{
+ int len;
+ char *temp, number[6];
+ HWND sub;
+
+ switch (msg) {
+ case WM_INITDIALOG:
+ sub = GetDlgItem(hwnd, IDC_PREFS_PROXYTYPE);
+ SendMessage(sub, CB_ADDSTRING, 0, (LPARAM)"None");
+ 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)
+ SendMessage(sub, CB_SETCURSEL, (WPARAM)
+ (option_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'))
+ SendMessage(sub, WM_SETTEXT, 0,
+ (LPARAM)option_http_proxy_host);
+
+ sub = GetDlgItem(hwnd, IDC_PREFS_PROXYPORT);
+ if (option_http_proxy_port != 0) {
+ snprintf(number, 6, "%d", option_http_proxy_port);
+ SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number);
}
- case NSWS_ID_PREFS_FETCHERS:
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FETCHERS);
+
+ sub = GetDlgItem(hwnd, IDC_PREFS_PROXYNAME);
+ if ((option_http_proxy_auth_user != NULL) &&
+ (option_http_proxy_auth_user[0] != '\0'))
+ SendMessage(sub, WM_SETTEXT, 0,
+ (LPARAM)option_http_proxy_auth_user);
+
+ sub = GetDlgItem(hwnd, IDC_PREFS_PROXYPASS);
+ if ((option_http_proxy_auth_pass != NULL) &&
+ (option_http_proxy_auth_pass[0] != '\0'))
+ SendMessage(sub, WM_SETTEXT, 0,
+ (LPARAM)option_http_proxy_auth_pass);
+
+ sub = GetDlgItem(hwnd, IDC_PREFS_FETCHERS);
+ snprintf(number, 6, "%d", option_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);
+ SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number);
+
+ sub = GetDlgItem(hwnd, IDC_PREFS_FETCH_HANDLES);
+ snprintf(number, 6, "%d", option_max_cached_fetch_handles);
+ SendMessage(sub, WM_SETTEXT, 0, (LPARAM)number);
+
+ break;
+
+ case WM_NOTIFY:
+ switch (((NMHDR FAR *)lParam)->code) {
+ case PSN_APPLY:
+ sub = GetDlgItem(hwnd, IDC_PREFS_PROXYHOST);
len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
temp = malloc(len + 1);
- if (temp == NULL)
- return FALSE;
- SendMessage(sub, WM_GETTEXT, (WPARAM)
- (len + 1), (LPARAM) temp);
- option_max_fetchers = atoi(temp);
- free(temp);
- break;
- case NSWS_ID_PREFS_FETCH_HOST:
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FETCH_HOST);
+ 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);
+ free(temp);
+ }
+
+ sub = GetDlgItem(hwnd, IDC_PREFS_PROXYPORT);
len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
temp = malloc(len + 1);
- if (temp == NULL)
- return FALSE;
- SendMessage(sub, WM_GETTEXT, (WPARAM)
- (len + 1), (LPARAM) temp);
- option_max_fetchers_per_host = atoi(temp);
- free(temp);
- break;
- case NSWS_ID_PREFS_FETCH_HANDLES:
- sub = GetDlgItem(hwnd, NSWS_ID_PREFS_FETCH_HANDLES);
+ if (temp != NULL) {
+ SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1),
+ (LPARAM)temp);
+ option_http_proxy_port = atoi(temp);
+ free(temp);
+ }
+
+ sub = GetDlgItem(hwnd, IDC_PREFS_PROXYNAME);
len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
temp = malloc(len + 1);
- if (temp == NULL)
- return FALSE;
- SendMessage(sub, WM_GETTEXT, (WPARAM)
- (len + 1), (LPARAM) temp);
- option_max_cached_fetch_handles = atoi(temp);
- free(temp);
- break;
- default:
- return FALSE;
- }
- break;
- case WM_NOTIFY: {
- NMHDR *nm = (NMHDR *)lparam;
- NMUPDOWN *ud = (NMUPDOWN *)lparam;
- if (nm->code == UDN_DELTAPOS)
- switch(nm->idFrom) {
- case NSWS_ID_PREFS_FONT_SIZE_SPIN: {
- double size = 0;
- sub = GetDlgItem(hwnd,
- NSWS_ID_PREFS_FONT_SIZE);
- len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
- temp = malloc(len + 1);
- if (temp == NULL)
- return FALSE;
- SendMessage(sub, WM_GETTEXT, (WPARAM)
- (len + 1), (LPARAM) temp);
- if (ud->iDelta == 1) {
- size = strtod(temp, NULL) + 0.1;
- }
- else if (ud->iDelta == -1) {
- size = strtod(temp, NULL) - 0.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);
free(temp);
- size = MAX(size, 0);
- snprintf(number, 6, "%.1f", size);
- SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)number);
- return TRUE;
}
- case NSWS_ID_PREFS_FONT_MINSIZE_SPIN: {
- double size = 0;
- sub = GetDlgItem(hwnd,
- NSWS_ID_PREFS_FONT_MINSIZE);
- len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
- temp = malloc(len + 1);
- if (temp == NULL)
- return FALSE;
- SendMessage(sub, WM_GETTEXT, (WPARAM)
- (len + 1), (LPARAM) temp);
- if (ud->iDelta == 1) {
- size = strtod(temp, NULL) + 0.1;
- }
- else if (ud->iDelta == -1) {
- size = strtod(temp, NULL) - 0.1;
- }
+
+ sub = GetDlgItem(hwnd, IDC_PREFS_PROXYPASS);
+ 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);
free(temp);
- size = MAX(size, 0);
- snprintf(number, 6, "%.1f", size);
- SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)number);
- return TRUE;
}
- case NSWS_ID_PREFS_ANIMATIONDELAY_SPIN: {
- double animation=0;
- sub = GetDlgItem(hwnd,
- NSWS_ID_PREFS_ANIMATIONDELAY);
- len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
- temp = malloc(len + 1);
- if (temp == NULL)
- return FALSE;
- SendMessage(sub, WM_GETTEXT, (WPARAM)
- (len + 1), (LPARAM) temp);
- if (ud->iDelta == 1) {
- animation = strtod(temp, NULL) + 0.1;
- }
- else if (ud->iDelta == -1) {
- animation = strtod(temp, NULL) - 0.1;
- }
+
+ /* fetchers */
+ sub = GetDlgItem(hwnd, IDC_PREFS_FETCHERS);
+ len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
+ temp = malloc(len + 1);
+ if (temp != NULL) {
+ SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1),
+ (LPARAM)temp);
+ option_max_fetchers = atoi(temp);
free(temp);
- animation = MAX(animation, 0);
- snprintf(number, 6, "%.1f", animation);
- SendMessage(sub, WM_SETTEXT, 0,
- (LPARAM)number);
- return TRUE;
}
+
+ sub = GetDlgItem(hwnd, IDC_PREFS_FETCH_HOST);
+ len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
+ temp = malloc(len + 1);
+ if (temp != NULL) {
+ SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1),
+ (LPARAM)temp);
+ option_max_fetchers_per_host = atoi(temp);
+ free(temp);
}
- break;
- }
- default:
- return FALSE;
- }
- return TRUE;
-}
-CHOOSEFONT *nsws_prefs_font_prepare(int fontfamily, HWND parent)
-{
- CHOOSEFONT *cf = malloc(sizeof(CHOOSEFONT));
- if (cf == NULL) {
- warn_user(messages_get("NoMemory"),0);
- return NULL;
- }
- LOGFONT *lf = malloc(sizeof(LOGFONT));
- if (lf == NULL) {
- warn_user(messages_get("NoMemory"),0);
- free(cf);
- return NULL;
- }
- switch(fontfamily) {
- case FF_ROMAN:
- snprintf(lf->lfFaceName, LF_FACESIZE, "%s",
- option_font_serif);
- break;
- case FF_MODERN:
- snprintf(lf->lfFaceName, LF_FACESIZE, "%s",
- option_font_mono);
- break;
- case FF_SCRIPT:
- snprintf(lf->lfFaceName, LF_FACESIZE, "%s",
- option_font_cursive);
+ sub = GetDlgItem(hwnd, IDC_PREFS_FETCH_HANDLES);
+ len = SendMessage(sub, WM_GETTEXTLENGTH, 0, 0);
+ temp = malloc(len + 1);
+ if (temp != NULL) {
+ SendMessage(sub, WM_GETTEXT, (WPARAM)(len + 1),
+ (LPARAM)temp);
+ option_max_cached_fetch_handles = atoi(temp);
+ free(temp);
+ }
break;
- case FF_DECORATIVE:
- snprintf(lf->lfFaceName, LF_FACESIZE, "%s",
- option_font_fantasy);
+
+ case UDN_DELTAPOS: {
+ NMUPDOWN *ud = (NMUPDOWN *)lParam;
+ switch(((NMHDR *)lParam)->idFrom) {
+ case IDC_PREFS_FETCHERS_SPIN:
+ change_spinner(GetDlgItem(hwnd, IDC_PREFS_FETCHERS), 1.0 * ud->iDelta, 1.0, 100.0);
+ return TRUE;
+
+ case IDC_PREFS_FETCH_HOST_SPIN:
+ change_spinner(GetDlgItem(hwnd, IDC_PREFS_FETCH_HOST), 1.0 * ud->iDelta, 1.0, 100.0);
+ return TRUE;
+
+ case IDC_PREFS_FETCH_HANDLES_SPIN:
+ change_spinner(GetDlgItem(hwnd, IDC_PREFS_FETCH_HANDLES), 1.0 * ud->iDelta, 1.0, 100.0);
+ return TRUE;
+
+ }
+ }
break;
- case FF_SWISS:
- default:
- snprintf(lf->lfFaceName, LF_FACESIZE, "%s",
- option_font_sans);
+ }
+ }
+ return FALSE;
+}
+
+static BOOL CALLBACK options_general_dialog_handler(HWND hwnd,
+ UINT msg, WPARAM wparam, LPARAM lParam)
+{
+ HWND sub;
+
+ switch (msg) {
+ case WM_INITDIALOG:
+ /* homepage url */
+ sub = GetDlgItem(hwnd, IDC_PREFS_HOMEPAGE);
+ SendMessage(sub, WM_SETTEXT, 0, (LPARAM)option_homepage_url);
+
+ /* Display images */
+ sub = GetDlgItem(hwnd, IDC_PREFS_IMAGES);
+ SendMessage(sub, BM_SETCHECK,
+ (WPARAM) ((option_suppress_images) ?
+ BST_CHECKED : BST_UNCHECKED), 0);
+
+ /* advert blocking */
+ sub = GetDlgItem(hwnd, IDC_PREFS_ADVERTS);
+ SendMessage(sub, BM_SETCHECK,
+ (WPARAM) ((option_block_ads) ?
+ BST_CHECKED : BST_UNCHECKED), 0);
+
+ /* Referrer sending */
+ sub = GetDlgItem(hwnd, IDC_PREFS_REFERER);
+ SendMessage(sub, BM_SETCHECK,
+ (WPARAM)((option_send_referer) ?
+ BST_CHECKED : BST_UNCHECKED), 0);
+ break;
+
+ case WM_NOTIFY:
+ switch (((NMHDR FAR *)lParam)->code) {
+ case PSN_APPLY:
+ /* homepage */
+ sub = GetDlgItem(hwnd, IDC_PREFS_HOMEPAGE);
+ if (sub != NULL) {
+ int text_length;
+ char *text;
+ text_length = SendMessage(sub,
+ WM_GETTEXTLENGTH, 0, 0);
+ text = malloc(text_length + 1);
+ if (text != NULL) {
+ SendMessage(sub, WM_GETTEXT,
+ (WPARAM)text_length + 1,
+ (LPARAM)text);
+ free(option_homepage_url);
+ option_homepage_url = text;
+ }
+ }
+
+ option_suppress_images = (IsDlgButtonChecked(hwnd,
+ IDC_PREFS_IMAGES) == BST_CHECKED) ? true : false;
+
+ option_block_ads = (IsDlgButtonChecked(hwnd,
+ IDC_PREFS_ADVERTS) == BST_CHECKED) ? true : false;
+
+ option_send_referer = (IsDlgButtonChecked(hwnd,
+ IDC_PREFS_REFERER) == BST_CHECKED) ? true : false;
+
break;
+
+ }
}
- cf->lStructSize = sizeof(CHOOSEFONT);
- cf->hwndOwner = parent;
- cf->lpLogFont = lf;
- cf->Flags = CF_SCREENFONTS | CF_INITTOLOGFONTSTRUCT | CF_LIMITSIZE;
- cf->nSizeMin = 16;
- cf->nSizeMax = 24;
-
- return cf;
+ return FALSE;
+}
+
+void nsws_prefs_dialog_init(HINSTANCE hinst, HWND parent)
+{
+ int ret;
+ PROPSHEETPAGE psp[3];
+ PROPSHEETHEADER psh;
+
+ psp[0].dwSize = sizeof(PROPSHEETPAGE);
+ psp[0].dwFlags = PSP_USEICONID;
+ psp[0].hInstance = hinst;
+ psp[0].pszTemplate = MAKEINTRESOURCE(IDD_DLG_OPTIONS_GENERAL);
+ psp[0].pfnDlgProc = options_general_dialog_handler;
+ psp[0].lParam = 0;
+ psp[0].pfnCallback = NULL;
+
+ psp[1].dwSize = sizeof(PROPSHEETPAGE);
+ psp[1].dwFlags = PSP_USEICONID;
+ psp[1].hInstance = hinst;
+ psp[1].pszTemplate = MAKEINTRESOURCE(IDD_DLG_OPTIONS_CONNECTIONS);
+ psp[1].pfnDlgProc = options_connections_dialog_handler;
+ psp[1].lParam = 0;
+ psp[1].pfnCallback = NULL;
+
+ psp[2].dwSize = sizeof(PROPSHEETPAGE);
+ psp[2].dwFlags = PSP_USEICONID;
+ psp[2].hInstance = hinst;
+ psp[2].pszTemplate = MAKEINTRESOURCE(IDD_DLG_OPTIONS_APPERANCE);
+ psp[2].pfnDlgProc = options_appearance_dialog_handler;
+ psp[2].lParam = 0;
+ psp[2].pfnCallback = NULL;
+
+
+ psh.dwSize = sizeof(PROPSHEETHEADER);
+ psh.dwFlags = PSH_NOAPPLYNOW | PSH_USEICONID | PSH_PROPSHEETPAGE;
+ psh.hwndParent = parent;
+ psh.hInstance = hinst;
+// psh.pszIcon = MAKEINTRESOURCE(IDI_CELL_PROPERTIES);
+ psh.pszCaption = (LPSTR) "NetSurf Options";
+ psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE);
+ psh.nStartPage = 0;
+ psh.ppsp = (LPCPROPSHEETPAGE) &psp;
+ psh.pfnCallback = NULL;
+
+ ret = PropertySheet(&psh);
+ if (ret == -1) {
+ win_perror("PropertySheet");
+ } else if (ret > 0) {
+ /* user saved changes */
+ options_write(options_file_location);
+ }
+
}
diff --git a/windows/prefs.h b/windows/prefs.h
index 6662b7a69..dec004b60 100644
--- a/windows/prefs.h
+++ b/windows/prefs.h
@@ -19,8 +19,6 @@
#ifndef _NETSURF_WINDOWS_PREFS_H_
#define _NETSURF_WINDOWS_PREFS_H_
-#include <windows.h>
-
-void nsws_prefs_dialog_init(HWND parent);
+void nsws_prefs_dialog_init(HINSTANCE hinst, HWND parent);
#endif
diff --git a/windows/res/banner.bmp b/windows/res/banner.bmp
new file mode 100644
index 000000000..49525f83d
--- /dev/null
+++ b/windows/res/banner.bmp
Binary files differ
diff --git a/windows/res/home.bmp b/windows/res/home.bmp
new file mode 100644
index 000000000..1f595ff4c
--- /dev/null
+++ b/windows/res/home.bmp
Binary files differ
diff --git a/windows/res/netsurf.gif b/windows/res/netsurf.gif
new file mode 100644
index 000000000..f4ee3aa15
--- /dev/null
+++ b/windows/res/netsurf.gif
Binary files differ
diff --git a/windows/res/resource.rc b/windows/res/resource.rc
index b32f49c7f..c79ebc090 100644
--- a/windows/res/resource.rc
+++ b/windows/res/resource.rc
@@ -1,225 +1,264 @@
-// Generated by ResEdit 1.4.8
-// Copyright (C) 2006-2009
-// http://www.resedit.net
-
#include <windows.h>
#include <commctrl.h>
#include <richedit.h>
+
#include "../resourceid.h"
+IDR_NETSURF32_ICON ICON DISCARDABLE "NetSurf32.ico"
+IDR_NETSURF16_ICON ICON DISCARDABLE "NetSurf16.ico"
+IDR_TOOLBAR_BITMAP BITMAP DISCARDABLE "toolbar.bmp"
+IDR_TOOLBAR_BITMAP_GREY BITMAP DISCARDABLE "toolbarg.bmp"
+IDR_TOOLBAR_BITMAP_HOT BITMAP DISCARDABLE "toolbarh.bmp"
+IDR_NETSURF_BANNER BITMAP DISCARDABLE "banner.bmp"
+IDR_HOME_BITMAP BITMAP DISCARDABLE "home.bmp"
+
+IDR_THROBBER_FRAME0_BITMAP BITMAP DISCARDABLE "throbber/throbber0.bmp"
+IDR_THROBBER_FRAME1_BITMAP BITMAP DISCARDABLE "throbber/throbber1.bmp"
+IDR_THROBBER_FRAME2_BITMAP BITMAP DISCARDABLE "throbber/throbber2.bmp"
+IDR_THROBBER_FRAME3_BITMAP BITMAP DISCARDABLE "throbber/throbber3.bmp"
+IDR_THROBBER_FRAME4_BITMAP BITMAP DISCARDABLE "throbber/throbber4.bmp"
+IDR_THROBBER_FRAME5_BITMAP BITMAP DISCARDABLE "throbber/throbber5.bmp"
+IDR_THROBBER_FRAME6_BITMAP BITMAP DISCARDABLE "throbber/throbber6.bmp"
+IDR_THROBBER_FRAME7_BITMAP BITMAP DISCARDABLE "throbber/throbber7.bmp"
+
+IDR_MENU_MAIN MENU
+BEGIN
+ POPUP "&File"
+ BEGIN
+ MENUITEM "&New Window",IDM_FILE_OPEN_WINDOW
+ MENUITEM "Open &Location",IDM_FILE_OPEN_LOCATION
+ MENUITEM "&Close",IDM_FILE_CLOSE_WINDOW
+ MENUITEM SEPARATOR
+ MENUITEM "&Save Page",IDM_FILE_SAVE_PAGE,GRAYED,HELP
+ POPUP "Save Page &As"
+ BEGIN
+ MENUITEM "Text",IDM_FILE_SAVEAS_TEXT,GRAYED
+ MENUITEM "PDF",IDM_FILE_SAVEAS_PDF,GRAYED
+ MENUITEM "Postscript",IDM_FILE_SAVEAS_POSTSCRIPT,GRAYED
+ END
+ MENUITEM SEPARATOR
+ MENUITEM "Print Pre&view",IDM_FILE_PRINT_PREVIEW
+ MENUITEM "&Print",IDM_FILE_PRINT
+ MENUITEM SEPARATOR
+ MENUITEM "E&xit",IDM_FILE_QUIT
+ END
+ POPUP "&Edit"
+ BEGIN
+ MENUITEM "Cu&t",IDM_EDIT_CUT
+ MENUITEM "&Copy",IDM_EDIT_COPY
+ MENUITEM "&Paste",IDM_EDIT_PASTE
+ MENUITEM "&Delete",IDM_EDIT_DELETE
+ MENUITEM SEPARATOR
+ MENUITEM "Select &All",IDM_EDIT_SELECT_ALL
+ MENUITEM SEPARATOR
+ MENUITEM "&Find",IDM_EDIT_SEARCH
+ END
+ POPUP "&View"
+ BEGIN
+ MENUITEM "Stop",IDM_NAV_STOP
+ MENUITEM "Reload",IDM_NAV_RELOAD
+ MENUITEM SEPARATOR
+ POPUP "&Zoom"
+ BEGIN
+ MENUITEM "Zoom &In",IDM_VIEW_ZOOMPLUS
+ MENUITEM "Zoom &Out",IDM_VIEW_ZOOMMINUS
+ MENUITEM "&Reset",IDM_VIEW_ZOOMNORMAL
+ END
+ MENUITEM SEPARATOR
+ MENUITEM "Page S&ource",IDM_VIEW_SOURCE
+ MENUITEM "&Full Screen",IDM_VIEW_FULLSCREEN
+ END
+ POPUP "&History"
+ BEGIN
+ MENUITEM "Back",IDM_NAV_BACK
+ MENUITEM "Forward",IDM_NAV_FORWARD
+ MENUITEM "Home",IDM_NAV_HOME
+ MENUITEM SEPARATOR
+ MENUITEM "Local History",IDM_NAV_LOCALHISTORY
+ MENUITEM "Global History",IDM_NAV_GLOBALHISTORY,GRAYED
+ END
+ POPUP "&Tools"
+ BEGIN
+ MENUITEM "&Downloads",IDM_VIEW_DOWNLOADS
+ MENUITEM "Save size and location",IDM_VIEW_SAVE_WIN_METRICS
+ POPUP "Debugging"
+ BEGIN
+ MENUITEM "Debug rendering",IDM_VIEW_TOGGLE_DEBUG_RENDERING
+ MENUITEM "Save Box Tree",IDM_VIEW_DEBUGGING_SAVE_BOXTREE,GRAYED
+ MENUITEM "Save DOM Tree",IDM_VIEW_DEBUGGING_SAVE_DOMTREE,GRAYED
+ END
+ MENUITEM SEPARATOR
+ MENUITEM "Options...",IDM_EDIT_PREFERENCES
+ END
+ POPUP "&Help"
+ BEGIN
+ MENUITEM "&Contents",IDM_HELP_CONTENTS,GRAYED
+ MENUITEM "G&uide",IDM_HELP_GUIDE,GRAYED
+ MENUITEM "&Info",IDM_HELP_INFO,GRAYED
+ MENUITEM SEPARATOR
+ MENUITEM "&About NetSurf",IDM_HELP_ABOUT
+ END
+END
+
+IDR_MENU_CONTEXT MENU
+BEGIN
+ POPUP "Context"
+ BEGIN
+ MENUITEM "&Back",IDM_NAV_BACK
+ MENUITEM "F&orward",IDM_NAV_FORWARD
+ MENUITEM "&Home",IDM_NAV_HOME
+ MENUITEM "&Stop",IDM_NAV_STOP
+ MENUITEM "&Reload",IDM_NAV_RELOAD
+ MENUITEM SEPARATOR
+ MENUITEM "C&ut",IDM_EDIT_CUT,GRAYED
+ MENUITEM "&Copy",IDM_EDIT_COPY,GRAYED
+ MENUITEM "&Paste",IDM_EDIT_PASTE,GRAYED
+ MENUITEM "&Delete",IDM_EDIT_DELETE,GRAYED
+ END
+END
-//
-// Bitmap resources
-//
-NSWS_ID_TOOLBAR_BITMAP BITMAP "toolbar.bmp"
-
-
-NSWS_ID_TOOLBAR_GREY_BITMAP BITMAP "toolbarg.bmp"
-
-
-NSWS_ID_TOOLBAR_HOT_BITMAP BITMAP "toolbarh.bmp"
-
-
-
-//
-// Menu resources
-//
-NSWS_ID_CTXMENU MENU
-{
- POPUP "Context"
- {
- MENUITEM "&Back", NSWS_ID_NAV_BACK
- MENUITEM "F&orward", NSWS_ID_NAV_FORWARD
- MENUITEM "&Home", NSWS_ID_NAV_HOME
- MENUITEM "&Stop", NSWS_ID_NAV_STOP
- MENUITEM "&Reload", NSWS_ID_NAV_RELOAD
- MENUITEM SEPARATOR
- MENUITEM "C&ut", NSWS_ID_EDIT_CUT, GRAYED
- MENUITEM "&Copy", NSWS_ID_EDIT_COPY, GRAYED
- MENUITEM "&Paste", NSWS_ID_EDIT_PASTE, GRAYED
- MENUITEM "&Delete", NSWS_ID_EDIT_DELETE, GRAYED
- }
-}
-
-
-
-NSWS_ID_MAINMENU MENU
-{
- POPUP "&File"
- {
- MENUITEM "&New Window", NSWS_ID_FILE_OPEN_WINDOW
- MENUITEM "Open &Location", NSWS_ID_FILE_OPEN_LOCATION
- MENUITEM "&Close", NSWS_ID_FILE_CLOSE_WINDOW
- MENUITEM SEPARATOR
- MENUITEM "&Save Page", NSWS_ID_FILE_SAVE_PAGE, HELP, GRAYED
- POPUP "Save Page &As"
- {
- MENUITEM "Text", NSWS_ID_FILE_SAVEAS_TEXT, GRAYED
- MENUITEM "PDF", NSWS_ID_FILE_SAVEAS_PDF, GRAYED
- MENUITEM "Drawfile", NSWS_ID_FILE_SAVEAS_DRAWFILE, GRAYED
- MENUITEM "Postscript", NSWS_ID_FILE_SAVEAS_POSTSCRIPT, GRAYED
- }
- MENUITEM SEPARATOR
- MENUITEM "Print Pre&view", NSWS_ID_FILE_PRINT_PREVIEW
- MENUITEM "&Print", NSWS_ID_FILE_PRINT
- MENUITEM SEPARATOR
- MENUITEM "E&xit", NSWS_ID_FILE_QUIT
- }
- POPUP "&Edit"
- {
- MENUITEM "Cu&t", NSWS_ID_EDIT_CUT
- MENUITEM "&Copy", NSWS_ID_EDIT_COPY
- MENUITEM "&Paste", NSWS_ID_EDIT_PASTE
- MENUITEM "&Delete", NSWS_ID_EDIT_DELETE
- MENUITEM SEPARATOR
- MENUITEM "Select &All", NSWS_ID_EDIT_SELECT_ALL
- MENUITEM SEPARATOR
- MENUITEM "&Find", NSWS_ID_EDIT_SEARCH
- }
- POPUP "&View"
- {
- MENUITEM "Stop", NSWS_ID_NAV_STOP
- MENUITEM "Reload", NSWS_ID_NAV_RELOAD
- MENUITEM SEPARATOR
- POPUP "&Zoom"
- {
- MENUITEM "Zoom &In", NSWS_ID_VIEW_ZOOMPLUS
- MENUITEM "Zoom &Out", NSWS_ID_VIEW_ZOOMMINUS
- MENUITEM "&Reset", NSWS_ID_VIEW_ZOOMNORMAL
- }
- MENUITEM SEPARATOR
- MENUITEM "Page S&ource", NSWS_ID_VIEW_SOURCE
- MENUITEM "&Full Screen", NSWS_ID_VIEW_FULLSCREEN
- }
- POPUP "&History"
- {
- MENUITEM "Back", NSWS_ID_NAV_BACK
- MENUITEM "Forward", NSWS_ID_NAV_FORWARD
- MENUITEM "Home", NSWS_ID_NAV_HOME
- MENUITEM SEPARATOR
- MENUITEM "Local History", NSWS_ID_NAV_LOCALHISTORY
- MENUITEM "Global History", NSWS_ID_NAV_GLOBALHISTORY, GRAYED
- }
- POPUP "&Tools"
- {
- MENUITEM "&Downloads", NSWS_ID_VIEW_DOWNLOADS
- MENUITEM "Save size and location", NSWS_ID_VIEW_SAVE_WIN_METRICS
- POPUP "Debugging"
- {
- MENUITEM "Debug rendering", NSWS_ID_VIEW_TOGGLE_DEBUG_RENDERING
- MENUITEM "Save Box Tree", NSWS_ID_VIEW_DEBUGGING_SAVE_BOXTREE, GRAYED
- MENUITEM "Save DOM Tree", NSWS_ID_VIEW_DEBUGGING_SAVE_DOMTREE, GRAYED
- }
- MENUITEM SEPARATOR
- MENUITEM "Options...", NSWS_ID_EDIT_PREFERENCES
- }
- POPUP "&Help"
- {
- MENUITEM "&Contents", NSWS_ID_HELP_CONTENTS, GRAYED
- MENUITEM "G&uide", NSWS_ID_HELP_GUIDE, GRAYED
- MENUITEM "&Info", NSWS_ID_HELP_INFO, GRAYED
- MENUITEM SEPARATOR
- MENUITEM "&About NetSurf", NSWS_ID_HELP_ABOUT
- }
-}
-
-
-
-//
-// Dialog resources
-//
-NSWS_ID_ABOUT_DIALOG DIALOG 0, 0, 400, 350
-STYLE DS_MODALFRAME | DS_SETFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU
+IDD_DLG_ABOUT DIALOGEX 10,10,309,180
CAPTION "About NetSurf"
-FONT 8, "MS Sans Serif"
-{
- DEFPUSHBUTTON "&OK", IDOK, 345, 317, 41, 16
- GROUPBOX "About NetSurf", IDC_STATIC, 10, 10, 380, 328
- CTEXT "content", NSWS_ID_ABOUT_CONTENT, 20, 20, 361, 292, SS_CENTER
-}
-
-
-
-NSWS_ID_DOWNLOAD_DIALOG DIALOG 0, 0, 200, 100
-STYLE DS_MODALFRAME | DS_SETFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU
-CAPTION "download"
-FONT 8, "MS Sans Serif"
-{
- PUSHBUTTON "&OK", IDOK, 150, 75, 30, 20
- PUSHBUTTON "&Cancel", IDCANCEL, 110, 75, 35, 20
- CTEXT "downloading [file] [size] from [domain] to [destination]", NSWS_ID_DOWNLOAD_LABEL, 6, 6, 189, 35, SS_CENTER
- CONTROL "progress", NSWS_ID_DOWNLOAD_PROGRESS, PROGRESS_CLASS, 0, 6, 50, 189, 10
-}
-
-
-
-NSWS_ID_PREFS_DIALOG DIALOG 0, 0, 388, 205
-STYLE DS_MODALFRAME | DS_SETFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU
-CAPTION "Edit preferences"
-FONT 8, "MS Sans Serif"
-{
- PUSHBUTTON "&OK", IDOK, 297, 179, 34, 18
- PUSHBUTTON "&Cancel", IDCANCEL, 336, 179, 45, 18
- CTEXT "Home Page:", IDC_STATIC, 11, 17, 40, 8, SS_CENTER
- EDITTEXT NSWS_ID_PREFS_HOMEPAGE, 55, 15, 322, 12, ES_AUTOHSCROLL | ES_OEMCONVERT
- AUTOCHECKBOX "Hide Advertisements", NSWS_ID_PREFS_ADVERTS, 203, 51, 81, 10
- AUTOCHECKBOX "Disable Pop-ups", NSWS_ID_PREFS_POPUPS, 203, 63, 67, 10
- AUTOCHECKBOX "Disable Plugins", NSWS_ID_PREFS_PLUGINS, 203, 76, 64, 10
- AUTOCHECKBOX "Send referer", NSWS_ID_PREFS_REFERER, 203, 89, 55, 10
- CTEXT "HTTP proxy", IDC_STATIC, 9, 51, 40, 10, SS_CENTER
- COMBOBOX NSWS_ID_PREFS_PROXYTYPE, 52, 49, 131, 60, CBS_DROPDOWNLIST
- CTEXT "Host:", IDC_STATIC, 31, 70, 18, 8, SS_CENTER
- EDITTEXT NSWS_ID_PREFS_PROXYHOST, 52, 69, 89, 12, ES_AUTOHSCROLL | ES_OEMCONVERT
- EDITTEXT NSWS_ID_PREFS_PROXYPORT, 163, 69, 20, 12, ES_AUTOHSCROLL | ES_OEMCONVERT
- CTEXT "Username:", IDC_STATIC, 14, 88, 35, 8, SS_CENTER
- EDITTEXT NSWS_ID_PREFS_PROXYNAME, 52, 86, 45, 12, ES_AUTOHSCROLL | ES_OEMCONVERT
- CTEXT "Password:", IDC_STATIC, 101, 89, 34, 8, SS_CENTER
- EDITTEXT NSWS_ID_PREFS_PROXYPASS, 138, 86, 45, 12, ES_AUTOHSCROLL | ES_OEMCONVERT
- CTEXT "Size", IDC_STATIC, 32, 140, 14, 8, SS_CENTER
- EDITTEXT NSWS_ID_PREFS_FONT_SIZE, 49, 137, 26, 15
- CONTROL "Font Size", NSWS_ID_PREFS_FONT_SIZE_SPIN, UPDOWN_CLASS, UDS_NOTHOUSANDS, 75, 137, 11, 15
- CTEXT "Min Size", IDC_STATIC, 18, 162, 28, 8, SS_CENTER
- EDITTEXT NSWS_ID_PREFS_FONT_MINSIZE, 49, 159, 26, 15
- CONTROL "Font Size", NSWS_ID_PREFS_FONT_MINSIZE_SPIN, UPDOWN_CLASS, UDS_NOTHOUSANDS, 76, 159, 11, 15
- CTEXT "Sans-serif:", IDC_STATIC, 125, 135, 34, 8, SS_CENTER
- PUSHBUTTON "Sans", NSWS_ID_PREFS_SANS, 165, 132, 65, 15
- CTEXT "Serif:", IDC_STATIC, 142, 119, 17, 8, SS_CENTER
- PUSHBUTTON "Serif", NSWS_ID_PREFS_SERIF, 165, 116, 65, 15
- CTEXT "Monospace:", IDC_STATIC, 119, 169, 40, 8, SS_CENTER
- PUSHBUTTON "Monospace", NSWS_ID_PREFS_MONO, 165, 166, 65, 15
- CTEXT "Cursive:", IDC_STATIC, 133, 152, 26, 8, SS_CENTER
- PUSHBUTTON "Cursive", NSWS_ID_PREFS_CURSIVE, 165, 149, 65, 15
- CTEXT "Fantasy:", IDC_STATIC, 131, 186, 28, 8, SS_CENTER
- PUSHBUTTON "Fantasy", NSWS_ID_PREFS_FANTASY, 165, 183, 65, 15
- CTEXT "Font default", IDC_STATIC, 8, 121, 38, 8, SS_CENTER
- COMBOBOX NSWS_ID_PREFS_FONTDEF, 49, 118, 68, 60, CBS_DROPDOWNLIST
- CTEXT "Max Fetchers", IDC_STATIC, 266, 122, 44, 8, SS_CENTER
- EDITTEXT NSWS_ID_PREFS_FETCHERS, 314, 120, 25, 15
- CONTROL "Max Fetchers", NSWS_ID_PREFS_FETCHERS_SPIN, UPDOWN_CLASS, UDS_AUTOBUDDY | UDS_SETBUDDYINT, 340, 120, 11, 15
- CTEXT "Fetches per host", IDC_STATIC, 256, 139, 54, 8, SS_CENTER
- EDITTEXT NSWS_ID_PREFS_FETCH_HOST, 314, 137, 25, 15
- CONTROL "Fetches per host", NSWS_ID_PREFS_FETCH_HOST_SPIN, UPDOWN_CLASS, UDS_AUTOBUDDY | UDS_SETBUDDYINT, 341, 137, 11, 15
- CTEXT "Cached Fetches", IDC_STATIC, 258, 157, 53, 8, SS_CENTER
- EDITTEXT NSWS_ID_PREFS_FETCH_HANDLES, 314, 154, 25, 15
- CONTROL "cached Fetches", NSWS_ID_PREFS_FETCH_HANDLES_SPIN, UPDOWN_CLASS, UDS_AUTOBUDDY | UDS_SETBUDDYINT, 341, 154, 11, 15
- AUTOCHECKBOX "Disable", NSWS_ID_PREFS_NOANIMATION, 307, 51, 39, 10
- CTEXT "Min delay", IDC_STATIC, 308, 68, 31, 8, SS_CENTER
- EDITTEXT NSWS_ID_PREFS_ANIMATIONDELAY, 343, 65, 20, 15
- CONTROL "Min delay", NSWS_ID_PREFS_ANIMATIONDELAY_SPIN, UPDOWN_CLASS, UDS_NOTHOUSANDS, 363, 65, 11, 15
- GROUPBOX "Startup", IDC_STATIC, 3, 2, 379, 31
- GROUPBOX "Connection", IDC_STATIC, 4, 37, 186, 67
- CTEXT "Port:", IDC_STATIC, 144, 71, 16, 8, SS_CENTER
- GROUPBOX "Content", IDC_STATIC, 198, 37, 91, 68
- GROUPBOX "Animation", IDC_STATIC, 298, 37, 85, 68
- GROUPBOX "Fonts", IDC_STATIC, 3, 108, 234, 94
- GROUPBOX "Fetchers", IDC_STATIC, 247, 108, 134, 69
-}
-
-
-
-//
-// Icon resources
-//
-NSWS_ID_NETSURF32_ICON ICON "NetSurf32.ico"
-NSWS_ID_NETSURF16_ICON ICON "NetSurf16.ico"
+FONT 8,"MS Sans Serif",0,0,0
+STYLE WS_VISIBLE|WS_CAPTION|WS_SYSMENU
+EXSTYLE WS_EX_DLGMODALFRAME
+BEGIN
+ CONTROL IDR_NETSURF_BANNER,IDC_IMG1,"Static",SS_BITMAP,0,0,308,86
+ CONTROL "",IDC_ABOUT_CONTENT,"Static",WS_CHILDWINDOW|WS_VISIBLE,10,93,288,63
+ CONTROL "&OK",IDOK,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,246,160,54,15
+ CONTROL "&Credits",IDC_BTN_CREDITS,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,10,160,54,15
+ CONTROL "&Licence",IDC_BTN_LICENCE,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,70,160,54,15
+END
+
+IDD_DLG_DOWNLOAD DIALOGEX 0,0,201,84
+CAPTION "Download"
+FONT 8,"MS Sans Serif",0,0,0
+STYLE WS_POPUP|WS_VISIBLE|WS_CAPTION|WS_SYSMENU|DS_MODALFRAME|DS_SETFONT
+EXSTYLE WS_EX_DLGMODALFRAME
+BEGIN
+ CONTROL "downloading [file] [size] from [domain] to [destination]",IDC_DOWNLOAD_LABEL,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_CENTER,6,6,189,35
+ CONTROL "progress",IDC_DOWNLOAD_PROGRESS,PROGRESS_CLASS,WS_VISIBLE,6,50,189,10
+ CONTROL "&OK",IDOK,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,141,66,54,15
+ CONTROL "&Cancel",IDCANCEL,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,81,66,54,15
+END
+
+
+IDD_DLG_OPTIONS_GENERAL DIALOGEX 0,0,220,200
+CAPTION "General"
+FONT 8,"MS Shell Dlg"
+STYLE DS_CONTROL|DS_SHELLFONT
+BEGIN
+ /* home page entry */
+ CONTROL "Home Page",IDC_STATIC,"Static",SS_LEFT,7,7,40,8
+ CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,47,11,166,1
+ CONTROL IDR_HOME_BITMAP,IDC_STATIC,"Static",SS_BITMAP,15,19,24,24
+ CONTROL "",IDC_PREFS_HOMEPAGE,"Edit",WS_TABSTOP|ES_OEMCONVERT|ES_AUTOHSCROLL,43,19,170,14,WS_EX_CLIENTEDGE
+
+
+ /* Content control */
+ CONTROL "Content Control",IDC_STATIC,"Static",SS_LEFT,7,40,60,8
+ CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,67,44,146,1
+
+ CONTROL "Hide Images",IDC_PREFS_IMAGES,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|BS_AUTOCHECKBOX,43,52,67,10
+ CONTROL "Hide Advertisements",IDC_PREFS_ADVERTS,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|BS_AUTOCHECKBOX,43,66,81,10
+ CONTROL "Send referer",IDC_PREFS_REFERER,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|BS_AUTOCHECKBOX,43,80,55,10
+
+END
+
+IDD_DLG_OPTIONS_CONNECTIONS DIALOGEX 0,0,220,200
+CAPTION "Connections"
+FONT 8,"MS Shell Dlg"
+STYLE DS_CONTROL|DS_SHELLFONT
+BEGIN
+ /* proxy divider */
+ CONTROL "Proxy",IDC_STATIC,"Static",SS_LEFT,7,7,30,8
+ CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,37,11,176,1
+
+ /* proxy controls */
+ CONTROL "Type:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,43,22,40,8
+ CONTROL "",IDC_PREFS_PROXYTYPE,"ComboBox",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|CBS_DROPDOWNLIST,80,19,60,60
+
+ CONTROL "Server:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,43,39,28,8
+ CONTROL "",IDC_PREFS_PROXYHOST,"Edit",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|ES_OEMCONVERT|ES_AUTOHSCROLL,80,36,80,14,WS_EX_CLIENTEDGE
+
+ CONTROL "Port:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,164,39,16,8
+ CONTROL "",IDC_PREFS_PROXYPORT,"Edit",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|ES_OEMCONVERT|ES_AUTOHSCROLL,182,36,24,14,WS_EX_CLIENTEDGE
+
+ CONTROL "Username:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,43,60,35,8
+ CONTROL "",IDC_PREFS_PROXYNAME,"Edit",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|ES_OEMCONVERT|ES_AUTOHSCROLL,80,57,45,14,WS_EX_CLIENTEDGE
+
+ CONTROL "Password:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,132,60,34,8
+ CONTROL "",IDC_PREFS_PROXYPASS,"Edit",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|ES_OEMCONVERT|ES_AUTOHSCROLL|ES_PASSWORD,168,57,45,14,WS_EX_CLIENTEDGE
+
+
+ /* fetcher divider */
+ CONTROL "Fetchers",IDC_STATIC,"Static",SS_LEFT,7,78,40,8
+ CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,42,82,171,1
+
+ /* max fetchers */
+ CONTROL "Max Fetchers:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP,43,96,64,8
+ CONTROL "",IDC_PREFS_FETCHERS,"Edit",ES_NUMBER|ES_RIGHT|WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|WS_BORDER,111,93,30,14
+ CONTROL "Max Fetchers",IDC_PREFS_FETCHERS_SPIN,UPDOWN_CLASS,UDS_AUTOBUDDY|UDS_ALIGNRIGHT|WS_VISIBLE,341,122,11,15
+
+ /* fetchers per host */
+ CONTROL "Fetches per host:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP,43,118,64,8
+ CONTROL "",IDC_PREFS_FETCH_HOST,"Edit",ES_NUMBER|ES_RIGHT|WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|WS_BORDER,111,114,30,14
+ CONTROL "Fetches per host",IDC_PREFS_FETCH_HOST_SPIN,UPDOWN_CLASS,UDS_AUTOBUDDY|UDS_ALIGNRIGHT|WS_VISIBLE,341,140,11,15
+
+ /* cached fetchers */
+ CONTROL "Cached Fetches:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP,43,138,64,8
+ CONTROL "",IDC_PREFS_FETCH_HANDLES,"Edit",ES_NUMBER|ES_RIGHT|WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|WS_BORDER,111,135,30,14
+ CONTROL "Cached Fetches",IDC_PREFS_FETCH_HANDLES_SPIN,UPDOWN_CLASS,UDS_AUTOBUDDY|UDS_ALIGNRIGHT|WS_VISIBLE,341,158,11,15
+
+END
+
+IDD_DLG_OPTIONS_APPERANCE DIALOGEX 10,10,220,200
+CAPTION "Apperance"
+FONT 8,"MS Shell Dlg"
+STYLE DS_CONTROL|DS_SHELLFONT
+BEGIN
+ /* proxy separator */
+ CONTROL "Fonts",IDC_STATIC,"Static",SS_LEFT,7,7,20,8
+ CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,27,11,186,1
+
+ /* font controls */
+ CONTROL "Sans-serif:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,43,22,44,8
+ CONTROL "Sans-serif",IDC_PREFS_SANS,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,89,19,50,14
+
+ CONTROL "Serif:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,43,40,24,8
+ CONTROL "Serif",IDC_PREFS_SERIF,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,89,37,50,14
+
+ CONTROL "Monospace:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,43,58,40,8
+ CONTROL "Monospace",IDC_PREFS_MONO,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,89,55,50,14
+
+ CONTROL "Cursive:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,43,76,32,8
+ CONTROL "Cursive",IDC_PREFS_CURSIVE,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,89,73,50,14
+
+ CONTROL "Fantasy:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,43,94,32,8
+ CONTROL "Fantasy",IDC_PREFS_FANTASY,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,89,91,50,14
+
+
+ CONTROL "Default:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,43,112,38,8
+ CONTROL "",IDC_PREFS_FONTDEF,"ComboBox",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|CBS_DROPDOWNLIST,89,109,50,60
+
+ CONTROL "Size:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,147,112,16,8
+ CONTROL "",IDC_PREFS_FONT_SIZE,"Edit",ES_NUMBER|WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,165,109,35,14,WS_EX_CLIENTEDGE
+ CONTROL "Font Size",IDC_PREFS_FONT_SIZE_SPIN,UPDOWN_CLASS,UDS_AUTOBUDDY|UDS_ALIGNRIGHT|WS_VISIBLE,75,137,11,15
+
+ CONTROL "Minimum Size:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,43,130,52,8
+ CONTROL "",IDC_PREFS_FONT_MINSIZE,"Edit",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,97,127,35,14,WS_EX_CLIENTEDGE
+ CONTROL "Minimum Font Size",IDC_PREFS_FONT_MINSIZE_SPIN,UPDOWN_CLASS,UDS_AUTOBUDDY|UDS_ALIGNRIGHT|WS_VISIBLE,76,159,11,15
+
+ /* animation separator */
+ CONTROL "Animation",IDC_STATIC,"Static",SS_LEFT,7,148,36,8
+ CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,43,152,170,1
+
+ CONTROL "Disable",IDC_PREFS_NOANIMATION,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|BS_AUTOCHECKBOX,43,163,39,10
+ CONTROL "Minimum delay:",IDC_STATIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|SS_LEFT,55,180,56,8
+ CONTROL "",IDC_PREFS_ANIMATIONDELAY,"Edit",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,113,177,35,14,WS_EX_CLIENTEDGE
+ CONTROL "Min delay",IDC_PREFS_ANIMATIONDELAY_SPIN,UPDOWN_CLASS,UDS_AUTOBUDDY|UDS_ALIGNRIGHT|WS_VISIBLE,43,210,11,15
+
+
+
+END
diff --git a/windows/res/throbber/throbber0.bmp b/windows/res/throbber/throbber0.bmp
new file mode 100644
index 000000000..2cef4da70
--- /dev/null
+++ b/windows/res/throbber/throbber0.bmp
Binary files differ
diff --git a/windows/res/throbber/throbber1.bmp b/windows/res/throbber/throbber1.bmp
new file mode 100644
index 000000000..7c7feb6b2
--- /dev/null
+++ b/windows/res/throbber/throbber1.bmp
Binary files differ
diff --git a/windows/res/throbber/throbber2.bmp b/windows/res/throbber/throbber2.bmp
new file mode 100644
index 000000000..7d1d1147a
--- /dev/null
+++ b/windows/res/throbber/throbber2.bmp
Binary files differ
diff --git a/windows/res/throbber/throbber3.bmp b/windows/res/throbber/throbber3.bmp
new file mode 100644
index 000000000..1f98b12b0
--- /dev/null
+++ b/windows/res/throbber/throbber3.bmp
Binary files differ
diff --git a/windows/res/throbber/throbber4.bmp b/windows/res/throbber/throbber4.bmp
new file mode 100644
index 000000000..a5ddc00e3
--- /dev/null
+++ b/windows/res/throbber/throbber4.bmp
Binary files differ
diff --git a/windows/res/throbber/throbber5.bmp b/windows/res/throbber/throbber5.bmp
new file mode 100644
index 000000000..261f8cd13
--- /dev/null
+++ b/windows/res/throbber/throbber5.bmp
Binary files differ
diff --git a/windows/res/throbber/throbber6.bmp b/windows/res/throbber/throbber6.bmp
new file mode 100644
index 000000000..01d3f480d
--- /dev/null
+++ b/windows/res/throbber/throbber6.bmp
Binary files differ
diff --git a/windows/res/throbber/throbber7.bmp b/windows/res/throbber/throbber7.bmp
new file mode 100644
index 000000000..b5421cf0e
--- /dev/null
+++ b/windows/res/throbber/throbber7.bmp
Binary files differ
diff --git a/windows/resourceid.h b/windows/resourceid.h
index b846e3cf9..84076a653 100644
--- a/windows/resourceid.h
+++ b/windows/resourceid.h
@@ -23,95 +23,115 @@
#define IDC_STATIC (-1)
#endif
-#define NSWS_ID_NETSURF32_ICON 10
-#define NSWS_ID_NETSURF16_ICON 11
+#define IDR_NETSURF32_ICON 100
+#define IDR_NETSURF16_ICON 101
+#define IDR_TOOLBAR_BITMAP 102
+#define IDR_TOOLBAR_BITMAP_GREY 103
+#define IDR_TOOLBAR_BITMAP_HOT 104
+#define IDR_NETSURF_BANNER 105
+#define IDR_HOME_BITMAP 114
-#define NSWS_ID_MAINMENU 101
-#define NSWS_ID_CTXMENU 103
-#define NSWS_ID_TOOLBAR_BITMAP 107
-#define NSWS_ID_TOOLBAR_GREY_BITMAP 108
-#define NSWS_ID_TOOLBAR_HOT_BITMAP 109
+#define IDR_THROBBER_FRAME0_BITMAP 106
+#define IDR_THROBBER_FRAME1_BITMAP 107
+#define IDR_THROBBER_FRAME2_BITMAP 108
+#define IDR_THROBBER_FRAME3_BITMAP 109
+#define IDR_THROBBER_FRAME4_BITMAP 110
+#define IDR_THROBBER_FRAME5_BITMAP 111
+#define IDR_THROBBER_FRAME6_BITMAP 112
+#define IDR_THROBBER_FRAME7_BITMAP 113
-#define NSWS_ID_TOOLBAR 1111
-#define NSWS_ID_URLBAR 1112
-#define NSWS_ID_THROBBER 1113
-#define NSWS_ID_DRAWINGAREA 1114
-#define NSWS_ID_STATUSBAR 1115
-#define NSWS_ID_LAUNCH_URL 1116
+#define IDD_DLG_ABOUT 1000
+#define IDC_IMG1 1001
+#define IDC_ABOUT_CONTENT 1002
+#define IDC_BTN_CREDITS 1004
+#define IDC_BTN_LICENCE 1005
-#define NSWS_ID_ABOUT_DIALOG 11111
-#define NSWS_ID_ABOUT_CONTENT 11112
-#define NSWS_ID_PREFS_DIALOG 11113
-#define NSWS_ID_PREFS_HOMEPAGE 11114
-#define NSWS_ID_PREFS_ADVERTS 11115
-#define NSWS_ID_PREFS_POPUPS 11116
-#define NSWS_ID_PREFS_PLUGINS 11117
-#define NSWS_ID_PREFS_REFERER 11118
-#define NSWS_ID_PREFS_PROXYTYPE 11119
-#define NSWS_ID_PREFS_PROXYHOST 11120
-#define NSWS_ID_PREFS_PROXYPORT 11121
-#define NSWS_ID_PREFS_PROXYNAME 11122
-#define NSWS_ID_PREFS_PROXYPASS 11123
-#define NSWS_ID_PREFS_FONT_SIZE 11124
-#define NSWS_ID_PREFS_FONT_SIZE_SPIN 11125
-#define NSWS_ID_PREFS_FONT_MINSIZE 11126
-#define NSWS_ID_PREFS_FONT_MINSIZE_SPIN 11127
-#define NSWS_ID_PREFS_SANS 11128
-#define NSWS_ID_PREFS_SERIF 11129
-#define NSWS_ID_PREFS_MONO 11130
-#define NSWS_ID_PREFS_CURSIVE 11131
-#define NSWS_ID_PREFS_FANTASY 11132
-#define NSWS_ID_PREFS_FONTDEF 11133
-#define NSWS_ID_PREFS_FETCHERS 11134
-#define NSWS_ID_PREFS_FETCHERS_SPIN 11135
-#define NSWS_ID_PREFS_FETCH_HOST 11136
-#define NSWS_ID_PREFS_FETCH_HOST_SPIN 11137
-#define NSWS_ID_PREFS_FETCH_HANDLES 11138
-#define NSWS_ID_PREFS_FETCH_HANDLES_SPIN 11139
-#define NSWS_ID_PREFS_NOANIMATION 11140
-#define NSWS_ID_PREFS_ANIMATIONDELAY 11141
-#define NSWS_ID_PREFS_ANIMATIONDELAY_SPIN 11142
-#define NSWS_ID_DOWNLOAD_DIALOG 11143
-#define NSWS_ID_DOWNLOAD_LABEL 11144
-#define NSWS_ID_DOWNLOAD_PROGRESS 11145
-#define NSWS_ID_FILE_OPEN_WINDOW 40000
-#define NSWS_ID_FILE_OPEN_LOCATION 40001
-#define NSWS_ID_FILE_CLOSE_WINDOW 40002
-#define NSWS_ID_FILE_SAVEAS_TEXT 40003
-#define NSWS_ID_FILE_SAVEAS_PDF 40004
-#define NSWS_ID_FILE_SAVEAS_DRAWFILE 40005
-#define NSWS_ID_FILE_SAVEAS_POSTSCRIPT 40006
-#define NSWS_ID_FILE_PRINT_PREVIEW 40007
-#define NSWS_ID_FILE_PRINT 40008
-#define NSWS_ID_FILE_QUIT 40009
-#define NSWS_ID_FILE_SAVE_PAGE 40010
-#define NSWS_ID_EDIT_CUT 40011
-#define NSWS_ID_EDIT_COPY 40012
-#define NSWS_ID_EDIT_PASTE 40013
-#define NSWS_ID_EDIT_DELETE 40014
-#define NSWS_ID_EDIT_SELECT_ALL 40015
-#define NSWS_ID_EDIT_SEARCH 40016
-#define NSWS_ID_EDIT_PREFERENCES 40017
-#define NSWS_ID_HELP_CONTENTS 40018
-#define NSWS_ID_HELP_GUIDE 40019
-#define NSWS_ID_HELP_INFO 40020
-#define NSWS_ID_HELP_ABOUT 40021
-#define NSWS_ID_VIEW_FULLSCREEN 40022
-#define NSWS_ID_VIEW_SOURCE 40023
-#define NSWS_ID_VIEW_ZOOMPLUS 40024
-#define NSWS_ID_VIEW_ZOOMMINUS 40025
-#define NSWS_ID_VIEW_ZOOMNORMAL 40026
-#define NSWS_ID_NAV_BACK 40027
-#define NSWS_ID_NAV_FORWARD 40028
-#define NSWS_ID_NAV_HOME 40029
-#define NSWS_ID_NAV_STOP 40030
-#define NSWS_ID_NAV_RELOAD 40031
-#define NSWS_ID_NAV_LOCALHISTORY 40032
-#define NSWS_ID_NAV_GLOBALHISTORY 40033
-#define NSWS_ID_VIEW_DOWNLOADS 40034
-#define NSWS_ID_VIEW_SAVE_WIN_METRICS 40035
-#define NSWS_ID_VIEW_TOGGLE_DEBUG_RENDERING 40036
-#define NSWS_ID_VIEW_DEBUGGING_SAVE_BOXTREE 40037
-#define NSWS_ID_VIEW_DEBUGGING_SAVE_DOMTREE 40038
+#define IDD_DLG_DOWNLOAD 1100
+#define IDC_DOWNLOAD_LABEL 1101
+#define IDC_DOWNLOAD_PROGRESS 1102
+
+#define IDD_DLG_MAIN 1300
+#define IDC_MAIN_TOOLBAR 1301
+#define IDC_MAIN_URLBAR 1302
+#define IDC_MAIN_THROBBER 1303
+#define IDC_MAIN_DRAWINGAREA 1304
+#define IDC_MAIN_STATUSBAR 1305
+#define IDC_MAIN_LAUNCH_URL 1306
+
+#define IDD_DLG_OPTIONS_GENERAL 1400
+#define IDC_PREFS_HOMEPAGE 1401
+#define IDC_PREFS_IMAGES 1402
+#define IDC_PREFS_ADVERTS 1403
+#define IDC_PREFS_REFERER 1404
+
+#define IDD_DLG_OPTIONS_CONNECTIONS 1500
+#define IDC_PREFS_FETCHERS 1501
+#define IDC_PREFS_FETCHERS_SPIN 1502
+#define IDC_PREFS_FETCH_HOST 1503
+#define IDC_PREFS_FETCH_HOST_SPIN 1504
+#define IDC_PREFS_FETCH_HANDLES 1505
+#define IDC_PREFS_FETCH_HANDLES_SPIN 1506
+
+#define IDD_DLG_OPTIONS_APPERANCE 1200
+#define IDC_PREFS_PROXYTYPE 1206
+#define IDC_PREFS_PROXYHOST 1207
+#define IDC_PREFS_PROXYPORT 1208
+#define IDC_PREFS_PROXYNAME 1209
+#define IDC_PREFS_PROXYPASS 1210
+#define IDC_PREFS_FONT_SIZE 1211
+#define IDC_PREFS_FONT_MINSIZE 1212
+#define IDC_PREFS_FONT_MINSIZE_SPIN 1213
+#define IDC_PREFS_SANS 1214
+#define IDC_PREFS_SERIF 1215
+#define IDC_PREFS_FONT_SIZE_SPIN 1216
+#define IDC_PREFS_MONO 1217
+#define IDC_PREFS_CURSIVE 1218
+#define IDC_PREFS_FANTASY 1219
+#define IDC_PREFS_FONTDEF 1220
+#define IDC_PREFS_NOANIMATION 1227
+#define IDC_PREFS_ANIMATIONDELAY 1228
+#define IDC_PREFS_ANIMATIONDELAY_SPIN 1229
+
+#define IDR_MENU_MAIN 10000
+#define IDM_FILE_OPEN_WINDOW 10001
+#define IDM_FILE_OPEN_LOCATION 10002
+#define IDM_FILE_CLOSE_WINDOW 10003
+#define IDM_FILE_SAVE_PAGE 10004
+#define IDM_FILE_SAVEAS_TEXT 10005
+#define IDM_FILE_SAVEAS_PDF 10006
+#define IDM_FILE_SAVEAS_POSTSCRIPT 10007
+#define IDM_FILE_PRINT_PREVIEW 10008
+#define IDM_FILE_PRINT 10009
+#define IDM_FILE_QUIT 10010
+#define IDM_EDIT_CUT 10011
+#define IDM_EDIT_COPY 10012
+#define IDM_EDIT_PASTE 10013
+#define IDM_EDIT_DELETE 10014
+#define IDM_EDIT_SELECT_ALL 10015
+#define IDM_EDIT_SEARCH 10016
+#define IDM_NAV_STOP 10017
+#define IDM_NAV_RELOAD 10018
+#define IDM_VIEW_ZOOMPLUS 10019
+#define IDM_VIEW_ZOOMMINUS 10020
+#define IDM_VIEW_ZOOMNORMAL 10021
+#define IDM_VIEW_SOURCE 10022
+#define IDM_VIEW_FULLSCREEN 10023
+#define IDM_NAV_BACK 10024
+#define IDM_NAV_FORWARD 10025
+#define IDM_NAV_HOME 10026
+#define IDM_NAV_LOCALHISTORY 10027
+#define IDM_NAV_GLOBALHISTORY 10028
+#define IDM_VIEW_DOWNLOADS 10029
+#define IDM_VIEW_SAVE_WIN_METRICS 10030
+#define IDM_VIEW_TOGGLE_DEBUG_RENDERING 10031
+#define IDM_VIEW_DEBUGGING_SAVE_BOXTREE 10032
+#define IDM_VIEW_DEBUGGING_SAVE_DOMTREE 10033
+#define IDM_EDIT_PREFERENCES 10034
+#define IDM_HELP_CONTENTS 10035
+#define IDM_HELP_GUIDE 10036
+#define IDM_HELP_INFO 10037
+#define IDM_HELP_ABOUT 10038
+
+#define IDR_MENU_CONTEXT 11000
#endif
diff --git a/windows/windbg.c b/windows/windbg.c
index bfbf0a343..ccbecc31e 100644
--- a/windows/windbg.c
+++ b/windows/windbg.c
@@ -1,3 +1,22 @@
+/*
+ * Copyright 2011 Vincent Sanders <vince@netsurf-browser.org>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <windows.h>
#include <stdio.h>
#include "windbg.h"
@@ -610,3 +629,35 @@ const char *msg_num_to_name(int msg)
return str;
}
+
+void win_perror(const char * lpszFunction)
+{
+ /* Retrieve the system error message for the last-error code */
+
+ LPVOID lpMsgBuf;
+ LPVOID lpDisplayBuf;
+ DWORD dw = GetLastError();
+
+ FormatMessage(
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL,
+ dw,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPTSTR) &lpMsgBuf,
+ 0, NULL );
+
+ /* Display the error message and exit the process */
+
+ lpDisplayBuf = (LPVOID)LocalAlloc(LMEM_ZEROINIT, (lstrlen((LPCTSTR)lpMsgBuf) + lstrlen((LPCTSTR)lpszFunction) + 40) * sizeof(TCHAR));
+
+ snprintf((LPTSTR)lpDisplayBuf,
+ LocalSize(lpDisplayBuf) / sizeof(TCHAR),
+ TEXT("%s failed with error %ld: %s"),
+ lpszFunction, dw, (char *)lpMsgBuf);
+ MessageBox(NULL, (LPCTSTR)lpDisplayBuf, TEXT("Error"), MB_OK);
+
+ LocalFree(lpMsgBuf);
+ LocalFree(lpDisplayBuf);
+}
diff --git a/windows/windbg.h b/windows/windbg.h
index d3f9099be..086ed343e 100644
--- a/windows/windbg.h
+++ b/windows/windbg.h
@@ -1 +1,25 @@
+/*
+ * Copyright 2010 Vincent Sanders <vince@netsurf-browser.org>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef _NETSURF_WINDOWS_WINDBG_H_
+#define _NETSURF_WINDOWS_WINDBG_H_
+
const char *msg_num_to_name(int msg);
+void win_perror(const char * lpszFunction);
+
+#endif