// Copyright (c) 2013 GitHub, Inc. All rights reserved. // Use of this source code is governed by the MIT license that can be // found in the LICENSE file. #ifndef ATOM_BROWSER_UI_FILE_DIALOG_H_ #define ATOM_BROWSER_UI_FILE_DIALOG_H_ #include #include #include "base/callback_forward.h" #include "base/files/file_path.h" namespace atom { class NativeWindow; } namespace file_dialog { enum FileDialogProperty { FILE_DIALOG_OPEN_FILE = 1, FILE_DIALOG_OPEN_DIRECTORY = 2, FILE_DIALOG_MULTI_SELECTIONS = 4, FILE_DIALOG_CREATE_DIRECTORY = 8, }; typedef base::Callback& paths)> OpenDialogCallback; typedef base::Callback SaveDialogCallback; bool ShowOpenDialog(atom::NativeWindow* parent_window, const std::string& title, const base::FilePath& default_path, int properties, std::vector* paths); void ShowOpenDialog(atom::NativeWindow* parent_window, const std::string& title, const base::FilePath& default_path, int properties, const OpenDialogCallback& callback); bool ShowSaveDialog(atom::NativeWindow* parent_window, const std::string& title, const base::FilePath& default_path, base::FilePath* path); void ShowSaveDialog(atom::NativeWindow* parent_window, const std::string& title, const base::FilePath& default_path, const SaveDialogCallback& callback); } // namespace file_dialog #endif // ATOM_BROWSER_UI_FILE_DIALOG_H_