-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Expand file tree
/
Copy pathDialogHandler.cs
More file actions
63 lines (60 loc) · 2.95 KB
/
DialogHandler.cs
File metadata and controls
63 lines (60 loc) · 2.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// Copyright © 2021 The CefSharp Authors. All rights reserved.
//
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
using System.Collections.Generic;
namespace CefSharp.Handler
{
/// <summary>
/// Implement this interface to handle dialog events. The methods of this class will be called on the CEF UI thread.
/// </summary>
public class DialogHandler : IDialogHandler
{
/// <inheritdoc/>
bool IDialogHandler.OnFileDialog(
IWebBrowser chromiumWebBrowser,
IBrowser browser,
CefFileDialogMode mode,
string title,
string defaultFilePath,
List<string> acceptFilters,
IFileDialogCallback callback)
{
return OnFileDialog(chromiumWebBrowser, browser, mode, title, defaultFilePath, acceptFilters, callback);
}
/// <summary>
/// Runs a file chooser dialog.
/// </summary>
/// <example>
/// To test assign something like TempFileDialogHandler (from CefSharp.Example) to DialogHandler e.g.
/// <code>
/// browser.DialogHandler = new TempFileDialogHandler();
/// </code>
/// Example URL to use for file browsing http://www.cs.tut.fi/~jkorpela/forms/file.html#example
/// Simply click browse, the space next to the browse button should be populated with a randomly generated filename.
/// </example>
/// <param name="chromiumWebBrowser">the ChromiumWebBrowser control</param>
/// <param name="browser">the browser object</param>
/// <param name="mode">represents the type of dialog to display</param>
/// <param name="title">the title to be used for the dialog. It may be empty to show the default title ("Open" or "Save"
/// depending on the mode).</param>
/// <param name="defaultFilePath">is the path with optional directory and/or file name component that
/// should be initially selected in the dialog.</param>
/// <param name="acceptFilters">are used to restrict the selectable file types and may any combination of
/// (a) valid lower-cased MIME types (e.g. "text/*" or "image/*"),
/// (b) individual file extensions (e.g. ".txt" or ".png"),
/// (c) combined description and file extension delimited using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg").</param>
/// <param name="callback">Callback interface for asynchronous continuation of file dialog requests.</param>
/// <returns>To display a custom dialog return true. To display the default dialog return false.</returns>
protected virtual bool OnFileDialog(
IWebBrowser chromiumWebBrowser,
IBrowser browser,
CefFileDialogMode mode,
string title,
string defaultFilePath,
List<string> acceptFilters,
IFileDialogCallback callback)
{
return false;
}
}
}