[SHELL32]

- CDefView: Implement updating the status bar . Based on patch by Barrett Karish 
CORE-10300

svn path=/trunk/; revision=69468
This commit is contained in:
Giannis Adamopoulos 2015-10-09 00:27:34 +00:00
parent 3a23a2677a
commit 203f452b02
33 changed files with 88 additions and 0 deletions

View file

@ -125,6 +125,7 @@ class CDefView :
HRESULT IncludeObject(PCUITEMID_CHILD pidl); HRESULT IncludeObject(PCUITEMID_CHILD pidl);
HRESULT OnDefaultCommand(); HRESULT OnDefaultCommand();
HRESULT OnStateChange(UINT uFlags); HRESULT OnStateChange(UINT uFlags);
void UpdateStatusbar();
void CheckToolbar(); void CheckToolbar();
void SetStyle(DWORD dwAdd, DWORD dwRemove); void SetStyle(DWORD dwAdd, DWORD dwRemove);
BOOL CreateList(); 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 ##### * ##### 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)); m_hAccel = LoadAcceleratorsW(shell32_hInstance, MAKEINTRESOURCEW(IDA_SHELLVIEW));
UpdateStatusbar();
return S_OK; return S_OK;
} }
@ -1822,6 +1845,7 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
case LVN_ITEMCHANGED: case LVN_ITEMCHANGED:
TRACE("-- LVN_ITEMCHANGED %p\n", this); TRACE("-- LVN_ITEMCHANGED %p\n", this);
OnStateChange(CDBOSC_SELCHANGE); /* the browser will get the IDataObject now */ OnStateChange(CDBOSC_SELCHANGE); /* the browser will get the IDataObject now */
UpdateStatusbar();
break; break;
case LVN_BEGINDRAG: case LVN_BEGINDRAG:

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -824,4 +824,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Popis:" IDS_EXE_DESCRIPTION "Popis:"
IDS_MENU_EMPTY "(Prázdné)" IDS_MENU_EMPTY "(Prázdné)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -824,4 +824,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -819,4 +819,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Beschreibung:" IDS_EXE_DESCRIPTION "Beschreibung:"
IDS_MENU_EMPTY "(Leer)" IDS_MENU_EMPTY "(Leer)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -819,4 +819,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Descripción:" IDS_EXE_DESCRIPTION "Descripción:"
IDS_MENU_EMPTY "(Vacío)" IDS_MENU_EMPTY "(Vacío)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description :" IDS_EXE_DESCRIPTION "Description :"
IDS_MENU_EMPTY "(Vide)" IDS_MENU_EMPTY "(Vide)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Descrizione:" IDS_EXE_DESCRIPTION "Descrizione:"
IDS_MENU_EMPTY "(Vuoto)" IDS_MENU_EMPTY "(Vuoto)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -822,4 +822,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Opis:" IDS_EXE_DESCRIPTION "Opis:"
IDS_MENU_EMPTY "(Puste)" IDS_MENU_EMPTY "(Puste)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Descrição:" IDS_EXE_DESCRIPTION "Descrição:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -820,4 +820,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Descriere:" IDS_EXE_DESCRIPTION "Descriere:"
IDS_MENU_EMPTY "(Gol)" IDS_MENU_EMPTY "(Gol)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -820,4 +820,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Описание:" IDS_EXE_DESCRIPTION "Описание:"
IDS_MENU_EMPTY "(пусто)" IDS_MENU_EMPTY "(пусто)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -822,4 +822,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Përshkrimi:" IDS_EXE_DESCRIPTION "Përshkrimi:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Açıklama:" IDS_EXE_DESCRIPTION "Açıklama:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -818,4 +818,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -825,4 +825,6 @@ BEGIN
IDS_EXE_DESCRIPTION "描述:" IDS_EXE_DESCRIPTION "描述:"
IDS_MENU_EMPTY "(空)" IDS_MENU_EMPTY "(空)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -826,4 +826,6 @@ BEGIN
IDS_EXE_DESCRIPTION "Description:" IDS_EXE_DESCRIPTION "Description:"
IDS_MENU_EMPTY "(Empty)" IDS_MENU_EMPTY "(Empty)"
IDS_OBJECTS "%d Objects"
IDS_OBJECTS_SELECTED "%d Objects Selected"
END END

View file

@ -225,6 +225,8 @@
#define IDS_MYCOMPUTER 9216 #define IDS_MYCOMPUTER 9216
#define IDS_PERSONAL 9227 #define IDS_PERSONAL 9227
#define IDS_NETWORKPLACE 9217 #define IDS_NETWORKPLACE 9217
#define IDS_OBJECTS 6466
#define IDS_OBJECTS_SELECTED 6477
/* Dialogs */ /* Dialogs */