- Seungju Kim <admin AT manateeshome DOT com>

- Korean translation of explorer-new added
- See issue #3368 for more details.
- Alexander Wurzinger <<Lohnegrim At gmx DOT net>
- Patch for the "CreateEnergyList failed"-Error added.
- See issue #2469 for more details.

svn path=/trunk/; revision=34045
This commit is contained in:
Matthias Kupfer 2008-06-22 10:01:59 +00:00
parent 7d842bd859
commit 39fd08d7ce
3 changed files with 165 additions and 24 deletions

View file

@ -22,3 +22,4 @@ IDB_STARTMENU BITMAP DISCARDABLE res/logov.bmp
#include "lang/ru-RU.rc"
#include "lang/sk-SK.rc"
#include "lang/uk-UA.rc"
#include "lang/ko-KO.rc"

View file

@ -0,0 +1,63 @@
/*
*Korean translation by manatails007(www.manatails007.org)
*Seungju Kim
*/
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
IDM_TRAYWND MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "작업 표시줄 잠그기(&L)", ID_LOCKTASKBAR
MENUITEM "속성(&R)", ID_SHELL_CMD_PROPERTIES
END
END
IDM_STARTMENU MENUEX DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "", -1, MFT_SEPARATOR
POPUP "프로그램(&P)", IDM_PROGRAMS
BEGIN
MENUITEM "(비어 있음)", -1, MFT_STRING, MFS_GRAYED
END
POPUP "즐겨찾기(&A)", IDM_FAVORITES
BEGIN
MENUITEM "(비어 있음)", -1, MFT_STRING, MFS_GRAYED
END
POPUP "문서(&D)", IDM_DOCUMENTS
BEGIN
MENUITEM "(비어 있음)", -1, MFT_STRING, MFS_GRAYED
END
POPUP "설정(&S)", IDM_SETTINGS
BEGIN
MENUITEM "제어판(&C)", IDM_CONTROLPANEL, MFT_STRING, MFS_GRAYED
MENUITEM "", -1, MFT_SEPARATOR
MENUITEM "보안(&S)...", IDM_SECURITY, MFT_STRING, MFS_ENABLED
MENUITEM "네트워크 연결(&N)", IDM_NETWORKCONNECTIONS, MFT_STRING, MFS_ENABLED
MENUITEM "프린터와 팩스(&P)", IDM_PRINTERSANDFAXES, MFT_STRING, MFS_ENABLED
MENUITEM "작업 표시줄과 시작 메뉴(&T)", IDM_TASKBARANDSTARTMENU, MFT_STRING, MFS_ENABLED
END
POPUP "검색(&C)", IDM_SEARCH
BEGIN
MENUITEM "", -1, MFT_SEPARATOR
END
MENUITEM "도움말(&H)", IDM_HELPANDSUPPORT, MFT_STRING, MFS_ENABLED
MENUITEM "실행(&R)...", IDM_RUN, MFT_STRING, MFS_ENABLED
MENUITEM "", 450, MFT_SEPARATOR, MFS_ENABLED
MENUITEM "싱크로나이즈(&Y)", IDM_SYNCHRONIZE, MFT_STRING, MFS_ENABLED
MENUITEM "%s 로그 오프(&L)...", IDM_LOGOFF, MFT_STRING, MFS_ENABLED
MENUITEM "연결 끊기(&I)...", IDM_DISCONNECT, MFT_STRING, MFS_ENABLED
MENUITEM "컴퓨터 도킹 해제(&E)", IDM_UNDOCKCOMPUTER, MFT_STRING, MFS_ENABLED
MENUITEM "켬퓨터 끄기(&U)...", IDM_SHUTDOWN, MFT_STRING, MFS_ENABLED
END
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_START "시작"
IDS_PROPERTIES "속성(&R)"
IDS_OPEN_ALL_USERS "열기 - All Users(&P)"
IDS_EXPLORE_ALL_USERS "탐색 - All Users(&X)"
END

View file

@ -35,6 +35,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(powrprof);
static const WCHAR szPowerCfgSubKey[] =
L"Software\\Microsoft\\Windows\\CurrentVersion\\Controls Folder\\PowerCfg";
static const WCHAR szPolicies[] = L"Policies";
static const WCHAR szSemaphoreName[] = L"PowerProfileRegistrySemaphore";
static const WCHAR szDiskMax[] = L"DiskSpindownMax";
static const WCHAR szDiskMin[] = L"DiskSpindownMin";
@ -119,7 +120,7 @@ DeletePwrScheme(UINT uiIndex)
static BOOLEAN
POWRPROF_GetUserPowerPolicy(LPWSTR szNum,
USER_POWER_POLICY userPwrPolicy,
PUSER_POWER_POLICY puserPwrPolicy,
DWORD dwName, LPWSTR szName,
DWORD dwDesc, LPWSTR szDesc)
{
@ -156,8 +157,8 @@ POWRPROF_GetUserPowerPolicy(LPWSTR szNum,
return FALSE;
}
dwSize = sizeof(userPwrPolicy);
Err = RegQueryValueExW(hSubKey, L"Policies", NULL, NULL, (LPBYTE)&userPwrPolicy, &dwSize);
dwSize = sizeof(USER_POWER_POLICY);
Err = RegQueryValueExW(hSubKey, L"Policies", NULL, NULL, (LPBYTE)puserPwrPolicy, &dwSize);
if (Err != ERROR_SUCCESS)
{
ERR("RegQueryValueExW failed: %d\n", Err);
@ -169,7 +170,7 @@ POWRPROF_GetUserPowerPolicy(LPWSTR szNum,
}
static BOOLEAN
POWRPROF_GetMachinePowerPolicy(LPWSTR szNum, MACHINE_POWER_POLICY machinePwrPolicy)
POWRPROF_GetMachinePowerPolicy(LPWSTR szNum, PMACHINE_POWER_POLICY pmachinePwrPolicy)
{
HKEY hKey;
LONG Err;
@ -186,8 +187,8 @@ POWRPROF_GetMachinePowerPolicy(LPWSTR szNum, MACHINE_POWER_POLICY machinePwrPoli
return FALSE;
}
dwSize = sizeof(machinePwrPolicy);
Err = RegQueryValueExW(hKey, L"Policies", NULL, NULL, (LPBYTE)&machinePwrPolicy, &dwSize);
dwSize = sizeof(MACHINE_POWER_POLICY);
Err = RegQueryValueExW(hKey, L"Policies", NULL, NULL, (LPBYTE)pmachinePwrPolicy, &dwSize);
if (Err != ERROR_SUCCESS)
{
ERR("RegQueryValueExW failed: %d\n", Err);
@ -204,11 +205,12 @@ EnumPwrSchemes(PWRSCHEMESENUMPROC lpfnPwrSchemesEnumProc,
{
HKEY hKey;
LONG Err;
DWORD dwSize, dwNameSize = 0, dwDescSize = 0, dwIndex = 0;
DWORD dwSize, dwNameSize = MAX_PATH, dwDescSize = MAX_PATH, dwIndex = 0;
WCHAR szNum[3 + 1], szName[MAX_PATH], szDesc[MAX_PATH];
PPOWER_POLICY pPwrPolicy = NULL;
POWER_POLICY PwrPolicy;
USER_POWER_POLICY userPwrPolicy;
MACHINE_POWER_POLICY machinePwrPolicy;
BOOLEAN ret = FALSE;
if (!lpfnPwrSchemesEnumProc)
{
@ -230,7 +232,7 @@ EnumPwrSchemes(PWRSCHEMESENUMPROC lpfnPwrSchemesEnumProc,
while (RegEnumKeyExW(hKey, dwIndex, szNum, &dwSize, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
{
if (!POWRPROF_GetUserPowerPolicy(szNum, userPwrPolicy,
if (!POWRPROF_GetUserPowerPolicy(szNum, &userPwrPolicy,
dwNameSize, szName,
dwDescSize, szDesc))
{
@ -239,18 +241,26 @@ EnumPwrSchemes(PWRSCHEMESENUMPROC lpfnPwrSchemesEnumProc,
return FALSE;
}
if (!POWRPROF_GetMachinePowerPolicy(szNum, machinePwrPolicy))
if (!POWRPROF_GetMachinePowerPolicy(szNum, &machinePwrPolicy))
{
RegCloseKey(hKey);
ReleaseSemaphore(PPRegSemaphore, 1, NULL);
return FALSE;
}
memcpy(&pPwrPolicy->user, &userPwrPolicy, sizeof(USER_POWER_POLICY));
memcpy(&pPwrPolicy->mach, &machinePwrPolicy, sizeof(MACHINE_POWER_POLICY));
memcpy(&PwrPolicy.user, &userPwrPolicy, sizeof(USER_POWER_POLICY));
memcpy(&PwrPolicy.mach, &machinePwrPolicy, sizeof(MACHINE_POWER_POLICY));
if (!lpfnPwrSchemesEnumProc(_wtoi(szNum), dwNameSize, szName, dwDescSize, szDesc, pPwrPolicy, lParam))
break;
if (!lpfnPwrSchemesEnumProc(_wtoi(szNum), dwNameSize, szName, dwDescSize, szDesc, &PwrPolicy, lParam))
{
RegCloseKey(hKey);
ReleaseSemaphore(PPRegSemaphore, 1, NULL);
return ret;
}
else
{
ret=TRUE;
}
dwSize = sizeof(szNum) / sizeof(WCHAR);
dwIndex++;
@ -306,6 +316,7 @@ BOOLEAN WINAPI
GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY pGlobalPowerPolicy,
PPOWER_POLICY pPowerPolicy)
{
/*
SYSTEM_POWER_POLICY ACPower, DCPower;
FIXME("(%p, %p) stub!\n", pGlobalPowerPolicy, pPowerPolicy);
@ -314,6 +325,36 @@ GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY pGlobalPowerPolicy,
NtPowerInformation(SystemPowerPolicyDc, 0, 0, &DCPower, sizeof(SYSTEM_POWER_POLICY));
return FALSE;
*/
/*
Lohnegrim: I dont know why this Function shoud call NtPowerInformation, becouse as far as i know,
it simply returns the GlobalPowerPolicy and the AktivPowerScheme!
*/
BOOLEAN ret;
UINT uiID;
if (pGlobalPowerPolicy != NULL)
{
ret = ReadGlobalPwrPolicy(pGlobalPowerPolicy);
if (!ret)
{
return FALSE;
}
}
if (pPowerPolicy != NULL)
{
ret = GetActivePwrScheme(&uiID);
if (!ret)
{
return FALSE;
}
ret = ReadPwrScheme(uiID,pPowerPolicy);
if (!ret)
{
return FALSE;
}
}
return TRUE;
}
@ -532,13 +573,13 @@ ReadPwrScheme(UINT uiID,
swprintf(szNum, L"%d", uiID);
if (!POWRPROF_GetUserPowerPolicy(szNum, userPwrPolicy, 0, NULL, 0, NULL))
if (!POWRPROF_GetUserPowerPolicy(szNum, &userPwrPolicy, 0, NULL, 0, NULL))
{
ReleaseSemaphore(PPRegSemaphore, 1, NULL);
return FALSE;
}
if (!POWRPROF_GetMachinePowerPolicy(szNum, machinePwrPolicy))
if (!POWRPROF_GetMachinePowerPolicy(szNum, &machinePwrPolicy))
{
ReleaseSemaphore(PPRegSemaphore, 1, NULL);
return FALSE;
@ -578,9 +619,46 @@ SetSuspendState(BOOLEAN Hibernate,
BOOLEAN WINAPI
WriteGlobalPwrPolicy(PGLOBAL_POWER_POLICY pGlobalPowerPolicy)
{
FIXME("(%p) stub!\n", pGlobalPowerPolicy);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
HKEY hKey;
GLOBAL_USER_POWER_POLICY gupp;
GLOBAL_MACHINE_POWER_POLICY gmpp;
gupp = pGlobalPowerPolicy->user;
gmpp = pGlobalPowerPolicy->mach;
if (RegOpenKeyEx(HKEY_CURRENT_USER,
L"Control Panel\\PowerCfg\\GlobalPowerPolicy",
0,
KEY_ALL_ACCESS,
&hKey))
return FALSE;
if (RegSetValueExW(hKey,szPolicies,(DWORD)NULL,REG_BINARY,(const unsigned char *)&gupp,sizeof(GLOBAL_USER_POWER_POLICY)) == ERROR_SUCCESS)
{
RegCloseKey(hKey);
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Controls Folder\\PowerCfg\\GlobalPowerPolicy",
0,
KEY_ALL_ACCESS,
&hKey))
return FALSE;
if (RegSetValueExW(hKey,szPolicies,(DWORD)NULL,REG_BINARY,(const unsigned char *)&gmpp,sizeof(GLOBAL_MACHINE_POWER_POLICY)) == ERROR_SUCCESS)
{
RegCloseKey(hKey);
return TRUE;
}
else
{
return FALSE;
}
}
else
{
RegCloseKey(hKey);
return FALSE;
}
}
@ -620,21 +698,20 @@ ValidatePowerPolicies(PGLOBAL_POWER_POLICY pGPP, PPOWER_POLICY pPP)
return FALSE;
}
if (!pGPP)
if (pGPP)
{
memcpy(&pGPP, &pGlobalPowerPolicy, sizeof(GLOBAL_POWER_POLICY));
//memcpy(&pGPP, &pGlobalPowerPolicy, sizeof(GLOBAL_POWER_POLICY));
}
if (!pPP)
if (pPP)
{
memcpy(&pPP, &pPowerPolicy, sizeof(POWER_POLICY));
//memcpy(&pPP, &pPowerPolicy, sizeof(POWER_POLICY));
}
SetLastError(ERROR_SUCCESS);
return TRUE;
}
BOOL WINAPI
DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{