ReactOS 0.4.16-dev-2491-g3dc6630
CDefView.cpp File Reference
#include "precomp.h"
#include <atlwin.h>
#include <ui/rosctrls.h>
Include dependency graph for CDefView.cpp:

Go to the source code of this file.

Classes

struct  LISTVIEW_SORT_INFO
 
struct  PERSISTCOLUMNS
 
struct  PERSISTCLASSICVIEWSTATE
 
struct  MenuCleanup
 
class  CDefView
 

Macros

#define CONTEXT_MENU_BASE_ID   1
 
#define VID_Default   ( *(const SHELLVIEWID*)&IID_CDefView )
 
#define ID_LISTVIEW   1
 
#define GET_WM_COMMAND_ID(wp, lp)   LOWORD(wp)
 
#define GET_WM_COMMAND_HWND(wp, lp)   (HWND)(lp)
 
#define GET_WM_COMMAND_CMD(wp, lp)   HIWORD(wp)
 
#define UPDATEFOLDERVIEWFLAGS(bits, bit, set)   ( (bits) = ((bits) & ~(bit)) | ((set) ? (bit) : 0) )
 
#define SCROLLAREAWIDTH   20
 

Typedefs

typedef void(CALLBACKPFNSHGETSETTINGSPROC) (LPSHELLFLAGSTATE lpsfs, DWORD dwMask)
 
typedef CSimpleMap< LPARAM, INTCLParamIndexMap
 

Enumerations

enum  {
  DEFVIEW_ARRANGESORT_MAXENUM = 9 , DEFVIEW_ARRANGESORT_MAX = DEFVIEW_ARRANGESORT_MAXENUM + 1 , DVIDM_ARRANGESORT_LAST = FCIDM_SHVIEWLAST , DVIDM_ARRANGESORT_FIRST = DVIDM_ARRANGESORT_LAST - (DEFVIEW_ARRANGESORT_MAX - 1) ,
  DVIDM_COMMDLG_SELECT = DVIDM_ARRANGESORT_FIRST - 1 , DVIDM_CONTEXTMENU_LAST = DVIDM_COMMDLG_SELECT - 1 , DVIDM_CONTEXTMENU_FIRST = FCIDM_SHVIEWFIRST
}
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (shell)
 
static UINT GetContextMenuFlags (IShellBrowser *pSB, SFGAOF sfgao)
 
static void ClientToListView (HWND hwndLV, POINT *ppt)
 
static BOOL AppendMenuItem (HMENU hMenu, UINT MF, UINT Id, LPCWSTR String, SIZE_T Data=0)
 
static SIZE_T GetMenuItemDataById (HMENU hMenu, UINT Id)
 
static HMENU GetSubmenuByID (HMENU hmenu, UINT id)
 
static UINT ReallyGetMenuItemID (HMENU hmenu, int i)
 
static UINT CalculateCharWidth (HWND hwnd)
 
static COLORREF GetViewColor (COLORREF Clr, UINT SysFallback)
 
HRESULT ShellViewIdToFolderViewMode (const SHELLVIEWID *pVid)
 
const SHELLVIEWID * FolderViewModeToShellViewId (UINT FVM)
 
static HRESULT SHGetLVColumnSubItem (HWND List, UINT Col)
 
static VOID DrawTileBitmap (HDC hDC, LPCRECT prc, HBITMAP hbm, INT nWidth, INT nHeight, INT dx, INT dy)
 
static BOOL SelectExtOnRename (void)
 
static BOOL ILIsParentOrSpecialParent (PCIDLIST_ABSOLUTE pidl1, PCIDLIST_ABSOLUTE pidl2)
 
static HRESULT Read (IStream *pS, LPVOID buffer, ULONG cb)
 
static DWORD ReadDWORD (IPropertyBag *pPB, LPCWSTR name, DWORD def)
 
static HRESULT LoadColumnsStream (PERSISTCOLUMNS &cols, IStream *pS)
 
static INT CALLBACK SelectionMoveCompareFunc (LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
 
HRESULT CDefView_CreateInstance (IShellFolder *pFolder, REFIID riid, LPVOID *ppvOut)
 
HRESULT WINAPI SHCreateShellFolderView (const SFV_CREATE *pcsfv, IShellView **ppsv)
 

Macro Definition Documentation

◆ CONTEXT_MENU_BASE_ID

#define CONTEXT_MENU_BASE_ID   1

Definition at line 80 of file CDefView.cpp.

◆ GET_WM_COMMAND_CMD

#define GET_WM_COMMAND_CMD (   wp,
  lp 
)    HIWORD(wp)

Definition at line 597 of file CDefView.cpp.

◆ GET_WM_COMMAND_HWND

#define GET_WM_COMMAND_HWND (   wp,
  lp 
)    (HWND)(lp)

Definition at line 596 of file CDefView.cpp.

◆ GET_WM_COMMAND_ID

#define GET_WM_COMMAND_ID (   wp,
  lp 
)    LOWORD(wp)

Definition at line 595 of file CDefView.cpp.

◆ ID_LISTVIEW

#define ID_LISTVIEW   1

Definition at line 592 of file CDefView.cpp.

◆ SCROLLAREAWIDTH

#define SCROLLAREAWIDTH   20

Definition at line 4299 of file CDefView.cpp.

◆ UPDATEFOLDERVIEWFLAGS

#define UPDATEFOLDERVIEWFLAGS (   bits,
  bit,
  set 
)    ( (bits) = ((bits) & ~(bit)) | ((set) ? (bit) : 0) )

Definition at line 3476 of file CDefView.cpp.

◆ VID_Default

#define VID_Default   ( *(const SHELLVIEWID*)&IID_CDefView )

Definition at line 218 of file CDefView.cpp.

Typedef Documentation

◆ CLParamIndexMap

Definition at line 4573 of file CDefView.cpp.

◆ PFNSHGETSETTINGSPROC

typedef void(CALLBACK * PFNSHGETSETTINGSPROC) (LPSHELLFLAGSTATE lpsfs, DWORD dwMask)

Definition at line 599 of file CDefView.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
DEFVIEW_ARRANGESORT_MAXENUM 
DEFVIEW_ARRANGESORT_MAX 
DVIDM_ARRANGESORT_LAST 
DVIDM_ARRANGESORT_FIRST 
DVIDM_COMMDLG_SELECT 
DVIDM_CONTEXTMENU_LAST 
DVIDM_CONTEXTMENU_FIRST 

Definition at line 46 of file CDefView.cpp.

46 {
47 DEFVIEW_ARRANGESORT_MAXENUM = 9, // Limit the number of the visible columns we will display in the submenu
48 DEFVIEW_ARRANGESORT_MAX = DEFVIEW_ARRANGESORT_MAXENUM + 1, // Reserve one extra for the current sort-by column
52
54 // FIXME: FCIDM_SHVIEWFIRST is 0 and using that with QueryContextMenu is a
55 // bad idea because it hides bugs related to the ids in ici.lpVerb.
56 // CONTEXT_MENU_BASE_ID acknowledges this but failed to apply the fix everywhere.
58};
@ DEFVIEW_ARRANGESORT_MAX
Definition: CDefView.cpp:48
@ DVIDM_CONTEXTMENU_LAST
Definition: CDefView.cpp:53
@ DVIDM_ARRANGESORT_FIRST
Definition: CDefView.cpp:50
@ DEFVIEW_ARRANGESORT_MAXENUM
Definition: CDefView.cpp:47
@ DVIDM_ARRANGESORT_LAST
Definition: CDefView.cpp:49
@ DVIDM_CONTEXTMENU_FIRST
Definition: CDefView.cpp:57
@ DVIDM_COMMDLG_SELECT
Definition: CDefView.cpp:51
#define FCIDM_SHVIEWFIRST
Definition: shlobj.h:590
#define FCIDM_SHVIEWLAST
Definition: shlobj.h:621

Function Documentation

◆ AppendMenuItem()

static BOOL AppendMenuItem ( HMENU  hMenu,
UINT  MF,
UINT  Id,
LPCWSTR  String,
SIZE_T  Data = 0 
)
static

Definition at line 155 of file CDefView.cpp.

156{
157 MENUITEMINFOW mii;
158 mii.cbSize = sizeof(mii);
160 mii.fState = MF & (MFS_CHECKED | MFS_DISABLED);
161 mii.fType = MF & ~mii.fState;
162 mii.wID = Id;
163 mii.dwTypeData = const_cast<LPWSTR>(String);
164 mii.dwItemData = Data;
165 return InsertMenuItemW(hMenu, -1, TRUE, &mii);
166}
DWORD Id
#define TRUE
Definition: types.h:120
ULONG_PTR dwItemData
Definition: winuser.h:3376
LPWSTR dwTypeData
Definition: winuser.h:3377
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2439
#define MIIM_ID
Definition: winuser.h:733
#define MFS_DISABLED
Definition: winuser.h:760
#define MIIM_STATE
Definition: winuser.h:732
#define MFS_CHECKED
Definition: winuser.h:758
#define MIIM_DATA
Definition: winuser.h:737
#define MIIM_TYPE
Definition: winuser.h:736
BOOL WINAPI InsertMenuItemW(_In_ HMENU, _In_ UINT, _In_ BOOL, _In_ LPCMENUITEMINFOW)
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by CDefView::ColumnListChanged(), CDefView::DoColumnContextMenu(), and CDefView::FillArrangeAsMenu().

◆ CalculateCharWidth()

static UINT CalculateCharWidth ( HWND  hwnd)
static

Definition at line 199 of file CDefView.cpp.

200{
201 UINT ret = 0;
202 HDC hDC = GetDC(hwnd);
203 if (hDC)
204 {
207 SelectObject(hDC, hOrg);
209 }
210 return ret;
211}
static HDC hDC
Definition: 3dtext.c:33
#define NULL
Definition: types.h:112
return ret
Definition: mutex.c:146
static HDC
Definition: imagelist.c:88
unsigned int UINT
Definition: ndis.h:50
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
LONG WINAPI GdiGetCharDimensions(HDC, LPTEXTMETRICW, LONG *)
Definition: font.c:2314
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1546
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
#define WM_GETFONT
Definition: winuser.h:1679
#define SendMessage
Definition: winuser.h:6009
HDC WINAPI GetDC(_In_opt_ HWND)

Referenced by CDefView::LoadColumn().

◆ CDefView_CreateInstance()

HRESULT CDefView_CreateInstance ( IShellFolder pFolder,
REFIID  riid,
LPVOID ppvOut 
)

Definition at line 4819 of file CDefView.cpp.

4820{
4821 return ShellObjectCreatorInit<CDefView>(pFolder, riid, ppvOut);
4822}
REFIID riid
Definition: atlbase.h:39

Referenced by SHCreateShellFolderView().

◆ ClientToListView()

static void ClientToListView ( HWND  hwndLV,
POINT ppt 
)
static

Definition at line 117 of file CDefView.cpp.

118{
119 POINT Origin = {};
120
121 // FIXME: LVM_GETORIGIN is broken. See CORE-17266
122 if (!ListView_GetOrigin(hwndLV, &Origin))
123 return;
124
125 ppt->x += Origin.x;
126 ppt->y += Origin.y;
127}
#define ListView_GetOrigin(hwndLV, ppt)
Definition: commctrl.h:2674
long y
Definition: polytest.cpp:48
long x
Definition: polytest.cpp:48

Referenced by CDefView::drag_notify_subitem(), CDefView::Drop(), and CDefView::OnNotify().

◆ DrawTileBitmap()

static VOID DrawTileBitmap ( HDC  hDC,
LPCRECT  prc,
HBITMAP  hbm,
INT  nWidth,
INT  nHeight,
INT  dx,
INT  dy 
)
static

Definition at line 1691 of file CDefView.cpp.

1692{
1693 INT x0 = prc->left, y0 = prc->top, x1 = prc->right, y1 = prc->bottom;
1694 x0 += dx;
1695 y0 += dy;
1696
1697 HDC hMemDC = CreateCompatibleDC(hDC);
1698 HGDIOBJ hbmOld = SelectObject(hMemDC, hbm);
1699
1700 for (INT y = y0; y < y1; y += nHeight)
1701 {
1702 for (INT x = x0; x < x1; x += nWidth)
1703 {
1704 BitBlt(hDC, x, y, nWidth, nHeight, hMemDC, 0, 0, SRCCOPY);
1705 }
1706 }
1707
1708 SelectObject(hMemDC, hbmOld);
1709 DeleteDC(hMemDC);
1710}
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
Definition: common.c:42
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLint dy
Definition: linetemp.h:97
GLint x0
Definition: linetemp.h:95
GLint y0
Definition: linetemp.h:96
GLint dx
Definition: linetemp.h:97
_In_ HBITMAP hbm
Definition: ntgdi.h:2776
_Out_ LPRECT prc
Definition: ntgdi.h:1658
LONG right
Definition: windef.h:108
LONG bottom
Definition: windef.h:109
LONG top
Definition: windef.h:107
LONG left
Definition: windef.h:106
int32_t INT
Definition: typedefs.h:58
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
Definition: winddi.h:3708
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
Definition: winddi.h:3709
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
#define SRCCOPY
Definition: wingdi.h:333
BOOL WINAPI DeleteDC(_In_ HDC)

Referenced by CDefView::OnPrintClient().

◆ FolderViewModeToShellViewId()

const SHELLVIEWID * FolderViewModeToShellViewId ( UINT  FVM)

Definition at line 33 of file CDefViewUtil.cpp.

34{
35 static const SHELLVIEWID *vids[] = {
36 &VID_LargeIcons, &VID_SmallIcons,
37 &VID_Details, &VID_Thumbnails,
38 &VID_Tile, &VID_ThumbStrip,
39 };
40 FVM -= FVM_FIRST;
41 return FVM < _countof(vids) ? vids[FVM] : NULL;
42}
@ FVM_FIRST
Definition: shobjidl.idl:680
#define _countof(array)
Definition: sndvol32.h:70

Referenced by CDefView::CreateViewWindow3(), and CDefView::GetView().

◆ GetContextMenuFlags()

static UINT GetContextMenuFlags ( IShellBrowser pSB,
SFGAOF  sfgao 
)
static

Definition at line 102 of file CDefView.cpp.

103{
104 UINT cmf = CMF_NORMAL;
105 if (GetKeyState(VK_SHIFT) < 0)
106 cmf |= CMF_EXTENDEDVERBS;
107 if (sfgao & SFGAO_CANRENAME)
108 cmf |= CMF_CANRENAME;
109 HWND hwnd = NULL;
110 if (pSB && SUCCEEDED(pSB->GetControlWindow(FCW_TREE, &hwnd)) && hwnd)
111 cmf |= CMF_EXPLORE;
112 return cmf;
113}
HRESULT GetControlWindow([in] UINT id, [out] HWND *phwnd)
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define VK_SHIFT
Definition: winuser.h:2238
SHORT WINAPI GetKeyState(_In_ int)

Referenced by CDefView::FillFileMenu(), CDefView::OnContextMenu(), and CDefView::OpenSelectedItems().

◆ GetMenuItemDataById()

static SIZE_T GetMenuItemDataById ( HMENU  hMenu,
UINT  Id 
)
static

Definition at line 168 of file CDefView.cpp.

169{
170 MENUITEMINFOW mii;
171 mii.cbSize = FIELD_OFFSET(MENUITEMINFOW, hbmpItem);
172 mii.fMask = MIIM_DATA;
173 if (GetMenuItemInfoW(hMenu, Id, FALSE, &mii))
174 return mii.dwItemData;
175 else
176 return 0;
177}
#define FALSE
Definition: types.h:117
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)

Referenced by CDefView::DoColumnContextMenu(), and CDefView::OnCommand().

◆ GetSubmenuByID()

static HMENU GetSubmenuByID ( HMENU  hmenu,
UINT  id 
)
static

Definition at line 179 of file CDefView.cpp.

180{
181 MENUITEMINFOW mii = {sizeof(mii), MIIM_SUBMENU};
182 if (::GetMenuItemInfoW(hmenu, id, FALSE, &mii))
183 return mii.hSubMenu;
184
185 return NULL;
186}
static HMENU hmenu
Definition: win.c:78
#define MIIM_SUBMENU
Definition: winuser.h:734

Referenced by CDefView::ColumnListChanged(), CDefView::FillEditMenu(), CDefView::FillFileMenu(), CDefView::FillViewMenu(), and CDefView::OnInitMenuPopup().

◆ GetViewColor()

static COLORREF GetViewColor ( COLORREF  Clr,
UINT  SysFallback 
)
inlinestatic

Definition at line 213 of file CDefView.cpp.

214{
215 return Clr != CLR_INVALID ? Clr : GetSysColor(SysFallback);
216}
#define CLR_INVALID
Definition: wingdi.h:883
DWORD WINAPI GetSysColor(_In_ int)

Referenced by CDefView::OnPrintClient(), and CDefView::UpdateListColors().

◆ ILIsParentOrSpecialParent()

static BOOL ILIsParentOrSpecialParent ( PCIDLIST_ABSOLUTE  pidl1,
PCIDLIST_ABSOLUTE  pidl2 
)
static

Definition at line 2912 of file CDefView.cpp.

2913{
2914 if (!pidl1 || !pidl2)
2915 return FALSE;
2916 if (ILIsParent(pidl1, pidl2, TRUE))
2917 return TRUE;
2918
2919 CComHeapPtr<ITEMIDLIST_ABSOLUTE> pidl2Clone(ILClone(pidl2));
2920 ILRemoveLastID(pidl2Clone);
2921 return ILIsEqual(pidl1, pidl2Clone);
2922}
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST pidl)
Definition: pidl.c:238
BOOL WINAPI ILIsParent(LPCITEMIDLIST pidlParent, LPCITEMIDLIST pidlChild, BOOL bImmediate)
Definition: pidl.c:698
BOOL WINAPI ILRemoveLastID(LPITEMIDLIST pidl)
Definition: pidl.c:222
BOOL WINAPI ILIsEqual(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
Definition: pidl.c:583

Referenced by CDefView::OnChangeNotify().

◆ LoadColumnsStream()

static HRESULT LoadColumnsStream ( PERSISTCOLUMNS cols,
IStream pS 
)
static

Definition at line 3324 of file CDefView.cpp.

3325{
3327 if (FAILED(hr))
3328 return hr;
3329 if (cols.Signature != PERSISTCOLUMNS::SIG || cols.Count > cols.MAXCOUNT)
3331 return Read(pS, &cols.Columns, sizeof(*cols.Columns) * cols.Count);
3332}
static const COLUMN_LIST Columns[]
Definition: listview.c:19
HRESULT hr
Definition: delayimp.cpp:573
#define FAILED(hr)
Definition: intsafe.h:51
#define HResultFromWin32
Definition: loader.cpp:14
_In_ BOOLEAN Read
Definition: strmini.h:479
static const UINT SIG
Definition: CDefView.cpp:85
UINT Columns[MAXCOUNT]
Definition: CDefView.cpp:88
#define ERROR_INVALID_DATA
Definition: winerror.h:238

Referenced by CDefView::LoadViewState().

◆ Read()

static HRESULT Read ( IStream pS,
LPVOID  buffer,
ULONG  cb 
)
static

Definition at line 3295 of file CDefView.cpp.

3296{
3297 ULONG read;
3298 HRESULT hr = pS->Read(buffer, cb, &read);
3299 return FAILED(hr) ? hr : (cb == read ? S_OK : HResultFromWin32(ERROR_MORE_DATA));
3300}
#define read
Definition: acwin.h:96
#define ERROR_MORE_DATA
Definition: dderror.h:13
static MonoProfilerRuntimeShutdownBeginCallback cb
Definition: metahost.c:118
GLuint buffer
Definition: glext.h:5915
HRESULT Read([out, size_is(cb), length_is(*pcbRead)] void *pv, [in] ULONG cb, [out] ULONG *pcbRead)
#define S_OK
Definition: intsafe.h:52
uint32_t ULONG
Definition: typedefs.h:59

◆ ReadDWORD()

static DWORD ReadDWORD ( IPropertyBag pPB,
LPCWSTR  name,
DWORD  def 
)
static

Definition at line 3302 of file CDefView.cpp.

3303{
3304 DWORD value;
3306 return SUCCEEDED(hr) ? value : def;
3307}
unsigned long DWORD
Definition: ntddk_ex.h:95
HRESULT WINAPI SHPropertyBag_ReadDWORD(IPropertyBag *ppb, LPCWSTR pszPropName, DWORD *pdwValue)
Definition: name.c:39
Definition: pdh_main.c:96

Referenced by CDefView::LoadViewState().

◆ ReallyGetMenuItemID()

static UINT ReallyGetMenuItemID ( HMENU  hmenu,
int  i 
)
static

Definition at line 190 of file CDefView.cpp.

191{
192 MENUITEMINFOW mii = {sizeof(mii), MIIM_ID};
193 if (::GetMenuItemInfoW(hmenu, i, TRUE, &mii))
194 return mii.wID;
195
196 return UINT_MAX;
197}
#define UINT_MAX
Definition: limits.h:27
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248

Referenced by CDefView::OnInitMenuPopup().

◆ SelectExtOnRename()

static BOOL SelectExtOnRename ( void  )
static

Definition at line 2641 of file CDefView.cpp.

2642{
2643 HKEY hKey;
2644 LONG error;
2645 DWORD dwValue = FALSE, cbValue;
2646
2648 if (error)
2649 return dwValue;
2650
2651 cbValue = sizeof(dwValue);
2652 RegQueryValueExW(hKey, L"SelectExtOnRename", NULL, NULL, (LPBYTE)&dwValue, &cbValue);
2653
2655 return !!dwValue;
2656}
#define RegCloseKey(hKey)
Definition: registry.h:49
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3333
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
Definition: reg.c:4103
#define L(x)
Definition: resources.c:13
FxAutoRegKey hKey
#define error(str)
Definition: mkdosfs.c:1605
#define KEY_READ
Definition: nt_native.h:1026
long LONG
Definition: pedump.c:60
#define REGSTR_PATH_EXPLORER
Definition: regstr.h:33
unsigned char * LPBYTE
Definition: typedefs.h:53
#define HKEY_CURRENT_USER
Definition: winreg.h:11

Referenced by CDefView::OnNotify().

◆ SelectionMoveCompareFunc()

static INT CALLBACK SelectionMoveCompareFunc ( LPARAM  lParam1,
LPARAM  lParam2,
LPARAM  lParamSort 
)
static

Definition at line 4576 of file CDefView.cpp.

4577{
4578 CLParamIndexMap *pmap = (CLParamIndexMap *)lParamSort;
4579 INT i1 = pmap->Lookup(lParam1), i2 = pmap->Lookup(lParam2);
4580 if (i1 < i2)
4581 return -1;
4582 if (i1 > i2)
4583 return 1;
4584 return 0;
4585}
Definition: pmap_prot.h:88

Referenced by CDefView::_MoveSelectionOnAutoArrange().

◆ SHCreateShellFolderView()

HRESULT WINAPI SHCreateShellFolderView ( const SFV_CREATE pcsfv,
IShellView **  ppsv 
)

Definition at line 4824 of file CDefView.cpp.

4825{
4827 HRESULT hRes;
4828
4829 if (!ppsv)
4830 return E_INVALIDARG;
4831
4832 *ppsv = NULL;
4833
4834 if (!pcsfv || pcsfv->cbSize != sizeof(*pcsfv))
4835 return E_INVALIDARG;
4836
4837 TRACE("sf=%p outer=%p callback=%p\n",
4838 pcsfv->pshf, pcsfv->psvOuter, pcsfv->psfvcb);
4839
4840 hRes = CDefView_CreateInstance(pcsfv->pshf, IID_PPV_ARG(IShellView, &psv));
4841 if (FAILED(hRes))
4842 return hRes;
4843
4844 if (pcsfv->psfvcb)
4845 {
4847 if (SUCCEEDED(psv->QueryInterface(IID_PPV_ARG(IShellFolderView, &sfv))))
4848 {
4849 sfv->SetCallback(pcsfv->psfvcb, NULL);
4850 }
4851 }
4852
4853 *ppsv = psv.Detach();
4854 return hRes;
4855}
HRESULT CDefView_CreateInstance(IShellFolder *pFolder, REFIID riid, LPVOID *ppvOut)
Definition: CDefView.cpp:4819
T * Detach()
Definition: atlcomcli.h:186
#define E_INVALIDARG
Definition: ddrawi.h:101
#define TRACE(s)
Definition: solgame.cpp:4
IShellFolderViewCB * psfvcb
Definition: shlobj.h:1367
IShellView * psvOuter
Definition: shlobj.h:1366
UINT cbSize
Definition: shlobj.h:1364
IShellFolder * pshf
Definition: shlobj.h:1365
#define IID_PPV_ARG(Itype, ppType)

Referenced by CFindFolder::CreateViewObject(), CCabFolder::CreateViewObject(), CFontExt::CreateViewObject(), CZipFolder::CreateViewObject(), CControlPanelFolder::CreateViewObject(), CDesktopFolder::CreateViewObject(), CDrivesFolder::CreateViewObject(), CFSFolder::CreateViewObject(), CNetFolder::CreateViewObject(), CPrinterFolder::CreateViewObject(), CRecycleBin::CreateViewObject(), CCommonFolder< TSelf, TItemId, TExtractIcon >::CreateViewObject(), ResetDefViewFolderSettings(), SHCreateShellFolderViewEx(), START_TEST(), test_SHCreateShellFolderView(), and ShellBrowser::UpdateFolderView().

◆ ShellViewIdToFolderViewMode()

HRESULT ShellViewIdToFolderViewMode ( const SHELLVIEWID *  pVid)

Definition at line 13 of file CDefViewUtil.cpp.

14{
15 if (IsEqualIID(*pVid, VID_LargeIcons))
16 return FVM_ICON;
17 else if (IsEqualIID(*pVid, VID_SmallIcons))
18 return FVM_SMALLICON;
19 else if (IsEqualIID(*pVid, VID_List))
20 return FVM_LIST;
21 else if (IsEqualIID(*pVid, VID_Details))
22 return FVM_DETAILS;
23 else if (IsEqualIID(*pVid, VID_Thumbnails))
24 return FVM_THUMBNAIL;
25 else if (IsEqualIID(*pVid, VID_Tile))
26 return FVM_TILE;
27 else if (IsEqualIID(*pVid, VID_ThumbStrip))
28 return FVM_THUMBSTRIP;
29 return E_UNEXPECTED;
30}
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
@ FVM_SMALLICON
Definition: shobjidl.idl:681
@ FVM_LIST
Definition: shobjidl.idl:682
@ FVM_TILE
Definition: shobjidl.idl:685
@ FVM_THUMBNAIL
Definition: shobjidl.idl:684
@ FVM_THUMBSTRIP
Definition: shobjidl.idl:686
@ FVM_ICON
Definition: shobjidl.idl:679
@ FVM_DETAILS
Definition: shobjidl.idl:683
#define E_UNEXPECTED
Definition: winerror.h:3528

Referenced by CDefView::CreateViewWindow3().

◆ SHGetLVColumnSubItem()

static HRESULT SHGetLVColumnSubItem ( HWND  List,
UINT  Col 
)
static

Definition at line 1010 of file CDefView.cpp.

1011{
1012 LVCOLUMN lvc;
1013 lvc.mask = LVCF_SUBITEM;
1014 if (!ListView_GetColumn(List, Col, &lvc))
1015 return E_FAIL;
1016 else
1017 return lvc.iSubItem;
1018}
#define E_FAIL
Definition: ddrawi.h:102
#define ListView_GetColumn(hwnd, iCol, pcol)
Definition: commctrl.h:2627
#define LVCF_SUBITEM
Definition: commctrl.h:2594
#define LVCOLUMN
Definition: commctrl.h:2586
_Must_inspect_result_ _In_ WDFCMRESLIST List
Definition: wdfresource.h:550

Referenced by CDefView::MapFolderColumnToListColumn(), and CDefView::MapListColumnToFolderColumn().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( shell  )