diff --git a/reactos/dll/cpl/powercfg/CMakeLists.txt b/reactos/dll/cpl/powercfg/CMakeLists.txt index 689cd3fc26f..665905f6a9d 100644 --- a/reactos/dll/cpl/powercfg/CMakeLists.txt +++ b/reactos/dll/cpl/powercfg/CMakeLists.txt @@ -18,6 +18,6 @@ add_library(powercfg SHARED ${CMAKE_CURRENT_BINARY_DIR}/powercfg.def) set_module_type(powercfg cpl UNICODE) -add_importlibs(powercfg user32 powrprof comctl32 shell32 advapi32 msvcrt kernel32 ntdll) +add_importlibs(powercfg user32 powrprof comctl32 shell32 advapi32 msvcrt kernel32 ntdll shlwapi) add_pch(powercfg powercfg.h SOURCE) add_cd_file(TARGET powercfg DESTINATION reactos/system32 FOR all) diff --git a/reactos/dll/cpl/powercfg/hibernate.c b/reactos/dll/cpl/powercfg/hibernate.c index 221b9b9f4f0..1310cc8f307 100644 --- a/reactos/dll/cpl/powercfg/hibernate.c +++ b/reactos/dll/cpl/powercfg/hibernate.c @@ -20,8 +20,8 @@ Hib_InitDialog(HWND hwndDlg) { SYSTEM_POWER_CAPABILITIES PowerCaps; MEMORYSTATUSEX msex; - TCHAR szSize[MAX_PATH]; TCHAR szTemp[MAX_PATH]; + LPTSTR lpRoot; ULARGE_INTEGER FreeBytesAvailable, TotalNumberOfBytes, TotalNumberOfFreeBytes; if (GetPwrCapabilities(&PowerCaps)) @@ -37,49 +37,21 @@ Hib_InitDialog(HWND hwndDlg) } if (GetWindowsDirectory(szTemp,MAX_PATH)) - { - if (!GetDiskFreeSpaceEx(szTemp,&FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes)) - TotalNumberOfFreeBytes.QuadPart = 0; - } + lpRoot = szTemp; else - { - if (!GetDiskFreeSpaceEx(NULL,&FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes)) - TotalNumberOfFreeBytes.QuadPart = 0; - } + lpRoot = NULL; - if (TotalNumberOfFreeBytes.QuadPart > 0x100000) - { - if (LoadString(hApplet, IDS_SIZEMB, szTemp, MAX_PATH)) - { - _stprintf(szSize,szTemp,TotalNumberOfFreeBytes.QuadPart / 0x100000); - SetDlgItemText(hwndDlg, IDC_FREESPACE, szSize); - } - } - else - { - if (LoadString(hApplet, IDS_SIZEBYTS, szTemp, MAX_PATH)) - { - _stprintf(szSize,szTemp,TotalNumberOfFreeBytes.QuadPart); - SetDlgItemText(hwndDlg, IDC_FREESPACE, szSize); - } - } + // Get available space and size of selected volume. + if (!GetDiskFreeSpaceEx(lpRoot, &FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes)) + TotalNumberOfFreeBytes.QuadPart = 0; - if (msex.ullTotalPhys>0x100000) - { - if (LoadString(hApplet, IDS_SIZEMB, szTemp, MAX_PATH)) - { - _stprintf(szSize,szTemp,msex.ullTotalPhys/0x100000); - SetDlgItemText(hwndDlg, IDC_SPACEFORHIBERNATEFILE,szSize); - } - } - else - { - if (LoadString(hApplet, IDS_SIZEBYTS, szTemp, MAX_PATH)) - { - _stprintf(szSize,szTemp,msex.ullTotalPhys); - SetDlgItemText(hwndDlg, IDC_SPACEFORHIBERNATEFILE, szSize); - } - } + // Print the free available space into selected volume. + StrFormatByteSize(TotalNumberOfFreeBytes.QuadPart, szTemp, _countof(szTemp)); + SetDlgItemText(hwndDlg, IDC_FREESPACE, szTemp); + + // Print the amount of space required for hibernation. + StrFormatByteSize(msex.ullTotalPhys, szTemp, _countof(szTemp)); + SetDlgItemText(hwndDlg, IDC_SPACEFORHIBERNATEFILE, szTemp); if (TotalNumberOfFreeBytes.QuadPart < msex.ullTotalPhys && !PowerCaps.HiberFilePresent) { diff --git a/reactos/dll/cpl/powercfg/lang/bg-BG.rc b/reactos/dll/cpl/powercfg/lang/bg-BG.rc index 18081380c21..dddf3daffeb 100644 --- a/reactos/dll/cpl/powercfg/lang/bg-BG.rc +++ b/reactos/dll/cpl/powercfg/lang/bg-BG.rc @@ -110,8 +110,6 @@ BEGIN IDS_TEXT "Текст" IDS_CONFIG1 "Настройки за захранваща наредба %1" IDS_CONFIG2 "Разширени настройки за %1" - IDS_SIZEBYTS "%i байта" - IDS_SIZEMB "%i МБ" IDS_NOACTION "Не прави нищо" IDS_PowerActionNone1 "Бездействие" IDS_PowerActionUnknown "Неизвестно" diff --git a/reactos/dll/cpl/powercfg/lang/cs-CZ.rc b/reactos/dll/cpl/powercfg/lang/cs-CZ.rc index 5c12636f3bf..0c57d0c2fa2 100644 --- a/reactos/dll/cpl/powercfg/lang/cs-CZ.rc +++ b/reactos/dll/cpl/powercfg/lang/cs-CZ.rc @@ -110,8 +110,6 @@ BEGIN IDS_TEXT "Text" IDS_CONFIG1 "Nastavení pro schéma napájení %1" IDS_CONFIG2 "Pokročilá nastavení pro %1" - IDS_SIZEBYTS "%i bytů" - IDS_SIZEMB "%i MB" IDS_NOACTION "Nedělat nic" IDS_PowerActionNone1 "Žádná akce" IDS_PowerActionUnknown "Neznámý" diff --git a/reactos/dll/cpl/powercfg/lang/de-DE.rc b/reactos/dll/cpl/powercfg/lang/de-DE.rc index bf79178dbf1..cf2fccb6e15 100644 --- a/reactos/dll/cpl/powercfg/lang/de-DE.rc +++ b/reactos/dll/cpl/powercfg/lang/de-DE.rc @@ -112,8 +112,6 @@ BEGIN IDS_TEXT "Text" IDS_CONFIG1 "Einstellungen für Energieschema %s." IDS_CONFIG2 "Erweiterte Einstellungen für %s." - IDS_SIZEBYTS "%i Bytes" - IDS_SIZEMB "%i MB" IDS_NOACTION "Nichts unternehmen" IDS_PowerActionNone1 "Keine Aktion" IDS_PowerActionUnknown "Unbekannt" diff --git a/reactos/dll/cpl/powercfg/lang/el-GR.rc b/reactos/dll/cpl/powercfg/lang/el-GR.rc index f140048ee41..f58ee9a830a 100644 --- a/reactos/dll/cpl/powercfg/lang/el-GR.rc +++ b/reactos/dll/cpl/powercfg/lang/el-GR.rc @@ -112,8 +112,6 @@ BEGIN IDS_TEXT "Κείμενο" IDS_CONFIG1 "Ρυθμίσεις του συνδιασμού τροφοδοσίας %1" IDS_CONFIG2 "Ειδικές ρυθμίσεις του συνδιασμού %1" - IDS_SIZEBYTS "%i bytes" - IDS_SIZEMB "%i MB" IDS_NOACTION "Καμία ενέργεια" IDS_PowerActionNone1 "Να μη γίνεται καμία ενέργεια" IDS_PowerActionUnknown "Unknown" diff --git a/reactos/dll/cpl/powercfg/lang/en-US.rc b/reactos/dll/cpl/powercfg/lang/en-US.rc index bd6e68a6c0e..baf781ddec1 100644 --- a/reactos/dll/cpl/powercfg/lang/en-US.rc +++ b/reactos/dll/cpl/powercfg/lang/en-US.rc @@ -110,8 +110,6 @@ BEGIN IDS_TEXT "Text" IDS_CONFIG1 "Settings for %1 power scheme" IDS_CONFIG2 "Advanced settings for %1" - IDS_SIZEBYTS "%i bytes" - IDS_SIZEMB "%i MB" IDS_NOACTION "Do nothing" IDS_PowerActionNone1 "No action" IDS_PowerActionUnknown "Unknown" diff --git a/reactos/dll/cpl/powercfg/lang/es-ES.rc b/reactos/dll/cpl/powercfg/lang/es-ES.rc index 3ab48d11fda..4c86a41b054 100644 --- a/reactos/dll/cpl/powercfg/lang/es-ES.rc +++ b/reactos/dll/cpl/powercfg/lang/es-ES.rc @@ -112,8 +112,6 @@ BEGIN IDS_TEXT "Texto" IDS_CONFIG1 "Configuración para la combinación de energía %1" IDS_CONFIG2 "Opciones avanzadas para %1" - IDS_SIZEBYTS "%i bytes" - IDS_SIZEMB "%i MB" IDS_NOACTION "No hacer nada" IDS_PowerActionNone1 "No hacer nada" IDS_PowerActionUnknown "desconocido" diff --git a/reactos/dll/cpl/powercfg/lang/fr-FR.rc b/reactos/dll/cpl/powercfg/lang/fr-FR.rc index 4357790856f..f3054436a32 100644 --- a/reactos/dll/cpl/powercfg/lang/fr-FR.rc +++ b/reactos/dll/cpl/powercfg/lang/fr-FR.rc @@ -112,8 +112,6 @@ BEGIN IDS_TEXT "Texte" IDS_CONFIG1 "Réglages pour le profil d'alimentation %1" IDS_CONFIG2 "Réglages avancés pour %1" - IDS_SIZEBYTS "%i octets" - IDS_SIZEMB "%i Mo" IDS_NOACTION "Ne rien faire" IDS_PowerActionNone1 "Pas d'action" IDS_PowerActionUnknown "Inconnue" diff --git a/reactos/dll/cpl/powercfg/lang/he-IL.rc b/reactos/dll/cpl/powercfg/lang/he-IL.rc index f7ade1f51e2..0d52f75e70f 100644 --- a/reactos/dll/cpl/powercfg/lang/he-IL.rc +++ b/reactos/dll/cpl/powercfg/lang/he-IL.rc @@ -112,8 +112,6 @@ BEGIN IDS_TEXT "טקסט" IDS_CONFIG1 "Settings for %1 power scheme" IDS_CONFIG2 "אפשרויות מתקדמות ל %1" - IDS_SIZEBYTS "%i בית" - IDS_SIZEMB "%i MB" IDS_NOACTION "אל תעשה דבר" IDS_PowerActionNone1 "שום פעולה" IDS_PowerActionUnknown "לא ידוע" diff --git a/reactos/dll/cpl/powercfg/lang/id-ID.rc b/reactos/dll/cpl/powercfg/lang/id-ID.rc index 208f0ae457e..dbdc292cb71 100644 --- a/reactos/dll/cpl/powercfg/lang/id-ID.rc +++ b/reactos/dll/cpl/powercfg/lang/id-ID.rc @@ -112,8 +112,6 @@ BEGIN IDS_TEXT "Teks" IDS_CONFIG1 "Menyetel untuk %1 skema tenaga" IDS_CONFIG2 "Setelan Lanjutan untuk %1" - IDS_SIZEBYTS "%i byte" - IDS_SIZEMB "%i MB" IDS_NOACTION "Tidak melakukan apapun" IDS_PowerActionNone1 "Tidak ada aksi" IDS_PowerActionUnknown "Tidak dikenal" diff --git a/reactos/dll/cpl/powercfg/lang/it-IT.rc b/reactos/dll/cpl/powercfg/lang/it-IT.rc index 7f483c9e7f6..624608a76d5 100644 --- a/reactos/dll/cpl/powercfg/lang/it-IT.rc +++ b/reactos/dll/cpl/powercfg/lang/it-IT.rc @@ -110,8 +110,6 @@ BEGIN IDS_TEXT "Testo" IDS_CONFIG1 "Impostazioni per lo schema %1 " IDS_CONFIG2 "Impostazioni avanzate per %1" - IDS_SIZEBYTS "%i bytes" - IDS_SIZEMB "%i MB" IDS_NOACTION "Nessuna azione" IDS_PowerActionNone1 "Nessuna azione" IDS_PowerActionUnknown "Sconosciuto" diff --git a/reactos/dll/cpl/powercfg/lang/ja-JP.rc b/reactos/dll/cpl/powercfg/lang/ja-JP.rc index 4ae28cf33ba..5941dd815ec 100644 --- a/reactos/dll/cpl/powercfg/lang/ja-JP.rc +++ b/reactos/dll/cpl/powercfg/lang/ja-JP.rc @@ -112,8 +112,6 @@ BEGIN IDS_TEXT "テキスト" IDS_CONFIG1 "[%1] の電源設定" IDS_CONFIG2 "%1の詳細設定" - IDS_SIZEBYTS "%i バイト" - IDS_SIZEMB "%i MB" IDS_NOACTION "何もしない" IDS_PowerActionNone1 "何もしない" IDS_PowerActionUnknown "不明" diff --git a/reactos/dll/cpl/powercfg/lang/nl-NL.rc b/reactos/dll/cpl/powercfg/lang/nl-NL.rc index a0d123ff209..695f7210642 100644 --- a/reactos/dll/cpl/powercfg/lang/nl-NL.rc +++ b/reactos/dll/cpl/powercfg/lang/nl-NL.rc @@ -110,8 +110,6 @@ BEGIN IDS_TEXT "Text" IDS_CONFIG1 "Settings for %1 power scheme" IDS_CONFIG2 "Advanced settings for %1" - IDS_SIZEBYTS "%i bytes" - IDS_SIZEMB "%i MB" IDS_NOACTION "Doe niets" IDS_PowerActionNone1 "Geen actie" IDS_PowerActionUnknown "Onbekend" diff --git a/reactos/dll/cpl/powercfg/lang/no-NO.rc b/reactos/dll/cpl/powercfg/lang/no-NO.rc index fdec7228d2c..bec680d75c3 100644 --- a/reactos/dll/cpl/powercfg/lang/no-NO.rc +++ b/reactos/dll/cpl/powercfg/lang/no-NO.rc @@ -112,8 +112,6 @@ BEGIN IDS_TEXT "Tekst" IDS_CONFIG1 "Innstillinger for %1 strømplan" IDS_CONFIG2 "Avanserte innstillinger for %1" - IDS_SIZEBYTS "%i byte" - IDS_SIZEMB "%i MB" IDS_NOACTION "Ikke gjør noe" IDS_PowerActionNone1 "Ingen handling" IDS_PowerActionUnknown "Ukjent" diff --git a/reactos/dll/cpl/powercfg/lang/pl-PL.rc b/reactos/dll/cpl/powercfg/lang/pl-PL.rc index 7b7d523df95..021ebd52a93 100644 --- a/reactos/dll/cpl/powercfg/lang/pl-PL.rc +++ b/reactos/dll/cpl/powercfg/lang/pl-PL.rc @@ -118,8 +118,6 @@ BEGIN IDS_TEXT "Tekst" IDS_CONFIG1 "Ustawienia dla schematu %1" IDS_CONFIG2 "Zaawansowane ustawienia dla %1" - IDS_SIZEBYTS "%i bajtów" - IDS_SIZEMB "%i MB" IDS_NOACTION "Nie rób nic" IDS_PowerActionNone1 "Brak akcji" IDS_PowerActionUnknown "Nieznana" diff --git a/reactos/dll/cpl/powercfg/lang/ro-RO.rc b/reactos/dll/cpl/powercfg/lang/ro-RO.rc index 66ddefd4c1f..70a56930e4c 100644 --- a/reactos/dll/cpl/powercfg/lang/ro-RO.rc +++ b/reactos/dll/cpl/powercfg/lang/ro-RO.rc @@ -115,8 +115,6 @@ BEGIN IDS_TEXT "text" IDS_CONFIG1 "Configurare regim %1" IDS_CONFIG2 "Opțiuni avansate pentru %1" - IDS_SIZEBYTS "%i octeți" - IDS_SIZEMB "%i Mo" IDS_NOACTION "nespecificată" IDS_PowerActionNone1 "acțiune nespecificată" IDS_PowerActionUnknown "acțiune necunoscută" diff --git a/reactos/dll/cpl/powercfg/lang/ru-RU.rc b/reactos/dll/cpl/powercfg/lang/ru-RU.rc index 6275ad006a1..f4b2fc338d2 100644 --- a/reactos/dll/cpl/powercfg/lang/ru-RU.rc +++ b/reactos/dll/cpl/powercfg/lang/ru-RU.rc @@ -112,8 +112,6 @@ BEGIN IDS_TEXT "Текст" IDS_CONFIG1 "Параметры схемы %1" IDS_CONFIG2 "Дополнительные параметры схемы %1" - IDS_SIZEBYTS "%i байт" - IDS_SIZEMB "%i МБ" IDS_NOACTION "Не делать ничего" IDS_PowerActionNone1 "Действие не требуется" IDS_PowerActionUnknown "Нет данных" diff --git a/reactos/dll/cpl/powercfg/lang/sk-SK.rc b/reactos/dll/cpl/powercfg/lang/sk-SK.rc index bc4f660628c..bfa08366e19 100644 --- a/reactos/dll/cpl/powercfg/lang/sk-SK.rc +++ b/reactos/dll/cpl/powercfg/lang/sk-SK.rc @@ -118,8 +118,6 @@ BEGIN IDS_TEXT "Text" IDS_CONFIG1 "Nastavenie pre schému napájania %1" IDS_CONFIG2 "Rozšírené nastavenie pre %1" - IDS_SIZEBYTS "%i bajtov" - IDS_SIZEMB "%i MB" IDS_NOACTION "Do nothing" IDS_PowerActionNone1 "No action" IDS_PowerActionUnknown "Neznáme" diff --git a/reactos/dll/cpl/powercfg/lang/sq-AL.rc b/reactos/dll/cpl/powercfg/lang/sq-AL.rc index 7245d9b5901..f325416962c 100644 --- a/reactos/dll/cpl/powercfg/lang/sq-AL.rc +++ b/reactos/dll/cpl/powercfg/lang/sq-AL.rc @@ -115,8 +115,6 @@ BEGIN IDS_TEXT "Teksti" IDS_CONFIG1 "Konfigurimet për %1 skema energjise" IDS_CONFIG2 "Konfigurimet Avancuara për %1" - IDS_SIZEBYTS "%i bytes" - IDS_SIZEMB "%i MB" IDS_NOACTION "Mos bëj gjë" IDS_PowerActionNone1 "Asnjë veprim" IDS_PowerActionUnknown "i panjohur" diff --git a/reactos/dll/cpl/powercfg/lang/th-TH.rc b/reactos/dll/cpl/powercfg/lang/th-TH.rc index 287c1a3fd97..86676b2d1de 100644 --- a/reactos/dll/cpl/powercfg/lang/th-TH.rc +++ b/reactos/dll/cpl/powercfg/lang/th-TH.rc @@ -110,8 +110,6 @@ BEGIN IDS_TEXT "ข้อความ" IDS_CONFIG1 "ตั้งค่าให้กับ %1 ค่าพลังงาน" IDS_CONFIG2 "การตั้งค่าแบบขั้นสูงเป็น %1" - IDS_SIZEBYTS "%i bytes" - IDS_SIZEMB "%i MB" IDS_NOACTION "ไม่เปลี่ยนค่า" IDS_PowerActionNone1 "ไม่เปลี่ยนค่า" IDS_PowerActionUnknown "ไม่ทราบ" diff --git a/reactos/dll/cpl/powercfg/lang/tr-TR.rc b/reactos/dll/cpl/powercfg/lang/tr-TR.rc index a674bd61ccf..62197a65122 100644 --- a/reactos/dll/cpl/powercfg/lang/tr-TR.rc +++ b/reactos/dll/cpl/powercfg/lang/tr-TR.rc @@ -112,8 +112,6 @@ BEGIN IDS_TEXT "Metin" IDS_CONFIG1 "%1 Güç Düzeni İçin Ayarlar" IDS_CONFIG2 "%1 İçin Gelişmiş Ayarlar" - IDS_SIZEBYTS "%i Çoklu" - IDS_SIZEMB "%i MB" IDS_NOACTION "Bir Şey Yapma" IDS_PowerActionNone1 "Eylem Yok" IDS_PowerActionUnknown "Bilinmiyor" diff --git a/reactos/dll/cpl/powercfg/lang/uk-UA.rc b/reactos/dll/cpl/powercfg/lang/uk-UA.rc index 999152cb866..a2f3a9d098e 100644 --- a/reactos/dll/cpl/powercfg/lang/uk-UA.rc +++ b/reactos/dll/cpl/powercfg/lang/uk-UA.rc @@ -118,8 +118,6 @@ BEGIN IDS_TEXT "Текст" IDS_CONFIG1 "Налаштування схеми живлення %1" IDS_CONFIG2 "Додаткові налаштування для %1" - IDS_SIZEBYTS "%i байт" - IDS_SIZEMB "%i МБ" IDS_NOACTION "Не робити нічого" IDS_PowerActionNone1 "Дія не потрібна" IDS_PowerActionUnknown "Немає даних" diff --git a/reactos/dll/cpl/powercfg/lang/zh-CN.rc b/reactos/dll/cpl/powercfg/lang/zh-CN.rc index 33fe4e3b805..d0793390f79 100644 --- a/reactos/dll/cpl/powercfg/lang/zh-CN.rc +++ b/reactos/dll/cpl/powercfg/lang/zh-CN.rc @@ -112,8 +112,6 @@ BEGIN IDS_TEXT "文本" IDS_CONFIG1 "为 %i 设置电源使用方案" IDS_CONFIG2 "%i 的高级设置" - IDS_SIZEBYTS "%i 字节" - IDS_SIZEMB "%i MB" IDS_NOACTION "无操作" IDS_PowerActionNone1 "无动作" IDS_PowerActionUnknown "未知" diff --git a/reactos/dll/cpl/powercfg/lang/zh-TW.rc b/reactos/dll/cpl/powercfg/lang/zh-TW.rc index a0ea5998573..51590e7def9 100644 --- a/reactos/dll/cpl/powercfg/lang/zh-TW.rc +++ b/reactos/dll/cpl/powercfg/lang/zh-TW.rc @@ -112,8 +112,6 @@ BEGIN IDS_TEXT "文本" IDS_CONFIG1 "爲 %i 設置電源使用方案" IDS_CONFIG2 "%i 的高級設置" - IDS_SIZEBYTS "%i 字節" - IDS_SIZEMB "%i MB" IDS_NOACTION "無操作" IDS_PowerActionNone1 "無動作" IDS_PowerActionUnknown "未知" diff --git a/reactos/dll/cpl/powercfg/powercfg.h b/reactos/dll/cpl/powercfg/powercfg.h index f084963ba7e..16e0e18bc84 100644 --- a/reactos/dll/cpl/powercfg/powercfg.h +++ b/reactos/dll/cpl/powercfg/powercfg.h @@ -10,9 +10,11 @@ #define WIN32_NO_STATUS #include #include +#include #include #include #include +#include #include #include "resource.h" diff --git a/reactos/dll/cpl/powercfg/resource.h b/reactos/dll/cpl/powercfg/resource.h index 614dde244ef..27146fe6b62 100644 --- a/reactos/dll/cpl/powercfg/resource.h +++ b/reactos/dll/cpl/powercfg/resource.h @@ -9,15 +9,15 @@ #define ICONSIZE 16 /* IDs */ -#define IDC_CPLICON_1 1 + +/* Set default to IDI_AC */ +#define IDC_CPLICON_1 IDI_AC #define IDS_PROCENT 49 #define IDS_SOUND 50 #define IDS_TEXT 51 #define IDS_CONFIG1 53 #define IDS_CONFIG2 54 -#define IDS_SIZEBYTS 55 -#define IDS_SIZEMB 56 #define IDD_PROPPAGEPOWERSHEMES 70 #define IDD_PROPPAGEALARMS 71