https://git.reactos.org/?p=reactos.git;a=commitdiff;h=bebdfda8b76c342aabec28cb25fb787c7762a310

commit bebdfda8b76c342aabec28cb25fb787c7762a310
Author:     Katayama Hirofumi MZ <[email protected]>
AuthorDate: Thu Apr 1 22:50:32 2021 +0900
Commit:     GitHub <[email protected]>
CommitDate: Thu Apr 1 22:50:32 2021 +0900

    [NOTEPAD][WORDPAD][MSPAINT]... Use newer file open dialog (#3571)
    
    Use new-style file open/save-as dialog.
    - Add OFN_EXPLORER flag to OPENFILENAME structure in notepad, wordpad, 
mspaint, clipbrd, mmc, mplay32, mscutils, regedit, winhlp32, progman, 
shellbtrfs, cryptui, shell32, setupapi, vgafontedit, infinst, and vfdlib 
modules.
---
 base/applications/clipbrd/clipbrd.c                           | 2 +-
 base/applications/mmc/console.c                               | 2 +-
 base/applications/mplay32/mplay32.c                           | 2 +-
 base/applications/mscutils/eventvwr/eventvwr.c                | 2 +-
 base/applications/mscutils/servman/propsheet_recovery.c       | 2 +-
 base/applications/mspaint/main.cpp                            | 4 ++--
 base/applications/notepad/dialog.c                            | 2 +-
 base/applications/regedit/framewnd.c                          | 2 +-
 base/applications/winhlp32/winhelp.c                          | 2 +-
 base/applications/wordpad/print.c                             | 2 +-
 base/applications/wordpad/wordpad.c                           | 4 ++--
 base/shell/progman/dialog.c                                   | 2 +-
 dll/shellext/shellbtrfs/recv.cpp                              | 2 +-
 dll/shellext/shellbtrfs/send.cpp                              | 1 +
 dll/win32/cryptui/main.c                                      | 3 +++
 dll/win32/setupapi/dialog.c                                   | 2 +-
 dll/win32/shell32/COpenWithMenu.cpp                           | 2 +-
 dll/win32/shell32/dialogs/filetypes.cpp                       | 2 +-
 modules/rosapps/applications/devutils/vgafontedit/opensave.c  | 2 +-
 modules/rosapps/applications/sysutils/utils/infinst/infinst.c | 2 +-
 modules/rosapps/lib/vfdlib/vfdguiopen.c                       | 2 +-
 modules/rosapps/lib/vfdlib/vfdguisave.c                       | 2 +-
 22 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/base/applications/clipbrd/clipbrd.c 
b/base/applications/clipbrd/clipbrd.c
index aa14d44cdc3..6f5733cae48 100644
--- a/base/applications/clipbrd/clipbrd.c
+++ b/base/applications/clipbrd/clipbrd.c
@@ -32,7 +32,7 @@ static void SaveClipboardToFile(void)
     sfn.lpstrFilter = szFilterMask;
     sfn.lpstrFile = szFileName;
     sfn.nMaxFile = ARRAYSIZE(szFileName);
-    sfn.Flags = OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
+    sfn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | 
OFN_OVERWRITEPROMPT;
     sfn.lpstrDefExt = L"clp";
 
     if (!GetSaveFileNameW(&sfn))
diff --git a/base/applications/mmc/console.c b/base/applications/mmc/console.c
index f56fbc546f3..a9fc833c401 100644
--- a/base/applications/mmc/console.c
+++ b/base/applications/mmc/console.c
@@ -249,7 +249,7 @@ DoSaveFileAs(
     saveas.lpstrFilter = L"MSC Files\0*.msc\0";
     saveas.lpstrFile = szPath;
     saveas.nMaxFile = MAX_PATH;
-    saveas.Flags = OFN_HIDEREADONLY | OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT;
+    saveas.Flags = OFN_EXPLORER | OFN_HIDEREADONLY | OFN_PATHMUSTEXIST | 
OFN_OVERWRITEPROMPT;
     saveas.lpstrDefExt = L"msc";
 
     if (GetSaveFileName(&saveas))
diff --git a/base/applications/mplay32/mplay32.c 
b/base/applications/mplay32/mplay32.c
index f3df906dcf9..adb0babe581 100644
--- a/base/applications/mplay32/mplay32.c
+++ b/base/applications/mplay32/mplay32.c
@@ -1158,7 +1158,7 @@ OpenFileDialog(HWND hwnd, DWORD dwFilterIndex, LPTSTR 
lpType)
     OpenFileName.lpstrFilter     = szFilter;
     OpenFileName.lpstrFile       = szFile;
     OpenFileName.nMaxFile        = ARRAYSIZE(szFile);
-    OpenFileName.Flags           = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | 
OFN_HIDEREADONLY | OFN_SHAREAWARE;
+    OpenFileName.Flags           = OFN_EXPLORER | OFN_FILEMUSTEXIST | 
OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_SHAREAWARE;
     OpenFileName.lpstrDefExt     = _T("\0");
     OpenFileName.nFilterIndex = dwFilterIndex;
 
diff --git a/base/applications/mscutils/eventvwr/eventvwr.c 
b/base/applications/mscutils/eventvwr/eventvwr.c
index 348844ff145..5bc96ced583 100644
--- a/base/applications/mscutils/eventvwr/eventvwr.c
+++ b/base/applications/mscutils/eventvwr/eventvwr.c
@@ -3268,7 +3268,7 @@ InitInstance(HINSTANCE hInstance)
     sfn.hInstance       = hInstance;
     sfn.lpstrFilter     = szSaveFilter;
     sfn.lpstrInitialDir = NULL;
-    sfn.Flags           = OFN_HIDEREADONLY | OFN_SHAREAWARE;
+    sfn.Flags           = OFN_EXPLORER | OFN_HIDEREADONLY | OFN_SHAREAWARE;
     sfn.lpstrDefExt     = NULL;
 
     ShowWindow(hwndMainWindow, Settings.wpPos.showCmd);
diff --git a/base/applications/mscutils/servman/propsheet_recovery.c 
b/base/applications/mscutils/servman/propsheet_recovery.c
index 59205f24c01..d41b32c41fe 100644
--- a/base/applications/mscutils/servman/propsheet_recovery.c
+++ b/base/applications/mscutils/servman/propsheet_recovery.c
@@ -351,7 +351,7 @@ BrowseFile(
     ZeroMemory(&ofn, sizeof(ofn));
 
     ofn.lStructSize = sizeof(ofn);
-    ofn.Flags = OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | 
OFN_ENABLESIZING;
+    ofn.Flags = OFN_EXPLORER | OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | 
OFN_PATHMUSTEXIST | OFN_ENABLESIZING;
     ofn.hwndOwner = hwndDlg;
     ofn.lpstrFilter = pszFilter;
     ofn.lpstrFile = szFile;
diff --git a/base/applications/mspaint/main.cpp 
b/base/applications/mspaint/main.cpp
index 927eb7fa99f..f176f3b7c86 100644
--- a/base/applications/mspaint/main.cpp
+++ b/base/applications/mspaint/main.cpp
@@ -282,7 +282,7 @@ _tWinMain (HINSTANCE hThisInstance, HINSTANCE 
hPrevInstance, LPTSTR lpszArgument
     ofn.nMaxFile       = SIZEOF(ofnFilename);
     ofn.lpstrFileTitle = ofnFiletitle;
     ofn.nMaxFileTitle  = SIZEOF(ofnFiletitle);
-    ofn.Flags          = OFN_HIDEREADONLY;
+    ofn.Flags          = OFN_EXPLORER | OFN_HIDEREADONLY;
     ofn.lpstrDefExt    = L"bmp";
 
     CopyMemory(sfnFilename, filepathname, sizeof(filepathname));
@@ -298,7 +298,7 @@ _tWinMain (HINSTANCE hThisInstance, HINSTANCE 
hPrevInstance, LPTSTR lpszArgument
     sfn.nMaxFile       = SIZEOF(sfnFilename);
     sfn.lpstrFileTitle = sfnFiletitle;
     sfn.nMaxFileTitle  = SIZEOF(sfnFiletitle);
-    sfn.Flags          = OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_EXPLORER 
| OFN_ENABLEHOOK;
+    sfn.Flags          = OFN_EXPLORER | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY 
| OFN_EXPLORER | OFN_ENABLEHOOK;
     sfn.lpfnHook       = OFNHookProc;
     sfn.lpstrDefExt    = L"bmp";
 
diff --git a/base/applications/notepad/dialog.c 
b/base/applications/notepad/dialog.c
index c5b743e0ba4..3befb566503 100644
--- a/base/applications/notepad/dialog.c
+++ b/base/applications/notepad/dialog.c
@@ -440,7 +440,7 @@ VOID DIALOG_FileOpen(VOID)
     openfilename.lpstrFilter = Globals.szFilter;
     openfilename.lpstrFile = szPath;
     openfilename.nMaxFile = ARRAY_SIZE(szPath);
-    openfilename.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | 
OFN_HIDEREADONLY;
+    openfilename.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST 
| OFN_HIDEREADONLY;
     openfilename.lpstrDefExt = szDefaultExt;
 
     if (GetOpenFileName(&openfilename)) {
diff --git a/base/applications/regedit/framewnd.c 
b/base/applications/regedit/framewnd.c
index b9717cb4958..1e6a8b20d84 100644
--- a/base/applications/regedit/framewnd.c
+++ b/base/applications/regedit/framewnd.c
@@ -288,7 +288,7 @@ static BOOL InitOpenFileName(HWND hWnd, OPENFILENAME* pofn)
     pofn->nMaxFile = _MAX_PATH;
     pofn->lpstrFileTitle = FileTitleBuffer;
     pofn->nMaxFileTitle = _MAX_PATH;
-    pofn->Flags = OFN_HIDEREADONLY;
+    pofn->Flags = OFN_EXPLORER | OFN_HIDEREADONLY;
     pofn->lpstrDefExt = L"reg";
     return TRUE;
 }
diff --git a/base/applications/winhlp32/winhelp.c 
b/base/applications/winhlp32/winhelp.c
index 7ce5d4a0a8f..a4bfbd6e292 100644
--- a/base/applications/winhlp32/winhelp.c
+++ b/base/applications/winhlp32/winhelp.c
@@ -178,7 +178,7 @@ BOOL WINHELP_GetOpenFileName(LPSTR lpszFile, int len)
     openfilename.nMaxFileTitle     = 0;
     openfilename.lpstrInitialDir   = szDir;
     openfilename.lpstrTitle        = 0;
-    openfilename.Flags             = OFN_ENABLESIZING | OFN_HIDEREADONLY | 
OFN_READONLY;
+    openfilename.Flags             = OFN_EXPLORER | OFN_ENABLESIZING | 
OFN_HIDEREADONLY | OFN_READONLY;
     openfilename.nFileOffset       = 0;
     openfilename.nFileExtension    = 0;
     openfilename.lpstrDefExt       = 0;
diff --git a/base/applications/wordpad/print.c 
b/base/applications/wordpad/print.c
index 6e0b3d139db..dc219c8e9b5 100644
--- a/base/applications/wordpad/print.c
+++ b/base/applications/wordpad/print.c
@@ -253,7 +253,7 @@ static LPWSTR dialog_print_to_file(HWND hMainWnd)
     ZeroMemory(&ofn, sizeof(ofn));
 
     ofn.lStructSize = sizeof(ofn);
-    ofn.Flags = OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
+    ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | 
OFN_OVERWRITEPROMPT;
     ofn.hwndOwner = hMainWnd;
     ofn.lpstrFilter = file_filter;
     ofn.lpstrFile = file;
diff --git a/base/applications/wordpad/wordpad.c 
b/base/applications/wordpad/wordpad.c
index 4cd8cc21b19..6e87e3268d4 100644
--- a/base/applications/wordpad/wordpad.c
+++ b/base/applications/wordpad/wordpad.c
@@ -905,7 +905,7 @@ static BOOL DialogSaveFile(void)
     ZeroMemory(&sfn, sizeof(sfn));
 
     sfn.lStructSize = sizeof(sfn);
-    sfn.Flags = OFN_HIDEREADONLY | OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT | 
OFN_ENABLESIZING;
+    sfn.Flags = OFN_EXPLORER | OFN_HIDEREADONLY | OFN_PATHMUSTEXIST | 
OFN_OVERWRITEPROMPT | OFN_ENABLESIZING;
     sfn.hwndOwner = hMainWnd;
     sfn.lpstrFilter = wszFilter;
     sfn.lpstrFile = wszFile;
@@ -989,7 +989,7 @@ static void DialogOpenFile(void)
     ZeroMemory(&ofn, sizeof(ofn));
 
     ofn.lStructSize = sizeof(ofn);
-    ofn.Flags = OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | 
OFN_ENABLESIZING;
+    ofn.Flags = OFN_EXPLORER | OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | 
OFN_PATHMUSTEXIST | OFN_ENABLESIZING;
     ofn.hwndOwner = hMainWnd;
     ofn.lpstrFilter = wszFilter;
     ofn.lpstrFile = wszFile;
diff --git a/base/shell/progman/dialog.c b/base/shell/progman/dialog.c
index 452b1bc4c7b..90c696d4bea 100644
--- a/base/shell/progman/dialog.c
+++ b/base/shell/progman/dialog.c
@@ -69,7 +69,7 @@ DIALOG_Browse(HWND hWnd, LPCWSTR lpszzFilter, LPWSTR 
lpstrFile, INT nMaxFile)
     openfilename.lpstrFile         = lpstrFile;
     openfilename.nMaxFile          = nMaxFile;
     openfilename.lpstrInitialDir   = szDir;
-    openfilename.Flags             = 0;
+    openfilename.Flags             = OFN_EXPLORER;
     openfilename.lpstrDefExt       = L"exe";
     openfilename.lpstrCustomFilter = NULL;
     openfilename.nMaxCustFilter    = 0;
diff --git a/dll/shellext/shellbtrfs/recv.cpp b/dll/shellext/shellbtrfs/recv.cpp
index 87e337f98d7..c18b5c92627 100644
--- a/dll/shellext/shellbtrfs/recv.cpp
+++ b/dll/shellext/shellbtrfs/recv.cpp
@@ -1700,7 +1700,7 @@ void CALLBACK RecvSubvolGUIW(HWND hwnd, HINSTANCE hinst, 
LPWSTR lpszCmdLine, int
         ofn.hInstance = module;
         ofn.lpstrFile = file;
         ofn.nMaxFile = sizeof(file) / sizeof(WCHAR);
-        ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
+        ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
 
         if (GetOpenFileNameW(&ofn)) {
             BtrfsRecv recv;
diff --git a/dll/shellext/shellbtrfs/send.cpp b/dll/shellext/shellbtrfs/send.cpp
index ac4dbfb6898..f61e7510c3e 100644
--- a/dll/shellext/shellbtrfs/send.cpp
+++ b/dll/shellext/shellbtrfs/send.cpp
@@ -303,6 +303,7 @@ void BtrfsSend::Browse(HWND hwnd) {
     ofn.hInstance = module;
     ofn.lpstrFile = file;
     ofn.nMaxFile = sizeof(file) / sizeof(WCHAR);
+    ofn.Flags = OFN_EXPLORER;
 
     if (!GetSaveFileNameW(&ofn))
         return;
diff --git a/dll/win32/cryptui/main.c b/dll/win32/cryptui/main.c
index 3d27d82e64f..f4dee4aded1 100644
--- a/dll/win32/cryptui/main.c
+++ b/dll/win32/cryptui/main.c
@@ -5114,6 +5114,9 @@ static LRESULT CALLBACK import_file_dlg_proc(HWND hwnd, 
UINT msg, WPARAM wp,
             ofn.lpstrFilter = make_import_file_filter(data->dwFlags);
             ofn.lpstrFile = fileBuf;
             ofn.nMaxFile = ARRAY_SIZE(fileBuf);
+#ifdef __REACTOS__
+            ofn.Flags = OFN_EXPLORER;
+#endif
             fileBuf[0] = 0;
             if (GetOpenFileNameW(&ofn))
                 SendMessageW(GetDlgItem(hwnd, IDC_IMPORT_FILENAME), WM_SETTEXT,
diff --git a/dll/win32/setupapi/dialog.c b/dll/win32/setupapi/dialog.c
index b513183a47d..b1611dc32ba 100644
--- a/dll/win32/setupapi/dialog.c
+++ b/dll/win32/setupapi/dialog.c
@@ -119,7 +119,7 @@ static void promptdisk_browse(HWND hwnd, struct 
promptdisk_params *params)
     ZeroMemory(&ofn, sizeof(ofn));
 
     ofn.lStructSize = sizeof(ofn);
-    ofn.Flags = OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST;
+    ofn.Flags = OFN_EXPLORER | OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | 
OFN_PATHMUSTEXIST;
     ofn.hwndOwner = hwnd;
     ofn.nMaxFile = MAX_PATH;
     ofn.lpstrFile = HeapAlloc(GetProcessHeap(), 0, MAX_PATH*sizeof(WCHAR));
diff --git a/dll/win32/shell32/COpenWithMenu.cpp 
b/dll/win32/shell32/COpenWithMenu.cpp
index ee6828bcbc5..903d66f5d53 100644
--- a/dll/win32/shell32/COpenWithMenu.cpp
+++ b/dll/win32/shell32/COpenWithMenu.cpp
@@ -882,7 +882,7 @@ VOID COpenWithDialog::Browse()
     ofn.lStructSize  = sizeof(OPENFILENAMEW);
     ofn.hInstance = shell32_hInstance;
     ofn.hwndOwner = m_hDialog;
-    ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
+    ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
     ofn.nMaxFile = (sizeof(wszPath) / sizeof(WCHAR));
     ofn.lpstrFile = wszPath;
     ofn.lpstrInitialDir = L"%programfiles%";
diff --git a/dll/win32/shell32/dialogs/filetypes.cpp 
b/dll/win32/shell32/dialogs/filetypes.cpp
index f54203d0511..c1e08e02198 100644
--- a/dll/win32/shell32/dialogs/filetypes.cpp
+++ b/dll/win32/shell32/dialogs/filetypes.cpp
@@ -834,7 +834,7 @@ ActionDlg_OnBrowse(HWND hwndDlg, PACTION_DIALOG pNewAct, 
BOOL bEdit = FALSE)
     ofn.lpstrFile = szFile;
     ofn.nMaxFile = _countof(szFile);
     ofn.lpstrTitle = strTitle;
-    ofn.Flags = OFN_ENABLESIZING | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | 
OFN_HIDEREADONLY;
+    ofn.Flags = OFN_EXPLORER | OFN_ENABLESIZING | OFN_FILEMUSTEXIST | 
OFN_PATHMUSTEXIST | OFN_HIDEREADONLY;
     ofn.lpstrDefExt = L"exe";
     if (GetOpenFileNameW(&ofn))
     {
diff --git a/modules/rosapps/applications/devutils/vgafontedit/opensave.c 
b/modules/rosapps/applications/devutils/vgafontedit/opensave.c
index 020507d0387..3296a3c8a31 100644
--- a/modules/rosapps/applications/devutils/vgafontedit/opensave.c
+++ b/modules/rosapps/applications/devutils/vgafontedit/opensave.c
@@ -43,7 +43,7 @@ DoOpenFile(OUT PWSTR pszFileName)
         PrepareFilter(pszFilter);
         ofn.lpstrFilter = pszFilter;
         ofn.lpstrFile = pszFileName;
-        ofn.Flags = OFN_FILEMUSTEXIST;
+        ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST;
 
         bRet = GetOpenFileNameW(&ofn);
         HeapFree(hProcessHeap, 0, pszFilter);
diff --git a/modules/rosapps/applications/sysutils/utils/infinst/infinst.c 
b/modules/rosapps/applications/sysutils/utils/infinst/infinst.c
index 4b321b1f3b1..ae9d5bb7ccc 100644
--- a/modules/rosapps/applications/sysutils/utils/infinst/infinst.c
+++ b/modules/rosapps/applications/sysutils/utils/infinst/infinst.c
@@ -56,7 +56,7 @@ _tmain(int argc, TCHAR *argv[])
                ofc.lpstrFilter = FILEOPEN_FILTER;
                ofc.nFilterIndex = 1;
                ofc.lpstrTitle = FILEOPEN_TITLE;
-               ofc.Flags = OFN_FILEMUSTEXIST | OFN_LONGNAMES | 
OFN_PATHMUSTEXIST;
+               ofc.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_LONGNAMES | 
OFN_PATHMUSTEXIST;
                ofc.lpstrDefExt = FILEOPEN_DEFEXT;
                ofc.lpstrFile = FileName;
                ofc.nMaxFile = sizeof(FileName) / sizeof(TCHAR);
diff --git a/modules/rosapps/lib/vfdlib/vfdguiopen.c 
b/modules/rosapps/lib/vfdlib/vfdguiopen.c
index 11d7bab3151..e7fb6262b59 100644
--- a/modules/rosapps/lib/vfdlib/vfdguiopen.c
+++ b/modules/rosapps/lib/vfdlib/vfdguiopen.c
@@ -404,7 +404,7 @@ void OnBrowse(
        ofn.nMaxFile    = sizeof(file);
        ofn.lpstrInitialDir = dir;
        ofn.lpstrTitle  = title ? title : FALLBACK_IMAGE_TITLE;
-       ofn.Flags               = OFN_ENABLESIZING | OFN_HIDEREADONLY | 
OFN_PATHMUSTEXIST;
+       ofn.Flags               = OFN_EXPLORER | OFN_ENABLESIZING | 
OFN_HIDEREADONLY | OFN_PATHMUSTEXIST;
 
        //      show the open file dialog box
 
diff --git a/modules/rosapps/lib/vfdlib/vfdguisave.c 
b/modules/rosapps/lib/vfdlib/vfdguisave.c
index ff1d39566f7..b0ea780d450 100644
--- a/modules/rosapps/lib/vfdlib/vfdguisave.c
+++ b/modules/rosapps/lib/vfdlib/vfdguisave.c
@@ -422,7 +422,7 @@ void OnBrowse(
        ofn.lpstrInitialDir = dir;
        ofn.lpstrTitle  = title ? title : "Save Image";
        ofn.lpstrFilter = "*.*\0*.*\0";
-       ofn.Flags               = OFN_ENABLESIZING | OFN_HIDEREADONLY | 
OFN_PATHMUSTEXIST;
+       ofn.Flags               = OFN_EXPLORER | OFN_ENABLESIZING | 
OFN_HIDEREADONLY | OFN_PATHMUSTEXIST;
 
        if (GetSaveFileName(&ofn)) {
                SetDlgItemText(hDlg, IDC_TARGETFILE, file);

Reply via email to