From: Giannis Adamopoulos Date: Fri, 9 Oct 2015 00:27:34 +0000 (+0000) Subject: [SHELL32] X-Git-Tag: ReactOS-0.4.0~580 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=203f452b02aba4453df4ddafd775c3fdb3f87dc8 [SHELL32] - CDefView: Implement updating the status bar . Based on patch by Barrett Karish CORE-10300 svn path=/trunk/; revision=69468 --- diff --git a/reactos/dll/win32/shell32/CDefView.cpp b/reactos/dll/win32/shell32/CDefView.cpp index a72b71a892e..3004bddc0b7 100644 --- a/reactos/dll/win32/shell32/CDefView.cpp +++ b/reactos/dll/win32/shell32/CDefView.cpp @@ -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: diff --git a/reactos/dll/win32/shell32/lang/bg-BG.rc b/reactos/dll/win32/shell32/lang/bg-BG.rc index 28fc0c9640d..9a002e8ca8c 100644 --- a/reactos/dll/win32/shell32/lang/bg-BG.rc +++ b/reactos/dll/win32/shell32/lang/bg-BG.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/ca-ES.rc b/reactos/dll/win32/shell32/lang/ca-ES.rc index ffa1e8e5664..fbe14e33f11 100644 --- a/reactos/dll/win32/shell32/lang/ca-ES.rc +++ b/reactos/dll/win32/shell32/lang/ca-ES.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/cs-CZ.rc b/reactos/dll/win32/shell32/lang/cs-CZ.rc index 5b46ef61226..22cdec2678a 100644 --- a/reactos/dll/win32/shell32/lang/cs-CZ.rc +++ b/reactos/dll/win32/shell32/lang/cs-CZ.rc @@ -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 diff --git a/reactos/dll/win32/shell32/lang/da-DK.rc b/reactos/dll/win32/shell32/lang/da-DK.rc index 4424baba0e3..368c0b5d105 100644 --- a/reactos/dll/win32/shell32/lang/da-DK.rc +++ b/reactos/dll/win32/shell32/lang/da-DK.rc @@ -824,4 +824,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/de-DE.rc b/reactos/dll/win32/shell32/lang/de-DE.rc index 80faf4d539f..435def1c7bd 100644 --- a/reactos/dll/win32/shell32/lang/de-DE.rc +++ b/reactos/dll/win32/shell32/lang/de-DE.rc @@ -819,4 +819,6 @@ BEGIN IDS_EXE_DESCRIPTION "Beschreibung:" IDS_MENU_EMPTY "(Leer)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/el-GR.rc b/reactos/dll/win32/shell32/lang/el-GR.rc index 6f01a0c73d3..eedd06208f6 100644 --- a/reactos/dll/win32/shell32/lang/el-GR.rc +++ b/reactos/dll/win32/shell32/lang/el-GR.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/en-GB.rc b/reactos/dll/win32/shell32/lang/en-GB.rc index 79cda5eddc0..e4148d81918 100644 --- a/reactos/dll/win32/shell32/lang/en-GB.rc +++ b/reactos/dll/win32/shell32/lang/en-GB.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/en-US.rc b/reactos/dll/win32/shell32/lang/en-US.rc index 1762888d4aa..41d706eab8f 100644 --- a/reactos/dll/win32/shell32/lang/en-US.rc +++ b/reactos/dll/win32/shell32/lang/en-US.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/es-ES.rc b/reactos/dll/win32/shell32/lang/es-ES.rc index 1d36c9586ed..3eb42d44f9e 100644 --- a/reactos/dll/win32/shell32/lang/es-ES.rc +++ b/reactos/dll/win32/shell32/lang/es-ES.rc @@ -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 diff --git a/reactos/dll/win32/shell32/lang/fi-FI.rc b/reactos/dll/win32/shell32/lang/fi-FI.rc index 1b83bd9baac..c28640e37af 100644 --- a/reactos/dll/win32/shell32/lang/fi-FI.rc +++ b/reactos/dll/win32/shell32/lang/fi-FI.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/fr-FR.rc b/reactos/dll/win32/shell32/lang/fr-FR.rc index c742cb9b6f5..dee04d5c61a 100644 --- a/reactos/dll/win32/shell32/lang/fr-FR.rc +++ b/reactos/dll/win32/shell32/lang/fr-FR.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description :" IDS_MENU_EMPTY "(Vide)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/he-IL.rc b/reactos/dll/win32/shell32/lang/he-IL.rc index 385c3ca85c3..465f77d126a 100644 --- a/reactos/dll/win32/shell32/lang/he-IL.rc +++ b/reactos/dll/win32/shell32/lang/he-IL.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/hu-HU.rc b/reactos/dll/win32/shell32/lang/hu-HU.rc index 6c09f264420..3cf5fb598e6 100644 --- a/reactos/dll/win32/shell32/lang/hu-HU.rc +++ b/reactos/dll/win32/shell32/lang/hu-HU.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/it-IT.rc b/reactos/dll/win32/shell32/lang/it-IT.rc index e59efe1e85b..a8e693d9903 100644 --- a/reactos/dll/win32/shell32/lang/it-IT.rc +++ b/reactos/dll/win32/shell32/lang/it-IT.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Descrizione:" IDS_MENU_EMPTY "(Vuoto)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/ja-JP.rc b/reactos/dll/win32/shell32/lang/ja-JP.rc index 69cb833f981..5879ce0b01a 100644 --- a/reactos/dll/win32/shell32/lang/ja-JP.rc +++ b/reactos/dll/win32/shell32/lang/ja-JP.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/ko-KR.rc b/reactos/dll/win32/shell32/lang/ko-KR.rc index 693663aa550..966ca46cd69 100644 --- a/reactos/dll/win32/shell32/lang/ko-KR.rc +++ b/reactos/dll/win32/shell32/lang/ko-KR.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/nl-NL.rc b/reactos/dll/win32/shell32/lang/nl-NL.rc index 657cdbf9b80..86e327d38be 100644 --- a/reactos/dll/win32/shell32/lang/nl-NL.rc +++ b/reactos/dll/win32/shell32/lang/nl-NL.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/no-NO.rc b/reactos/dll/win32/shell32/lang/no-NO.rc index cb267c936f1..6afc749d81e 100644 --- a/reactos/dll/win32/shell32/lang/no-NO.rc +++ b/reactos/dll/win32/shell32/lang/no-NO.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/pl-PL.rc b/reactos/dll/win32/shell32/lang/pl-PL.rc index 3c543ef7d67..2fcd4bae2e2 100644 --- a/reactos/dll/win32/shell32/lang/pl-PL.rc +++ b/reactos/dll/win32/shell32/lang/pl-PL.rc @@ -822,4 +822,6 @@ BEGIN IDS_EXE_DESCRIPTION "Opis:" IDS_MENU_EMPTY "(Puste)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/pt-BR.rc b/reactos/dll/win32/shell32/lang/pt-BR.rc index 936a2627507..a557646c9f8 100644 --- a/reactos/dll/win32/shell32/lang/pt-BR.rc +++ b/reactos/dll/win32/shell32/lang/pt-BR.rc @@ -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 diff --git a/reactos/dll/win32/shell32/lang/pt-PT.rc b/reactos/dll/win32/shell32/lang/pt-PT.rc index 79f578220a7..2dd84eda0fe 100644 --- a/reactos/dll/win32/shell32/lang/pt-PT.rc +++ b/reactos/dll/win32/shell32/lang/pt-PT.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/ro-RO.rc b/reactos/dll/win32/shell32/lang/ro-RO.rc index b4cc15a5b37..6dc6dbecc7b 100644 --- a/reactos/dll/win32/shell32/lang/ro-RO.rc +++ b/reactos/dll/win32/shell32/lang/ro-RO.rc @@ -820,4 +820,6 @@ BEGIN IDS_EXE_DESCRIPTION "Descriere:" IDS_MENU_EMPTY "(Gol)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/ru-RU.rc b/reactos/dll/win32/shell32/lang/ru-RU.rc index 7f461eb4486..50a009a69cf 100644 --- a/reactos/dll/win32/shell32/lang/ru-RU.rc +++ b/reactos/dll/win32/shell32/lang/ru-RU.rc @@ -820,4 +820,6 @@ BEGIN IDS_EXE_DESCRIPTION "Описание:" IDS_MENU_EMPTY "(пусто)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/sk-SK.rc b/reactos/dll/win32/shell32/lang/sk-SK.rc index bd18ad2a84d..ef898310779 100644 --- a/reactos/dll/win32/shell32/lang/sk-SK.rc +++ b/reactos/dll/win32/shell32/lang/sk-SK.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/sl-SI.rc b/reactos/dll/win32/shell32/lang/sl-SI.rc index 55c5d1ffa8f..8e1edf3fc1b 100644 --- a/reactos/dll/win32/shell32/lang/sl-SI.rc +++ b/reactos/dll/win32/shell32/lang/sl-SI.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/sq-AL.rc b/reactos/dll/win32/shell32/lang/sq-AL.rc index aed9d2f0942..8e60eea1ee5 100644 --- a/reactos/dll/win32/shell32/lang/sq-AL.rc +++ b/reactos/dll/win32/shell32/lang/sq-AL.rc @@ -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 diff --git a/reactos/dll/win32/shell32/lang/sv-SE.rc b/reactos/dll/win32/shell32/lang/sv-SE.rc index 91efd2f0084..b6ba2bf18a1 100644 --- a/reactos/dll/win32/shell32/lang/sv-SE.rc +++ b/reactos/dll/win32/shell32/lang/sv-SE.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/tr-TR.rc b/reactos/dll/win32/shell32/lang/tr-TR.rc index 2f9f0dada8f..0399e10b169 100644 --- a/reactos/dll/win32/shell32/lang/tr-TR.rc +++ b/reactos/dll/win32/shell32/lang/tr-TR.rc @@ -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 diff --git a/reactos/dll/win32/shell32/lang/uk-UA.rc b/reactos/dll/win32/shell32/lang/uk-UA.rc index 90aa5827b45..12b226ad19b 100644 --- a/reactos/dll/win32/shell32/lang/uk-UA.rc +++ b/reactos/dll/win32/shell32/lang/uk-UA.rc @@ -818,4 +818,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/zh-CN.rc b/reactos/dll/win32/shell32/lang/zh-CN.rc index a77c6bbe7ee..c575c4f9d49 100644 --- a/reactos/dll/win32/shell32/lang/zh-CN.rc +++ b/reactos/dll/win32/shell32/lang/zh-CN.rc @@ -825,4 +825,6 @@ BEGIN IDS_EXE_DESCRIPTION "描述:" IDS_MENU_EMPTY "(空)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/lang/zh-TW.rc b/reactos/dll/win32/shell32/lang/zh-TW.rc index 6aa4fc061ec..38d9de920fd 100644 --- a/reactos/dll/win32/shell32/lang/zh-TW.rc +++ b/reactos/dll/win32/shell32/lang/zh-TW.rc @@ -826,4 +826,6 @@ BEGIN IDS_EXE_DESCRIPTION "Description:" IDS_MENU_EMPTY "(Empty)" + IDS_OBJECTS "%d Objects" + IDS_OBJECTS_SELECTED "%d Objects Selected" END diff --git a/reactos/dll/win32/shell32/shresdef.h b/reactos/dll/win32/shell32/shresdef.h index 1304b0db2e4..ddb9c0a73c8 100644 --- a/reactos/dll/win32/shell32/shresdef.h +++ b/reactos/dll/win32/shell32/shresdef.h @@ -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 */