diff --git a/reactos/baseaddress.rbuild b/reactos/baseaddress.rbuild index a5858361043..2cd80583963 100644 --- a/reactos/baseaddress.rbuild +++ b/reactos/baseaddress.rbuild @@ -5,6 +5,7 @@ + diff --git a/reactos/dll/cpl/cpl.rbuild b/reactos/dll/cpl/cpl.rbuild index 4049431b428..c85d052ba99 100644 --- a/reactos/dll/cpl/cpl.rbuild +++ b/reactos/dll/cpl/cpl.rbuild @@ -40,6 +40,9 @@ + + + diff --git a/reactos/dll/cpl/intl/resources/flags.ico b/reactos/dll/cpl/intl/resources/flags.ico deleted file mode 100644 index 750f2d0c522..00000000000 Binary files a/reactos/dll/cpl/intl/resources/flags.ico and /dev/null differ diff --git a/reactos/dll/cpl/telephon/lang/en-US.rc b/reactos/dll/cpl/telephon/lang/en-US.rc new file mode 100644 index 00000000000..4d10733efa0 --- /dev/null +++ b/reactos/dll/cpl/telephon/lang/en-US.rc @@ -0,0 +1,7 @@ +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +STRINGTABLE +BEGIN + IDS_CPLSYSTEMNAME "Phone and Modem Options" + IDS_CPLSYSTEMDESCRIPTION "Configure your telephone dialing rules and modem settings." +END diff --git a/reactos/dll/cpl/telephon/lang/ru-RU.rc b/reactos/dll/cpl/telephon/lang/ru-RU.rc new file mode 100644 index 00000000000..8d3255b5603 --- /dev/null +++ b/reactos/dll/cpl/telephon/lang/ru-RU.rc @@ -0,0 +1,7 @@ +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + IDS_CPLSYSTEMNAME "Телефон и модем" + IDS_CPLSYSTEMDESCRIPTION "Настройка правил набора номера и других параметров при работе с модемом." +END diff --git a/reactos/dll/cpl/telephon/manifest.xml b/reactos/dll/cpl/telephon/manifest.xml new file mode 100644 index 00000000000..4b535606583 --- /dev/null +++ b/reactos/dll/cpl/telephon/manifest.xml @@ -0,0 +1,24 @@ + + + + ReactOS System Control Panel + + + + + + + + diff --git a/reactos/dll/cpl/telephon/resource.h b/reactos/dll/cpl/telephon/resource.h new file mode 100644 index 00000000000..a4be13c91aa --- /dev/null +++ b/reactos/dll/cpl/telephon/resource.h @@ -0,0 +1,13 @@ +#ifndef __CPL_RESOURCE_H +#define __CPL_RESOURCE_H + +/* icons */ +#define IDI_CPLSYSTEM 100 + +/* strings */ +#define IDS_CPLSYSTEMNAME 1001 +#define IDS_CPLSYSTEMDESCRIPTION 2001 + +#endif /* __CPL_RESOURCE_H */ + +/* EOF */ diff --git a/reactos/dll/cpl/telephon/resources/applet.ico b/reactos/dll/cpl/telephon/resources/applet.ico new file mode 100644 index 00000000000..1507bbbefa2 Binary files /dev/null and b/reactos/dll/cpl/telephon/resources/applet.ico differ diff --git a/reactos/dll/cpl/telephon/rsrc.rc b/reactos/dll/cpl/telephon/rsrc.rc new file mode 100644 index 00000000000..2754a25cc68 --- /dev/null +++ b/reactos/dll/cpl/telephon/rsrc.rc @@ -0,0 +1,5 @@ +#include "resource.h" +#include + +#include "lang/en-US.rc" +#include "lang/ru-RU.rc" diff --git a/reactos/dll/cpl/telephon/telephon.c b/reactos/dll/cpl/telephon/telephon.c new file mode 100644 index 00000000000..c1fcf0e6861 --- /dev/null +++ b/reactos/dll/cpl/telephon/telephon.c @@ -0,0 +1,121 @@ +/* + * ReactOS + * Copyright (C) 2007 ReactOS Team + * + * This program 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; either version 2 of the License, or + * (at your option) any later version. + * + * This program 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, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ +/* + * + * PROJECT: ReactOS Software Control Panel + * FILE: dll/cpl/telephon/telephon.c + * PURPOSE: ReactOS Software Control Panel + * PROGRAMMER: Dmitry Chapyshev (lentind@yandex.ru) + * UPDATE HISTORY: + * 10-19-2007 Created + */ + +#include "telephon.h" + +#define NUM_APPLETS (1) + +LONG CALLBACK SystemApplet(VOID); +HINSTANCE hApplet = 0; + +/* Applets */ + +APPLET Applets[NUM_APPLETS] = +{ + {IDI_CPLSYSTEM, IDS_CPLSYSTEMNAME, IDS_CPLSYSTEMDESCRIPTION, SystemApplet} +}; + +/* First Applet */ +LONG CALLBACK +SystemApplet(VOID) +{ + PROPSHEETPAGE psp[1]; + PROPSHEETHEADER psh; + TCHAR Caption[1024]; + + LoadString(hApplet, IDS_CPLSYSTEMNAME, Caption, sizeof(Caption) / sizeof(TCHAR)); + + ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); + psh.dwSize = sizeof(PROPSHEETHEADER); + psh.dwFlags = PSH_PROPSHEETPAGE; + psh.hwndParent = NULL; + psh.hInstance = hApplet; + psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDI_CPLSYSTEM)); + psh.pszCaption = Caption; + psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE); + psh.nStartPage = 0; + psh.ppsp = psp; + psh.pfnCallback = NULL; + + //InitPropSheetPage(&psp[0], IDD_PROPPAGE, (DLGPROC)PageProc); + + return (LONG)(PropertySheet(&psh) != -1); +} + + +/* Control Panel Callback */ +LONG CALLBACK +CPlApplet(HWND hwndCPl, UINT uMsg, LPARAM lParam1, LPARAM lParam2) +{ + CPLINFO *CPlInfo; + DWORD i; + + UNREFERENCED_PARAMETER(hwndCPl); + + i = (DWORD)lParam1; + switch (uMsg) + { + case CPL_INIT: + return TRUE; + + case CPL_GETCOUNT: + return NUM_APPLETS; + + case CPL_INQUIRE: + CPlInfo = (CPLINFO*)lParam2; + CPlInfo->lData = 0; + CPlInfo->idIcon = Applets[i].idIcon; + CPlInfo->idName = Applets[i].idName; + CPlInfo->idInfo = Applets[i].idDescription; + break; + + case CPL_DBLCLK: + Applets[i].AppletProc(); + break; + } + + return FALSE; +} + + +BOOL WINAPI +DllMain(HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpvReserved) +{ + UNREFERENCED_PARAMETER(lpvReserved); + + switch (dwReason) + { + case DLL_PROCESS_ATTACH: + case DLL_THREAD_ATTACH: + CoInitialize(NULL); + hApplet = hinstDLL; + break; + } + + return TRUE; +} diff --git a/reactos/dll/cpl/telephon/telephon.def b/reactos/dll/cpl/telephon/telephon.def new file mode 100644 index 00000000000..c239f53d8a8 --- /dev/null +++ b/reactos/dll/cpl/telephon/telephon.def @@ -0,0 +1,6 @@ +LIBRARY telephon.cpl + +EXPORTS +CPlApplet + +; EOF diff --git a/reactos/dll/cpl/telephon/telephon.h b/reactos/dll/cpl/telephon/telephon.h new file mode 100644 index 00000000000..a86a2405078 --- /dev/null +++ b/reactos/dll/cpl/telephon/telephon.h @@ -0,0 +1,32 @@ +#ifndef __CPL_TELEPHON_H +#define __CPL_TELEPHON_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "resource.h" + +typedef LONG (CALLBACK *CPLAPPLET_PROC)(VOID); + +typedef struct +{ + int idIcon; + int idName; + int idDescription; + CPLAPPLET_PROC AppletProc; +} APPLET, *PAPPLET; + + +extern HINSTANCE hApplet; + +void ShowLastWin32Error(HWND hWndOwner); + +#endif /* __CPL_TELEPHON_H */ + +/* EOF */ diff --git a/reactos/dll/cpl/telephon/telephon.rbuild b/reactos/dll/cpl/telephon/telephon.rbuild new file mode 100644 index 00000000000..e5ca0f254fd --- /dev/null +++ b/reactos/dll/cpl/telephon/telephon.rbuild @@ -0,0 +1,19 @@ + + + + + . + + 0x600 + 0x501 + kernel32 + advapi32 + user32 + comctl32 + msvcrt + ole32 + uuid + shell32 + telephon.c + telephon.rc + diff --git a/reactos/dll/cpl/telephon/telephon.rc b/reactos/dll/cpl/telephon/telephon.rc new file mode 100644 index 00000000000..fd128b47f64 --- /dev/null +++ b/reactos/dll/cpl/telephon/telephon.rc @@ -0,0 +1,20 @@ +#include "resource.h" +#include + +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Software Control Panel\0" +#define REACTOS_STR_INTERNAL_NAME "telephon\0" +#define REACTOS_STR_ORIGINAL_FILENAME "telephon.cpl\0" +#ifdef _MSC_VER +#include <../../../reactos/version.rc> +#else +#include +#endif + +123 24 DISCARDABLE "manifest.xml" + +IDI_CPLSYSTEM ICON "resources/applet.ico" + +#include "rsrc.rc"