45 lines
2 KiB
C
45 lines
2 KiB
C
#ifndef FLDSET_H_
|
|
#define FLDSET_H_
|
|
|
|
|
|
//
|
|
// view priority values
|
|
//
|
|
// NOTE: left gaps so that we can add more later
|
|
//
|
|
#define VIEW_PRIORITY_RESTRICTED 0x00000070 // a shell restriction is in place that forces this view to be the one we use
|
|
#define VIEW_PRIORITY_CACHEHIT 0x00000050 // we have registry info for the view, so the user has been there before
|
|
#define VIEW_PRIORITY_STALECACHEHIT 0x00000045 // we have stale registry info for the view, so we fall back to the "all folders like this" default
|
|
#define VIEW_PRIORITY_USEASDEFAULT 0x00000043 // "Use As Default" is more important than shellext, but less than a stale cache
|
|
#define VIEW_PRIORITY_SHELLEXT 0x00000040 // next we let the shell extension have its say
|
|
#define VIEW_PRIORITY_CACHEMISS 0x00000030 // if we have a cache miss, then we fall back to the "all folders like this" default
|
|
#define VIEW_PRIORITY_INHERIT 0x00000020 // then try to inherit the view from the previous window
|
|
#define VIEW_PRIORITY_SHELLEXT_ASBACKUP 0x0015 // If classic view state is enabled we want the shell to default to an inheritted view
|
|
#define VIEW_PRIORITY_DESPERATE 0x00000010 // just pick the last view that the window supports
|
|
#define VIEW_PRIORITY_NONE 0x00000000 // dont have a view yet
|
|
|
|
typedef struct CShellViews
|
|
{
|
|
HDPA _dpaViews;
|
|
} CShellViews;
|
|
|
|
void CShellViews_Delete(CShellViews*);
|
|
|
|
typedef struct tagFolderSetData {
|
|
FOLDERSETTINGS _fs;
|
|
SHELLVIEWID _vidRestore;
|
|
DWORD _dwViewPriority; // one of the VIEW_PRIORITY_* from above
|
|
} FOLDERSETDATA, *LPFOLDERSETDATA;
|
|
|
|
typedef struct tagFolderSetDataBase {
|
|
FOLDERSETDATA _fld;
|
|
CShellViews _cViews;
|
|
UINT _iViewSet;
|
|
} FOLDERSETDATABASE, *LPFOLDERSETDATABASE;
|
|
|
|
|
|
HRESULT FileCabinet_CreateViewWindow2(IShellBrowser* psb, FOLDERSETDATABASE* that, IShellView *psvNew,
|
|
IShellView *psvOld, RECT *prcView, HWND *phWnd);
|
|
BOOL FileCabinet_GetDefaultViewID2(FOLDERSETDATABASE* that, SHELLVIEWID* pvid);
|
|
#endif
|