Index: dll/win32/shell32/CDefView.cpp
===================================================================
--- dll/win32/shell32/CDefView.cpp	(revision 69442)
+++ dll/win32/shell32/CDefView.cpp	(working copy)
@@ -1392,6 +1392,7 @@
 {
     WORD                                wWidth;
     WORD                                wHeight;
+    int                                 nPartArray[] = {0, -1};
 
     wWidth = LOWORD(lParam);
     wHeight = HIWORD(lParam);
@@ -1403,6 +1404,9 @@
     {
         ::MoveWindow(m_ListView, 0, 0, wWidth, wHeight, TRUE);
     }
+    /*resize the StatusBar*/
+    nPartArray[0] = wWidth - 100;
+    m_pShellBrowser->SendControlMsg(FCW_STATUS, SB_SETPARTS, 2, (LPARAM)nPartArray, NULL);
 
     return 0;
 }
@@ -1820,10 +1824,45 @@
             break;
 
         case LVN_ITEMCHANGED:
+        {
+            WCHAR szFormat[MAX_PATH] = {0};
+            WCHAR szObjects[MAX_PATH] = {0};
+            WCHAR szSize[MAX_PATH] = {0};
+            UINT selectedItems;
+            DWORD fileSize = 0;
+            UINT i = 0;
+
             TRACE("-- LVN_ITEMCHANGED %p\n", this);
             OnStateChange(CDBOSC_SELCHANGE);  /* the browser will get the IDataObject now */
+
+            if ((selectedItems = GetSelections()))
+            {
+                while (i < m_cidl)
+                {
+                    fileSize += _ILGetFileSize(m_apidl[i], NULL, 0);
+                    i++;
+                }
+                StrFormatByteSizeW(fileSize, szSize, MAX_PATH);
+                LoadStringW(shell32_hInstance, IDS_OBJECTS_SELECTED, szFormat, _countof(szFormat));
+                StringCchPrintfW(szObjects, MAX_PATH, szFormat, selectedItems);
+            }
+            else
+            {
+                while (i < (UINT)m_ListView.GetItemCount())
+                {
+                    pidl = _PidlByItem(i);
+                    fileSize += _ILGetFileSize(pidl, NULL, 0);
+                    i++;
+                }
+                StrFormatByteSizeW(fileSize, szSize, MAX_PATH);
+                LoadStringW(shell32_hInstance, IDS_OBJECTS, szFormat, _countof(szFormat));
+                StringCchPrintfW(szObjects, MAX_PATH, szFormat, m_ListView.GetItemCount());
+            }
+            m_pShellBrowser->SendControlMsg(FCW_STATUS, SB_SETTEXT, 0, (LPARAM)szObjects, NULL);
+            m_pShellBrowser->SendControlMsg(FCW_STATUS, SB_SETTEXT, 1, (LPARAM)szSize, NULL);
+
             break;
-
+        }
         case LVN_BEGINDRAG:
         case LVN_BEGINRDRAG:
             TRACE("-- LVN_BEGINDRAG\n");
@@ -1843,7 +1882,7 @@
                             dwEffect |= DROPEFFECT_LINK;
                         }
                     }
-                    
+
                     CComPtr<IAsyncOperation> piaso;
                     if (SUCCEEDED(pda->QueryInterface(IID_PPV_ARG(IAsyncOperation, &piaso))))
                     {
@@ -2133,11 +2172,15 @@
 
 HRESULT WINAPI CDefView::UIActivate(UINT uState)
 {
-    /*
-        CHAR    szName[MAX_PATH];
-    */
-    LRESULT    lResult;
-    int    nPartArray[1] = { -1};
+    WCHAR           szObjects[MAX_PATH] = {0};
+    WCHAR           szFormat[MAX_PATH] = {0};
+    WCHAR           szSize[MAX_PATH] = {0};
+    RECT            clientRect;
+    LRESULT         lResult;
+    DWORD           fileSize = 0;
+    UINT            i = 0;
+    PCUITEMID_CHILD pidl;
+    int             nPartArray[] = {0, -1};
 
     TRACE("(%p)->(state=%x) stub\n", this, uState);
 
@@ -2153,18 +2196,24 @@
     /*only do This if we are active*/
     if (uState != SVUIA_DEACTIVATE)
     {
-
-        /*
-            GetFolderPath is not a method of IShellFolder
-            IShellFolder_GetFolderPath( m_pSFParent, szName, sizeof(szName) );
-        */
         /* set the number of parts */
-        m_pShellBrowser->SendControlMsg(FCW_STATUS, SB_SETPARTS, 1, (LPARAM)nPartArray, &lResult);
+        ::GetWindowRect(m_hWndParent,&clientRect);
+        nPartArray[0] = clientRect.right - clientRect.left - 100;
+        m_pShellBrowser->SendControlMsg(FCW_STATUS, SB_SETPARTS, 2, (LPARAM)nPartArray, &lResult);
 
         /* set the text for the parts */
-        /*
-            m_pShellBrowser->SendControlMsg(FCW_STATUS, SB_SETTEXTA, 0, (LPARAM)szName, &lResult);
-        */
+        while (i < (UINT)m_ListView.GetItemCount())
+        {
+            pidl = _PidlByItem(i);
+            fileSize += _ILGetFileSize(pidl, NULL, 0);
+            i++;
+        }
+        StrFormatByteSizeW(fileSize, szSize, MAX_PATH);
+        LoadStringW(shell32_hInstance, IDS_OBJECTS, szFormat, _countof(szFormat));
+        StringCchPrintfW(szObjects, MAX_PATH, szFormat, m_ListView.GetItemCount());
+        m_pShellBrowser->SendControlMsg(FCW_STATUS, SB_SETTEXT, 0, (LPARAM)szObjects, &lResult);
+        m_pShellBrowser->SendControlMsg(FCW_STATUS, SB_SETTEXT, 1, (LPARAM)szSize, &lResult);
+
     }
 
     return S_OK;
Index: dll/win32/shell32/shresdef.h
===================================================================
--- dll/win32/shell32/shresdef.h	(revision 69442)
+++ dll/win32/shell32/shresdef.h	(working copy)
@@ -225,6 +225,8 @@
 #define IDS_MYCOMPUTER             9216
 #define IDS_PERSONAL               9227
 #define IDS_NETWORKPLACE           9217
+#define IDS_OBJECTS                6466
+#define IDS_OBJECTS_SELECTED       6477
 
 /* Dialogs */
 
Index: dll/win32/shell32/lang/bg-BG.rc
===================================================================
--- dll/win32/shell32/lang/bg-BG.rc	(revision 69442)
+++ dll/win32/shell32/lang/bg-BG.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/ca-ES.rc
===================================================================
--- dll/win32/shell32/lang/ca-ES.rc	(revision 69442)
+++ dll/win32/shell32/lang/ca-ES.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/cs-CZ.rc
===================================================================
--- dll/win32/shell32/lang/cs-CZ.rc	(revision 69442)
+++ dll/win32/shell32/lang/cs-CZ.rc	(working copy)
@@ -824,4 +824,6 @@
     IDS_EXE_DESCRIPTION "Popis:"
 
     IDS_MENU_EMPTY "(Prázdné)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/da-DK.rc
===================================================================
--- dll/win32/shell32/lang/da-DK.rc	(revision 69442)
+++ dll/win32/shell32/lang/da-DK.rc	(working copy)
@@ -824,4 +824,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/de-DE.rc
===================================================================
--- dll/win32/shell32/lang/de-DE.rc	(revision 69442)
+++ dll/win32/shell32/lang/de-DE.rc	(working copy)
@@ -819,4 +819,6 @@
     IDS_EXE_DESCRIPTION "Beschreibung:"
 
     IDS_MENU_EMPTY "(Leer)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/el-GR.rc
===================================================================
--- dll/win32/shell32/lang/el-GR.rc	(revision 69442)
+++ dll/win32/shell32/lang/el-GR.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/en-GB.rc
===================================================================
--- dll/win32/shell32/lang/en-GB.rc	(revision 69442)
+++ dll/win32/shell32/lang/en-GB.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/en-US.rc
===================================================================
--- dll/win32/shell32/lang/en-US.rc	(revision 69442)
+++ dll/win32/shell32/lang/en-US.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/es-ES.rc
===================================================================
--- dll/win32/shell32/lang/es-ES.rc	(revision 69442)
+++ dll/win32/shell32/lang/es-ES.rc	(working copy)
@@ -819,4 +819,6 @@
     IDS_EXE_DESCRIPTION "Descripción:"
 
     IDS_MENU_EMPTY "(Vacío)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/fi-FI.rc
===================================================================
--- dll/win32/shell32/lang/fi-FI.rc	(revision 69442)
+++ dll/win32/shell32/lang/fi-FI.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/fr-FR.rc
===================================================================
--- dll/win32/shell32/lang/fr-FR.rc	(revision 69442)
+++ dll/win32/shell32/lang/fr-FR.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description :"
 
     IDS_MENU_EMPTY "(Vide)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/he-IL.rc
===================================================================
--- dll/win32/shell32/lang/he-IL.rc	(revision 69442)
+++ dll/win32/shell32/lang/he-IL.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/hu-HU.rc
===================================================================
--- dll/win32/shell32/lang/hu-HU.rc	(revision 69442)
+++ dll/win32/shell32/lang/hu-HU.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/it-IT.rc
===================================================================
--- dll/win32/shell32/lang/it-IT.rc	(revision 69442)
+++ dll/win32/shell32/lang/it-IT.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Descrizione:"
 
     IDS_MENU_EMPTY "(Vuoto)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/ja-JP.rc
===================================================================
--- dll/win32/shell32/lang/ja-JP.rc	(revision 69442)
+++ dll/win32/shell32/lang/ja-JP.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/ko-KR.rc
===================================================================
--- dll/win32/shell32/lang/ko-KR.rc	(revision 69442)
+++ dll/win32/shell32/lang/ko-KR.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/nl-NL.rc
===================================================================
--- dll/win32/shell32/lang/nl-NL.rc	(revision 69442)
+++ dll/win32/shell32/lang/nl-NL.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/no-NO.rc
===================================================================
--- dll/win32/shell32/lang/no-NO.rc	(revision 69442)
+++ dll/win32/shell32/lang/no-NO.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/pl-PL.rc
===================================================================
--- dll/win32/shell32/lang/pl-PL.rc	(revision 69442)
+++ dll/win32/shell32/lang/pl-PL.rc	(working copy)
@@ -822,4 +822,6 @@
     IDS_EXE_DESCRIPTION "Opis:"
 
     IDS_MENU_EMPTY "(Puste)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/pt-BR.rc
===================================================================
--- dll/win32/shell32/lang/pt-BR.rc	(revision 69442)
+++ dll/win32/shell32/lang/pt-BR.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Descrição:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/pt-PT.rc
===================================================================
--- dll/win32/shell32/lang/pt-PT.rc	(revision 69442)
+++ dll/win32/shell32/lang/pt-PT.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/ro-RO.rc
===================================================================
--- dll/win32/shell32/lang/ro-RO.rc	(revision 69442)
+++ dll/win32/shell32/lang/ro-RO.rc	(working copy)
@@ -820,4 +820,6 @@
     IDS_EXE_DESCRIPTION "Descriere:"
 
     IDS_MENU_EMPTY "(Gol)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/ru-RU.rc
===================================================================
--- dll/win32/shell32/lang/ru-RU.rc	(revision 69442)
+++ dll/win32/shell32/lang/ru-RU.rc	(working copy)
@@ -820,4 +820,6 @@
     IDS_EXE_DESCRIPTION "Описание:"
 
     IDS_MENU_EMPTY "(пусто)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/sk-SK.rc
===================================================================
--- dll/win32/shell32/lang/sk-SK.rc	(revision 69442)
+++ dll/win32/shell32/lang/sk-SK.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/sl-SI.rc
===================================================================
--- dll/win32/shell32/lang/sl-SI.rc	(revision 69442)
+++ dll/win32/shell32/lang/sl-SI.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/sq-AL.rc
===================================================================
--- dll/win32/shell32/lang/sq-AL.rc	(revision 69442)
+++ dll/win32/shell32/lang/sq-AL.rc	(working copy)
@@ -822,4 +822,6 @@
     IDS_EXE_DESCRIPTION "Përshkrimi:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/sv-SE.rc
===================================================================
--- dll/win32/shell32/lang/sv-SE.rc	(revision 69442)
+++ dll/win32/shell32/lang/sv-SE.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/tr-TR.rc
===================================================================
--- dll/win32/shell32/lang/tr-TR.rc	(revision 69442)
+++ dll/win32/shell32/lang/tr-TR.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Açıklama:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/uk-UA.rc
===================================================================
--- dll/win32/shell32/lang/uk-UA.rc	(revision 69442)
+++ dll/win32/shell32/lang/uk-UA.rc	(working copy)
@@ -818,4 +818,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/zh-CN.rc
===================================================================
--- dll/win32/shell32/lang/zh-CN.rc	(revision 69442)
+++ dll/win32/shell32/lang/zh-CN.rc	(working copy)
@@ -825,4 +825,6 @@
     IDS_EXE_DESCRIPTION "描述："
 
     IDS_MENU_EMPTY "(空)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
Index: dll/win32/shell32/lang/zh-TW.rc
===================================================================
--- dll/win32/shell32/lang/zh-TW.rc	(revision 69442)
+++ dll/win32/shell32/lang/zh-TW.rc	(working copy)
@@ -826,4 +826,6 @@
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d objects"
+    IDS_OBJECTS_SELECTED "%d objects selected"
 END
