From 1510b8b92af23a2305de95f074468c231dc11fa3 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Thu, 25 Feb 2016 18:51:17 +1100 Subject: [PATCH] inetcpl: Implement default page button. Based on a patch by Jared Smudde. Signed-off-by: Alistair Leslie-Hughes Signed-off-by: Alexandre Julliard --- dlls/inetcpl.cpl/general.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dlls/inetcpl.cpl/general.c b/dlls/inetcpl.cpl/general.c index 0691579229f..e0f473caf76 100644 --- a/dlls/inetcpl.cpl/general.c +++ b/dlls/inetcpl.cpl/general.c @@ -36,6 +36,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(inetcpl); static const WCHAR about_blank[] = {'a','b','o','u','t',':','b','l','a','n','k',0}; static const WCHAR start_page[] = {'S','t','a','r','t',' ','P','a','g','e',0}; +static const WCHAR default_page[] = {'D','e','f','a','u','l','t','_','P','a','g','e','_','U','R','L',0}; static const WCHAR reg_ie_main[] = {'S','o','f','t','w','a','r','e','\\', 'M','i','c','r','o','s','o','f','t','\\', 'I','n','t','e','r','n','e','t',' ','E','x','p','l','o','r','e','r','\\', @@ -43,7 +44,6 @@ static const WCHAR reg_ie_main[] = {'S','o','f','t','w','a','r','e','\\', /* list of unimplemented buttons */ static DWORD disabled_general_buttons[] = {IDC_HOME_CURRENT, - IDC_HOME_DEFAULT, IDC_HISTORY_SETTINGS, 0}; static DWORD disabled_delhist_buttons[] = {IDC_DELETE_FORM_DATA, @@ -175,6 +175,10 @@ static DWORD parse_url_from_outside(LPCWSTR url, LPWSTR out, DWORD maxlen) */ static INT_PTR general_on_command(HWND hwnd, WPARAM wparam) { + WCHAR buffer[INTERNET_MAX_URL_LENGTH]; + DWORD len; + DWORD type; + LONG res; switch (wparam) { @@ -187,6 +191,13 @@ static INT_PTR general_on_command(HWND hwnd, WPARAM wparam) SetDlgItemTextW(hwnd, IDC_HOME_EDIT, about_blank); break; + case MAKEWPARAM(IDC_HOME_DEFAULT, BN_CLICKED): + len = sizeof(buffer); + type = REG_SZ; + res = SHRegGetUSValueW(reg_ie_main, default_page, &type, buffer, &len, FALSE, (LPBYTE) about_blank, sizeof(about_blank)); + if (!res && (type == REG_SZ)) SetDlgItemTextW(hwnd, IDC_HOME_EDIT, buffer); + break; + case MAKEWPARAM(IDC_HISTORY_DELETE, BN_CLICKED): DialogBoxW(hcpl, MAKEINTRESOURCEW(IDD_DELETE_HISTORY), hwnd, delhist_dlgproc);