ReactOS 0.4.17-dev-1190-g4c812f4
CMenuToolbars.cpp File Reference
#include "shellmenu.h"
#include <commoncontrols.h>
#include <shlwapi_undoc.h>
#include <uxtheme.h>
#include <vssym32.h>
#include "CMenuBand.h"
#include "CMenuToolbars.h"
Include dependency graph for CMenuToolbars.cpp:

Go to the source code of this file.

Macros

#define IDS_MENU_EMPTY   34561
 
#define USE_TBSTYLE_EX_VERTICAL   0
 
#define TIMERID_HOTTRACK   1
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (CMenuToolbars)
 
static SFGAOF GetFolderItemBaseType (UINT sfgao)
 
static SFGAOF GetFolderItemBaseType (IShellFolder *psf, LPCITEMIDLIST pidl)
 
int CALLBACK PidlListSort (void *item1, void *item2, LPARAM lParam)
 
static BOOL IsPidlPrograms (LPCITEMIDLIST pidlTarget)
 

Macro Definition Documentation

◆ IDS_MENU_EMPTY

#define IDS_MENU_EMPTY   34561

Definition at line 29 of file CMenuToolbars.cpp.

◆ TIMERID_HOTTRACK

#define TIMERID_HOTTRACK   1

Definition at line 37 of file CMenuToolbars.cpp.

◆ USE_TBSTYLE_EX_VERTICAL

#define USE_TBSTYLE_EX_VERTICAL   0

Definition at line 34 of file CMenuToolbars.cpp.

Function Documentation

◆ GetFolderItemBaseType() [1/2]

static SFGAOF GetFolderItemBaseType ( IShellFolder *  psf,
LPCITEMIDLIST  pidl 
)
static

Definition at line 44 of file CMenuToolbars.cpp.

45{
46 return GetFolderItemBaseType(SHELL_GetAttributesOf(psf, pidl, SFGAO_FOLDER | SFGAO_STREAM));
47}
static SFGAOF GetFolderItemBaseType(UINT sfgao)
static SFGAOF SHELL_GetAttributesOf(IShellFolder *psf, LPCITEMIDLIST pidlChild, SFGAOF query)
Definition: shellutils.h:780

◆ GetFolderItemBaseType() [2/2]

static SFGAOF GetFolderItemBaseType ( UINT  sfgao)
inlinestatic

Definition at line 39 of file CMenuToolbars.cpp.

40{
41 return (sfgao & SFGAO_STREAM) ? SFGAO_STREAM : (sfgao & SFGAO_FOLDER);
42}

Referenced by CMenuSFToolbar::FillToolbar(), GetFolderItemBaseType(), and CMenuSFToolbar::InternalHasSubMenu().

◆ IsPidlPrograms()

static BOOL IsPidlPrograms ( LPCITEMIDLIST  pidlTarget)
static

Definition at line 1344 of file CMenuToolbars.cpp.

1345{
1346 WCHAR szTarget[MAX_PATH], szPath[MAX_PATH];
1347 if (!SHGetPathFromIDListW(pidlTarget, szTarget))
1348 return FALSE;
1350 if (lstrcmpiW(szTarget, szPath) == 0)
1351 return TRUE;
1353 return (lstrcmpiW(szTarget, szPath) == 0);
1354}
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define MAX_PATH
Definition: compat.h:34
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
Definition: locale.c:4171
BOOL WINAPI SHGetSpecialFolderPathW(HWND hwndOwner, LPWSTR szPath, int nFolder, BOOL bCreate)
Definition: shellpath.c:4394
LPCWSTR szPath
Definition: env.c:37
short WCHAR
Definition: pedump.c:58
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
Definition: pidl.c:1496
#define CSIDL_COMMON_PROGRAMS
Definition: shlobj.h:2242
#define CSIDL_PROGRAMS
Definition: shlobj.h:2222

Referenced by CMenuSFToolbar::FillToolbar().

◆ PidlListSort()

int CALLBACK PidlListSort ( void *  item1,
void *  item2,
LPARAM  lParam 
)

Definition at line 1330 of file CMenuToolbars.cpp.

1331{
1332 IShellFolder * psf = (IShellFolder*) lParam;
1335 HRESULT hr = psf->CompareIDs(0, pidl1, pidl2);
1336 if (FAILED(hr))
1337 {
1338 // No way to cancel, so sort to equal.
1339 return 0;
1340 }
1341 return (int)(short)LOWORD(hr);
1342}
LPARAM lParam
Definition: combotst.c:139
HRESULT hr
Definition: delayimp.cpp:582
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
Definition: typeof.h:94
HRESULT CompareIDs([in] LPARAM lParam, [in] PCUIDLIST_RELATIVE pidl1, [in] PCUIDLIST_RELATIVE pidl2)
#define FAILED(hr)
Definition: intsafe.h:51
static const struct metadata_item item1[]
Definition: metadata.c:3603
static const struct metadata_item item2[]
Definition: metadata.c:3608
#define LOWORD(l)
Definition: pedump.c:82
const ITEMIDLIST_RELATIVE UNALIGNED * PCUIDLIST_RELATIVE
Definition: shtypes.idl:57

Referenced by CMenuSFToolbar::FillToolbar().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( CMenuToolbars  )