diff --git a/configure b/configure index c47168dddad..6ba2a56070f 100755 --- a/configure +++ b/configure @@ -14660,6 +14660,7 @@ wine_fn_config_dll imm32 enable_imm32 imm32 wine_fn_config_test dlls/imm32/tests imm32_test wine_fn_config_dll inetcomm enable_inetcomm inetcomm wine_fn_config_test dlls/inetcomm/tests inetcomm_test +wine_fn_config_dll inetcpl.cpl enable_inetcpl_cpl wine_fn_config_dll inetmib1 enable_inetmib1 wine_fn_config_test dlls/inetmib1/tests inetmib1_test wine_fn_config_dll infosoft enable_infosoft diff --git a/configure.ac b/configure.ac index 0fe8ebed6b3..a7f6b2b9654 100644 --- a/configure.ac +++ b/configure.ac @@ -2439,6 +2439,7 @@ WINE_CONFIG_DLL(imm32,,[imm32]) WINE_CONFIG_TEST(dlls/imm32/tests) WINE_CONFIG_DLL(inetcomm,,[inetcomm]) WINE_CONFIG_TEST(dlls/inetcomm/tests) +WINE_CONFIG_DLL(inetcpl.cpl) WINE_CONFIG_DLL(inetmib1) WINE_CONFIG_TEST(dlls/inetmib1/tests) WINE_CONFIG_DLL(infosoft) diff --git a/dlls/inetcpl.cpl/Makefile.in b/dlls/inetcpl.cpl/Makefile.in new file mode 100644 index 00000000000..653fa0fc77a --- /dev/null +++ b/dlls/inetcpl.cpl/Makefile.in @@ -0,0 +1,14 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = inetcpl.cpl + +C_SRCS = \ + inetcpl.c + +RC_SRCS = \ + cpl_En.rc \ + inetcpl.rc + +@MAKE_DLL_RULES@ diff --git a/dlls/inetcpl.cpl/cpl_En.rc b/dlls/inetcpl.cpl/cpl_En.rc new file mode 100644 index 00000000000..9b2161f2247 --- /dev/null +++ b/dlls/inetcpl.cpl/cpl_En.rc @@ -0,0 +1,30 @@ +/* + * Internet control panel applet + * + * Copyright 2010 Detlef Riekenberg + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + */ + +#include "inetcpl.h" + +LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +BEGIN + IDS_CPL_NAME "Internet Settings" + IDS_CPL_INFO "Configure Wine Internet Browser and related settings" +END diff --git a/dlls/inetcpl.cpl/inetcpl.c b/dlls/inetcpl.cpl/inetcpl.c new file mode 100644 index 00000000000..1f1ca667f4c --- /dev/null +++ b/dlls/inetcpl.cpl/inetcpl.c @@ -0,0 +1,98 @@ +/* + * Internet control panel applet + * + * Copyright 2010 Detlef Riekenberg + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + */ + +#define NONAMELESSUNION + +#include +#include +#include +#include + +#include "wine/debug.h" + +#include "inetcpl.h" + + +WINE_DEFAULT_DEBUG_CHANNEL(inetcpl); + +/********************************************************************* + * DllMain (inetcpl.@) + */ +BOOL WINAPI DllMain(HINSTANCE hdll, DWORD reason, LPVOID reserved) +{ + TRACE("(%p, %d, %p)\n", hdll, reason, reserved); + + switch (reason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hdll); + } + return TRUE; +} + +/********************************************************************* + * CPlApplet (inetcpl.@) + * + * Control Panel entry point + * + * PARAMS + * hWnd [I] Handle for the Control Panel Window + * command [I] CPL_* Command + * lParam1 [I] first extra Parameter + * lParam2 [I] second extra Parameter + * + * RETURNS + * Depends on the command + * + */ +LONG CALLBACK CPlApplet(HWND hWnd, UINT command, LPARAM lParam1, LPARAM lParam2) +{ + TRACE("(%p, %u, 0x%lx, 0x%lx)\n", hWnd, command, lParam1, lParam2); + + switch (command) + { + case CPL_INIT: + return TRUE; + + case CPL_GETCOUNT: + return 1; + + case CPL_INQUIRE: + { + CPLINFO *appletInfo = (CPLINFO *) lParam2; + + appletInfo->idIcon = 0; + appletInfo->idName = IDS_CPL_NAME; + appletInfo->idInfo = IDS_CPL_INFO; + appletInfo->lData = 0; + return TRUE; + } + + case CPL_DBLCLK: + FIXME("not implemented yet\n"); + break; + } + + return FALSE; +} diff --git a/dlls/inetcpl.cpl/inetcpl.cpl.spec b/dlls/inetcpl.cpl/inetcpl.cpl.spec new file mode 100644 index 00000000000..4394145d857 --- /dev/null +++ b/dlls/inetcpl.cpl/inetcpl.cpl.spec @@ -0,0 +1,25 @@ +@ stub ClearMyTracksByProcessW +@ stub AddInternetPropertySheets +@ stub AddInternetPropertySheetsEx +@ stdcall CPlApplet(long long long long) +@ stub DisplayPopupWindowManagementDialog +@ stub DllInstall +@ stub GetAddSitesDisplayUrl +@ stub ImportExportPFX +@ stub LaunchAddSitesDialog +@ stub LaunchConnectionDialog +@ stub LaunchInternetControlPanel +@ stub LaunchPerSitePrivacyActionDialog +@ stub LaunchPopupWindowManagementDialog +@ stub LaunchPrivacyDialog +@ stub LaunchSecurityDialog +@ stub LaunchSecurityDialogEx +@ stub LaunchSiteCertDialog +@ stub OpenFontsDialog +@ stub OpenFontsDialogEx +@ stub OpenLanguageDialog +@ stub ResetIEtoDefaults +@ stub ShowDeleteBrowsingHistoryDialog +@ stub ShowFeedOptionsDialog +@ stub ShowLanguageDialog +@ stub SiteCert_RunFromCmdLine diff --git a/dlls/inetcpl.cpl/inetcpl.h b/dlls/inetcpl.cpl/inetcpl.h new file mode 100644 index 00000000000..85b362ecf0a --- /dev/null +++ b/dlls/inetcpl.cpl/inetcpl.h @@ -0,0 +1,27 @@ +/* + * Internet control panel applet + * + * Copyright 2010 Detlef Riekenberg + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + */ + +#include +#include + +/* strings */ +#define IDS_CPL_NAME 1 +#define IDS_CPL_INFO 2 diff --git a/dlls/inetcpl.cpl/inetcpl.rc b/dlls/inetcpl.cpl/inetcpl.rc new file mode 100644 index 00000000000..8dea3192d5e --- /dev/null +++ b/dlls/inetcpl.cpl/inetcpl.rc @@ -0,0 +1,34 @@ +/* + * Internet control panel applet + * + * Copyright 2010 Detlef Riekenberg + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + */ + +#include "inetcpl.h" + +#define WINE_FILENAME_STR "inetcpl.cpl" +#define WINE_FILEDESCRIPTION_STR "Internet Control Panel" + +/* Same Version as IE 8 on WinXP */ +#define WINE_FILEVERSION 8,0,6001,18939 +#define WINE_FILEVERSION_STR "8.00.6001.18939" + +#define WINE_PRODUCTVERSION 8,0,6001,18939 +#define WINE_PRODUCTVERSION_STR "8.00.6001.18939" + +#include "wine/wine_common_ver.rc"