Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 677c1b5134368504c2e447757584d19e > files > 1115

ghc-gtk-devel-0.11.2-5.fc14.i686.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
<title>dist/build/Graphics/UI/Gtk/Selectors/FileChooser.hs</title>
<link type='text/css' rel='stylesheet' href='hscolour.css' />
</head>
<body>
<pre><a name="line-1"></a>
<a name="line-2"></a><span class='hs-comment'>{-# LINE 2 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-3"></a><span class='hs-comment'>-- -*-haskell-*-</span>
<a name="line-4"></a><span class='hs-comment'>-- GIMP Toolkit (GTK) Interface FileChooser</span>
<a name="line-5"></a><span class='hs-comment'>--</span>
<a name="line-6"></a><span class='hs-comment'>-- Author : Duncan Coutts</span>
<a name="line-7"></a><span class='hs-comment'>--</span>
<a name="line-8"></a><span class='hs-comment'>-- Created: 24 April 2004</span>
<a name="line-9"></a><span class='hs-comment'>--</span>
<a name="line-10"></a><span class='hs-comment'>-- Copyright (C) 2004-2005 Duncan Coutts</span>
<a name="line-11"></a><span class='hs-comment'>--</span>
<a name="line-12"></a><span class='hs-comment'>-- This library is free software; you can redistribute it and/or</span>
<a name="line-13"></a><span class='hs-comment'>-- modify it under the terms of the GNU Lesser General Public</span>
<a name="line-14"></a><span class='hs-comment'>-- License as published by the Free Software Foundation; either</span>
<a name="line-15"></a><span class='hs-comment'>-- version 2.1 of the License, or (at your option) any later version.</span>
<a name="line-16"></a><span class='hs-comment'>--</span>
<a name="line-17"></a><span class='hs-comment'>-- This library is distributed in the hope that it will be useful,</span>
<a name="line-18"></a><span class='hs-comment'>-- but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="line-19"></a><span class='hs-comment'>-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="line-20"></a><span class='hs-comment'>-- Lesser General Public License for more details.</span>
<a name="line-21"></a><span class='hs-comment'>--</span>
<a name="line-22"></a><span class='hs-comment'>-- |</span>
<a name="line-23"></a><span class='hs-comment'>-- Maintainer : gtk2hs-users@lists.sourceforge.net</span>
<a name="line-24"></a><span class='hs-comment'>-- Stability : provisional</span>
<a name="line-25"></a><span class='hs-comment'>-- Portability : portable (depends on GHC)</span>
<a name="line-26"></a><span class='hs-comment'>--</span>
<a name="line-27"></a><span class='hs-comment'>-- File chooser interface used by 'FileChooserWidget' and</span>
<a name="line-28"></a><span class='hs-comment'>-- 'FileChooserDialog'</span>
<a name="line-29"></a><span class='hs-comment'>--</span>
<a name="line-30"></a><span class='hs-comment'>-- * Module available since Gtk+ version 2.4</span>
<a name="line-31"></a><span class='hs-comment'>--</span>
<a name="line-32"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Selectors</span><span class='hs-varop'>.</span><span class='hs-conid'>FileChooser</span> <span class='hs-layout'>(</span>
<a name="line-33"></a><span class='hs-comment'>-- * Detail</span>
<a name="line-34"></a><span class='hs-comment'>--</span>
<a name="line-35"></a><span class='hs-comment'>-- | 'FileChooser' is an interface that can be implemented by file selection</span>
<a name="line-36"></a><span class='hs-comment'>-- widgets. In Gtk+, the main objects that implement this interface are</span>
<a name="line-37"></a><span class='hs-comment'>-- 'FileChooserWidget', 'FileChooserDialog', and 'FileChooserButton'. You do</span>
<a name="line-38"></a><span class='hs-comment'>-- not need to write an object that implements the 'FileChooser' interface</span>
<a name="line-39"></a><span class='hs-comment'>-- unless you are trying to adapt an existing file selector to expose a</span>
<a name="line-40"></a><span class='hs-comment'>-- standard programming interface.</span>
<a name="line-41"></a><span class='hs-comment'>--</span>
<a name="line-42"></a><span class='hs-comment'>-- 'FileChooser' allows for shortcuts to various places in the filesystem.</span>
<a name="line-43"></a><span class='hs-comment'>-- In the default implementation these are displayed in the left pane. It may</span>
<a name="line-44"></a><span class='hs-comment'>-- be a bit confusing at first taht these shortcuts come from various sources</span>
<a name="line-45"></a><span class='hs-comment'>-- and in various flavours, so lets explain the terminology here:</span>
<a name="line-46"></a>
<a name="line-47"></a><span class='hs-comment'>-- ** File Names and Encodings</span>
<a name="line-48"></a><span class='hs-comment'>--</span>
<a name="line-49"></a><span class='hs-comment'>-- | When the user is finished selecting files in a 'FileChooser', your</span>
<a name="line-50"></a><span class='hs-comment'>-- program can get the selected names either as filenames or as URIs. For URIs,</span>
<a name="line-51"></a><span class='hs-comment'>-- the normal escaping rules are applied if the URI contains non-ASCII</span>
<a name="line-52"></a><span class='hs-comment'>-- characters. However, filenames are /always/ returned in the character set</span>
<a name="line-53"></a><span class='hs-comment'>-- specified by the G_FILENAME_ENCODING environment variable. Please see the</span>
<a name="line-54"></a><span class='hs-comment'>-- Glib documentation for more details about this variable.</span>
<a name="line-55"></a>
<a name="line-56"></a><span class='hs-comment'>-- ** Adding a Preview Widget</span>
<a name="line-57"></a><span class='hs-comment'>--</span>
<a name="line-58"></a><span class='hs-comment'>-- | You can add a custom preview widget to a file chooser and then get</span>
<a name="line-59"></a><span class='hs-comment'>-- notification about when the preview needs to be updated. To install a</span>
<a name="line-60"></a><span class='hs-comment'>-- preview widget, use 'fileChooserSetPreviewWidget'. Then, connect to the</span>
<a name="line-61"></a><span class='hs-comment'>-- updatePreview signal to get notified when you need to update</span>
<a name="line-62"></a><span class='hs-comment'>-- the contents of the preview.</span>
<a name="line-63"></a><span class='hs-comment'>--</span>
<a name="line-64"></a><span class='hs-comment'>-- Your callback should use 'fileChooserGetPreviewFilename' to see what</span>
<a name="line-65"></a><span class='hs-comment'>-- needs previewing. Once you have generated the preview for the corresponding</span>
<a name="line-66"></a><span class='hs-comment'>-- file, you must call 'fileChooserSetPreviewWidgetActive' with a boolean flag</span>
<a name="line-67"></a><span class='hs-comment'>-- that indicates whether your callback could successfully generate a preview.</span>
<a name="line-68"></a>
<a name="line-69"></a><span class='hs-comment'>-- ** Adding Extra Widgets</span>
<a name="line-70"></a><span class='hs-comment'>--</span>
<a name="line-71"></a><span class='hs-comment'>-- | You can add extra widgets to a file chooser to provide options that are</span>
<a name="line-72"></a><span class='hs-comment'>-- not present in the default design. For example, you can add a toggle button</span>
<a name="line-73"></a><span class='hs-comment'>-- to give the user the option to open a file in read-only mode. You can use</span>
<a name="line-74"></a><span class='hs-comment'>-- 'fileChooserSetExtraWidget' to insert additional widgets in a file chooser.</span>
<a name="line-75"></a>
<a name="line-76"></a><span class='hs-comment'>-- ** Key Bindings</span>
<a name="line-77"></a><span class='hs-comment'>--</span>
<a name="line-78"></a><span class='hs-comment'>-- | Internally, Gtk+ implements a file chooser's graphical user interface</span>
<a name="line-79"></a><span class='hs-comment'>-- with the private GtkFileChooserDefaultClass. This widget has several key</span>
<a name="line-80"></a><span class='hs-comment'>-- bindings and their associated signals. This section describes the available</span>
<a name="line-81"></a><span class='hs-comment'>-- key binding signals.</span>
<a name="line-82"></a><span class='hs-comment'>--</span>
<a name="line-83"></a><span class='hs-comment'>-- * GtkFileChooser key binding example</span>
<a name="line-84"></a><span class='hs-comment'>--</span>
<a name="line-85"></a><span class='hs-comment'>-- The default keys that activate the key-binding signals in</span>
<a name="line-86"></a><span class='hs-comment'>-- GtkFileChooserDefaultClass are as follows:</span>
<a name="line-87"></a><span class='hs-comment'>--</span>
<a name="line-88"></a><span class='hs-comment'>-- [Signal name] Key</span>
<a name="line-89"></a><span class='hs-comment'>--</span>
<a name="line-90"></a><span class='hs-comment'>-- [location-popup] Control-L</span>
<a name="line-91"></a><span class='hs-comment'>--</span>
<a name="line-92"></a><span class='hs-comment'>-- [up-folder] Alt-Up</span>
<a name="line-93"></a><span class='hs-comment'>--</span>
<a name="line-94"></a><span class='hs-comment'>-- [down-folder] Alt-Down</span>
<a name="line-95"></a><span class='hs-comment'>--</span>
<a name="line-96"></a><span class='hs-comment'>-- [home-folder] Alt-Home</span>
<a name="line-97"></a><span class='hs-comment'>--</span>
<a name="line-98"></a><span class='hs-comment'>-- To change these defaults to something else, you could include the</span>
<a name="line-99"></a><span class='hs-comment'>-- following fragment in your .gtkrc-2.0 file:</span>
<a name="line-100"></a><span class='hs-comment'>--</span>
<a name="line-101"></a><span class='hs-comment'>-- &gt; binding "my-own-gtkfilechooser-bindings" {</span>
<a name="line-102"></a><span class='hs-comment'>-- &gt; bind "AltShiftl" {</span>
<a name="line-103"></a><span class='hs-comment'>-- &gt; "location-popup" ()</span>
<a name="line-104"></a><span class='hs-comment'>-- &gt; }</span>
<a name="line-105"></a><span class='hs-comment'>-- &gt; bind "AltShiftUp" {</span>
<a name="line-106"></a><span class='hs-comment'>-- &gt; "up-folder" ()</span>
<a name="line-107"></a><span class='hs-comment'>-- &gt; }</span>
<a name="line-108"></a><span class='hs-comment'>-- &gt; bind "AltShiftDown" {</span>
<a name="line-109"></a><span class='hs-comment'>-- &gt; "down-folder" ()</span>
<a name="line-110"></a><span class='hs-comment'>-- &gt; }</span>
<a name="line-111"></a><span class='hs-comment'>-- &gt; bind "AltShiftHome" {</span>
<a name="line-112"></a><span class='hs-comment'>-- &gt; "home-folder-folder" ()</span>
<a name="line-113"></a><span class='hs-comment'>-- &gt; }</span>
<a name="line-114"></a><span class='hs-comment'>-- &gt; }</span>
<a name="line-115"></a><span class='hs-comment'>-- &gt;</span>
<a name="line-116"></a><span class='hs-comment'>-- &gt; class "GtkFileChooserDefault" binding "my-own-gtkfilechooser-bindings"</span>
<a name="line-117"></a><span class='hs-comment'>-- &gt;</span>
<a name="line-118"></a><span class='hs-comment'>--</span>
<a name="line-119"></a>
<a name="line-120"></a><span class='hs-comment'>-- * Class Hierarchy</span>
<a name="line-121"></a><span class='hs-comment'>-- |</span>
<a name="line-122"></a><span class='hs-comment'>-- @</span>
<a name="line-123"></a><span class='hs-comment'>-- | GInterface</span>
<a name="line-124"></a><span class='hs-comment'>-- | +----FileChooser</span>
<a name="line-125"></a><span class='hs-comment'>-- @</span>
<a name="line-126"></a>
<a name="line-127"></a>
<a name="line-128"></a><span class='hs-comment'>-- * Types</span>
<a name="line-129"></a>  <span class='hs-conid'>FileChooser</span><span class='hs-layout'>,</span>
<a name="line-130"></a>  <span class='hs-conid'>FileChooserClass</span><span class='hs-layout'>,</span>
<a name="line-131"></a>  <span class='hs-varid'>castToFileChooser</span><span class='hs-layout'>,</span> <span class='hs-varid'>gTypeFileChooser</span><span class='hs-layout'>,</span>
<a name="line-132"></a>  <span class='hs-varid'>toFileChooser</span><span class='hs-layout'>,</span>
<a name="line-133"></a>  <span class='hs-conid'>FileChooserAction</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-134"></a>  <span class='hs-conid'>FileChooserError</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-135"></a>
<a name="line-136"></a>  <span class='hs-conid'>FileChooserConfirmation</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-137"></a>
<a name="line-138"></a>
<a name="line-139"></a><span class='hs-comment'>-- * Methods</span>
<a name="line-140"></a>  <span class='hs-varid'>fileChooserSetAction</span><span class='hs-layout'>,</span>
<a name="line-141"></a>  <span class='hs-varid'>fileChooserGetAction</span><span class='hs-layout'>,</span>
<a name="line-142"></a>  <span class='hs-varid'>fileChooserSetLocalOnly</span><span class='hs-layout'>,</span>
<a name="line-143"></a>  <span class='hs-varid'>fileChooserGetLocalOnly</span><span class='hs-layout'>,</span>
<a name="line-144"></a>  <span class='hs-varid'>fileChooserSetSelectMultiple</span><span class='hs-layout'>,</span>
<a name="line-145"></a>  <span class='hs-varid'>fileChooserGetSelectMultiple</span><span class='hs-layout'>,</span>
<a name="line-146"></a>  <span class='hs-varid'>fileChooserSetCurrentName</span><span class='hs-layout'>,</span>
<a name="line-147"></a>  <span class='hs-varid'>fileChooserGetFilename</span><span class='hs-layout'>,</span>
<a name="line-148"></a>  <span class='hs-varid'>fileChooserSetFilename</span><span class='hs-layout'>,</span>
<a name="line-149"></a>  <span class='hs-varid'>fileChooserSelectFilename</span><span class='hs-layout'>,</span>
<a name="line-150"></a>  <span class='hs-varid'>fileChooserUnselectFilename</span><span class='hs-layout'>,</span>
<a name="line-151"></a>  <span class='hs-varid'>fileChooserSelectAll</span><span class='hs-layout'>,</span>
<a name="line-152"></a>  <span class='hs-varid'>fileChooserUnselectAll</span><span class='hs-layout'>,</span>
<a name="line-153"></a>  <span class='hs-varid'>fileChooserGetFilenames</span><span class='hs-layout'>,</span>
<a name="line-154"></a>  <span class='hs-varid'>fileChooserSetCurrentFolder</span><span class='hs-layout'>,</span>
<a name="line-155"></a>  <span class='hs-varid'>fileChooserGetCurrentFolder</span><span class='hs-layout'>,</span>
<a name="line-156"></a>  <span class='hs-varid'>fileChooserGetURI</span><span class='hs-layout'>,</span>
<a name="line-157"></a>  <span class='hs-varid'>fileChooserSetURI</span><span class='hs-layout'>,</span>
<a name="line-158"></a>  <span class='hs-varid'>fileChooserSelectURI</span><span class='hs-layout'>,</span>
<a name="line-159"></a>  <span class='hs-varid'>fileChooserUnselectURI</span><span class='hs-layout'>,</span>
<a name="line-160"></a>  <span class='hs-varid'>fileChooserGetURIs</span><span class='hs-layout'>,</span>
<a name="line-161"></a>  <span class='hs-varid'>fileChooserSetCurrentFolderURI</span><span class='hs-layout'>,</span>
<a name="line-162"></a>  <span class='hs-varid'>fileChooserGetCurrentFolderURI</span><span class='hs-layout'>,</span>
<a name="line-163"></a>  <span class='hs-varid'>fileChooserSetPreviewWidget</span><span class='hs-layout'>,</span>
<a name="line-164"></a>  <span class='hs-varid'>fileChooserGetPreviewWidget</span><span class='hs-layout'>,</span>
<a name="line-165"></a>  <span class='hs-varid'>fileChooserSetPreviewWidgetActive</span><span class='hs-layout'>,</span>
<a name="line-166"></a>  <span class='hs-varid'>fileChooserGetPreviewWidgetActive</span><span class='hs-layout'>,</span>
<a name="line-167"></a>  <span class='hs-varid'>fileChooserSetUsePreviewLabel</span><span class='hs-layout'>,</span>
<a name="line-168"></a>  <span class='hs-varid'>fileChooserGetUsePreviewLabel</span><span class='hs-layout'>,</span>
<a name="line-169"></a>  <span class='hs-varid'>fileChooserGetPreviewFilename</span><span class='hs-layout'>,</span>
<a name="line-170"></a>  <span class='hs-varid'>fileChooserGetPreviewURI</span><span class='hs-layout'>,</span>
<a name="line-171"></a>  <span class='hs-varid'>fileChooserSetExtraWidget</span><span class='hs-layout'>,</span>
<a name="line-172"></a>  <span class='hs-varid'>fileChooserGetExtraWidget</span><span class='hs-layout'>,</span>
<a name="line-173"></a>  <span class='hs-varid'>fileChooserAddFilter</span><span class='hs-layout'>,</span>
<a name="line-174"></a>  <span class='hs-varid'>fileChooserRemoveFilter</span><span class='hs-layout'>,</span>
<a name="line-175"></a>  <span class='hs-varid'>fileChooserListFilters</span><span class='hs-layout'>,</span>
<a name="line-176"></a>  <span class='hs-varid'>fileChooserSetFilter</span><span class='hs-layout'>,</span>
<a name="line-177"></a>  <span class='hs-varid'>fileChooserGetFilter</span><span class='hs-layout'>,</span>
<a name="line-178"></a>  <span class='hs-varid'>fileChooserAddShortcutFolder</span><span class='hs-layout'>,</span>
<a name="line-179"></a>  <span class='hs-varid'>fileChooserRemoveShortcutFolder</span><span class='hs-layout'>,</span>
<a name="line-180"></a>  <span class='hs-varid'>fileChooserListShortcutFolders</span><span class='hs-layout'>,</span>
<a name="line-181"></a>  <span class='hs-varid'>fileChooserAddShortcutFolderURI</span><span class='hs-layout'>,</span>
<a name="line-182"></a>  <span class='hs-varid'>fileChooserRemoveShortcutFolderURI</span><span class='hs-layout'>,</span>
<a name="line-183"></a>  <span class='hs-varid'>fileChooserListShortcutFolderURIs</span><span class='hs-layout'>,</span>
<a name="line-184"></a>  <span class='hs-varid'>fileChooserErrorDomain</span><span class='hs-layout'>,</span>
<a name="line-185"></a>
<a name="line-186"></a>  <span class='hs-varid'>fileChooserSetShowHidden</span><span class='hs-layout'>,</span>
<a name="line-187"></a>  <span class='hs-varid'>fileChooserGetShowHidden</span><span class='hs-layout'>,</span>
<a name="line-188"></a>
<a name="line-189"></a>
<a name="line-190"></a>  <span class='hs-varid'>fileChooserSetDoOverwriteConfirmation</span><span class='hs-layout'>,</span>
<a name="line-191"></a>  <span class='hs-varid'>fileChooserGetDoOverwriteConfirmation</span><span class='hs-layout'>,</span>
<a name="line-192"></a>
<a name="line-193"></a>
<a name="line-194"></a><span class='hs-comment'>-- * Attributes</span>
<a name="line-195"></a>  <span class='hs-varid'>fileChooserUsePreviewLabel</span><span class='hs-layout'>,</span>
<a name="line-196"></a>
<a name="line-197"></a>  <span class='hs-varid'>fileChooserShowHidden</span><span class='hs-layout'>,</span>
<a name="line-198"></a>
<a name="line-199"></a>  <span class='hs-varid'>fileChooserSelectMultiple</span><span class='hs-layout'>,</span>
<a name="line-200"></a>  <span class='hs-varid'>fileChooserPreviewWidgetActive</span><span class='hs-layout'>,</span>
<a name="line-201"></a>  <span class='hs-varid'>fileChooserPreviewWidget</span><span class='hs-layout'>,</span>
<a name="line-202"></a>  <span class='hs-varid'>fileChooserLocalOnly</span><span class='hs-layout'>,</span>
<a name="line-203"></a>  <span class='hs-varid'>fileChooserFilter</span><span class='hs-layout'>,</span>
<a name="line-204"></a>  <span class='hs-varid'>fileChooserExtraWidget</span><span class='hs-layout'>,</span>
<a name="line-205"></a>
<a name="line-206"></a>  <span class='hs-varid'>fileChooserDoOverwriteConfirmation</span><span class='hs-layout'>,</span>
<a name="line-207"></a>
<a name="line-208"></a>  <span class='hs-varid'>fileChooserAction</span><span class='hs-layout'>,</span>
<a name="line-209"></a>
<a name="line-210"></a><span class='hs-comment'>-- * Signals</span>
<a name="line-211"></a>  <span class='hs-varid'>onCurrentFolderChanged</span><span class='hs-layout'>,</span>
<a name="line-212"></a>  <span class='hs-varid'>afterCurrentFolderChanged</span><span class='hs-layout'>,</span>
<a name="line-213"></a>  <span class='hs-varid'>onFileActivated</span><span class='hs-layout'>,</span>
<a name="line-214"></a>  <span class='hs-varid'>afterFileActivated</span><span class='hs-layout'>,</span>
<a name="line-215"></a><span class='hs-comment'>-- onSelectionChanged,</span>
<a name="line-216"></a><span class='hs-comment'>-- afterSelectionChanged,</span>
<a name="line-217"></a>  <span class='hs-varid'>onUpdatePreview</span><span class='hs-layout'>,</span>
<a name="line-218"></a>  <span class='hs-varid'>afterUpdatePreview</span><span class='hs-layout'>,</span>
<a name="line-219"></a>
<a name="line-220"></a>  <span class='hs-varid'>onConfirmOverwrite</span><span class='hs-layout'>,</span>
<a name="line-221"></a>  <span class='hs-varid'>afterConfirmOverwrite</span><span class='hs-layout'>,</span>
<a name="line-222"></a>
<a name="line-223"></a>
<a name="line-224"></a>  <span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-225"></a>
<a name="line-226"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Monad</span> <span class='hs-layout'>(</span><span class='hs-varid'>liftM</span><span class='hs-layout'>)</span>
<a name="line-227"></a>
<a name="line-228"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>FFI</span>
<a name="line-229"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>UTFString</span>
<a name="line-230"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>Attributes</span>
<a name="line-231"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Types</span>
<a name="line-232"></a><span class='hs-comment'>{-# LINE 231 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-233"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Abstract</span><span class='hs-varop'>.</span><span class='hs-conid'>Object</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeNewObject</span><span class='hs-layout'>)</span>
<a name="line-234"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Signals</span>
<a name="line-235"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>GList</span>
<a name="line-236"></a><span class='hs-comment'>{-# LINE 234 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-237"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>GError</span> <span class='hs-layout'>(</span><span class='hs-varid'>propagateGError</span><span class='hs-layout'>,</span> <span class='hs-conid'>GErrorDomain</span><span class='hs-layout'>,</span> <span class='hs-conid'>GErrorClass</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-238"></a>
<a name="line-239"></a>
<a name="line-240"></a><span class='hs-comment'>{-# LINE 237 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-241"></a>
<a name="line-242"></a>
<a name="line-243"></a>
<a name="line-244"></a><a name="FileChooserAction"></a><span class='hs-comment'>-- | Describes whether a 'FileChooser' is being used to open existing files</span>
<a name="line-245"></a><a name="FileChooserAction"></a><span class='hs-comment'>-- or to save to a possibly new file.</span>
<a name="line-246"></a><a name="FileChooserAction"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>FileChooserAction</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>FileChooserActionOpen</span>
<a name="line-247"></a>                       <span class='hs-keyglyph'>|</span> <span class='hs-conid'>FileChooserActionSave</span>
<a name="line-248"></a>                       <span class='hs-keyglyph'>|</span> <span class='hs-conid'>FileChooserActionSelectFolder</span>
<a name="line-249"></a>                       <span class='hs-keyglyph'>|</span> <span class='hs-conid'>FileChooserActionCreateFolder</span>
<a name="line-250"></a>                       <span class='hs-keyword'>deriving</span> <span class='hs-layout'>(</span><span class='hs-conid'>Enum</span><span class='hs-layout'>)</span>
<a name="line-251"></a>
<a name="line-252"></a><span class='hs-comment'>{-# LINE 243 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-253"></a>
<a name="line-254"></a><a name="FileChooserError"></a><span class='hs-comment'>-- | These identify the various errors that can occur while calling</span>
<a name="line-255"></a><a name="FileChooserError"></a><span class='hs-comment'>-- 'FileChooser' functions.</span>
<a name="line-256"></a><a name="FileChooserError"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>FileChooserError</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>FileChooserErrorNonexistent</span>
<a name="line-257"></a>                      <span class='hs-keyglyph'>|</span> <span class='hs-conid'>FileChooserErrorBadFilename</span>
<a name="line-258"></a>                      <span class='hs-keyglyph'>|</span> <span class='hs-conid'>FileChooserErrorAlreadyExists</span>
<a name="line-259"></a>                      <span class='hs-keyglyph'>|</span> <span class='hs-conid'>FileChooserErrorIncompleteHostname</span>
<a name="line-260"></a>                      <span class='hs-keyword'>deriving</span> <span class='hs-layout'>(</span><span class='hs-conid'>Enum</span><span class='hs-layout'>)</span>
<a name="line-261"></a>
<a name="line-262"></a><span class='hs-comment'>{-# LINE 247 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-263"></a>
<a name="line-264"></a>
<a name="line-265"></a>
<a name="line-266"></a><a name="FileChooserConfirmation"></a><span class='hs-comment'>-- | Used as a return value of handlers for the 'onConfirmOverwrite'</span>
<a name="line-267"></a><a name="FileChooserConfirmation"></a><span class='hs-comment'>-- signal of a 'FileChooser'.</span>
<a name="line-268"></a><a name="FileChooserConfirmation"></a><span class='hs-comment'>--</span>
<a name="line-269"></a><a name="FileChooserConfirmation"></a><span class='hs-comment'>-- * This value determines whether the file chooser will present the stock</span>
<a name="line-270"></a><a name="FileChooserConfirmation"></a><span class='hs-comment'>-- confirmation dialog, accept the user's choice of a filename, or let</span>
<a name="line-271"></a><a name="FileChooserConfirmation"></a><span class='hs-comment'>-- the user choose another filename.</span>
<a name="line-272"></a><a name="FileChooserConfirmation"></a><span class='hs-comment'>--</span>
<a name="line-273"></a><a name="FileChooserConfirmation"></a><span class='hs-comment'>-- Since Gtk 2.8.</span>
<a name="line-274"></a><a name="FileChooserConfirmation"></a><span class='hs-comment'>--</span>
<a name="line-275"></a><a name="FileChooserConfirmation"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>FileChooserConfirmation</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>FileChooserConfirmationConfirm</span>
<a name="line-276"></a>                             <span class='hs-keyglyph'>|</span> <span class='hs-conid'>FileChooserConfirmationAcceptFilename</span>
<a name="line-277"></a>                             <span class='hs-keyglyph'>|</span> <span class='hs-conid'>FileChooserConfirmationSelectAgain</span>
<a name="line-278"></a>                             <span class='hs-keyword'>deriving</span> <span class='hs-layout'>(</span><span class='hs-conid'>Enum</span><span class='hs-layout'>)</span>
<a name="line-279"></a>
<a name="line-280"></a><span class='hs-comment'>{-# LINE 260 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-281"></a>
<a name="line-282"></a>
<a name="line-283"></a><span class='hs-comment'>--------------------</span>
<a name="line-284"></a><span class='hs-comment'>-- Methods</span>
<a name="line-285"></a>
<a name="line-286"></a><a name="fileChooserErrorDomain"></a><span class='hs-definition'>fileChooserErrorDomain</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GErrorDomain</span>
<a name="line-287"></a><span class='hs-definition'>fileChooserErrorDomain</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>unsafePerformIO</span> <span class='hs-varid'>gtk_file_chooser_error_quark</span>
<a name="line-288"></a><span class='hs-comment'>{-# LINE 267 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-289"></a>
<a name="line-290"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>GErrorClass</span> <span class='hs-conid'>FileChooserError</span> <span class='hs-keyword'>where</span>
<a name="line-291"></a>  <span class='hs-varid'>gerrorDomain</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fileChooserErrorDomain</span>
<a name="line-292"></a>
<a name="line-293"></a><a name="fileChooserSetAction"></a><span class='hs-comment'>-- | Sets the type of operation that the chooser is performing; the user</span>
<a name="line-294"></a><span class='hs-comment'>-- interface is adapted to suit the selected action. For example, an option to</span>
<a name="line-295"></a><span class='hs-comment'>-- create a new folder might be shown if the action is 'FileChooserActionSave'</span>
<a name="line-296"></a><span class='hs-comment'>-- but not if the action is 'FileChooserActionOpen'.</span>
<a name="line-297"></a><span class='hs-comment'>--</span>
<a name="line-298"></a><span class='hs-definition'>fileChooserSetAction</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-299"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FileChooserAction</span> <span class='hs-comment'>-- ^ @action@ - the action that the file selector is</span>
<a name="line-300"></a>                      <span class='hs-comment'>-- performing</span>
<a name="line-301"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-302"></a><span class='hs-definition'>fileChooserSetAction</span> <span class='hs-varid'>self</span> <span class='hs-varid'>action</span> <span class='hs-keyglyph'>=</span>
<a name="line-303"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_action</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-304"></a><span class='hs-comment'>{-# LINE 282 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-305"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-306"></a>    <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fromEnum</span><span class='hs-layout'>)</span> <span class='hs-varid'>action</span><span class='hs-layout'>)</span>
<a name="line-307"></a>
<a name="line-308"></a><a name="fileChooserGetAction"></a><span class='hs-comment'>-- | Gets the type of operation that the file chooser is performing; see</span>
<a name="line-309"></a><span class='hs-comment'>-- 'fileChooserSetAction'.</span>
<a name="line-310"></a><span class='hs-comment'>--</span>
<a name="line-311"></a><span class='hs-definition'>fileChooserGetAction</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FileChooserAction</span>
<a name="line-312"></a><span class='hs-definition'>fileChooserGetAction</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-313"></a>  <span class='hs-varid'>liftM</span> <span class='hs-layout'>(</span><span class='hs-varid'>toEnum</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fromIntegral</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span>
<a name="line-314"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_action</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-315"></a><span class='hs-comment'>{-# LINE 292 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-316"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-317"></a>
<a name="line-318"></a><a name="fileChooserSetLocalOnly"></a><span class='hs-comment'>-- | Sets whether only local files can be selected in the file selector. If</span>
<a name="line-319"></a><span class='hs-comment'>-- @localOnly@ is @True@ (the default), then the selected file are files are</span>
<a name="line-320"></a><span class='hs-comment'>-- guaranteed to be accessible through the operating systems native file file</span>
<a name="line-321"></a><span class='hs-comment'>-- system and therefore the application only needs to worry about the filename</span>
<a name="line-322"></a><span class='hs-comment'>-- functions in 'FileChooser', like 'fileChooserGetFilename', rather than the</span>
<a name="line-323"></a><span class='hs-comment'>-- URI functions like 'fileChooserGetURI',</span>
<a name="line-324"></a><span class='hs-comment'>--</span>
<a name="line-325"></a><span class='hs-definition'>fileChooserSetLocalOnly</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-326"></a><span class='hs-definition'>fileChooserSetLocalOnly</span> <span class='hs-varid'>self</span> <span class='hs-varid'>localOnly</span> <span class='hs-keyglyph'>=</span>
<a name="line-327"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_local_only</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-328"></a><span class='hs-comment'>{-# LINE 304 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-329"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-330"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>localOnly</span><span class='hs-layout'>)</span>
<a name="line-331"></a>
<a name="line-332"></a><a name="fileChooserGetLocalOnly"></a><span class='hs-comment'>-- | Gets whether only local files can be selected in the file selector. See</span>
<a name="line-333"></a><span class='hs-comment'>-- 'fileChooserSetLocalOnly'</span>
<a name="line-334"></a><span class='hs-comment'>--</span>
<a name="line-335"></a><span class='hs-definition'>fileChooserGetLocalOnly</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span>
<a name="line-336"></a><span class='hs-definition'>fileChooserGetLocalOnly</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-337"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-338"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_local_only</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-339"></a><span class='hs-comment'>{-# LINE 314 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-340"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-341"></a>
<a name="line-342"></a><a name="fileChooserSetSelectMultiple"></a><span class='hs-comment'>-- | Sets whether multiple files can be selected in the file selector. This is</span>
<a name="line-343"></a><span class='hs-comment'>-- only relevant if the action is set to be 'FileChooserActionOpen' or</span>
<a name="line-344"></a><span class='hs-comment'>-- 'FileChooserActionSave'. It cannot be set with either of the folder actions.</span>
<a name="line-345"></a><span class='hs-comment'>--</span>
<a name="line-346"></a><span class='hs-definition'>fileChooserSetSelectMultiple</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-347"></a><span class='hs-definition'>fileChooserSetSelectMultiple</span> <span class='hs-varid'>self</span> <span class='hs-varid'>selectMultiple</span> <span class='hs-keyglyph'>=</span>
<a name="line-348"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_select_multiple</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-349"></a><span class='hs-comment'>{-# LINE 323 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-350"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-351"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>selectMultiple</span><span class='hs-layout'>)</span>
<a name="line-352"></a>
<a name="line-353"></a><a name="fileChooserGetSelectMultiple"></a><span class='hs-comment'>-- | Gets whether multiple files can be selected in the file selector. See</span>
<a name="line-354"></a><span class='hs-comment'>-- 'fileChooserSetSelectMultiple'.</span>
<a name="line-355"></a><span class='hs-comment'>--</span>
<a name="line-356"></a><span class='hs-definition'>fileChooserGetSelectMultiple</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span>
<a name="line-357"></a><span class='hs-definition'>fileChooserGetSelectMultiple</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-358"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-359"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_select_multiple</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-360"></a><span class='hs-comment'>{-# LINE 333 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-361"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-362"></a>
<a name="line-363"></a><a name="fileChooserSetCurrentName"></a><span class='hs-comment'>-- | Sets the current name in the file selector, as if entered by the user.</span>
<a name="line-364"></a><span class='hs-comment'>-- Note that the name passed in here is a Unicode string rather than a filename.</span>
<a name="line-365"></a><span class='hs-comment'>-- This function is meant for such uses as a suggested name in a \"Save As...\"</span>
<a name="line-366"></a><span class='hs-comment'>-- dialog.</span>
<a name="line-367"></a><span class='hs-comment'>--</span>
<a name="line-368"></a><span class='hs-comment'>-- If you want to preselect a particular existing file, you should use</span>
<a name="line-369"></a><span class='hs-comment'>-- 'fileChooserSetFilename' or 'fileChooserSetURI' instead. Please see the</span>
<a name="line-370"></a><span class='hs-comment'>-- documentation for those functions for an example of using</span>
<a name="line-371"></a><span class='hs-comment'>-- 'fileChooserSetCurrentName' as well.</span>
<a name="line-372"></a><span class='hs-comment'>--</span>
<a name="line-373"></a><span class='hs-definition'>fileChooserSetCurrentName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-374"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FilePath</span> <span class='hs-comment'>-- ^ @name@ - the filename to use, as a Unicode string</span>
<a name="line-375"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-376"></a><span class='hs-definition'>fileChooserSetCurrentName</span> <span class='hs-varid'>self</span> <span class='hs-varid'>name</span> <span class='hs-keyglyph'>=</span>
<a name="line-377"></a>  <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>name</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>namePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-378"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_current_name</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-379"></a><span class='hs-comment'>{-# LINE 351 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-380"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-381"></a>    <span class='hs-varid'>namePtr</span>
<a name="line-382"></a>
<a name="line-383"></a><a name="fileChooserGetFilename"></a><span class='hs-comment'>-- | Gets the filename for the currently selected file in the file selector.</span>
<a name="line-384"></a><span class='hs-comment'>-- If multiple files are selected, one of the filenames will be returned at</span>
<a name="line-385"></a><span class='hs-comment'>-- random.</span>
<a name="line-386"></a><span class='hs-comment'>--</span>
<a name="line-387"></a><span class='hs-comment'>-- If the file chooser is in folder mode, this function returns the selected</span>
<a name="line-388"></a><span class='hs-comment'>-- folder.</span>
<a name="line-389"></a><span class='hs-comment'>--</span>
<a name="line-390"></a><span class='hs-definition'>fileChooserGetFilename</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-391"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>FilePath</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ returns The currently selected filename, or</span>
<a name="line-392"></a>                        <span class='hs-comment'>-- @Nothing@ if no file is selected, or the selected</span>
<a name="line-393"></a>                        <span class='hs-comment'>-- file can't be represented with a local filename.</span>
<a name="line-394"></a><span class='hs-definition'>fileChooserGetFilename</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-395"></a>
<a name="line-396"></a>
<a name="line-397"></a>
<a name="line-398"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_filename</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-399"></a><span class='hs-comment'>{-# LINE 370 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-400"></a>
<a name="line-401"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-402"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>maybePeek</span> <span class='hs-varid'>readCString</span>
<a name="line-403"></a>
<a name="line-404"></a><a name="fileChooserSetFilename"></a><span class='hs-comment'>-- | Sets @filename@ as the current filename for the file chooser, by changing</span>
<a name="line-405"></a><span class='hs-comment'>-- to the file's parent folder and actually selecting the file in list. If the</span>
<a name="line-406"></a><span class='hs-comment'>-- @chooser@ is in 'FileChooserActionSave' mode, the file's base name will also</span>
<a name="line-407"></a><span class='hs-comment'>-- appear in the dialog's file name entry.</span>
<a name="line-408"></a><span class='hs-comment'>--</span>
<a name="line-409"></a><span class='hs-comment'>-- If the file name isn't in the current folder of @chooser@, then the</span>
<a name="line-410"></a><span class='hs-comment'>-- current folder of @chooser@ will be changed to the folder containing</span>
<a name="line-411"></a><span class='hs-comment'>-- @filename@. This is equivalent to a sequence of 'fileChooserUnselectAll'</span>
<a name="line-412"></a><span class='hs-comment'>-- followed by 'fileChooserSelectFilename'.</span>
<a name="line-413"></a><span class='hs-comment'>--</span>
<a name="line-414"></a><span class='hs-comment'>-- Note that the file must exist, or nothing will be done except for the</span>
<a name="line-415"></a><span class='hs-comment'>-- directory change.</span>
<a name="line-416"></a><span class='hs-comment'>--</span>
<a name="line-417"></a><span class='hs-comment'>-- If you are implementing a File\/Save As... dialog, you should use this</span>
<a name="line-418"></a><span class='hs-comment'>-- function if you already have a file name to which the user may save; for</span>
<a name="line-419"></a><span class='hs-comment'>-- example, when the user opens an existing file and then does File\/Save As...</span>
<a name="line-420"></a><span class='hs-comment'>-- on it. If you don't have a file name already — for example, if the user</span>
<a name="line-421"></a><span class='hs-comment'>-- just created a new file and is saving it for the first time, do not call</span>
<a name="line-422"></a><span class='hs-comment'>-- this function. Instead, use something similar to this:</span>
<a name="line-423"></a><span class='hs-comment'>--</span>
<a name="line-424"></a><span class='hs-comment'>-- &gt; if documentIsNew</span>
<a name="line-425"></a><span class='hs-comment'>-- &gt; then do -- the user just created a new document</span>
<a name="line-426"></a><span class='hs-comment'>-- &gt; fileChooserSetCurrentFolder chooser defaultFolderForSaving</span>
<a name="line-427"></a><span class='hs-comment'>-- &gt; fileChooserSetCurrentName chooser "Untitled document"</span>
<a name="line-428"></a><span class='hs-comment'>-- &gt; else do --the user edited an existing document</span>
<a name="line-429"></a><span class='hs-comment'>-- &gt; fileChooserSetFilename chooser existingFilename</span>
<a name="line-430"></a><span class='hs-comment'>--</span>
<a name="line-431"></a><span class='hs-definition'>fileChooserSetFilename</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-432"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FilePath</span> <span class='hs-comment'>-- ^ @filename@ - the filename to set as current</span>
<a name="line-433"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns @True@ if both the folder could be changed and the</span>
<a name="line-434"></a>             <span class='hs-comment'>-- file was selected successfully, @False@ otherwise.</span>
<a name="line-435"></a><span class='hs-definition'>fileChooserSetFilename</span> <span class='hs-varid'>self</span> <span class='hs-varid'>filename</span> <span class='hs-keyglyph'>=</span>
<a name="line-436"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-437"></a>  <span class='hs-varid'>withCString</span> <span class='hs-varid'>filename</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>filenamePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-438"></a>
<a name="line-439"></a>
<a name="line-440"></a>
<a name="line-441"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_filename</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-442"></a><span class='hs-comment'>{-# LINE 412 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-443"></a>
<a name="line-444"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-445"></a>    <span class='hs-varid'>filenamePtr</span>
<a name="line-446"></a>
<a name="line-447"></a><a name="fileChooserSelectFilename"></a><span class='hs-comment'>-- | Selects a filename. If the file name isn't in the current folder of</span>
<a name="line-448"></a><span class='hs-comment'>-- the chooser, then the current folder of the chooser will be changed to the</span>
<a name="line-449"></a><span class='hs-comment'>-- folder containing @filename@.</span>
<a name="line-450"></a><span class='hs-comment'>--</span>
<a name="line-451"></a><span class='hs-definition'>fileChooserSelectFilename</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-452"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FilePath</span> <span class='hs-comment'>-- ^ @filename@ - the filename to select</span>
<a name="line-453"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns @True@ if both the folder could be changed and the</span>
<a name="line-454"></a>             <span class='hs-comment'>-- file was selected successfully, @False@ otherwise.</span>
<a name="line-455"></a><span class='hs-definition'>fileChooserSelectFilename</span> <span class='hs-varid'>self</span> <span class='hs-varid'>filename</span> <span class='hs-keyglyph'>=</span>
<a name="line-456"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-457"></a>  <span class='hs-varid'>withCString</span> <span class='hs-varid'>filename</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>filenamePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-458"></a>
<a name="line-459"></a>
<a name="line-460"></a>
<a name="line-461"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_select_filename</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-462"></a><span class='hs-comment'>{-# LINE 431 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-463"></a>
<a name="line-464"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-465"></a>    <span class='hs-varid'>filenamePtr</span>
<a name="line-466"></a>
<a name="line-467"></a><a name="fileChooserUnselectFilename"></a><span class='hs-comment'>-- | Unselects a currently selected filename. If the filename is not in the</span>
<a name="line-468"></a><span class='hs-comment'>-- current directory, does not exist, or is otherwise not currently selected,</span>
<a name="line-469"></a><span class='hs-comment'>-- does nothing.</span>
<a name="line-470"></a><span class='hs-comment'>--</span>
<a name="line-471"></a><span class='hs-definition'>fileChooserUnselectFilename</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-472"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FilePath</span> <span class='hs-comment'>-- ^ @filename@ - the filename to unselect</span>
<a name="line-473"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-474"></a><span class='hs-definition'>fileChooserUnselectFilename</span> <span class='hs-varid'>self</span> <span class='hs-varid'>filename</span> <span class='hs-keyglyph'>=</span>
<a name="line-475"></a>  <span class='hs-varid'>withCString</span> <span class='hs-varid'>filename</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>filenamePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-476"></a>
<a name="line-477"></a>
<a name="line-478"></a>
<a name="line-479"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_unselect_filename</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-480"></a><span class='hs-comment'>{-# LINE 448 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-481"></a>
<a name="line-482"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-483"></a>    <span class='hs-varid'>filenamePtr</span>
<a name="line-484"></a>
<a name="line-485"></a><a name="fileChooserSelectAll"></a><span class='hs-comment'>-- | Selects all the files in the current folder of a file chooser.</span>
<a name="line-486"></a><span class='hs-comment'>--</span>
<a name="line-487"></a><span class='hs-definition'>fileChooserSelectAll</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-488"></a><span class='hs-definition'>fileChooserSelectAll</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-489"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_select_all</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-490"></a><span class='hs-comment'>{-# LINE 457 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-491"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-492"></a>
<a name="line-493"></a><a name="fileChooserUnselectAll"></a><span class='hs-comment'>-- | Unselects all the files in the current folder of a file chooser.</span>
<a name="line-494"></a><span class='hs-comment'>--</span>
<a name="line-495"></a><span class='hs-definition'>fileChooserUnselectAll</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-496"></a><span class='hs-definition'>fileChooserUnselectAll</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-497"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_unselect_all</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-498"></a><span class='hs-comment'>{-# LINE 464 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-499"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-500"></a>
<a name="line-501"></a><a name="fileChooserGetFilenames"></a><span class='hs-comment'>-- | Lists all the selected files and subfolders in the current folder of</span>
<a name="line-502"></a><span class='hs-comment'>-- the chooser. The returned names are full absolute paths. If files in the</span>
<a name="line-503"></a><span class='hs-comment'>-- current folder cannot be represented as local filenames they will be</span>
<a name="line-504"></a><span class='hs-comment'>-- ignored. (See 'fileChooserGetURIs')</span>
<a name="line-505"></a><span class='hs-comment'>--</span>
<a name="line-506"></a><span class='hs-definition'>fileChooserGetFilenames</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>FilePath</span><span class='hs-keyglyph'>]</span>
<a name="line-507"></a><span class='hs-definition'>fileChooserGetFilenames</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-508"></a>
<a name="line-509"></a>
<a name="line-510"></a>
<a name="line-511"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_filenames</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-512"></a><span class='hs-comment'>{-# LINE 477 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-513"></a>
<a name="line-514"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-515"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>fromStringGSList</span>
<a name="line-516"></a>
<a name="line-517"></a><a name="fileChooserSetCurrentFolder"></a><span class='hs-comment'>-- | Sets the current folder for the chooser from a local filename. The user</span>
<a name="line-518"></a><span class='hs-comment'>-- will be shown the full contents of the current folder, plus user interface</span>
<a name="line-519"></a><span class='hs-comment'>-- elements for navigating to other folders.</span>
<a name="line-520"></a><span class='hs-comment'>--</span>
<a name="line-521"></a><span class='hs-definition'>fileChooserSetCurrentFolder</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-522"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FilePath</span> <span class='hs-comment'>-- ^ @filename@ - the full path of the new current folder</span>
<a name="line-523"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns @True@ if the folder could be changed successfully,</span>
<a name="line-524"></a>             <span class='hs-comment'>-- @False@ otherwise.</span>
<a name="line-525"></a><span class='hs-definition'>fileChooserSetCurrentFolder</span> <span class='hs-varid'>self</span> <span class='hs-varid'>filename</span> <span class='hs-keyglyph'>=</span>
<a name="line-526"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-527"></a>  <span class='hs-varid'>withCString</span> <span class='hs-varid'>filename</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>filenamePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-528"></a>
<a name="line-529"></a>
<a name="line-530"></a>
<a name="line-531"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_current_folder</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-532"></a><span class='hs-comment'>{-# LINE 496 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-533"></a>
<a name="line-534"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-535"></a>    <span class='hs-varid'>filenamePtr</span>
<a name="line-536"></a>
<a name="line-537"></a><a name="fileChooserGetCurrentFolder"></a><span class='hs-comment'>-- | Gets the current folder of the chooser as a local filename. See</span>
<a name="line-538"></a><span class='hs-comment'>-- 'fileChooserSetCurrentFolder'.</span>
<a name="line-539"></a><span class='hs-comment'>--</span>
<a name="line-540"></a><span class='hs-definition'>fileChooserGetCurrentFolder</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-541"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>FilePath</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ returns the full path of the current folder, or</span>
<a name="line-542"></a>                        <span class='hs-comment'>-- @Nothing@ if the current path cannot be represented</span>
<a name="line-543"></a>                        <span class='hs-comment'>-- as a local filename.</span>
<a name="line-544"></a><span class='hs-definition'>fileChooserGetCurrentFolder</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-545"></a>
<a name="line-546"></a>
<a name="line-547"></a>
<a name="line-548"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_current_folder</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-549"></a><span class='hs-comment'>{-# LINE 512 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-550"></a>
<a name="line-551"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-552"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>maybePeek</span> <span class='hs-varid'>readCString</span>
<a name="line-553"></a>
<a name="line-554"></a><a name="fileChooserGetURI"></a><span class='hs-comment'>-- | Gets the URI for the currently selected file in the file selector. If</span>
<a name="line-555"></a><span class='hs-comment'>-- multiple files are selected, one of the filenames will be returned at</span>
<a name="line-556"></a><span class='hs-comment'>-- random.</span>
<a name="line-557"></a><span class='hs-comment'>--</span>
<a name="line-558"></a><span class='hs-comment'>-- If the file chooser is in folder mode, this function returns the selected</span>
<a name="line-559"></a><span class='hs-comment'>-- folder.</span>
<a name="line-560"></a><span class='hs-comment'>--</span>
<a name="line-561"></a><span class='hs-definition'>fileChooserGetURI</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-562"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ returns The currently selected URI, or @Nothing@ if</span>
<a name="line-563"></a>                      <span class='hs-comment'>-- no file is selected.</span>
<a name="line-564"></a><span class='hs-definition'>fileChooserGetURI</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-565"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_uri</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-566"></a><span class='hs-comment'>{-# LINE 528 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-567"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-568"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>maybePeek</span> <span class='hs-varid'>readCString</span>
<a name="line-569"></a>
<a name="line-570"></a><a name="fileChooserSetURI"></a><span class='hs-comment'>-- | Sets the file referred to by @uri@ as the current file for the file</span>
<a name="line-571"></a><span class='hs-comment'>-- chooser, by changing to the URI's parent folder and actually selecting the</span>
<a name="line-572"></a><span class='hs-comment'>-- URI in the list. If the @chooser@ is 'FileChooserActionSave' mode, the URI's</span>
<a name="line-573"></a><span class='hs-comment'>-- base name will also appear in the dialog's file name entry.</span>
<a name="line-574"></a><span class='hs-comment'>--</span>
<a name="line-575"></a><span class='hs-comment'>-- If the URI isn't in the current folder of @chooser@, then the current</span>
<a name="line-576"></a><span class='hs-comment'>-- folder of @chooser@ will be changed to the folder containing @uri@. This is</span>
<a name="line-577"></a><span class='hs-comment'>-- equivalent to a sequence of 'fileChooserUnselectAll' followed by</span>
<a name="line-578"></a><span class='hs-comment'>-- 'fileChooserSelectURI'.</span>
<a name="line-579"></a><span class='hs-comment'>--</span>
<a name="line-580"></a><span class='hs-comment'>-- Note that the URI must exist, or nothing will be done except for the</span>
<a name="line-581"></a><span class='hs-comment'>-- directory change. If you are implementing a File\/Save As... dialog, you</span>
<a name="line-582"></a><span class='hs-comment'>-- should use this function if you already have a file name to which the user</span>
<a name="line-583"></a><span class='hs-comment'>-- may save; for example, when the user opens an existing file and then does</span>
<a name="line-584"></a><span class='hs-comment'>-- File\/Save As... on it. If you don't have a file name already — for</span>
<a name="line-585"></a><span class='hs-comment'>-- example, if the user just created a new file and is saving it for the first</span>
<a name="line-586"></a><span class='hs-comment'>-- time, do not call this function. Instead, use something similar to this:</span>
<a name="line-587"></a><span class='hs-comment'>--</span>
<a name="line-588"></a><span class='hs-comment'>-- &gt; if documentIsNew</span>
<a name="line-589"></a><span class='hs-comment'>-- &gt; then do -- the user just created a new document</span>
<a name="line-590"></a><span class='hs-comment'>-- &gt; fileChooserSetCurrentFolderURI chooser defaultFolderForSaving</span>
<a name="line-591"></a><span class='hs-comment'>-- &gt; fileChooserSetCurrentName chooser "Untitled document"</span>
<a name="line-592"></a><span class='hs-comment'>-- &gt; else do --the user edited an existing document</span>
<a name="line-593"></a><span class='hs-comment'>-- &gt; fileChooserSetURI chooser existingURI</span>
<a name="line-594"></a><span class='hs-comment'>--</span>
<a name="line-595"></a><span class='hs-definition'>fileChooserSetURI</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-596"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @uri@ - the URI to set as current</span>
<a name="line-597"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns @True@ if both the folder could be changed and the</span>
<a name="line-598"></a>            <span class='hs-comment'>-- URI was selected successfully, @False@ otherwise.</span>
<a name="line-599"></a><span class='hs-definition'>fileChooserSetURI</span> <span class='hs-varid'>self</span> <span class='hs-varid'>uri</span> <span class='hs-keyglyph'>=</span>
<a name="line-600"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-601"></a>  <span class='hs-varid'>withCString</span> <span class='hs-varid'>uri</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>uriPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-602"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_uri</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-603"></a><span class='hs-comment'>{-# LINE 564 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-604"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-605"></a>    <span class='hs-varid'>uriPtr</span>
<a name="line-606"></a>
<a name="line-607"></a><a name="fileChooserSelectURI"></a><span class='hs-comment'>-- | Selects the file to by @uri@. If the URI doesn't refer to a file in the</span>
<a name="line-608"></a><span class='hs-comment'>-- current folder of the chooser, then the current folder of the chooser will</span>
<a name="line-609"></a><span class='hs-comment'>-- be changed to the folder containing @filename@.</span>
<a name="line-610"></a><span class='hs-comment'>--</span>
<a name="line-611"></a><span class='hs-definition'>fileChooserSelectURI</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-612"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @uri@ - the URI to select</span>
<a name="line-613"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns @True@ if both the folder could be changed and the</span>
<a name="line-614"></a>            <span class='hs-comment'>-- URI was selected successfully, @False@ otherwise.</span>
<a name="line-615"></a><span class='hs-definition'>fileChooserSelectURI</span> <span class='hs-varid'>self</span> <span class='hs-varid'>uri</span> <span class='hs-keyglyph'>=</span>
<a name="line-616"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-617"></a>  <span class='hs-varid'>withCString</span> <span class='hs-varid'>uri</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>uriPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-618"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_select_uri</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-619"></a><span class='hs-comment'>{-# LINE 579 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-620"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-621"></a>    <span class='hs-varid'>uriPtr</span>
<a name="line-622"></a>
<a name="line-623"></a><a name="fileChooserUnselectURI"></a><span class='hs-comment'>-- | Unselects the file referred to by @uri@. If the file is not in the</span>
<a name="line-624"></a><span class='hs-comment'>-- current directory, does not exist, or is otherwise not currently selected,</span>
<a name="line-625"></a><span class='hs-comment'>-- does nothing.</span>
<a name="line-626"></a><span class='hs-comment'>--</span>
<a name="line-627"></a><span class='hs-definition'>fileChooserUnselectURI</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-628"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @uri@ - the URI to unselect</span>
<a name="line-629"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-630"></a><span class='hs-definition'>fileChooserUnselectURI</span> <span class='hs-varid'>self</span> <span class='hs-varid'>uri</span> <span class='hs-keyglyph'>=</span>
<a name="line-631"></a>  <span class='hs-varid'>withCString</span> <span class='hs-varid'>uri</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>uriPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-632"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_unselect_uri</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-633"></a><span class='hs-comment'>{-# LINE 592 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-634"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-635"></a>    <span class='hs-varid'>uriPtr</span>
<a name="line-636"></a>
<a name="line-637"></a><a name="fileChooserGetURIs"></a><span class='hs-comment'>-- | Lists all the selected files and subfolders in the current folder of</span>
<a name="line-638"></a><span class='hs-comment'>-- the chooser. The returned names are full absolute URIs.</span>
<a name="line-639"></a><span class='hs-comment'>--</span>
<a name="line-640"></a><span class='hs-definition'>fileChooserGetURIs</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>String</span><span class='hs-keyglyph'>]</span>
<a name="line-641"></a><span class='hs-definition'>fileChooserGetURIs</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-642"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_uris</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-643"></a><span class='hs-comment'>{-# LINE 601 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-644"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-645"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>fromStringGSList</span>
<a name="line-646"></a>
<a name="line-647"></a><a name="fileChooserSetCurrentFolderURI"></a><span class='hs-comment'>-- | Sets the current folder for the chooser from an URI. The user will be</span>
<a name="line-648"></a><span class='hs-comment'>-- shown the full contents of the current folder, plus user interface elements</span>
<a name="line-649"></a><span class='hs-comment'>-- for navigating to other folders.</span>
<a name="line-650"></a><span class='hs-comment'>--</span>
<a name="line-651"></a><span class='hs-definition'>fileChooserSetCurrentFolderURI</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-652"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @uri@ - the URI for the new current folder</span>
<a name="line-653"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns @True@ if the folder could be changed successfully,</span>
<a name="line-654"></a>            <span class='hs-comment'>-- @False@ otherwise.</span>
<a name="line-655"></a><span class='hs-definition'>fileChooserSetCurrentFolderURI</span> <span class='hs-varid'>self</span> <span class='hs-varid'>uri</span> <span class='hs-keyglyph'>=</span>
<a name="line-656"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-657"></a>  <span class='hs-varid'>withCString</span> <span class='hs-varid'>uri</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>uriPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-658"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_current_folder_uri</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-659"></a><span class='hs-comment'>{-# LINE 616 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-660"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-661"></a>    <span class='hs-varid'>uriPtr</span>
<a name="line-662"></a>
<a name="line-663"></a><a name="fileChooserGetCurrentFolderURI"></a><span class='hs-comment'>-- | Gets the current folder of the chooser as an URI. See</span>
<a name="line-664"></a><span class='hs-comment'>-- 'fileChooserSetCurrentFolderURI'.</span>
<a name="line-665"></a><span class='hs-comment'>--</span>
<a name="line-666"></a><span class='hs-definition'>fileChooserGetCurrentFolderURI</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-667"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ returns the URI for the current folder.</span>
<a name="line-668"></a><span class='hs-definition'>fileChooserGetCurrentFolderURI</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-669"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_current_folder_uri</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-670"></a><span class='hs-comment'>{-# LINE 626 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-671"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-672"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>readCString</span>
<a name="line-673"></a>
<a name="line-674"></a><a name="fileChooserSetPreviewWidget"></a><span class='hs-comment'>-- | Sets an application-supplied widget to use to display a custom preview of</span>
<a name="line-675"></a><span class='hs-comment'>-- the currently selected file. To implement a preview, after setting the</span>
<a name="line-676"></a><span class='hs-comment'>-- preview widget, you connect to the UpdatePreview signal, and call</span>
<a name="line-677"></a><span class='hs-comment'>-- 'fileChooserGetPreviewFilename' or 'fileChooserGetPreviewURI' on each</span>
<a name="line-678"></a><span class='hs-comment'>-- change. If you can display a preview of the new file, update your widget and</span>
<a name="line-679"></a><span class='hs-comment'>-- set the preview active using 'fileChooserSetPreviewWidgetActive'. Otherwise,</span>
<a name="line-680"></a><span class='hs-comment'>-- set the preview inactive.</span>
<a name="line-681"></a><span class='hs-comment'>--</span>
<a name="line-682"></a><span class='hs-comment'>-- When there is no application-supplied preview widget, or the</span>
<a name="line-683"></a><span class='hs-comment'>-- application-supplied preview widget is not active, the file chooser may</span>
<a name="line-684"></a><span class='hs-comment'>-- display an internally generated preview of the current file or it may</span>
<a name="line-685"></a><span class='hs-comment'>-- display no preview at all.</span>
<a name="line-686"></a><span class='hs-comment'>--</span>
<a name="line-687"></a><span class='hs-definition'>fileChooserSetPreviewWidget</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>,</span> <span class='hs-conid'>WidgetClass</span> <span class='hs-varid'>previewWidget</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-688"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>previewWidget</span> <span class='hs-comment'>-- ^ @previewWidget@ - widget for displaying preview.</span>
<a name="line-689"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-690"></a><span class='hs-definition'>fileChooserSetPreviewWidget</span> <span class='hs-varid'>self</span> <span class='hs-varid'>previewWidget</span> <span class='hs-keyglyph'>=</span>
<a name="line-691"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Widget</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_preview_widget</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-692"></a><span class='hs-comment'>{-# LINE 647 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-693"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-694"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toWidget</span> <span class='hs-varid'>previewWidget</span><span class='hs-layout'>)</span>
<a name="line-695"></a>
<a name="line-696"></a><a name="fileChooserGetPreviewWidget"></a><span class='hs-comment'>-- | Gets the current preview widget; see 'fileChooserSetPreviewWidget'.</span>
<a name="line-697"></a><span class='hs-comment'>--</span>
<a name="line-698"></a><span class='hs-definition'>fileChooserGetPreviewWidget</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-699"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>Widget</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ returns the current preview widget, or @Nothing@</span>
<a name="line-700"></a><span class='hs-definition'>fileChooserGetPreviewWidget</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-701"></a>  <span class='hs-varid'>maybeNull</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeNewObject</span> <span class='hs-varid'>mkWidget</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span>
<a name="line-702"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_preview_widget</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-703"></a><span class='hs-comment'>{-# LINE 657 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-704"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-705"></a>
<a name="line-706"></a><a name="fileChooserSetPreviewWidgetActive"></a><span class='hs-comment'>-- | Sets whether the preview widget set by 'fileChooserSetPreviewWidget'</span>
<a name="line-707"></a><span class='hs-comment'>-- should be shown for the current filename. When @active@ is set to false, the</span>
<a name="line-708"></a><span class='hs-comment'>-- file chooser may display an internally generated preview of the current file</span>
<a name="line-709"></a><span class='hs-comment'>-- or it may display no preview at all. See 'fileChooserSetPreviewWidget' for</span>
<a name="line-710"></a><span class='hs-comment'>-- more details.</span>
<a name="line-711"></a><span class='hs-comment'>--</span>
<a name="line-712"></a><span class='hs-definition'>fileChooserSetPreviewWidgetActive</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-713"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @active@ - whether to display the user-specified preview widget</span>
<a name="line-714"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-715"></a><span class='hs-definition'>fileChooserSetPreviewWidgetActive</span> <span class='hs-varid'>self</span> <span class='hs-varid'>active</span> <span class='hs-keyglyph'>=</span>
<a name="line-716"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_preview_widget_active</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-717"></a><span class='hs-comment'>{-# LINE 670 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-718"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-719"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>active</span><span class='hs-layout'>)</span>
<a name="line-720"></a>
<a name="line-721"></a><a name="fileChooserGetPreviewWidgetActive"></a><span class='hs-comment'>-- | Gets whether the preview widget set by 'fileChooserSetPreviewWidget'</span>
<a name="line-722"></a><span class='hs-comment'>-- should be shown for the current filename. See</span>
<a name="line-723"></a><span class='hs-comment'>-- 'fileChooserSetPreviewWidgetActive'.</span>
<a name="line-724"></a><span class='hs-comment'>--</span>
<a name="line-725"></a><span class='hs-definition'>fileChooserGetPreviewWidgetActive</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-726"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns @True@ if the preview widget is active for the</span>
<a name="line-727"></a>            <span class='hs-comment'>-- current filename.</span>
<a name="line-728"></a><span class='hs-definition'>fileChooserGetPreviewWidgetActive</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-729"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-730"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_preview_widget_active</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-731"></a><span class='hs-comment'>{-# LINE 683 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-732"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-733"></a>
<a name="line-734"></a><a name="fileChooserSetUsePreviewLabel"></a><span class='hs-comment'>-- | Sets whether the file chooser should display a stock label with the name</span>
<a name="line-735"></a><span class='hs-comment'>-- of the file that is being previewed; the default is @True@. Applications</span>
<a name="line-736"></a><span class='hs-comment'>-- that want to draw the whole preview area themselves should set this to</span>
<a name="line-737"></a><span class='hs-comment'>-- @False@ and display the name themselves in their preview widget.</span>
<a name="line-738"></a><span class='hs-comment'>--</span>
<a name="line-739"></a><span class='hs-comment'>-- See also: 'fileChooserSetPreviewWidget'</span>
<a name="line-740"></a><span class='hs-comment'>--</span>
<a name="line-741"></a><span class='hs-definition'>fileChooserSetUsePreviewLabel</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-742"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @useLabel@ - whether to display a stock label with the name of</span>
<a name="line-743"></a>          <span class='hs-comment'>-- the previewed file</span>
<a name="line-744"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-745"></a><span class='hs-definition'>fileChooserSetUsePreviewLabel</span> <span class='hs-varid'>self</span> <span class='hs-varid'>useLabel</span> <span class='hs-keyglyph'>=</span>
<a name="line-746"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_use_preview_label</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-747"></a><span class='hs-comment'>{-# LINE 698 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-748"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-749"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>useLabel</span><span class='hs-layout'>)</span>
<a name="line-750"></a>
<a name="line-751"></a><a name="fileChooserGetUsePreviewLabel"></a><span class='hs-comment'>-- | Gets whether a stock label should be drawn with the name of the previewed</span>
<a name="line-752"></a><span class='hs-comment'>-- file. See 'fileChooserSetUsePreviewLabel'.</span>
<a name="line-753"></a><span class='hs-comment'>--</span>
<a name="line-754"></a><span class='hs-definition'>fileChooserGetUsePreviewLabel</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-755"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns @True@ if the file chooser is set to display a label</span>
<a name="line-756"></a>            <span class='hs-comment'>-- with the name of the previewed file, @False@ otherwise.</span>
<a name="line-757"></a><span class='hs-definition'>fileChooserGetUsePreviewLabel</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-758"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-759"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_use_preview_label</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-760"></a><span class='hs-comment'>{-# LINE 710 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-761"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-762"></a>
<a name="line-763"></a><a name="fileChooserGetPreviewFilename"></a><span class='hs-comment'>-- | Gets the filename that should be previewed in a custom preview widget.</span>
<a name="line-764"></a><span class='hs-comment'>-- See 'fileChooserSetPreviewWidget'.</span>
<a name="line-765"></a><span class='hs-comment'>--</span>
<a name="line-766"></a><span class='hs-definition'>fileChooserGetPreviewFilename</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-767"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>FilePath</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ returns the filename to preview, or @Nothing@ if</span>
<a name="line-768"></a>                        <span class='hs-comment'>-- no file is selected, or if the selected file cannot</span>
<a name="line-769"></a>                        <span class='hs-comment'>-- be represented as a local filename.</span>
<a name="line-770"></a><span class='hs-definition'>fileChooserGetPreviewFilename</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-771"></a>
<a name="line-772"></a>
<a name="line-773"></a>
<a name="line-774"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_preview_filename</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-775"></a><span class='hs-comment'>{-# LINE 724 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-776"></a>
<a name="line-777"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-778"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>maybePeek</span> <span class='hs-varid'>readCString</span>
<a name="line-779"></a>
<a name="line-780"></a><a name="fileChooserGetPreviewURI"></a><span class='hs-comment'>-- | Gets the URI that should be previewed in a custom preview widget. See</span>
<a name="line-781"></a><span class='hs-comment'>-- 'fileChooserSetPreviewWidget'.</span>
<a name="line-782"></a><span class='hs-comment'>--</span>
<a name="line-783"></a><span class='hs-definition'>fileChooserGetPreviewURI</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-784"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ returns the URI for the file to preview, or</span>
<a name="line-785"></a>                      <span class='hs-comment'>-- @Nothing@ if no file is selected.</span>
<a name="line-786"></a><span class='hs-definition'>fileChooserGetPreviewURI</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-787"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_preview_uri</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-788"></a><span class='hs-comment'>{-# LINE 736 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-789"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-790"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>maybePeek</span> <span class='hs-varid'>readCString</span>
<a name="line-791"></a>
<a name="line-792"></a><a name="fileChooserSetExtraWidget"></a><span class='hs-comment'>-- | Sets an application-supplied widget to provide extra options to the user.</span>
<a name="line-793"></a><span class='hs-comment'>--</span>
<a name="line-794"></a><span class='hs-definition'>fileChooserSetExtraWidget</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>,</span> <span class='hs-conid'>WidgetClass</span> <span class='hs-varid'>extraWidget</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-795"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>extraWidget</span> <span class='hs-comment'>-- ^ @extraWidget@ - widget for extra options</span>
<a name="line-796"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-797"></a><span class='hs-definition'>fileChooserSetExtraWidget</span> <span class='hs-varid'>self</span> <span class='hs-varid'>extraWidget</span> <span class='hs-keyglyph'>=</span>
<a name="line-798"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Widget</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_extra_widget</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-799"></a><span class='hs-comment'>{-# LINE 746 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-800"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-801"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toWidget</span> <span class='hs-varid'>extraWidget</span><span class='hs-layout'>)</span>
<a name="line-802"></a>
<a name="line-803"></a><a name="fileChooserGetExtraWidget"></a><span class='hs-comment'>-- | Gets the current preview widget; see 'fileChooserSetExtraWidget'.</span>
<a name="line-804"></a><span class='hs-comment'>--</span>
<a name="line-805"></a><span class='hs-definition'>fileChooserGetExtraWidget</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-806"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>Widget</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ returns the current extra widget, or @Nothing@</span>
<a name="line-807"></a><span class='hs-definition'>fileChooserGetExtraWidget</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-808"></a>  <span class='hs-varid'>maybeNull</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeNewObject</span> <span class='hs-varid'>mkWidget</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span>
<a name="line-809"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_extra_widget</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-810"></a><span class='hs-comment'>{-# LINE 756 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-811"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-812"></a>
<a name="line-813"></a><a name="fileChooserAddFilter"></a><span class='hs-comment'>-- | Adds the filter to the list of filters that the user can select between.</span>
<a name="line-814"></a><span class='hs-comment'>-- When a filter is selected, only files that are passed by that filter are</span>
<a name="line-815"></a><span class='hs-comment'>-- displayed.</span>
<a name="line-816"></a><span class='hs-comment'>--</span>
<a name="line-817"></a><span class='hs-definition'>fileChooserAddFilter</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FileFilter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-818"></a><span class='hs-definition'>fileChooserAddFilter</span> <span class='hs-varid'>self</span> <span class='hs-varid'>filter</span> <span class='hs-keyglyph'>=</span>
<a name="line-819"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>FileFilter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_add_filter</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-820"></a><span class='hs-comment'>{-# LINE 765 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-821"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-822"></a>    <span class='hs-varid'>filter</span>
<a name="line-823"></a>
<a name="line-824"></a><a name="fileChooserRemoveFilter"></a><span class='hs-comment'>-- | Removes the filter from the list of filters that the user can select</span>
<a name="line-825"></a><span class='hs-comment'>-- between.</span>
<a name="line-826"></a><span class='hs-comment'>--</span>
<a name="line-827"></a><span class='hs-definition'>fileChooserRemoveFilter</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FileFilter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-828"></a><span class='hs-definition'>fileChooserRemoveFilter</span> <span class='hs-varid'>self</span> <span class='hs-varid'>filter</span> <span class='hs-keyglyph'>=</span>
<a name="line-829"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>FileFilter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_remove_filter</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-830"></a><span class='hs-comment'>{-# LINE 774 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-831"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-832"></a>    <span class='hs-varid'>filter</span>
<a name="line-833"></a>
<a name="line-834"></a><a name="fileChooserListFilters"></a><span class='hs-comment'>-- | Lists the current set of user-selectable filters; see</span>
<a name="line-835"></a><span class='hs-comment'>-- 'fileChooserAddFilter', 'fileChooserRemoveFilter'.</span>
<a name="line-836"></a><span class='hs-comment'>--</span>
<a name="line-837"></a><span class='hs-definition'>fileChooserListFilters</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>FileFilter</span><span class='hs-keyglyph'>]</span>
<a name="line-838"></a><span class='hs-definition'>fileChooserListFilters</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-839"></a>  <span class='hs-varid'>filterList</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_list_filters</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-840"></a><span class='hs-comment'>{-# LINE 783 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-841"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-842"></a>  <span class='hs-varid'>filterPtrs</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>fromGSList</span> <span class='hs-varid'>filterList</span>
<a name="line-843"></a>  <span class='hs-varid'>mapM</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeNewObject</span> <span class='hs-varid'>mkFileFilter</span> <span class='hs-varop'>.</span> <span class='hs-varid'>return</span><span class='hs-layout'>)</span> <span class='hs-varid'>filterPtrs</span>
<a name="line-844"></a>
<a name="line-845"></a><a name="fileChooserSetFilter"></a><span class='hs-comment'>-- | Sets the current filter; only the files that pass the filter will be</span>
<a name="line-846"></a><span class='hs-comment'>-- displayed. If the user-selectable list of filters is non-empty, then the</span>
<a name="line-847"></a><span class='hs-comment'>-- filter should be one of the filters in that list. Setting the current filter</span>
<a name="line-848"></a><span class='hs-comment'>-- when the list of filters is empty is useful if you want to restrict the</span>
<a name="line-849"></a><span class='hs-comment'>-- displayed set of files without letting the user change it.</span>
<a name="line-850"></a><span class='hs-comment'>--</span>
<a name="line-851"></a><span class='hs-definition'>fileChooserSetFilter</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FileFilter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-852"></a><span class='hs-definition'>fileChooserSetFilter</span> <span class='hs-varid'>self</span> <span class='hs-varid'>filter</span> <span class='hs-keyglyph'>=</span>
<a name="line-853"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>FileFilter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_filter</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-854"></a><span class='hs-comment'>{-# LINE 796 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-855"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-856"></a>    <span class='hs-varid'>filter</span>
<a name="line-857"></a>
<a name="line-858"></a><a name="fileChooserGetFilter"></a><span class='hs-comment'>-- | Gets the current filter; see 'fileChooserSetFilter'.</span>
<a name="line-859"></a><span class='hs-comment'>--</span>
<a name="line-860"></a><span class='hs-definition'>fileChooserGetFilter</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-861"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>FileFilter</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ returns the current filter, or @Nothing@</span>
<a name="line-862"></a><span class='hs-definition'>fileChooserGetFilter</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-863"></a>  <span class='hs-varid'>maybeNull</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeNewObject</span> <span class='hs-varid'>mkFileFilter</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span>
<a name="line-864"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_filter</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-865"></a><span class='hs-comment'>{-# LINE 806 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-866"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-867"></a>
<a name="line-868"></a><a name="fileChooserAddShortcutFolder"></a><span class='hs-comment'>-- | Adds a folder to be displayed with the shortcut folders in a file</span>
<a name="line-869"></a><span class='hs-comment'>-- chooser. Note that shortcut folders do not get saved, as they are provided</span>
<a name="line-870"></a><span class='hs-comment'>-- by the application. For example, you can use this to add a</span>
<a name="line-871"></a><span class='hs-comment'>-- \"\/usr\/share\/mydrawprogram\/Clipart\" folder to the volume list.</span>
<a name="line-872"></a><span class='hs-comment'>--</span>
<a name="line-873"></a><span class='hs-comment'>-- If the folder can not be added successfully an exception will be thrown.</span>
<a name="line-874"></a><span class='hs-comment'>--</span>
<a name="line-875"></a><span class='hs-definition'>fileChooserAddShortcutFolder</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-876"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FilePath</span> <span class='hs-comment'>-- ^ @folder@ - filename of the folder to add</span>
<a name="line-877"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-878"></a><span class='hs-definition'>fileChooserAddShortcutFolder</span> <span class='hs-varid'>self</span> <span class='hs-varid'>folder</span> <span class='hs-keyglyph'>=</span>
<a name="line-879"></a>  <span class='hs-varid'>propagateGError</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>errorPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-880"></a>  <span class='hs-varid'>withCString</span> <span class='hs-varid'>folder</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>folderPtr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-881"></a>
<a name="line-882"></a>
<a name="line-883"></a>
<a name="line-884"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_add_shortcut_folder</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span>
<a name="line-885"></a><span class='hs-comment'>{-# LINE 825 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-886"></a>
<a name="line-887"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-888"></a>    <span class='hs-varid'>folderPtr</span>
<a name="line-889"></a>    <span class='hs-varid'>errorPtr</span>
<a name="line-890"></a>  <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-891"></a>
<a name="line-892"></a><a name="fileChooserRemoveShortcutFolder"></a><span class='hs-comment'>-- | Removes a folder from a file chooser's list of shortcut folders.</span>
<a name="line-893"></a><span class='hs-comment'>--</span>
<a name="line-894"></a><span class='hs-comment'>-- If the folder can not be removed successfully an exception will be thrown.</span>
<a name="line-895"></a><span class='hs-comment'>--</span>
<a name="line-896"></a><span class='hs-definition'>fileChooserRemoveShortcutFolder</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-897"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FilePath</span> <span class='hs-comment'>-- ^ @folder@ - filename of the folder to remove</span>
<a name="line-898"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-899"></a><span class='hs-definition'>fileChooserRemoveShortcutFolder</span> <span class='hs-varid'>self</span> <span class='hs-varid'>folder</span> <span class='hs-keyglyph'>=</span>
<a name="line-900"></a>  <span class='hs-varid'>propagateGError</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>errorPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-901"></a>  <span class='hs-varid'>withCString</span> <span class='hs-varid'>folder</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>folderPtr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-902"></a>
<a name="line-903"></a>
<a name="line-904"></a>
<a name="line-905"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_remove_shortcut_folder</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span>
<a name="line-906"></a><span class='hs-comment'>{-# LINE 845 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-907"></a>
<a name="line-908"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-909"></a>    <span class='hs-varid'>folderPtr</span>
<a name="line-910"></a>    <span class='hs-varid'>errorPtr</span>
<a name="line-911"></a>  <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-912"></a>
<a name="line-913"></a><a name="fileChooserListShortcutFolders"></a><span class='hs-comment'>-- | Queries the list of shortcut folders in the file chooser, as set by</span>
<a name="line-914"></a><span class='hs-comment'>-- 'fileChooserAddShortcutFolder'.</span>
<a name="line-915"></a><span class='hs-comment'>--</span>
<a name="line-916"></a><span class='hs-definition'>fileChooserListShortcutFolders</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>String</span><span class='hs-keyglyph'>]</span>
<a name="line-917"></a><span class='hs-definition'>fileChooserListShortcutFolders</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-918"></a>
<a name="line-919"></a>
<a name="line-920"></a>
<a name="line-921"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_list_shortcut_folders</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-922"></a><span class='hs-comment'>{-# LINE 860 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-923"></a>
<a name="line-924"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-925"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>fromStringGSList</span>
<a name="line-926"></a>
<a name="line-927"></a><a name="fileChooserAddShortcutFolderURI"></a><span class='hs-comment'>-- | Adds a folder URI to be displayed with the shortcut folders in a file</span>
<a name="line-928"></a><span class='hs-comment'>-- chooser. Note that shortcut folders do not get saved, as they are provided</span>
<a name="line-929"></a><span class='hs-comment'>-- by the application. For example, you can use this to add a</span>
<a name="line-930"></a><span class='hs-comment'>-- \"file:\/\/\/usr\/share\/mydrawprogram\/Clipart\" folder to the volume list.</span>
<a name="line-931"></a><span class='hs-comment'>--</span>
<a name="line-932"></a><span class='hs-comment'>-- If the folder can not be added successfully an exception will be thrown.</span>
<a name="line-933"></a><span class='hs-comment'>--</span>
<a name="line-934"></a><span class='hs-definition'>fileChooserAddShortcutFolderURI</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-935"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @uri@ - URI of the folder to add</span>
<a name="line-936"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-937"></a><span class='hs-definition'>fileChooserAddShortcutFolderURI</span> <span class='hs-varid'>self</span> <span class='hs-varid'>uri</span> <span class='hs-keyglyph'>=</span>
<a name="line-938"></a>  <span class='hs-varid'>propagateGError</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>errorPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-939"></a>  <span class='hs-varid'>withCString</span> <span class='hs-varid'>uri</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>uriPtr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-940"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_add_shortcut_folder_uri</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span>
<a name="line-941"></a><span class='hs-comment'>{-# LINE 878 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-942"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-943"></a>    <span class='hs-varid'>uriPtr</span>
<a name="line-944"></a>    <span class='hs-varid'>errorPtr</span>
<a name="line-945"></a>  <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-946"></a>
<a name="line-947"></a><a name="fileChooserRemoveShortcutFolderURI"></a><span class='hs-comment'>-- | Removes a folder URI from a file chooser's list of shortcut folders.</span>
<a name="line-948"></a><span class='hs-comment'>--</span>
<a name="line-949"></a><span class='hs-definition'>fileChooserRemoveShortcutFolderURI</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-950"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @uri@ - URI of the folder to remove</span>
<a name="line-951"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-952"></a><span class='hs-definition'>fileChooserRemoveShortcutFolderURI</span> <span class='hs-varid'>self</span> <span class='hs-varid'>uri</span> <span class='hs-keyglyph'>=</span>
<a name="line-953"></a>  <span class='hs-varid'>propagateGError</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>errorPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-954"></a>  <span class='hs-varid'>withCString</span> <span class='hs-varid'>uri</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>uriPtr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-955"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_remove_shortcut_folder_uri</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span>
<a name="line-956"></a><span class='hs-comment'>{-# LINE 892 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-957"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-958"></a>    <span class='hs-varid'>uriPtr</span>
<a name="line-959"></a>    <span class='hs-varid'>errorPtr</span>
<a name="line-960"></a>  <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-961"></a>
<a name="line-962"></a><a name="fileChooserListShortcutFolderURIs"></a><span class='hs-comment'>-- | Queries the list of shortcut folders in the file chooser, as set by</span>
<a name="line-963"></a><span class='hs-comment'>-- 'fileChooserAddShortcutFolderURI'.</span>
<a name="line-964"></a><span class='hs-comment'>--</span>
<a name="line-965"></a><span class='hs-definition'>fileChooserListShortcutFolderURIs</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>String</span><span class='hs-keyglyph'>]</span>
<a name="line-966"></a><span class='hs-definition'>fileChooserListShortcutFolderURIs</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-967"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_list_shortcut_folder_uris</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-968"></a><span class='hs-comment'>{-# LINE 903 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-969"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-970"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>fromStringGSList</span>
<a name="line-971"></a>
<a name="line-972"></a>
<a name="line-973"></a><a name="fileChooserSetShowHidden"></a><span class='hs-comment'>-- | Sets whether hidden files and folders are displayed in the file selector.</span>
<a name="line-974"></a><span class='hs-comment'>--</span>
<a name="line-975"></a><span class='hs-comment'>-- Available since Gtk+ version 2.6</span>
<a name="line-976"></a><span class='hs-comment'>--</span>
<a name="line-977"></a><span class='hs-definition'>fileChooserSetShowHidden</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-978"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @showHidden@ - @True@ if hidden files and folders should be</span>
<a name="line-979"></a>          <span class='hs-comment'>-- displayed.</span>
<a name="line-980"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-981"></a><span class='hs-definition'>fileChooserSetShowHidden</span> <span class='hs-varid'>self</span> <span class='hs-varid'>showHidden</span> <span class='hs-keyglyph'>=</span>
<a name="line-982"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_show_hidden</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-983"></a><span class='hs-comment'>{-# LINE 917 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-984"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-985"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>showHidden</span><span class='hs-layout'>)</span>
<a name="line-986"></a>
<a name="line-987"></a><a name="fileChooserGetShowHidden"></a><span class='hs-comment'>-- | Gets whether hidden files and folders are displayed in the file selector.</span>
<a name="line-988"></a><span class='hs-comment'>-- See 'fileChooserSetShowHidden'.</span>
<a name="line-989"></a><span class='hs-comment'>--</span>
<a name="line-990"></a><span class='hs-comment'>-- * Available since Gtk+ version 2.6</span>
<a name="line-991"></a><span class='hs-comment'>--</span>
<a name="line-992"></a><span class='hs-definition'>fileChooserGetShowHidden</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-993"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns @True@ if hidden files and folders are displayed.</span>
<a name="line-994"></a><span class='hs-definition'>fileChooserGetShowHidden</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-995"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-996"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_show_hidden</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-997"></a><span class='hs-comment'>{-# LINE 930 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-998"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-999"></a>
<a name="line-1000"></a>
<a name="line-1001"></a>
<a name="line-1002"></a><a name="fileChooserSetDoOverwriteConfirmation"></a><span class='hs-comment'>-- | Sets whether a file chooser in 'FileChooserActionSave' mode will present</span>
<a name="line-1003"></a><span class='hs-comment'>-- a confirmation dialog if the user types a file name that already exists.</span>
<a name="line-1004"></a><span class='hs-comment'>-- This is @False@ by default.</span>
<a name="line-1005"></a><span class='hs-comment'>--</span>
<a name="line-1006"></a><span class='hs-comment'>-- Regardless of this setting, the @chooser@ will emit the</span>
<a name="line-1007"></a><span class='hs-comment'>-- \"confirm-overwrite\" signal when appropriate.</span>
<a name="line-1008"></a><span class='hs-comment'>--</span>
<a name="line-1009"></a><span class='hs-comment'>-- If all you need is the stock confirmation dialog, set this property to</span>
<a name="line-1010"></a><span class='hs-comment'>-- @True@. You can override the way confirmation is done by actually handling</span>
<a name="line-1011"></a><span class='hs-comment'>-- the \"confirm-overwrite\" signal; please refer to its documentation for the</span>
<a name="line-1012"></a><span class='hs-comment'>-- details.</span>
<a name="line-1013"></a><span class='hs-comment'>--</span>
<a name="line-1014"></a><span class='hs-comment'>-- Available since Gtk+ version 2.8</span>
<a name="line-1015"></a><span class='hs-comment'>--</span>
<a name="line-1016"></a><span class='hs-definition'>fileChooserSetDoOverwriteConfirmation</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1017"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @doOverwriteConfirmation@ - whether to confirm overwriting in</span>
<a name="line-1018"></a>          <span class='hs-comment'>-- save mode</span>
<a name="line-1019"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1020"></a><span class='hs-definition'>fileChooserSetDoOverwriteConfirmation</span> <span class='hs-varid'>self</span> <span class='hs-varid'>doOverwriteConfirmation</span> <span class='hs-keyglyph'>=</span>
<a name="line-1021"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_set_do_overwrite_confirmation</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-1022"></a><span class='hs-comment'>{-# LINE 954 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-1023"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1024"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>doOverwriteConfirmation</span><span class='hs-layout'>)</span>
<a name="line-1025"></a>
<a name="line-1026"></a><a name="fileChooserGetDoOverwriteConfirmation"></a><span class='hs-comment'>-- | Queries whether a file chooser is set to confirm for overwriting when the</span>
<a name="line-1027"></a><span class='hs-comment'>-- user types a file name that already exists.</span>
<a name="line-1028"></a><span class='hs-comment'>--</span>
<a name="line-1029"></a><span class='hs-comment'>-- * Available since Gtk+ version 2.8</span>
<a name="line-1030"></a><span class='hs-comment'>--</span>
<a name="line-1031"></a><span class='hs-definition'>fileChooserGetDoOverwriteConfirmation</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1032"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns @True@ if the file chooser will present a</span>
<a name="line-1033"></a>            <span class='hs-comment'>-- confirmation dialog; @False@ otherwise.</span>
<a name="line-1034"></a><span class='hs-definition'>fileChooserGetDoOverwriteConfirmation</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-1035"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-1036"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>FileChooser</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_file_chooser_get_do_overwrite_confirmation</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-1037"></a><span class='hs-comment'>{-# LINE 968 "./Graphics/UI/Gtk/Selectors/FileChooser.chs" #-}</span>
<a name="line-1038"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toFileChooser</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1039"></a>
<a name="line-1040"></a>
<a name="line-1041"></a><span class='hs-comment'>--------------------</span>
<a name="line-1042"></a><span class='hs-comment'>-- Attributes</span>
<a name="line-1043"></a>
<a name="line-1044"></a><a name="fileChooserUsePreviewLabel"></a><span class='hs-comment'>-- | \'usePreviewLabel\' property. See 'fileChooserGetUsePreviewLabel' and</span>
<a name="line-1045"></a><span class='hs-comment'>-- 'fileChooserSetUsePreviewLabel'</span>
<a name="line-1046"></a><span class='hs-comment'>--</span>
<a name="line-1047"></a><span class='hs-definition'>fileChooserUsePreviewLabel</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-1048"></a><span class='hs-definition'>fileChooserUsePreviewLabel</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttr</span>
<a name="line-1049"></a>  <span class='hs-varid'>fileChooserGetUsePreviewLabel</span>
<a name="line-1050"></a>  <span class='hs-varid'>fileChooserSetUsePreviewLabel</span>
<a name="line-1051"></a>
<a name="line-1052"></a>
<a name="line-1053"></a><a name="fileChooserShowHidden"></a><span class='hs-comment'>-- | \'showHidden\' property. See 'fileChooserGetShowHidden' and</span>
<a name="line-1054"></a><span class='hs-comment'>-- 'fileChooserSetShowHidden'</span>
<a name="line-1055"></a><span class='hs-comment'>--</span>
<a name="line-1056"></a><span class='hs-comment'>-- Since Gtk 2.6.</span>
<a name="line-1057"></a><span class='hs-definition'>fileChooserShowHidden</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-1058"></a><span class='hs-definition'>fileChooserShowHidden</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttr</span>
<a name="line-1059"></a>  <span class='hs-varid'>fileChooserGetShowHidden</span>
<a name="line-1060"></a>  <span class='hs-varid'>fileChooserSetShowHidden</span>
<a name="line-1061"></a>
<a name="line-1062"></a>
<a name="line-1063"></a><a name="fileChooserSelectMultiple"></a><span class='hs-comment'>-- | \'selectMultiple\' property. See 'fileChooserGetSelectMultiple' and</span>
<a name="line-1064"></a><span class='hs-comment'>-- 'fileChooserSetSelectMultiple'</span>
<a name="line-1065"></a><span class='hs-comment'>--</span>
<a name="line-1066"></a><span class='hs-definition'>fileChooserSelectMultiple</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-1067"></a><span class='hs-definition'>fileChooserSelectMultiple</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttr</span>
<a name="line-1068"></a>  <span class='hs-varid'>fileChooserGetSelectMultiple</span>
<a name="line-1069"></a>  <span class='hs-varid'>fileChooserSetSelectMultiple</span>
<a name="line-1070"></a>
<a name="line-1071"></a><a name="fileChooserPreviewWidgetActive"></a><span class='hs-comment'>-- | \'previewWidgetActive\' property. See 'fileChooserGetPreviewWidgetActive'</span>
<a name="line-1072"></a><span class='hs-comment'>-- and 'fileChooserSetPreviewWidgetActive'</span>
<a name="line-1073"></a><span class='hs-comment'>--</span>
<a name="line-1074"></a><span class='hs-definition'>fileChooserPreviewWidgetActive</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-1075"></a><span class='hs-definition'>fileChooserPreviewWidgetActive</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttr</span>
<a name="line-1076"></a>  <span class='hs-varid'>fileChooserGetPreviewWidgetActive</span>
<a name="line-1077"></a>  <span class='hs-varid'>fileChooserSetPreviewWidgetActive</span>
<a name="line-1078"></a>
<a name="line-1079"></a><a name="fileChooserPreviewWidget"></a><span class='hs-comment'>-- | \'previewWidget\' property. See 'fileChooserGetPreviewWidget' and</span>
<a name="line-1080"></a><span class='hs-comment'>-- 'fileChooserSetPreviewWidget'</span>
<a name="line-1081"></a><span class='hs-comment'>--</span>
<a name="line-1082"></a><span class='hs-definition'>fileChooserPreviewWidget</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>,</span> <span class='hs-conid'>WidgetClass</span> <span class='hs-varid'>previewWidget</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>ReadWriteAttr</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>Widget</span><span class='hs-layout'>)</span> <span class='hs-varid'>previewWidget</span>
<a name="line-1083"></a><span class='hs-definition'>fileChooserPreviewWidget</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttr</span>
<a name="line-1084"></a>  <span class='hs-varid'>fileChooserGetPreviewWidget</span>
<a name="line-1085"></a>  <span class='hs-varid'>fileChooserSetPreviewWidget</span>
<a name="line-1086"></a>
<a name="line-1087"></a><a name="fileChooserLocalOnly"></a><span class='hs-comment'>-- | \'localOnly\' property. See 'fileChooserGetLocalOnly' and</span>
<a name="line-1088"></a><span class='hs-comment'>-- 'fileChooserSetLocalOnly'</span>
<a name="line-1089"></a><span class='hs-comment'>--</span>
<a name="line-1090"></a><span class='hs-definition'>fileChooserLocalOnly</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-1091"></a><span class='hs-definition'>fileChooserLocalOnly</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttr</span>
<a name="line-1092"></a>  <span class='hs-varid'>fileChooserGetLocalOnly</span>
<a name="line-1093"></a>  <span class='hs-varid'>fileChooserSetLocalOnly</span>
<a name="line-1094"></a>
<a name="line-1095"></a><a name="fileChooserFilter"></a><span class='hs-comment'>-- | \'filter\' property. See 'fileChooserGetFilter' and</span>
<a name="line-1096"></a><span class='hs-comment'>-- 'fileChooserSetFilter'</span>
<a name="line-1097"></a><span class='hs-comment'>--</span>
<a name="line-1098"></a><span class='hs-definition'>fileChooserFilter</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>ReadWriteAttr</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>FileFilter</span><span class='hs-layout'>)</span> <span class='hs-conid'>FileFilter</span>
<a name="line-1099"></a><span class='hs-definition'>fileChooserFilter</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttr</span>
<a name="line-1100"></a>  <span class='hs-varid'>fileChooserGetFilter</span>
<a name="line-1101"></a>  <span class='hs-varid'>fileChooserSetFilter</span>
<a name="line-1102"></a>
<a name="line-1103"></a><a name="fileChooserExtraWidget"></a><span class='hs-comment'>-- | \'extraWidget\' property. See 'fileChooserGetExtraWidget' and</span>
<a name="line-1104"></a><span class='hs-comment'>-- 'fileChooserSetExtraWidget'</span>
<a name="line-1105"></a><span class='hs-comment'>--</span>
<a name="line-1106"></a><span class='hs-definition'>fileChooserExtraWidget</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>,</span> <span class='hs-conid'>WidgetClass</span> <span class='hs-varid'>extraWidget</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>ReadWriteAttr</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>Widget</span><span class='hs-layout'>)</span> <span class='hs-varid'>extraWidget</span>
<a name="line-1107"></a><span class='hs-definition'>fileChooserExtraWidget</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttr</span>
<a name="line-1108"></a>  <span class='hs-varid'>fileChooserGetExtraWidget</span>
<a name="line-1109"></a>  <span class='hs-varid'>fileChooserSetExtraWidget</span>
<a name="line-1110"></a>
<a name="line-1111"></a>
<a name="line-1112"></a><a name="fileChooserDoOverwriteConfirmation"></a><span class='hs-comment'>-- | \'doOverwriteConfirmation\' property. See</span>
<a name="line-1113"></a><span class='hs-comment'>-- 'fileChooserGetDoOverwriteConfirmation' and</span>
<a name="line-1114"></a><span class='hs-comment'>-- 'fileChooserSetDoOverwriteConfirmation'</span>
<a name="line-1115"></a><span class='hs-comment'>--</span>
<a name="line-1116"></a><span class='hs-definition'>fileChooserDoOverwriteConfirmation</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-1117"></a><span class='hs-definition'>fileChooserDoOverwriteConfirmation</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttr</span>
<a name="line-1118"></a>  <span class='hs-varid'>fileChooserGetDoOverwriteConfirmation</span>
<a name="line-1119"></a>  <span class='hs-varid'>fileChooserSetDoOverwriteConfirmation</span>
<a name="line-1120"></a>
<a name="line-1121"></a>
<a name="line-1122"></a><a name="fileChooserAction"></a><span class='hs-comment'>-- | \'action\' property. See 'fileChooserGetAction' and</span>
<a name="line-1123"></a><span class='hs-comment'>-- 'fileChooserSetAction'</span>
<a name="line-1124"></a><span class='hs-comment'>--</span>
<a name="line-1125"></a><span class='hs-definition'>fileChooserAction</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>FileChooserAction</span>
<a name="line-1126"></a><span class='hs-definition'>fileChooserAction</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttr</span>
<a name="line-1127"></a>  <span class='hs-varid'>fileChooserGetAction</span>
<a name="line-1128"></a>  <span class='hs-varid'>fileChooserSetAction</span>
<a name="line-1129"></a>
<a name="line-1130"></a><span class='hs-comment'>--------------------</span>
<a name="line-1131"></a><span class='hs-comment'>-- Signals</span>
<a name="line-1132"></a>
<a name="line-1133"></a><a name="onCurrentFolderChanged"></a><span class='hs-comment'>-- | This signal is emitted when the current folder in a 'FileChooser'</span>
<a name="line-1134"></a><span class='hs-comment'>-- changes. This can happen due to the user performing some action that changes</span>
<a name="line-1135"></a><span class='hs-comment'>-- folders, such as selecting a bookmark or visiting a folder on the file list.</span>
<a name="line-1136"></a><span class='hs-comment'>-- It can also happen as a result of calling a function to explicitly change</span>
<a name="line-1137"></a><span class='hs-comment'>-- the current folder in a file chooser.</span>
<a name="line-1138"></a><span class='hs-comment'>--</span>
<a name="line-1139"></a><span class='hs-comment'>-- Normally you do not need to connect to this signal, unless you need to</span>
<a name="line-1140"></a><span class='hs-comment'>-- keep track of which folder a file chooser is showing.</span>
<a name="line-1141"></a><span class='hs-comment'>--</span>
<a name="line-1142"></a><span class='hs-comment'>-- See also: 'fileChooserSetCurrentFolder', 'fileChooserGetCurrentFolder',</span>
<a name="line-1143"></a><span class='hs-comment'>-- 'fileChooserSetCurrentFolderURI', 'fileChooserGetCurrentFolderURI'.</span>
<a name="line-1144"></a><span class='hs-comment'>--</span>
<a name="line-1145"></a><span class='hs-definition'>onCurrentFolderChanged</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterCurrentFolderChanged</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1146"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1147"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1148"></a><span class='hs-definition'>onCurrentFolderChanged</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"current-folder-changed"</span> <span class='hs-conid'>False</span>
<a name="line-1149"></a><a name="afterCurrentFolderChanged"></a><span class='hs-definition'>afterCurrentFolderChanged</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"current-folder-changed"</span> <span class='hs-conid'>True</span>
<a name="line-1150"></a>
<a name="line-1151"></a><span class='hs-comment'>-- | This signal is emitted when there is a change in the set of selected</span>
<a name="line-1152"></a><span class='hs-comment'>-- files in a 'FileChooser'. This can happen when the user modifies the</span>
<a name="line-1153"></a><span class='hs-comment'>-- selection with the mouse or the keyboard, or when explicitly calling</span>
<a name="line-1154"></a><span class='hs-comment'>-- functions to change the selection.</span>
<a name="line-1155"></a><span class='hs-comment'>--</span>
<a name="line-1156"></a><span class='hs-comment'>-- Normally you do not need to connect to this signal, as it is easier to</span>
<a name="line-1157"></a><span class='hs-comment'>-- wait for the file chooser to finish running, and then to get the list of</span>
<a name="line-1158"></a><span class='hs-comment'>-- selected files using the functions mentioned below.</span>
<a name="line-1159"></a><span class='hs-comment'>--</span>
<a name="line-1160"></a><span class='hs-comment'>-- See also: 'fileChooserSelectFilename', 'fileChooserUnselectFilename',</span>
<a name="line-1161"></a><span class='hs-comment'>-- 'fileChooserGetFilename', 'fileChooserGetFilenames', 'fileChooserSelectURI',</span>
<a name="line-1162"></a><span class='hs-comment'>-- 'fileChooserUnselectURI', 'fileChooserGetURI', 'fileChooserGetURIs'.</span>
<a name="line-1163"></a><span class='hs-comment'>--</span>
<a name="line-1164"></a><span class='hs-comment'>--onSelectionChanged, afterSelectionChanged :: FileChooserClass self =&gt; self</span>
<a name="line-1165"></a><span class='hs-comment'>-- -&gt; IO ()</span>
<a name="line-1166"></a><span class='hs-comment'>-- -&gt; IO (ConnectId self)</span>
<a name="line-1167"></a><span class='hs-comment'>--onSelectionChanged = connect_NONE__NONE "selection-changed" False</span>
<a name="line-1168"></a><span class='hs-comment'>--afterSelectionChanged = connect_NONE__NONE "selection-changed" True</span>
<a name="line-1169"></a>
<a name="line-1170"></a><a name="onUpdatePreview"></a><span class='hs-comment'>-- | This signal is emitted when the preview in a file chooser should be</span>
<a name="line-1171"></a><span class='hs-comment'>-- regenerated. For example, this can happen when the currently selected file</span>
<a name="line-1172"></a><span class='hs-comment'>-- changes. You should use this signal if you want your file chooser to have a</span>
<a name="line-1173"></a><span class='hs-comment'>-- preview widget.</span>
<a name="line-1174"></a><span class='hs-comment'>--</span>
<a name="line-1175"></a><span class='hs-comment'>-- Once you have installed a preview widget with</span>
<a name="line-1176"></a><span class='hs-comment'>-- 'fileChooserSetPreviewWidget', you should update it when this signal is</span>
<a name="line-1177"></a><span class='hs-comment'>-- emitted. You can use the functions 'fileChooserGetPreviewFilename' or</span>
<a name="line-1178"></a><span class='hs-comment'>-- 'fileChooserGetPreviewURI' to get the name of the file to preview. Your</span>
<a name="line-1179"></a><span class='hs-comment'>-- widget may not be able to preview all kinds of files; your callback must</span>
<a name="line-1180"></a><span class='hs-comment'>-- call 'fileChooserSetPreviewWidgetActive' to inform the file chooser about</span>
<a name="line-1181"></a><span class='hs-comment'>-- whether the preview was generated successfully or not.</span>
<a name="line-1182"></a><span class='hs-comment'>--</span>
<a name="line-1183"></a><span class='hs-comment'>-- See also: 'fileChooserSetPreviewWidget',</span>
<a name="line-1184"></a><span class='hs-comment'>-- 'fileChooserSetPreviewWidgetActive', 'fileChooserSetUsePreviewLabel',</span>
<a name="line-1185"></a><span class='hs-comment'>-- 'fileChooserGetPreviewFilename', 'fileChooserGetPreviewURI'.</span>
<a name="line-1186"></a><span class='hs-comment'>--</span>
<a name="line-1187"></a><span class='hs-definition'>onUpdatePreview</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterUpdatePreview</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1188"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1189"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1190"></a><span class='hs-definition'>onUpdatePreview</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"update-preview"</span> <span class='hs-conid'>False</span>
<a name="line-1191"></a><a name="afterUpdatePreview"></a><span class='hs-definition'>afterUpdatePreview</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"update-preview"</span> <span class='hs-conid'>True</span>
<a name="line-1192"></a>
<a name="line-1193"></a><a name="onFileActivated"></a><span class='hs-comment'>-- | This signal is emitted when the user \"activates\" a file in the file</span>
<a name="line-1194"></a><span class='hs-comment'>-- chooser. This can happen by double-clicking on a file in the file list, or</span>
<a name="line-1195"></a><span class='hs-comment'>-- by pressing Enter.</span>
<a name="line-1196"></a><span class='hs-comment'>--</span>
<a name="line-1197"></a><span class='hs-comment'>-- Normally you do not need to connect to this signal. It is used internally</span>
<a name="line-1198"></a><span class='hs-comment'>-- by 'FileChooserDialog' to know when to activate the default button in the</span>
<a name="line-1199"></a><span class='hs-comment'>-- dialog.</span>
<a name="line-1200"></a><span class='hs-comment'>--</span>
<a name="line-1201"></a><span class='hs-comment'>-- See also: 'fileChooserGetFilename', 'fileChooserGetFilenames',</span>
<a name="line-1202"></a><span class='hs-comment'>-- 'fileChooserGetURI', 'fileChooserGetURIs'.</span>
<a name="line-1203"></a><span class='hs-comment'>--</span>
<a name="line-1204"></a><span class='hs-definition'>onFileActivated</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterFileActivated</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1205"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1206"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1207"></a><span class='hs-definition'>onFileActivated</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"file-activated"</span> <span class='hs-conid'>False</span>
<a name="line-1208"></a><a name="afterFileActivated"></a><span class='hs-definition'>afterFileActivated</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"file-activated"</span> <span class='hs-conid'>True</span>
<a name="line-1209"></a>
<a name="line-1210"></a>
<a name="line-1211"></a><a name="onConfirmOverwrite"></a><span class='hs-comment'>-- | This signal gets emitted whenever it is appropriate to present a</span>
<a name="line-1212"></a><span class='hs-comment'>-- confirmation dialog when the user has selected a file name that already</span>
<a name="line-1213"></a><span class='hs-comment'>-- exists. The signal only gets emitted when the file chooser is in</span>
<a name="line-1214"></a><span class='hs-comment'>-- 'FileChooserActionSave' mode.</span>
<a name="line-1215"></a><span class='hs-comment'>--</span>
<a name="line-1216"></a><span class='hs-comment'>-- Most applications just need to turn on the do-overwrite-confirmation</span>
<a name="line-1217"></a><span class='hs-comment'>-- property (or call the 'fileChooserSetDoOverwriteConfirmation' function), and</span>
<a name="line-1218"></a><span class='hs-comment'>-- they will automatically get a stock confirmation dialog. Applications which</span>
<a name="line-1219"></a><span class='hs-comment'>-- need to customize this behavior should do that, and also connect to the</span>
<a name="line-1220"></a><span class='hs-comment'>-- confirm-overwrite signal.</span>
<a name="line-1221"></a><span class='hs-comment'>--</span>
<a name="line-1222"></a><span class='hs-comment'>-- A signal handler for this signal must return a 'FileChooserConfirmation'</span>
<a name="line-1223"></a><span class='hs-comment'>-- value, which indicates the action to take. If the handler determines that</span>
<a name="line-1224"></a><span class='hs-comment'>-- the user wants to select a different filename, it should return</span>
<a name="line-1225"></a><span class='hs-comment'>-- 'FileChooserConfirmationSelectAgain'. If it determines that the user is</span>
<a name="line-1226"></a><span class='hs-comment'>-- satisfied with his choice of file name, it should return</span>
<a name="line-1227"></a><span class='hs-comment'>-- 'FileChooserConfirmationAcceptFilename'. On the other hand, if it determines</span>
<a name="line-1228"></a><span class='hs-comment'>-- that the stock confirmation dialog should be used, it should return</span>
<a name="line-1229"></a><span class='hs-comment'>-- 'FileChooserConfirmationConfirm'.</span>
<a name="line-1230"></a><span class='hs-comment'>--</span>
<a name="line-1231"></a><span class='hs-comment'>-- Since Gtk 2.8.</span>
<a name="line-1232"></a><span class='hs-comment'>--</span>
<a name="line-1233"></a><span class='hs-definition'>onConfirmOverwrite</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterConfirmOverwrite</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileChooserClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1234"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FileChooserConfirmation</span>
<a name="line-1235"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1236"></a><span class='hs-definition'>onConfirmOverwrite</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__ENUM</span> <span class='hs-str'>"confirm-overwrite"</span> <span class='hs-conid'>False</span>
<a name="line-1237"></a><a name="afterConfirmOverwrite"></a><span class='hs-definition'>afterConfirmOverwrite</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__ENUM</span> <span class='hs-str'>"confirm-overwrite"</span> <span class='hs-conid'>True</span>
<a name="line-1238"></a>
<a name="line-1239"></a>
<a name="line-1240"></a>
<a name="line-1241"></a>
<a name="line-1242"></a><span class='hs-comment'>------------------------------------------------------</span>
<a name="line-1243"></a><span class='hs-comment'>-- Utility functions that really ought to go elsewhere</span>
<a name="line-1244"></a>
<a name="line-1245"></a><a name="fromStringGSList"></a><span class='hs-comment'>-- convenience functions for GSlists of strings</span>
<a name="line-1246"></a><span class='hs-definition'>fromStringGSList</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GSList</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>String</span><span class='hs-keyglyph'>]</span>
<a name="line-1247"></a><span class='hs-definition'>fromStringGSList</span> <span class='hs-varid'>strList</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-1248"></a>  <span class='hs-varid'>strPtrs</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>fromGSList</span> <span class='hs-varid'>strList</span>
<a name="line-1249"></a>  <span class='hs-varid'>mapM</span> <span class='hs-varid'>readCString</span> <span class='hs-varid'>strPtrs</span>
<a name="line-1250"></a>
<a name="line-1251"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_file_chooser_error_quark"</span>
<a name="line-1252"></a>  <span class='hs-varid'>gtk_file_chooser_error_quark</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CUInt</span><span class='hs-layout'>)</span>
<a name="line-1253"></a>
<a name="line-1254"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_action"</span>
<a name="line-1255"></a>  <span class='hs-varid'>gtk_file_chooser_set_action</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1256"></a>
<a name="line-1257"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_action"</span>
<a name="line-1258"></a>  <span class='hs-varid'>gtk_file_chooser_get_action</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1259"></a>
<a name="line-1260"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_local_only"</span>
<a name="line-1261"></a>  <span class='hs-varid'>gtk_file_chooser_set_local_only</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1262"></a>
<a name="line-1263"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_local_only"</span>
<a name="line-1264"></a>  <span class='hs-varid'>gtk_file_chooser_get_local_only</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1265"></a>
<a name="line-1266"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_select_multiple"</span>
<a name="line-1267"></a>  <span class='hs-varid'>gtk_file_chooser_set_select_multiple</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1268"></a>
<a name="line-1269"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_select_multiple"</span>
<a name="line-1270"></a>  <span class='hs-varid'>gtk_file_chooser_get_select_multiple</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1271"></a>
<a name="line-1272"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_current_name"</span>
<a name="line-1273"></a>  <span class='hs-varid'>gtk_file_chooser_set_current_name</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1274"></a>
<a name="line-1275"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_filename"</span>
<a name="line-1276"></a>  <span class='hs-varid'>gtk_file_chooser_get_filename</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1277"></a>
<a name="line-1278"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_filename"</span>
<a name="line-1279"></a>  <span class='hs-varid'>gtk_file_chooser_set_filename</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1280"></a>
<a name="line-1281"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_select_filename"</span>
<a name="line-1282"></a>  <span class='hs-varid'>gtk_file_chooser_select_filename</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1283"></a>
<a name="line-1284"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_unselect_filename"</span>
<a name="line-1285"></a>  <span class='hs-varid'>gtk_file_chooser_unselect_filename</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1286"></a>
<a name="line-1287"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_select_all"</span>
<a name="line-1288"></a>  <span class='hs-varid'>gtk_file_chooser_select_all</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1289"></a>
<a name="line-1290"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_unselect_all"</span>
<a name="line-1291"></a>  <span class='hs-varid'>gtk_file_chooser_unselect_all</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1292"></a>
<a name="line-1293"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_filenames"</span>
<a name="line-1294"></a>  <span class='hs-varid'>gtk_file_chooser_get_filenames</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1295"></a>
<a name="line-1296"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_current_folder"</span>
<a name="line-1297"></a>  <span class='hs-varid'>gtk_file_chooser_set_current_folder</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1298"></a>
<a name="line-1299"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_current_folder"</span>
<a name="line-1300"></a>  <span class='hs-varid'>gtk_file_chooser_get_current_folder</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1301"></a>
<a name="line-1302"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_uri"</span>
<a name="line-1303"></a>  <span class='hs-varid'>gtk_file_chooser_get_uri</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1304"></a>
<a name="line-1305"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_uri"</span>
<a name="line-1306"></a>  <span class='hs-varid'>gtk_file_chooser_set_uri</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1307"></a>
<a name="line-1308"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_select_uri"</span>
<a name="line-1309"></a>  <span class='hs-varid'>gtk_file_chooser_select_uri</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1310"></a>
<a name="line-1311"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_unselect_uri"</span>
<a name="line-1312"></a>  <span class='hs-varid'>gtk_file_chooser_unselect_uri</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1313"></a>
<a name="line-1314"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_uris"</span>
<a name="line-1315"></a>  <span class='hs-varid'>gtk_file_chooser_get_uris</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1316"></a>
<a name="line-1317"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_current_folder_uri"</span>
<a name="line-1318"></a>  <span class='hs-varid'>gtk_file_chooser_set_current_folder_uri</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1319"></a>
<a name="line-1320"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_current_folder_uri"</span>
<a name="line-1321"></a>  <span class='hs-varid'>gtk_file_chooser_get_current_folder_uri</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1322"></a>
<a name="line-1323"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_preview_widget"</span>
<a name="line-1324"></a>  <span class='hs-varid'>gtk_file_chooser_set_preview_widget</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Widget</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1325"></a>
<a name="line-1326"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_preview_widget"</span>
<a name="line-1327"></a>  <span class='hs-varid'>gtk_file_chooser_get_preview_widget</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Widget</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1328"></a>
<a name="line-1329"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_preview_widget_active"</span>
<a name="line-1330"></a>  <span class='hs-varid'>gtk_file_chooser_set_preview_widget_active</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1331"></a>
<a name="line-1332"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_preview_widget_active"</span>
<a name="line-1333"></a>  <span class='hs-varid'>gtk_file_chooser_get_preview_widget_active</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1334"></a>
<a name="line-1335"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_use_preview_label"</span>
<a name="line-1336"></a>  <span class='hs-varid'>gtk_file_chooser_set_use_preview_label</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1337"></a>
<a name="line-1338"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_use_preview_label"</span>
<a name="line-1339"></a>  <span class='hs-varid'>gtk_file_chooser_get_use_preview_label</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1340"></a>
<a name="line-1341"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_preview_filename"</span>
<a name="line-1342"></a>  <span class='hs-varid'>gtk_file_chooser_get_preview_filename</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1343"></a>
<a name="line-1344"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_preview_uri"</span>
<a name="line-1345"></a>  <span class='hs-varid'>gtk_file_chooser_get_preview_uri</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1346"></a>
<a name="line-1347"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_extra_widget"</span>
<a name="line-1348"></a>  <span class='hs-varid'>gtk_file_chooser_set_extra_widget</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Widget</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1349"></a>
<a name="line-1350"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_extra_widget"</span>
<a name="line-1351"></a>  <span class='hs-varid'>gtk_file_chooser_get_extra_widget</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Widget</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1352"></a>
<a name="line-1353"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_add_filter"</span>
<a name="line-1354"></a>  <span class='hs-varid'>gtk_file_chooser_add_filter</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileFilter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1355"></a>
<a name="line-1356"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_remove_filter"</span>
<a name="line-1357"></a>  <span class='hs-varid'>gtk_file_chooser_remove_filter</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileFilter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1358"></a>
<a name="line-1359"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_list_filters"</span>
<a name="line-1360"></a>  <span class='hs-varid'>gtk_file_chooser_list_filters</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1361"></a>
<a name="line-1362"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_filter"</span>
<a name="line-1363"></a>  <span class='hs-varid'>gtk_file_chooser_set_filter</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileFilter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1364"></a>
<a name="line-1365"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_filter"</span>
<a name="line-1366"></a>  <span class='hs-varid'>gtk_file_chooser_get_filter</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileFilter</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1367"></a>
<a name="line-1368"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_add_shortcut_folder"</span>
<a name="line-1369"></a>  <span class='hs-varid'>gtk_file_chooser_add_shortcut_folder</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1370"></a>
<a name="line-1371"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_remove_shortcut_folder"</span>
<a name="line-1372"></a>  <span class='hs-varid'>gtk_file_chooser_remove_shortcut_folder</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1373"></a>
<a name="line-1374"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_list_shortcut_folders"</span>
<a name="line-1375"></a>  <span class='hs-varid'>gtk_file_chooser_list_shortcut_folders</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1376"></a>
<a name="line-1377"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_add_shortcut_folder_uri"</span>
<a name="line-1378"></a>  <span class='hs-varid'>gtk_file_chooser_add_shortcut_folder_uri</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1379"></a>
<a name="line-1380"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_remove_shortcut_folder_uri"</span>
<a name="line-1381"></a>  <span class='hs-varid'>gtk_file_chooser_remove_shortcut_folder_uri</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1382"></a>
<a name="line-1383"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_list_shortcut_folder_uris"</span>
<a name="line-1384"></a>  <span class='hs-varid'>gtk_file_chooser_list_shortcut_folder_uris</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1385"></a>
<a name="line-1386"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_show_hidden"</span>
<a name="line-1387"></a>  <span class='hs-varid'>gtk_file_chooser_set_show_hidden</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1388"></a>
<a name="line-1389"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_show_hidden"</span>
<a name="line-1390"></a>  <span class='hs-varid'>gtk_file_chooser_get_show_hidden</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1391"></a>
<a name="line-1392"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_set_do_overwrite_confirmation"</span>
<a name="line-1393"></a>  <span class='hs-varid'>gtk_file_chooser_set_do_overwrite_confirmation</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1394"></a>
<a name="line-1395"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_file_chooser_get_do_overwrite_confirmation"</span>
<a name="line-1396"></a>  <span class='hs-varid'>gtk_file_chooser_get_do_overwrite_confirmation</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>FileChooser</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
</pre></body>
</html>