|
From: <kr_...@us...> - 2003-04-26 10:01:23
|
Update of /cvsroot/htoolkit/port/src/cbits/Win32
In directory sc8-pr-cvs1:/tmp/cvs-serv4266/port/src/cbits/Win32
Modified Files:
FileDialog.c
Log Message:
The InputFileDialog, OutputFileDialog and SelectDirectory dialogs has extended functionality
Index: FileDialog.c
===================================================================
RCS file: /cvsroot/htoolkit/port/src/cbits/Win32/FileDialog.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** FileDialog.c 29 Mar 2003 08:12:18 -0000 1.3
--- FileDialog.c 26 Apr 2003 10:00:48 -0000 1.4
***************
*** 18,28 ****
}
! char *osSelectDirectory()
{
char buffer[MAX_PATH];
LPITEMIDLIST pidlReturn;
BROWSEINFO bi;
! char *s = NULL;
! char title[17] = "Select Directory\0";
bi.hwndOwner = ghWndFrame;
--- 18,27 ----
}
! char *osSelectDirectory(char *title)
{
char buffer[MAX_PATH];
LPITEMIDLIST pidlReturn;
BROWSEINFO bi;
! char *s = NULL;
bi.hwndOwner = ghWndFrame;
***************
*** 48,52 ****
}
! char *osSelectInputFile()
{
OPENFILENAME ofn;
--- 47,51 ----
}
! char *osSelectInputFile(char *title, char *filter)
{
OPENFILENAME ofn;
***************
*** 56,60 ****
ofn.hwndOwner = ghWndFrame;
ofn.hInstance = NULL;
! ofn.lpstrFilter = NULL;
ofn.lpstrCustomFilter = NULL;
ofn.nMaxCustFilter = 0;
--- 55,59 ----
ofn.hwndOwner = ghWndFrame;
ofn.hInstance = NULL;
! ofn.lpstrFilter = filter;
ofn.lpstrCustomFilter = NULL;
ofn.nMaxCustFilter = 0;
***************
*** 66,78 ****
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
! ofn.lpstrTitle = NULL;
ofn.Flags = OFN_EXPLORER
| OFN_FILEMUSTEXIST
| OFN_HIDEREADONLY
| OFN_PATHMUSTEXIST
! | OFN_ENABLEHOOK; // PA: OFN_ENABLEHOOK added from Ronny
ofn.lpstrDefExt = NULL;
ofn.lCustData = 0;
! ofn.lpfnHook = &FileSelectorHook; // PA: &FileSelectorHook instead of NULL from Ronny
ofn.lpTemplateName = NULL;
--- 65,77 ----
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
! ofn.lpstrTitle = title;
ofn.Flags = OFN_EXPLORER
| OFN_FILEMUSTEXIST
| OFN_HIDEREADONLY
| OFN_PATHMUSTEXIST
! | OFN_ENABLEHOOK;
ofn.lpstrDefExt = NULL;
ofn.lCustData = 0;
! ofn.lpfnHook = &FileSelectorHook;
ofn.lpTemplateName = NULL;
***************
*** 84,97 ****
}
! char *osSelectOutputFile(char *promptptr, char *nameptr)
{
OPENFILENAME ofn;
! if (strlen(promptptr) == 0)
! promptptr = NULL;
ofn.lStructSize = sizeof (OPENFILENAME);
ofn.hwndOwner = ghWndFrame;
! ofn.lpstrFilter = NULL;
ofn.lpstrCustomFilter = NULL;
ofn.nMaxCustFilter = 0;
--- 83,172 ----
}
! char *osSelectInputFiles(char *title, char *filter)
{
+ char *buffer;
OPENFILENAME ofn;
! buffer = malloc(MAX_PATH*2);
! if (!buffer)
! return NULL;
ofn.lStructSize = sizeof (OPENFILENAME);
ofn.hwndOwner = ghWndFrame;
! ofn.hInstance = NULL;
! ofn.lpstrFilter = filter;
! ofn.lpstrCustomFilter = NULL;
! ofn.nMaxCustFilter = 0;
! ofn.nFilterIndex = 0;
! ofn.lpstrFile = buffer;
! ofn.lpstrFile[0] = '\0';
! ofn.nMaxFile = MAX_PATH*2;
! ofn.lpstrFileTitle = NULL;
! ofn.nMaxFileTitle = 0;
! ofn.lpstrInitialDir = NULL;
! ofn.lpstrTitle = title;
! ofn.Flags = OFN_EXPLORER
! | OFN_FILEMUSTEXIST
! | OFN_HIDEREADONLY
! | OFN_PATHMUSTEXIST
! | OFN_ENABLEHOOK
! | OFN_ALLOWMULTISELECT;
! ofn.lpstrDefExt = NULL;
! ofn.lCustData = 0;
! ofn.lpfnHook = &FileSelectorHook;
! ofn.lpTemplateName = NULL;
!
! if (GetOpenFileName(&ofn))
! {
! int nLen, nSize;
! char *s, *s2, *buffer;
!
! nSize = 1;
! s = ofn.lpstrFile+ofn.nFileOffset;
! while (*s)
! {
! nLen = strlen(s);
! s += nLen+1;
! nSize += ofn.nFileOffset+nLen+1;
! }
!
! buffer = malloc(nSize);
! if (!buffer)
! {
! free(ofn.lpstrFile);
! return NULL;
! }
!
! s2 = buffer;
! s = ofn.lpstrFile+ofn.nFileOffset;
! while (*s)
! {
! memcpy(s2,ofn.lpstrFile,ofn.nFileOffset-1);
! s2[ofn.nFileOffset-1] = '\\';
! strcpy(s2+ofn.nFileOffset,s);
! nLen = strlen(s);
! s += nLen+1;
! s2 += ofn.nFileOffset+nLen+1;
! }
! *s2 = 0;
!
! free(ofn.lpstrFile);
! return buffer;
! }
!
! free(ofn.lpstrFile);
! return NULL;
! }
!
! char *osSelectOutputFile(char *title, char *filter, char *nameptr)
! {
! OPENFILENAME ofn;
!
! if (strlen(title) == 0)
! title = NULL;
!
! ofn.lStructSize = sizeof (OPENFILENAME);
! ofn.hwndOwner = ghWndFrame;
! ofn.lpstrFilter = filter;
ofn.lpstrCustomFilter = NULL;
ofn.nMaxCustFilter = 0;
***************
*** 106,117 ****
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
! ofn.lpstrTitle = promptptr;
ofn.Flags = OFN_EXPLORER
| OFN_OVERWRITEPROMPT
| OFN_HIDEREADONLY
! | OFN_ENABLEHOOK; // PA: OFN_ENABLEHOOK added from Ronny
ofn.lpstrDefExt = NULL;
ofn.lCustData = 0;
! ofn.lpfnHook = &FileSelectorHook; // PA: &FileSelectorHook instead of NULL from Ronny
ofn.lpTemplateName = NULL;
--- 181,192 ----
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
! ofn.lpstrTitle = title;
ofn.Flags = OFN_EXPLORER
| OFN_OVERWRITEPROMPT
| OFN_HIDEREADONLY
! | OFN_ENABLEHOOK;
ofn.lpstrDefExt = NULL;
ofn.lCustData = 0;
! ofn.lpfnHook = &FileSelectorHook;
ofn.lpTemplateName = NULL;
|