[2/2] inetcpl.cpl: Add ability to delete Temporary Internet Files.

Alexander Scott-Johns alexander.scott.johns at googlemail.com
Sun Mar 6 19:33:08 CST 2011


-------------- next part --------------
From 1bd9b3ee88d9ed213b052f5a8c56630286130aa2 Mon Sep 17 00:00:00 2001
From: Alexander Scott-Johns <alexander.scott.johns at googlemail.com>
Date: Wed, 2 Mar 2011 18:38:15 +0000
Subject: inetcpl.cpl: Add ability to delete Temporary Internet Files.

---
 dlls/inetcpl.cpl/Makefile.in |    2 +-
 dlls/inetcpl.cpl/cpl_De.rc   |    5 ++
 dlls/inetcpl.cpl/cpl_En.rc   |   27 ++++++++++++
 dlls/inetcpl.cpl/cpl_Fr.rc   |    5 ++
 dlls/inetcpl.cpl/cpl_He.rc   |    5 ++
 dlls/inetcpl.cpl/cpl_It.rc   |    5 ++
 dlls/inetcpl.cpl/cpl_Ja.rc   |    5 ++
 dlls/inetcpl.cpl/cpl_Ko.rc   |    5 ++
 dlls/inetcpl.cpl/cpl_Lt.rc   |    5 ++
 dlls/inetcpl.cpl/cpl_Nl.rc   |    5 ++
 dlls/inetcpl.cpl/cpl_Pl.rc   |    5 ++
 dlls/inetcpl.cpl/cpl_Pt.rc   |    7 +++-
 dlls/inetcpl.cpl/cpl_Ru.rc   |    5 ++
 dlls/inetcpl.cpl/cpl_Sr.rc   |   10 +++++
 dlls/inetcpl.cpl/cpl_Sv.rc   |    5 ++
 dlls/inetcpl.cpl/cpl_Uk.rc   |    5 ++
 dlls/inetcpl.cpl/general.c   |   91 ++++++++++++++++++++++++++++++++++++++++-
 dlls/inetcpl.cpl/inetcpl.h   |    9 ++++
 18 files changed, 201 insertions(+), 5 deletions(-)

diff --git a/dlls/inetcpl.cpl/Makefile.in b/dlls/inetcpl.cpl/Makefile.in
index 0ff888d..8046dc7 100644
--- a/dlls/inetcpl.cpl/Makefile.in
+++ b/dlls/inetcpl.cpl/Makefile.in
@@ -1,6 +1,6 @@
 MODULE    = inetcpl.cpl
 IMPORTS   = comctl32 shlwapi user32 advapi32
-DELAYIMPORTS = cryptui
+DELAYIMPORTS = cryptui wininet
 
 C_SRCS = \
 	content.c \
diff --git a/dlls/inetcpl.cpl/cpl_De.rc b/dlls/inetcpl.cpl/cpl_De.rc
index d45f3aa..3e1e5b6 100644
--- a/dlls/inetcpl.cpl/cpl_De.rc
+++ b/dlls/inetcpl.cpl/cpl_De.rc
@@ -39,6 +39,11 @@ BEGIN
     PUSHBUTTON  "A&ktuelle Seite", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "&Standardseite", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "&Leere Seite", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_En.rc b/dlls/inetcpl.cpl/cpl_En.rc
index 261eafb..f8459b4 100644
--- a/dlls/inetcpl.cpl/cpl_En.rc
+++ b/dlls/inetcpl.cpl/cpl_En.rc
@@ -37,6 +37,33 @@ BEGIN
     PUSHBUTTON  "&Current page", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "&Default page", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "&Blank page", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
+
+END
+
+/* "Delete browsing history" dialog */
+IDD_DELETE_HISTORY DIALOG  0, 0, 250, 250
+STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
+FONT 8, "MS Shell Dlg"
+CAPTION "Delete browsing history"
+BEGIN
+
+    AUTOCHECKBOX   "Temporary internet files\nCached copies of webpages, images and certificates.",
+                    IDC_DELETE_TEMP_FILES, 10, 8, 230, 30, BS_TOP | BS_MULTILINE
+    AUTOCHECKBOX   "Cookies\nFiles saved on your computer by websites, which store things like user preferences and login information.",
+                    IDC_DELETE_COOKIES, 10, 38, 230, 30, BS_TOP | BS_MULTILINE
+    AUTOCHECKBOX   "History\nList of websites you have accessed.",
+                    IDC_DELETE_HISTORY, 10, 68, 230, 30, BS_TOP | BS_MULTILINE
+    AUTOCHECKBOX   "Form data\nUsernames and other information you have entered into forms.",
+                    IDC_DELETE_FORM_DATA, 10, 98, 230, 30, BS_TOP | BS_MULTILINE
+    AUTOCHECKBOX   "Passwords\nSaved passwords you have entered into forms.",
+                    IDC_DELETE_PASSWORDS, 10, 128, 230, 30, BS_TOP | BS_MULTILINE
+    DEFPUSHBUTTON  "Cancel", IDCANCEL, 185, 230, 60, 15, WS_GROUP
+    PUSHBUTTON     "Delete", IDOK, 120, 230, 60, 15, WS_GROUP
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_Fr.rc b/dlls/inetcpl.cpl/cpl_Fr.rc
index 1d517ca..54d19e9 100644
--- a/dlls/inetcpl.cpl/cpl_Fr.rc
+++ b/dlls/inetcpl.cpl/cpl_Fr.rc
@@ -41,6 +41,11 @@ BEGIN
     PUSHBUTTON  "Page &courante", IDC_HOME_CURRENT, 68, 36, 77, 14
     PUSHBUTTON  "Page par &défaut", IDC_HOME_DEFAULT, 151, 36, 77, 14
     PUSHBUTTON  "Page &blanche", IDC_HOME_BLANK, 233, 36, 77, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_He.rc b/dlls/inetcpl.cpl/cpl_He.rc
index 437fbdb..256ca08 100644
--- a/dlls/inetcpl.cpl/cpl_He.rc
+++ b/dlls/inetcpl.cpl/cpl_He.rc
@@ -41,6 +41,11 @@ BEGIN
     PUSHBUTTON  "????? ?&?????", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "???? &???? ?????", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "???? &???", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_It.rc b/dlls/inetcpl.cpl/cpl_It.rc
index 0186d30..566450c 100644
--- a/dlls/inetcpl.cpl/cpl_It.rc
+++ b/dlls/inetcpl.cpl/cpl_It.rc
@@ -40,6 +40,11 @@ BEGIN
     PUSHBUTTON  "Pagina &attuale", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "Pagina &predefinita", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "Pagina &vuota", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_Ja.rc b/dlls/inetcpl.cpl/cpl_Ja.rc
index 8609445..b50ab01 100644
--- a/dlls/inetcpl.cpl/cpl_Ja.rc
+++ b/dlls/inetcpl.cpl/cpl_Ja.rc
@@ -41,6 +41,11 @@ BEGIN
     PUSHBUTTON  "??????(&C)", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "?????(&D)", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "??(&B)", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_Ko.rc b/dlls/inetcpl.cpl/cpl_Ko.rc
index db30f5b..96e3ecd 100644
--- a/dlls/inetcpl.cpl/cpl_Ko.rc
+++ b/dlls/inetcpl.cpl/cpl_Ko.rc
@@ -40,6 +40,11 @@ BEGIN
     PUSHBUTTON  "?? ???(&C)", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "?? ???(&D)", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "? ???(&B)", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_Lt.rc b/dlls/inetcpl.cpl/cpl_Lt.rc
index bfecd34..c81ab60 100644
--- a/dlls/inetcpl.cpl/cpl_Lt.rc
+++ b/dlls/inetcpl.cpl/cpl_Lt.rc
@@ -40,6 +40,11 @@ BEGIN
     PUSHBUTTON  "&Dabartinis puslapis", IDC_HOME_CURRENT, 58, 40, 80, 14
     PUSHBUTTON  "&Numatytasis puslapis", IDC_HOME_DEFAULT, 144, 40, 80, 14
     PUSHBUTTON  "&Tu??ias puslapis", IDC_HOME_BLANK, 230, 40, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_Nl.rc b/dlls/inetcpl.cpl/cpl_Nl.rc
index de0d0ee..5d5fb52 100644
--- a/dlls/inetcpl.cpl/cpl_Nl.rc
+++ b/dlls/inetcpl.cpl/cpl_Nl.rc
@@ -37,6 +37,11 @@ BEGIN
     PUSHBUTTON  "&Huidige pagina", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "&Standaardpagina", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "&Lege pagina", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_Pl.rc b/dlls/inetcpl.cpl/cpl_Pl.rc
index b0cb20f..cf33137 100644
--- a/dlls/inetcpl.cpl/cpl_Pl.rc
+++ b/dlls/inetcpl.cpl/cpl_Pl.rc
@@ -37,6 +37,11 @@ BEGIN
     PUSHBUTTON  "U?yj &bie??cej", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "U?yj d&omy?lnej", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "U?yj pu&stej", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_Pt.rc b/dlls/inetcpl.cpl/cpl_Pt.rc
index dc3a2fc..5be8c1a 100644
--- a/dlls/inetcpl.cpl/cpl_Pt.rc
+++ b/dlls/inetcpl.cpl/cpl_Pt.rc
@@ -1,5 +1,5 @@
 /*
- * English resources for the Internet control panel applet
+ * Portuguese resources for the Internet control panel applet
  *
  * Copyright 2010 Gustavo Henrique Milaré
  *
@@ -39,6 +39,11 @@ BEGIN
     PUSHBUTTON  "Página &atual", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "Página &padrão", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "Página em &branco", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_Ru.rc b/dlls/inetcpl.cpl/cpl_Ru.rc
index db99526..a497210 100644
--- a/dlls/inetcpl.cpl/cpl_Ru.rc
+++ b/dlls/inetcpl.cpl/cpl_Ru.rc
@@ -40,6 +40,11 @@ BEGIN
     PUSHBUTTON  "&??????? ????????", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "&?? ?????????", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "??&???? ????????", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_Sr.rc b/dlls/inetcpl.cpl/cpl_Sr.rc
index 8568972..0312d2a 100644
--- a/dlls/inetcpl.cpl/cpl_Sr.rc
+++ b/dlls/inetcpl.cpl/cpl_Sr.rc
@@ -40,6 +40,11 @@ BEGIN
     PUSHBUTTON  "&?????? ??????", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "&????????????? ??????", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "?????? &??????", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
@@ -74,6 +79,11 @@ BEGIN
     PUSHBUTTON  "&Teku?a strana", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "&Podrazumevana strana", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "Prazna &strana", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_Sv.rc b/dlls/inetcpl.cpl/cpl_Sv.rc
index d587b02..cc75ce6 100644
--- a/dlls/inetcpl.cpl/cpl_Sv.rc
+++ b/dlls/inetcpl.cpl/cpl_Sv.rc
@@ -39,6 +39,11 @@ BEGIN
     PUSHBUTTON  "&Aktuell sida", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "&Förvald sida", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "&Blank sida", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/cpl_Uk.rc b/dlls/inetcpl.cpl/cpl_Uk.rc
index e577d31..102fb0c 100644
--- a/dlls/inetcpl.cpl/cpl_Uk.rc
+++ b/dlls/inetcpl.cpl/cpl_Uk.rc
@@ -41,6 +41,11 @@ BEGIN
     PUSHBUTTON  "&??????? ????????", IDC_HOME_CURRENT, 58, 36, 80, 14
     PUSHBUTTON  "&?? ?????????????", IDC_HOME_DEFAULT, 144, 36, 80, 14
     PUSHBUTTON  "??&????? ????????", IDC_HOME_BLANK, 230, 36, 80, 14
+    GROUPBOX    " Browsing history ", IDC_STATIC, 4, 60, 312, 46
+    LTEXT       "You can delete cached pages, cookies and other data.",
+                IDC_STATIC, 58, 72, 252, 10
+    PUSHBUTTON  "Delete &files...", IDC_HISTORY_DELETE, 144, 86, 80, 14
+    PUSHBUTTON  "&Settings...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14
 
 END
 
diff --git a/dlls/inetcpl.cpl/general.c b/dlls/inetcpl.cpl/general.c
index 0825897..1d8f027 100644
--- a/dlls/inetcpl.cpl/general.c
+++ b/dlls/inetcpl.cpl/general.c
@@ -43,8 +43,88 @@ static const WCHAR reg_ie_main[] = {'S','o','f','t','w','a','r','e','\\',
                                     'M','a','i','n',0};
 
 /* list of unimplemented buttons */
-static DWORD disable_me[] = {IDC_HOME_CURRENT,
-                             IDC_HOME_DEFAULT, 0};
+static DWORD disabled_general_buttons[] = {IDC_HOME_CURRENT,
+                                           IDC_HOME_DEFAULT,
+                                           IDC_HISTORY_SETTINGS,
+                                           0};
+static DWORD disabled_delhist_buttons[] = {IDC_DELETE_COOKIES,
+                                           IDC_DELETE_HISTORY,
+                                           IDC_DELETE_FORM_DATA,
+                                           IDC_DELETE_PASSWORDS,
+                                           0};
+
+/*********************************************************************
+ * delhist_on_command [internal]
+ *
+ * handle WM_COMMAND in Delete browsing history dialog
+ *
+ */
+static INT_PTR delhist_on_command(HWND hdlg, WPARAM wparam)
+{
+    switch (wparam)
+    {
+        case MAKEWPARAM(IDOK, BN_CLICKED):
+            if (!FreeUrlCacheSpaceW(NULL, 100, FCS_PERCENT_CACHE_SPACE))
+                break;   /* Don't close the dialog. */
+            EndDialog(hdlg, IDOK);
+            return TRUE;
+
+        case MAKEWPARAM(IDCANCEL, BN_CLICKED):
+            EndDialog(hdlg, IDCANCEL);
+            return TRUE;
+
+        case MAKEWPARAM(IDC_DELETE_TEMP_FILES, BN_CLICKED):
+        case MAKEWPARAM(IDC_DELETE_COOKIES, BN_CLICKED):
+        case MAKEWPARAM(IDC_DELETE_HISTORY, BN_CLICKED):
+        case MAKEWPARAM(IDC_DELETE_FORM_DATA, BN_CLICKED):
+        case MAKEWPARAM(IDC_DELETE_PASSWORDS, BN_CLICKED):
+        {
+            BOOL any = IsDlgButtonChecked(hdlg, IDC_DELETE_TEMP_FILES) ||
+                       IsDlgButtonChecked(hdlg, IDC_DELETE_COOKIES) ||
+                       IsDlgButtonChecked(hdlg, IDC_DELETE_HISTORY) ||
+                       IsDlgButtonChecked(hdlg, IDC_DELETE_FORM_DATA) ||
+                       IsDlgButtonChecked(hdlg, IDC_DELETE_PASSWORDS);
+            EnableWindow(GetDlgItem(hdlg, IDOK), any);
+            break;
+        }
+
+        default:
+            break;
+    }
+    return FALSE;
+}
+
+
+/*********************************************************************
+ * delhist_dlgproc [internal]
+ *
+ * Delete browsing history dialog procedure
+ *
+ */
+static INT_PTR CALLBACK delhist_dlgproc(HWND hdlg, UINT msg, WPARAM wparam, LPARAM lparam)
+{
+    switch (msg)
+    {
+        case WM_COMMAND:
+            return delhist_on_command(hdlg, wparam);
+
+        case WM_INITDIALOG:
+        {
+            DWORD *ptr = disabled_delhist_buttons;
+            while (*ptr)
+            {
+                EnableWindow(GetDlgItem(hdlg, *ptr), FALSE);
+                ptr++;
+            }
+            CheckDlgButton(hdlg, IDC_DELETE_TEMP_FILES, BST_CHECKED);
+            break;
+        }
+
+        default:
+            break;
+    }
+    return FALSE;
+}
 
 /*********************************************************************
  * parse_url_from_outside [internal]
@@ -93,6 +173,11 @@ static INT_PTR general_on_command(HWND hwnd, WPARAM wparam)
             SetDlgItemTextW(hwnd, IDC_HOME_EDIT, about_blank);
             break;
 
+        case MAKEWPARAM(IDC_HISTORY_DELETE, BN_CLICKED):
+            DialogBoxW(hcpl, MAKEINTRESOURCEW(IDD_DELETE_HISTORY), hwnd,
+                       delhist_dlgproc);
+            break;
+
         default:
             TRACE("not implemented for command: %d/%d\n", HIWORD(wparam),  LOWORD(wparam));
             return FALSE;
@@ -112,7 +197,7 @@ static VOID general_on_initdialog(HWND hwnd)
     DWORD len;
     DWORD type;
     LONG res;
-    DWORD *ptr = disable_me;
+    DWORD *ptr = disabled_general_buttons;
 
     /* disable unimplemented buttons */
     while (*ptr)
diff --git a/dlls/inetcpl.cpl/inetcpl.h b/dlls/inetcpl.cpl/inetcpl.h
index cee9d4f..45b1ba4 100644
--- a/dlls/inetcpl.cpl/inetcpl.h
+++ b/dlls/inetcpl.cpl/inetcpl.h
@@ -47,6 +47,15 @@ INT_PTR CALLBACK general_dlgproc(HWND, UINT, WPARAM, LPARAM) DECLSPEC_HIDDEN;
 #define IDC_HOME_CURRENT    1001
 #define IDC_HOME_DEFAULT    1002
 #define IDC_HOME_BLANK      1003
+#define IDC_HISTORY_DELETE     1004
+#define IDC_HISTORY_SETTINGS   1005
+
+#define IDD_DELETE_HISTORY     1010
+#define IDC_DELETE_TEMP_FILES  1011
+#define IDC_DELETE_COOKIES     1012
+#define IDC_DELETE_HISTORY     1013
+#define IDC_DELETE_FORM_DATA   1014
+#define IDC_DELETE_PASSWORDS   1015
 
 #define IDD_CONTENT         4000
 #define IDC_CERT            4100
-- 
1.7.0.4


More information about the wine-patches mailing list