2 * Implementation of IShellBrowser for the File Open common dialog
4 * Copyright 1999 Francois Boisvert
5 * Copyright 1999, 2000 Juergen Schmied
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
25 /***********************************************************************
26 * Defines and global variables
29 /* dialog internal property */
31 #define FODPROP_SAVEDLG 0x0001 /* File dialog is a Save file dialog */
32 #define FODPROP_USEVIEW 0x0002 /* Indicates the user selection must be taken
33 from the IShellView */
35 /***********************************************************************
42 LPOPENFILENAMEW ofnInfos
;
50 SIZE sizedlg
; /* remember the size of the dialog */
51 POINT initial_size
; /* remember the initial size of the dialog */
53 IShellBrowser
*FOIShellBrowser
;
54 IShellFolder
*FOIShellFolder
;
55 IShellView
*FOIShellView
;
56 IDataObject
*FOIDataObject
;
62 FOLDERSETTINGS folderSettings
;
63 LPITEMIDLIST pidlAbsCurrent
;
64 LPWSTR lpstrCurrentFilter
;
86 /***********************************************************************
89 #define IDS_FILENOTFOUND 114
90 #define IDS_VERIFYFILE 115
91 #define IDS_CREATEFILE 116
92 #define IDS_OVERWRITEFILE 119
93 #define IDS_INVALID_FILENAME_TITLE 120
94 #define IDS_INVALID_FILENAME 121
95 #define IDS_PATHNOTEXISTING 122
96 #define IDS_FILENOTEXISTING 123
97 #define IDS_INVALID_FOLDERNAME 124
99 /* File Dialog Tooltips string IDs */
101 #define IDS_UPFOLDER 150
102 #define IDS_NEWFOLDER 151
103 #define IDS_LISTVIEW 152
104 #define IDS_REPORTVIEW 153
105 #define IDS_TODESKTOP 154
107 #define IDC_OPENREADONLY chx1
109 #define IDC_TOOLBARSTATIC stc1
110 #define IDC_FILETYPESTATIC stc2
111 #define IDC_FILENAMESTATIC stc3
112 #define IDC_LOOKINSTATIC stc4
114 #define IDC_SHELLSTATIC lst1
116 #define IDC_FILETYPE cmb1
117 #define IDC_LOOKIN cmb2
119 #define IDC_FILENAME edt1
121 #define IDC_TOOLBAR 1
123 /***********************************************************************
124 * Prototypes for the methods of the IShellBrowserImpl class
127 IShellBrowser
* IShellBrowserImpl_Construct(HWND hwndOwner
) DECLSPEC_HIDDEN
;
130 LPITEMIDLIST
GetPidlFromDataObject ( IDataObject
*doSelected
, UINT nPidlIndex
) DECLSPEC_HIDDEN
;
132 /* Functions used by the EDIT box */
133 void FILEDLG95_FILENAME_FillFromSelection (HWND hwnd
) DECLSPEC_HIDDEN
;
135 /**************************************************************************
136 * External Prototypes
138 extern const char FileOpenDlgInfosStr
[] DECLSPEC_HIDDEN
;
140 extern IShellFolder
* GetShellFolderFromPidl(LPITEMIDLIST pidlAbs
) DECLSPEC_HIDDEN
;
141 extern LPITEMIDLIST
GetParentPidl(LPITEMIDLIST pidl
) DECLSPEC_HIDDEN
;
143 extern int FILEDLG95_LOOKIN_SelectItem(HWND hwnd
,LPITEMIDLIST pidl
) DECLSPEC_HIDDEN
;
144 extern LRESULT
SendCustomDlgNotificationMessage(HWND hwndParentDlg
, UINT uCode
) DECLSPEC_HIDDEN
;
146 #endif /*SHBROWSER_H*/