Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
A request to open a file chooser.
Whenever the user interacts with an HTML input element with
file type, WebKit will need to show a dialog to choose one or
more files to be uploaded to the server along with the rest of the
form data. For that to happen in a general way, instead of just
opening a FileChooserDialog
(which might be not desirable in
some cases, which could prefer to use their own file chooser
dialog), WebKit will fire the WebView::runFileChooser
signal with a FileChooserRequest
object, which will allow
the client application to specify the files to be selected, to
inspect the details of the request (e.g. if multiple selection
should be allowed) and to cancel the request, in case nothing was
selected.
In case the client application does not wish to handle this signal,
WebKit will provide a default handler which will asynchronously run
a regular FileChooserDialog
for the user to interact with.
Synopsis
- newtype FileChooserRequest = FileChooserRequest (ManagedPtr FileChooserRequest)
- class (GObject o, IsDescendantOf FileChooserRequest o) => IsFileChooserRequest o
- toFileChooserRequest :: (MonadIO m, IsFileChooserRequest o) => o -> m FileChooserRequest
- fileChooserRequestCancel :: (HasCallStack, MonadIO m, IsFileChooserRequest a) => a -> m ()
- fileChooserRequestGetMimeTypes :: (HasCallStack, MonadIO m, IsFileChooserRequest a) => a -> m [Text]
- fileChooserRequestGetMimeTypesFilter :: (HasCallStack, MonadIO m, IsFileChooserRequest a) => a -> m (Maybe FileFilter)
- fileChooserRequestGetSelectMultiple :: (HasCallStack, MonadIO m, IsFileChooserRequest a) => a -> m Bool
- fileChooserRequestGetSelectedFiles :: (HasCallStack, MonadIO m, IsFileChooserRequest a) => a -> m (Maybe [Text])
- fileChooserRequestSelectFiles :: (HasCallStack, MonadIO m, IsFileChooserRequest a) => a -> [Text] -> m ()
- getFileChooserRequestFilter :: (MonadIO m, IsFileChooserRequest o) => o -> m (Maybe FileFilter)
- getFileChooserRequestMimeTypes :: (MonadIO m, IsFileChooserRequest o) => o -> m [Text]
- getFileChooserRequestSelectMultiple :: (MonadIO m, IsFileChooserRequest o) => o -> m Bool
- getFileChooserRequestSelectedFiles :: (MonadIO m, IsFileChooserRequest o) => o -> m (Maybe [Text])
Exported types
newtype FileChooserRequest Source #
Memory-managed wrapper type.
FileChooserRequest (ManagedPtr FileChooserRequest) |
Instances
class (GObject o, IsDescendantOf FileChooserRequest o) => IsFileChooserRequest o Source #
Type class for types which can be safely cast to FileChooserRequest
, for instance with toFileChooserRequest
.
Instances
(GObject o, IsDescendantOf FileChooserRequest o) => IsFileChooserRequest o Source # | |
Defined in GI.WebKit2.Objects.FileChooserRequest |
toFileChooserRequest :: (MonadIO m, IsFileChooserRequest o) => o -> m FileChooserRequest Source #
Cast to FileChooserRequest
, for types for which this is known to be safe. For general casts, use castTo
.
Methods
Click to display all available methods, including inherited ones
Methods
bindProperty, bindPropertyFull, cancel, forceFloating, freezeNotify, getv, isFloating, notify, notifyByPspec, ref, refSink, runDispose, selectFiles, stealData, stealQdata, thawNotify, unref, watchClosure.
Getters
getData, getMimeTypes, getMimeTypesFilter, getProperty, getQdata, getSelectMultiple, getSelectedFiles.
Setters
cancel
fileChooserRequestCancel Source #
:: (HasCallStack, MonadIO m, IsFileChooserRequest a) | |
=> a |
|
-> m () |
Ask WebKit to cancel the request.
It's important to do this in case no selection has been made in the client, otherwise the request won't be properly completed and the browser will keep the request pending forever, which might cause the browser to hang.
getMimeTypes
fileChooserRequestGetMimeTypes Source #
:: (HasCallStack, MonadIO m, IsFileChooserRequest a) | |
=> a |
|
-> m [Text] | Returns: a
|
Get the list of MIME types the file chooser dialog should handle.
Get the list of MIME types the file chooser dialog should handle, in the format specified in RFC 2046 for "media types". Its contents depend on the value of the 'accept' attribute for HTML input elements. This function should normally be called before presenting the file chooser dialog to the user, to decide whether to allow the user to select multiple files at once or only one.
getMimeTypesFilter
fileChooserRequestGetMimeTypesFilter Source #
:: (HasCallStack, MonadIO m, IsFileChooserRequest a) | |
=> a |
|
-> m (Maybe FileFilter) | Returns: a |
Get the filter currently associated with the request.
Get the filter currently associated with the request, ready to be
used by FileChooser
. This function should normally be called
before presenting the file chooser dialog to the user, to decide
whether to apply a filter so the user would not be allowed to
select files with other MIME types.
See fileChooserRequestGetMimeTypes
if you are
interested in getting the list of accepted MIME types.
getSelectMultiple
fileChooserRequestGetSelectMultiple Source #
:: (HasCallStack, MonadIO m, IsFileChooserRequest a) | |
=> a |
|
-> m Bool | Returns: |
Whether the file chooser should allow selecting multiple files.
Determine whether the file chooser associated to this
FileChooserRequest
should allow selecting multiple files,
which depends on the HTML input element having a 'multiple'
attribute defined.
getSelectedFiles
fileChooserRequestGetSelectedFiles Source #
:: (HasCallStack, MonadIO m, IsFileChooserRequest a) | |
=> a |
|
-> m (Maybe [Text]) | Returns: a
|
Get the list of selected files associated to the request.
Get the list of selected files currently associated to the request. Initially, the return value of this method contains any files selected in previous file chooser requests for this HTML input element. Once webkit_file_chooser_request_select_files, the value will reflect whatever files are given.
This function should normally be called only before presenting the file chooser dialog to the user, to decide whether to perform some extra action, like pre-selecting the files from a previous request.
selectFiles
fileChooserRequestSelectFiles Source #
:: (HasCallStack, MonadIO m, IsFileChooserRequest a) | |
=> a |
|
-> [Text] |
|
-> m () |
Ask WebKit to select local files for upload and complete the request.
Properties
filter
The filter currently associated with the request. See
fileChooserRequestGetMimeTypesFilter
for more
details.
getFileChooserRequestFilter :: (MonadIO m, IsFileChooserRequest o) => o -> m (Maybe FileFilter) Source #
Get the value of the “filter
” property.
When overloading is enabled, this is equivalent to
get
fileChooserRequest #filter
mimeTypes
A Nothing
-terminated array of strings containing the list of MIME
types the file chooser dialog should handle. See
fileChooserRequestGetMimeTypes
for more details.
getFileChooserRequestMimeTypes :: (MonadIO m, IsFileChooserRequest o) => o -> m [Text] Source #
Get the value of the “mime-types
” property.
When overloading is enabled, this is equivalent to
get
fileChooserRequest #mimeTypes
selectMultiple
Whether the file chooser should allow selecting multiple
files. See
fileChooserRequestGetSelectMultiple
for
more details.
getFileChooserRequestSelectMultiple :: (MonadIO m, IsFileChooserRequest o) => o -> m Bool Source #
Get the value of the “select-multiple
” property.
When overloading is enabled, this is equivalent to
get
fileChooserRequest #selectMultiple
selectedFiles
A Nothing
-terminated array of strings containing the list of
selected files associated to the current request. See
fileChooserRequestGetSelectedFiles
for more details.
getFileChooserRequestSelectedFiles :: (MonadIO m, IsFileChooserRequest o) => o -> m (Maybe [Text]) Source #
Get the value of the “selected-files
” property.
When overloading is enabled, this is equivalent to
get
fileChooserRequest #selectedFiles