From bcd29bbeab013ec89b9780c1470647af3acfda4e Mon Sep 17 00:00:00 2001 From: Dmitry Chapyshev Date: Sun, 25 Jan 2009 11:45:47 +0000 Subject: [PATCH] - Cleanup and implement telephon.cpl svn path=/trunk/; revision=39087 --- reactos/dll/cpl/telephon/lang/bg-BG.rc | 7 -- reactos/dll/cpl/telephon/lang/de-DE.rc | 7 -- reactos/dll/cpl/telephon/lang/el-GR.rc | 7 -- reactos/dll/cpl/telephon/lang/en-US.rc | 7 -- reactos/dll/cpl/telephon/lang/es-ES.rc | 7 -- reactos/dll/cpl/telephon/lang/fr-FR.rc | 7 -- reactos/dll/cpl/telephon/lang/it-IT.rc | 7 -- reactos/dll/cpl/telephon/lang/no-NO.rc | 7 -- reactos/dll/cpl/telephon/lang/pl-PL.rc | 7 -- reactos/dll/cpl/telephon/lang/ru-RU.rc | 7 -- reactos/dll/cpl/telephon/lang/sk-SK.rc | 7 -- reactos/dll/cpl/telephon/lang/uk-UA.rc | 7 -- reactos/dll/cpl/telephon/resource.h | 2 - reactos/dll/cpl/telephon/telephon.c | 142 +++++-------------------- reactos/dll/cpl/telephon/telephon.h | 32 ------ 15 files changed, 25 insertions(+), 235 deletions(-) delete mode 100644 reactos/dll/cpl/telephon/telephon.h diff --git a/reactos/dll/cpl/telephon/lang/bg-BG.rc b/reactos/dll/cpl/telephon/lang/bg-BG.rc index 4ac4920b606..e4c41f5618e 100644 --- a/reactos/dll/cpl/telephon/lang/bg-BG.rc +++ b/reactos/dll/cpl/telephon/lang/bg-BG.rc @@ -1,12 +1,5 @@ LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT -IDD_PROPPAGE DIALOGEX 0, 0, 246, 230 -STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN -END - STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Èçáîðè çà òåëåôîí è ìîäåì" diff --git a/reactos/dll/cpl/telephon/lang/de-DE.rc b/reactos/dll/cpl/telephon/lang/de-DE.rc index a6ae8901f95..0ced9731da7 100644 --- a/reactos/dll/cpl/telephon/lang/de-DE.rc +++ b/reactos/dll/cpl/telephon/lang/de-DE.rc @@ -1,12 +1,5 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL -IDD_PROPPAGE DIALOGEX 0, 0, 246, 230 -STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN -END - STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Telefon- und Modemeinstellungen" diff --git a/reactos/dll/cpl/telephon/lang/el-GR.rc b/reactos/dll/cpl/telephon/lang/el-GR.rc index c49805a45e3..a3885a3020b 100644 --- a/reactos/dll/cpl/telephon/lang/el-GR.rc +++ b/reactos/dll/cpl/telephon/lang/el-GR.rc @@ -1,12 +1,5 @@ LANGUAGE LANG_GREEK, SUBLANG_DEFAULT -IDD_PROPPAGE DIALOGEX 0, 0, 246, 230 -STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN -END - STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "ÅðéëïãÝò Ôçëåöþíïõ êáé Ìüíôåì" diff --git a/reactos/dll/cpl/telephon/lang/en-US.rc b/reactos/dll/cpl/telephon/lang/en-US.rc index 9981fc14e4b..4d10733efa0 100644 --- a/reactos/dll/cpl/telephon/lang/en-US.rc +++ b/reactos/dll/cpl/telephon/lang/en-US.rc @@ -1,12 +1,5 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -IDD_PROPPAGE DIALOGEX 0, 0, 246, 230 -STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN -END - STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Phone and Modem Options" diff --git a/reactos/dll/cpl/telephon/lang/es-ES.rc b/reactos/dll/cpl/telephon/lang/es-ES.rc index fcfd5aacba0..532ee41a94d 100644 --- a/reactos/dll/cpl/telephon/lang/es-ES.rc +++ b/reactos/dll/cpl/telephon/lang/es-ES.rc @@ -1,12 +1,5 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL -IDD_PROPPAGE DIALOGEX 0, 0, 246, 230 -STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN -END - STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Opciones de teléfono y modem" diff --git a/reactos/dll/cpl/telephon/lang/fr-FR.rc b/reactos/dll/cpl/telephon/lang/fr-FR.rc index a3535703e90..8b4edd9e16c 100644 --- a/reactos/dll/cpl/telephon/lang/fr-FR.rc +++ b/reactos/dll/cpl/telephon/lang/fr-FR.rc @@ -1,12 +1,5 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL -IDD_PROPPAGE DIALOGEX 0, 0, 246, 230 -STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN -END - STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Options des téléphones et modems" diff --git a/reactos/dll/cpl/telephon/lang/it-IT.rc b/reactos/dll/cpl/telephon/lang/it-IT.rc index 3571c3b83d0..c237dfd48f1 100644 --- a/reactos/dll/cpl/telephon/lang/it-IT.rc +++ b/reactos/dll/cpl/telephon/lang/it-IT.rc @@ -1,12 +1,5 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL -IDD_PROPPAGE DIALOGEX 0, 0, 246, 230 -STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN -END - STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Opzioni per Modem e Telefono" diff --git a/reactos/dll/cpl/telephon/lang/no-NO.rc b/reactos/dll/cpl/telephon/lang/no-NO.rc index 487979907a9..2d75fe7c593 100644 --- a/reactos/dll/cpl/telephon/lang/no-NO.rc +++ b/reactos/dll/cpl/telephon/lang/no-NO.rc @@ -2,13 +2,6 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL -IDD_PROPPAGE DIALOGEX 0, 0, 246, 230 -STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN -END - STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Telefon og Modem valg" diff --git a/reactos/dll/cpl/telephon/lang/pl-PL.rc b/reactos/dll/cpl/telephon/lang/pl-PL.rc index 9c6da799cf0..021eecb8830 100644 --- a/reactos/dll/cpl/telephon/lang/pl-PL.rc +++ b/reactos/dll/cpl/telephon/lang/pl-PL.rc @@ -7,13 +7,6 @@ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT -IDD_PROPPAGE DIALOGEX 0, 0, 246, 230 -STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN -END - STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Opcje telefonu i modemu" diff --git a/reactos/dll/cpl/telephon/lang/ru-RU.rc b/reactos/dll/cpl/telephon/lang/ru-RU.rc index 778db6b83ce..8d3255b5603 100644 --- a/reactos/dll/cpl/telephon/lang/ru-RU.rc +++ b/reactos/dll/cpl/telephon/lang/ru-RU.rc @@ -1,12 +1,5 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT -IDD_PROPPAGE DIALOGEX 0, 0, 246, 230 -STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN -END - STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Òåëåôîí è ìîäåì" diff --git a/reactos/dll/cpl/telephon/lang/sk-SK.rc b/reactos/dll/cpl/telephon/lang/sk-SK.rc index d5d95c55c3f..41ef3884280 100644 --- a/reactos/dll/cpl/telephon/lang/sk-SK.rc +++ b/reactos/dll/cpl/telephon/lang/sk-SK.rc @@ -1,12 +1,5 @@ LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT -IDD_PROPPAGE DIALOGEX 0, 0, 246, 230 -STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN -END - STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Možnosti telefónu a modemu" diff --git a/reactos/dll/cpl/telephon/lang/uk-UA.rc b/reactos/dll/cpl/telephon/lang/uk-UA.rc index 0040a3fa2d1..31715fe51a9 100644 --- a/reactos/dll/cpl/telephon/lang/uk-UA.rc +++ b/reactos/dll/cpl/telephon/lang/uk-UA.rc @@ -8,13 +8,6 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT -IDD_PROPPAGE DIALOGEX 0, 0, 246, 230 -STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN -END - STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Òåëåôîí ³ ìîäåì" diff --git a/reactos/dll/cpl/telephon/resource.h b/reactos/dll/cpl/telephon/resource.h index f72b694e4b4..a4be13c91aa 100644 --- a/reactos/dll/cpl/telephon/resource.h +++ b/reactos/dll/cpl/telephon/resource.h @@ -4,8 +4,6 @@ /* icons */ #define IDI_CPLSYSTEM 100 -/* dialogs */ -#define IDD_PROPPAGE 200 /* strings */ #define IDS_CPLSYSTEMNAME 1001 #define IDS_CPLSYSTEMDESCRIPTION 2001 diff --git a/reactos/dll/cpl/telephon/telephon.c b/reactos/dll/cpl/telephon/telephon.c index f69fe0c2e09..a2907ea1c19 100644 --- a/reactos/dll/cpl/telephon/telephon.c +++ b/reactos/dll/cpl/telephon/telephon.c @@ -1,154 +1,62 @@ -/* - * 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) + * PROJECT: ReactOS Software Control Panel + * FILE: dll/cpl/telephon/telephon.c + * PURPOSE: ReactOS Software Control Panel + * PROGRAMMER: Dmitry Chapyshev (dmitry@reactos.org) * UPDATE HISTORY: - * 10-19-2007 Created + * 10-19-2007 Created */ -#include "telephon.h" +#include +#include -#define NUM_APPLETS (1) - -LONG CALLBACK SystemApplet(VOID); -HINSTANCE hApplet = 0; -HWND hCPLWindow; - -/* Applets */ - -APPLET Applets[NUM_APPLETS] = -{ - {IDI_CPLSYSTEM, IDS_CPLSYSTEMNAME, IDS_CPLSYSTEMDESCRIPTION, SystemApplet} -}; - -/* Property page dialog callback */ -INT_PTR CALLBACK -TelephonPageProc(HWND hwndDlg, - UINT uMsg, - WPARAM wParam, - LPARAM lParam) -{ - UNREFERENCED_PARAMETER(lParam); - UNREFERENCED_PARAMETER(wParam); - - switch (uMsg) - { - case WM_INITDIALOG: - return TRUE; - } - - return FALSE; -} - - - -static VOID -InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc) -{ - ZeroMemory(psp, sizeof(PROPSHEETPAGE)); - psp->dwSize = sizeof(PROPSHEETPAGE); - psp->dwFlags = PSP_DEFAULT; - psp->hInstance = hApplet; - psp->pszTemplate = MAKEINTRESOURCE(idDlg); - psp->pfnDlgProc = DlgProc; -} - - -/* 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 = hCPLWindow; - 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)TelephonPageProc); - - return (LONG)(PropertySheet(&psh) != -1); -} +#include "resource.h" +typedef UINT (CALLBACK* LPINTERNALCONFIG)(HWND, UINT, LPARAM, LPARAM); /* Control Panel Callback */ LONG CALLBACK CPlApplet(HWND hwndCPl, UINT uMsg, LPARAM lParam1, LPARAM lParam2) { + LPINTERNALCONFIG lpInternalConfig; + HINSTANCE hTapi32; CPLINFO *CPlInfo; - DWORD i; - i = (DWORD)lParam1; switch (uMsg) { case CPL_INIT: return TRUE; case CPL_GETCOUNT: - return NUM_APPLETS; + return 1; case CPL_INQUIRE: CPlInfo = (CPLINFO*)lParam2; CPlInfo->lData = 0; - CPlInfo->idIcon = Applets[i].idIcon; - CPlInfo->idName = Applets[i].idName; - CPlInfo->idInfo = Applets[i].idDescription; + CPlInfo->idIcon = IDI_CPLSYSTEM; + CPlInfo->idName = IDS_CPLSYSTEMNAME; + CPlInfo->idInfo = IDS_CPLSYSTEMDESCRIPTION; break; case CPL_DBLCLK: - hCPLWindow = hwndCPl; - Applets[i].AppletProc(); - break; + { + hTapi32 = LoadLibraryW(L"tapi32.dll"); + if (!hTapi32) return FALSE; + + lpInternalConfig = (LPINTERNALCONFIG) GetProcAddress(hTapi32, "internalConfig"); + if (!lpInternalConfig) return FALSE; + + lpInternalConfig(hwndCPl, 0, 0, 0); + return TRUE; + } } 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.h b/reactos/dll/cpl/telephon/telephon.h deleted file mode 100644 index a86a2405078..00000000000 --- a/reactos/dll/cpl/telephon/telephon.h +++ /dev/null @@ -1,32 +0,0 @@ -#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 */