[SHELL32]
authorGiannis Adamopoulos <gadamopoulos@reactos.org>
Fri, 9 Oct 2015 00:27:34 +0000 (00:27 +0000)
committerGiannis Adamopoulos <gadamopoulos@reactos.org>
Fri, 9 Oct 2015 00:27:34 +0000 (00:27 +0000)
- CDefView: Implement updating the status bar . Based on patch by Barrett Karish
CORE-10300

svn path=/trunk/; revision=69468

33 files changed:
reactos/dll/win32/shell32/CDefView.cpp
reactos/dll/win32/shell32/lang/bg-BG.rc
reactos/dll/win32/shell32/lang/ca-ES.rc
reactos/dll/win32/shell32/lang/cs-CZ.rc
reactos/dll/win32/shell32/lang/da-DK.rc
reactos/dll/win32/shell32/lang/de-DE.rc
reactos/dll/win32/shell32/lang/el-GR.rc
reactos/dll/win32/shell32/lang/en-GB.rc
reactos/dll/win32/shell32/lang/en-US.rc
reactos/dll/win32/shell32/lang/es-ES.rc
reactos/dll/win32/shell32/lang/fi-FI.rc
reactos/dll/win32/shell32/lang/fr-FR.rc
reactos/dll/win32/shell32/lang/he-IL.rc
reactos/dll/win32/shell32/lang/hu-HU.rc
reactos/dll/win32/shell32/lang/it-IT.rc
reactos/dll/win32/shell32/lang/ja-JP.rc
reactos/dll/win32/shell32/lang/ko-KR.rc
reactos/dll/win32/shell32/lang/nl-NL.rc
reactos/dll/win32/shell32/lang/no-NO.rc
reactos/dll/win32/shell32/lang/pl-PL.rc
reactos/dll/win32/shell32/lang/pt-BR.rc
reactos/dll/win32/shell32/lang/pt-PT.rc
reactos/dll/win32/shell32/lang/ro-RO.rc
reactos/dll/win32/shell32/lang/ru-RU.rc
reactos/dll/win32/shell32/lang/sk-SK.rc
reactos/dll/win32/shell32/lang/sl-SI.rc
reactos/dll/win32/shell32/lang/sq-AL.rc
reactos/dll/win32/shell32/lang/sv-SE.rc
reactos/dll/win32/shell32/lang/tr-TR.rc
reactos/dll/win32/shell32/lang/uk-UA.rc
reactos/dll/win32/shell32/lang/zh-CN.rc
reactos/dll/win32/shell32/lang/zh-TW.rc
reactos/dll/win32/shell32/shresdef.h

index a72b71a..3004bdd 100644 (file)
@@ -125,6 +125,7 @@ class CDefView :
         HRESULT IncludeObject(PCUITEMID_CHILD pidl);
         HRESULT OnDefaultCommand();
         HRESULT OnStateChange(UINT uFlags);
+        void UpdateStatusbar();
         void CheckToolbar();
         void SetStyle(DWORD dwAdd, DWORD dwRemove);
         BOOL CreateList();
@@ -469,6 +470,26 @@ void CDefView::CheckToolbar()
     }
 }
 
+void CDefView::UpdateStatusbar()
+{
+    WCHAR szFormat[MAX_PATH] = {0};
+    WCHAR szObjects[MAX_PATH] = {0};
+    UINT cSelectedItems;
+
+    cSelectedItems = m_ListView.GetSelectedCount();
+    if (cSelectedItems)
+    {
+        LoadStringW(shell32_hInstance, IDS_OBJECTS_SELECTED, szFormat, _countof(szFormat));
+        StringCchPrintfW(szObjects, MAX_PATH, szFormat, cSelectedItems);
+    }
+    else
+    {
+        LoadStringW(shell32_hInstance, IDS_OBJECTS, szFormat, _countof(szFormat));
+        StringCchPrintfW(szObjects, MAX_PATH, szFormat, m_ListView.GetItemCount());
+    }
+    m_pShellBrowser->SetStatusTextSB(szObjects);
+}
+
 /**********************************************************
  *
  * ##### helperfunctions for initializing the view #####
@@ -1071,6 +1092,8 @@ LRESULT CDefView::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
 
     m_hAccel = LoadAcceleratorsW(shell32_hInstance, MAKEINTRESOURCEW(IDA_SHELLVIEW));
 
+    UpdateStatusbar();
+
     return S_OK;
 }
 
@@ -1822,6 +1845,7 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
         case LVN_ITEMCHANGED:
             TRACE("-- LVN_ITEMCHANGED %p\n", this);
             OnStateChange(CDBOSC_SELCHANGE);  /* the browser will get the IDataObject now */
+            UpdateStatusbar();
             break;
 
         case LVN_BEGINDRAG:
index 28fc0c9..9a002e8 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index ffa1e8e..fbe14e3 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 5b46ef6..22cdec2 100644 (file)
@@ -824,4 +824,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Popis:"
 
     IDS_MENU_EMPTY "(Prázdné)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 4424bab..368c0b5 100644 (file)
@@ -824,4 +824,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 80faf4d..435def1 100644 (file)
@@ -819,4 +819,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Beschreibung:"
 
     IDS_MENU_EMPTY "(Leer)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 6f01a0c..eedd062 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 79cda5e..e4148d8 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 1762888..41d706e 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 1d36c95..3eb42d4 100644 (file)
@@ -819,4 +819,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Descripción:"
 
     IDS_MENU_EMPTY "(Vacío)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 1b83bd9..c28640e 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index c742cb9..dee04d5 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description :"
 
     IDS_MENU_EMPTY "(Vide)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 385c3ca..465f77d 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 6c09f26..3cf5fb5 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index e59efe1..a8e693d 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Descrizione:"
 
     IDS_MENU_EMPTY "(Vuoto)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 69cb833..5879ce0 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 693663a..966ca46 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 657cdbf..86e327d 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index cb267c9..6afc749 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 3c543ef..2fcd4ba 100644 (file)
@@ -822,4 +822,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Opis:"
 
     IDS_MENU_EMPTY "(Puste)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 936a262..a557646 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Descrição:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 79f5782..2dd84ed 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index b4cc15a..6dc6dbe 100644 (file)
@@ -820,4 +820,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Descriere:"
 
     IDS_MENU_EMPTY "(Gol)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 7f461eb..50a009a 100644 (file)
@@ -820,4 +820,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Описание:"
 
     IDS_MENU_EMPTY "(пусто)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index bd18ad2..ef89831 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 55c5d1f..8e1edf3 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index aed9d2f..8e60eea 100644 (file)
@@ -822,4 +822,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Përshkrimi:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 91efd2f..b6ba2bf 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 2f9f0da..0399e10 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Açıklama:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 90aa582..12b226a 100644 (file)
@@ -818,4 +818,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index a77c6bb..c575c4f 100644 (file)
@@ -825,4 +825,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "描述:"
 
     IDS_MENU_EMPTY "(空)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 6aa4fc0..38d9de9 100644 (file)
@@ -826,4 +826,6 @@ BEGIN
     IDS_EXE_DESCRIPTION "Description:"
 
     IDS_MENU_EMPTY "(Empty)"
+    IDS_OBJECTS "%d Objects"
+    IDS_OBJECTS_SELECTED "%d Objects Selected"
 END
index 1304b0d..ddb9c0a 100644 (file)
 #define IDS_MYCOMPUTER             9216
 #define IDS_PERSONAL               9227
 #define IDS_NETWORKPLACE           9217
+#define IDS_OBJECTS                6466
+#define IDS_OBJECTS_SELECTED       6477
 
 /* Dialogs */