Skip to content

Commit

Permalink
feat: add dontAddToRecent to windows showOpenDialog (#19669)
Browse files Browse the repository at this point in the history
  • Loading branch information
codebytere committed Aug 13, 2019
1 parent fee84de commit b579832
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 8 deletions.
2 changes: 2 additions & 0 deletions docs/api/dialog.md
Expand Up @@ -48,6 +48,7 @@ The `dialog` module has the following methods:
their target path.
* `treatPackageAsDirectory` _macOS_ - Treat packages, such as `.app` folders,
as a directory instead of a file.
* `dontAddToRecent` _Windows_ - Do not add the item being opened to the recent documents list.
* `message` String (optional) _macOS_ - Message to display above input
boxes.
* `securityScopedBookmarks` Boolean (optional) _macOS_ _mas_ - Create [security scoped bookmarks](https://developer.apple.com/library/content/documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html#//apple_ref/doc/uid/TP40011183-CH3-SW16) when packaged for the Mac App Store.
Expand Down Expand Up @@ -108,6 +109,7 @@ dialog.showOpenDialogSync(mainWindow, {
their target path.
* `treatPackageAsDirectory` _macOS_ - Treat packages, such as `.app` folders,
as a directory instead of a file.
* `dontAddToRecent` _Windows_ - Do not add the item being opened to the recent documents list.
* `message` String (optional) _macOS_ - Message to display above input
boxes.
* `securityScopedBookmarks` Boolean (optional) _macOS_ _mas_ - Create [security scoped bookmarks](https://developer.apple.com/library/content/documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html#//apple_ref/doc/uid/TP40011183-CH3-SW16) when packaged for the Mac App Store.
Expand Down
9 changes: 5 additions & 4 deletions lib/browser/api/dialog.js
Expand Up @@ -8,11 +8,12 @@ const fileDialogProperties = {
openFile: 1 << 0,
openDirectory: 1 << 1,
multiSelections: 1 << 2,
createDirectory: 1 << 3,
createDirectory: 1 << 3, // macOS
showHiddenFiles: 1 << 4,
promptToCreate: 1 << 5,
noResolveAliases: 1 << 6,
treatPackageAsDirectory: 1 << 7
promptToCreate: 1 << 5, // Windows
noResolveAliases: 1 << 6, // macOS
treatPackageAsDirectory: 1 << 7, // macOS
dontAddToRecent: 1 << 8 // Windows
}

const normalizeAccessKey = (text) => {
Expand Down
9 changes: 5 additions & 4 deletions shell/browser/ui/file_dialog.h
Expand Up @@ -28,11 +28,12 @@ enum FileDialogProperty {
FILE_DIALOG_OPEN_FILE = 1 << 0,
FILE_DIALOG_OPEN_DIRECTORY = 1 << 1,
FILE_DIALOG_MULTI_SELECTIONS = 1 << 2,
FILE_DIALOG_CREATE_DIRECTORY = 1 << 3,
FILE_DIALOG_CREATE_DIRECTORY = 1 << 3, // macOS
FILE_DIALOG_SHOW_HIDDEN_FILES = 1 << 4,
FILE_DIALOG_PROMPT_TO_CREATE = 1 << 5,
FILE_DIALOG_NO_RESOLVE_ALIASES = 1 << 6,
FILE_DIALOG_TREAT_PACKAGE_APP_AS_DIRECTORY = 1 << 7,
FILE_DIALOG_PROMPT_TO_CREATE = 1 << 5, // Windows
FILE_DIALOG_NO_RESOLVE_ALIASES = 1 << 6, // macOS
FILE_DIALOG_TREAT_PACKAGE_APP_AS_DIRECTORY = 1 << 7, // macOS
FILE_DIALOG_DONT_ADD_TO_RECENT = 1 << 8, // Windows
};

struct DialogSettings {
Expand Down
2 changes: 2 additions & 0 deletions shell/browser/ui/file_dialog_win.cc
Expand Up @@ -234,6 +234,8 @@ bool ShowOpenDialogSync(const DialogSettings& settings,
options |= FOS_FORCESHOWHIDDEN;
if (settings.properties & FILE_DIALOG_PROMPT_TO_CREATE)
options |= FOS_CREATEPROMPT;
if (settings.properties & FILE_DIALOG_DONT_ADD_TO_RECENT)
options |= FOS_DONTADDTORECENT;
file_open_dialog->SetOptions(options);

ApplySettings(file_open_dialog, settings);
Expand Down

0 comments on commit b579832

Please sign in to comment.