[ACPPAGE] Make use of the PCH.
[reactos.git] / dll / cpl / powercfg / hibernate.c
index 82f54fa..1310cc8 100644 (file)
@@ -4,15 +4,11 @@
  * FILE:            dll/cpl/powercfg/hibernate.c
  * PURPOSE:         hibernate tab of applet
  * PROGRAMMERS:     Alexander Wurzinger (Lohnegrim at gmx dot net)
- *                  Johannes Anderwald (johannes.anderwald@student.tugraz.at)
+ *                  Johannes Anderwald (johannes.anderwald@reactos.org)
  *                  Martin Rottensteiner
  *                  Dmitry Chapyshev (lentind@yandex.ru)
  */
 
-//#ifndef NSTATUS
-//typedef long NTSTATUS;
-//#endif
-
 #include "powercfg.h"
 
 BOOLEAN Pos_InitData();
@@ -22,98 +18,70 @@ void Adv_InitDialog();
 static VOID
 Hib_InitDialog(HWND hwndDlg)
 {
-       SYSTEM_POWER_CAPABILITIES PowerCaps;
-       MEMORYSTATUSEX msex;
-       TCHAR szSize[MAX_PATH];
-       TCHAR szTemp[MAX_PATH];
-       ULARGE_INTEGER FreeBytesAvailable, TotalNumberOfBytes, TotalNumberOfFreeBytes;
-
-       if (GetPwrCapabilities(&PowerCaps))
-       {
-               CheckDlgButton(hwndDlg,
-                              IDC_HIBERNATEFILE,
-                              PowerCaps.HiberFilePresent ? BST_CHECKED : BST_UNCHECKED);
-
-               msex.dwLength = sizeof(msex);
-               if (!GlobalMemoryStatusEx(&msex))
-               {
-                       return; // FIXME
-               }
-
-               if (GetWindowsDirectory(szTemp,MAX_PATH))
-               {
-                       if (!GetDiskFreeSpaceEx(szTemp,&FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes))
-                               TotalNumberOfFreeBytes.QuadPart = 0;
-               }
-               else
-               {
-                       if (!GetDiskFreeSpaceEx(NULL,&FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes))
-                               TotalNumberOfFreeBytes.QuadPart = 0;
-               }
-
-               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);
-                       }
-               }
-
-               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);
-                       }
-               }
-
-               if (TotalNumberOfFreeBytes.QuadPart < msex.ullTotalPhys && !PowerCaps.HiberFilePresent)
-               {
-                       EnableWindow(GetDlgItem(hwndDlg, IDC_HIBERNATEFILE), FALSE);
-                       ShowWindow(GetDlgItem(hwndDlg, IDC_TOLESSFREESPACE), TRUE);
-               }
-               else
-               {
-                       ShowWindow(GetDlgItem(hwndDlg, IDC_TOLESSFREESPACE), FALSE);
-                       EnableWindow(GetDlgItem(hwndDlg, IDC_HIBERNATEFILE), TRUE);
-               }
-       }
+    SYSTEM_POWER_CAPABILITIES PowerCaps;
+    MEMORYSTATUSEX msex;
+    TCHAR szTemp[MAX_PATH];
+    LPTSTR lpRoot;
+    ULARGE_INTEGER FreeBytesAvailable, TotalNumberOfBytes, TotalNumberOfFreeBytes;
+
+    if (GetPwrCapabilities(&PowerCaps))
+    {
+        CheckDlgButton(hwndDlg,
+                   IDC_HIBERNATEFILE,
+                   PowerCaps.HiberFilePresent ? BST_CHECKED : BST_UNCHECKED);
+
+        msex.dwLength = sizeof(msex);
+        if (!GlobalMemoryStatusEx(&msex))
+        {
+            return; // FIXME
+        }
+
+        if (GetWindowsDirectory(szTemp,MAX_PATH))
+            lpRoot = szTemp;
+        else
+            lpRoot = NULL;
+
+        // Get available space and size of selected volume.
+        if (!GetDiskFreeSpaceEx(lpRoot, &FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes))
+            TotalNumberOfFreeBytes.QuadPart = 0;
+
+        // 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)
+        {
+            EnableWindow(GetDlgItem(hwndDlg, IDC_HIBERNATEFILE), FALSE);
+            ShowWindow(GetDlgItem(hwndDlg, IDC_TOLESSFREESPACE), TRUE);
+        }
+        else
+        {
+            ShowWindow(GetDlgItem(hwndDlg, IDC_TOLESSFREESPACE), FALSE);
+            EnableWindow(GetDlgItem(hwndDlg, IDC_HIBERNATEFILE), TRUE);
+        }
+    }
 }
 
 INT_PTR
 Hib_SaveData(HWND hwndDlg)
 {
-       BOOLEAN bHibernate;
+    BOOLEAN bHibernate;
 
-       bHibernate = (BOOLEAN)(IsDlgButtonChecked(hwndDlg, IDC_HIBERNATEFILE) == BST_CHECKED);
+    bHibernate = (BOOLEAN)(IsDlgButtonChecked(hwndDlg, IDC_HIBERNATEFILE) == BST_CHECKED);
 
-       if (CallNtPowerInformation(SystemReserveHiberFile,&bHibernate, sizeof(bHibernate), NULL, 0) == STATUS_SUCCESS)
-       {
-               Pos_InitData();
-               Adv_InitDialog();
-               Hib_InitDialog(hwndDlg);
-               return TRUE;
-       }
+    if (CallNtPowerInformation(SystemReserveHiberFile,&bHibernate, sizeof(bHibernate), NULL, 0) == STATUS_SUCCESS)
+    {
+        Pos_InitData();
+        Adv_InitDialog();
+        Hib_InitDialog(hwndDlg);
+        return TRUE;
+    }
 
-       return FALSE;
+    return FALSE;
 }
 
 /* Property page dialog callback */
@@ -126,26 +94,26 @@ HibernateDlgProc(HWND hwndDlg,
   switch(uMsg)
   {
     case WM_INITDIALOG:
-               Hib_InitDialog(hwndDlg);
-               return TRUE;
-       case WM_COMMAND:
-               switch(LOWORD(wParam))
-               {
-               case IDC_HIBERNATEFILE:
-                       if (HIWORD(wParam) == BN_CLICKED)
-                       {
-                               PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
-                       }
-               }
-               break;
-       case WM_NOTIFY:
-               {
-                       LPNMHDR lpnm = (LPNMHDR)lParam;
-                       if (lpnm->code == (UINT)PSN_APPLY)
-                       {
-                               return Hib_SaveData(hwndDlg);
-                       }
-               }
+        Hib_InitDialog(hwndDlg);
+        return TRUE;
+    case WM_COMMAND:
+        switch(LOWORD(wParam))
+        {
+        case IDC_HIBERNATEFILE:
+            if (HIWORD(wParam) == BN_CLICKED)
+            {
+                PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
+            }
+        }
+        break;
+    case WM_NOTIFY:
+        {
+            LPNMHDR lpnm = (LPNMHDR)lParam;
+            if (lpnm->code == (UINT)PSN_APPLY)
+            {
+                return Hib_SaveData(hwndDlg);
+            }
+        }
   }
   return FALSE;
 }