2016-06-01 17:32:51 +00:00
<?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://code.haskell.org/~malcolm/hscolour/ -->
< title > src/HSFM/GUI/Gtk/Callbacks/Utils.hs< / title >
< link type = 'text/css' rel = 'stylesheet' href = 'hscolour.css' / >
< / head >
< body >
< pre > < a name = "line-1" > < / a > < span class = 'hs-comment' > {--
< a name = "line-2" > < / a > HSFM, a filemanager written in Haskell.
< a name = "line-3" > < / a > Copyright (C) 2016 Julian Ospald
< a name = "line-4" > < / a >
< a name = "line-5" > < / a > This program is free software; you can redistribute it and/or
< a name = "line-6" > < / a > modify it under the terms of the GNU General Public License
< a name = "line-7" > < / a > version 2 as published by the Free Software Foundation.
< a name = "line-8" > < / a >
< a name = "line-9" > < / a > This program is distributed in the hope that it will be useful,
< a name = "line-10" > < / a > but WITHOUT ANY WARRANTY; without even the implied warranty of
< a name = "line-11" > < / a > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
< a name = "line-12" > < / a > GNU General Public License for more details.
< a name = "line-13" > < / a >
< a name = "line-14" > < / a > You should have received a copy of the GNU General Public License
< a name = "line-15" > < / a > along with this program; if not, write to the Free Software
< a name = "line-16" > < / a > Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
< a name = "line-17" > < / a > --}< / span >
< a name = "line-18" > < / a >
< a name = "line-19" > < / a > < span class = 'hs-comment' > {-# LANGUAGE OverloadedStrings #-}< / span >
< a name = "line-20" > < / a > < span class = 'hs-comment' > {-# LANGUAGE ScopedTypeVariables #-}< / span >
< a name = "line-21" > < / a > < span class = 'hs-comment' > {-# OPTIONS_HADDOCK ignore-exports #-}< / span >
< a name = "line-22" > < / a >
< a name = "line-23" > < / a > < span class = 'hs-keyword' > module< / span > < span class = 'hs-conid' > HSFM< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > GUI< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Gtk< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Callbacks< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Utils< / span > < span class = 'hs-keyword' > where< / span >
< a name = "line-24" > < / a >
< a name = "line-25" > < / a >
< a name = "line-26" > < / a >
< a name = "line-27" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-conid' > Control< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Monad< / span >
< a name = "line-28" > < / a > < span class = 'hs-layout' > (< / span >
2016-06-01 22:20:10 +00:00
< a name = "line-29" > < / a > < span class = 'hs-varid' > forM_< / span >
< a name = "line-30" > < / a > < span class = 'hs-layout' > ,< / span > < span class = 'hs-varid' > when< / span >
< a name = "line-31" > < / a > < span class = 'hs-layout' > )< / span >
2016-06-04 15:49:11 +00:00
< a name = "line-32" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-conid' > Data< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Foldable< / span >
2016-06-01 22:20:10 +00:00
< a name = "line-33" > < / a > < span class = 'hs-layout' > (< / span >
2016-06-04 15:49:11 +00:00
< a name = "line-34" > < / a > < span class = 'hs-varid' > for_< / span >
2016-06-01 22:20:10 +00:00
< a name = "line-35" > < / a > < span class = 'hs-layout' > )< / span >
2016-06-04 15:49:11 +00:00
< a name = "line-36" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-conid' > Data< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Maybe< / span >
2016-06-01 22:20:10 +00:00
< a name = "line-37" > < / a > < span class = 'hs-layout' > (< / span >
2016-06-04 15:49:11 +00:00
< a name = "line-38" > < / a > < span class = 'hs-varid' > fromJust< / span >
2016-06-01 22:20:10 +00:00
< a name = "line-39" > < / a > < span class = 'hs-layout' > )< / span >
2016-06-04 15:49:11 +00:00
< a name = "line-40" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-conid' > GHC< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > IO< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Exception< / span >
< a name = "line-41" > < / a > < span class = 'hs-layout' > (< / span >
< a name = "line-42" > < / a > < span class = 'hs-conid' > IOErrorType< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-keyglyph' > ..< / span > < span class = 'hs-layout' > )< / span >
< a name = "line-43" > < / a > < span class = 'hs-layout' > )< / span >
< a name = "line-44" > < / 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 >
< a name = "line-45" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-keyword' > qualified< / span > < span class = 'hs-conid' > HPath< / span > < span class = 'hs-keyword' > as< / span > < span class = 'hs-conid' > P< / span >
< a name = "line-46" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-conid' > HPath< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > IO< / span >
< a name = "line-47" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-conid' > HPath< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > IO< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Errors< / span >
< a name = "line-48" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-conid' > HSFM< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > FileSystem< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > FileType< / span >
2016-06-05 16:59:16 +00:00
< a name = "line-49" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-keyword' > qualified< / span > < span class = 'hs-conid' > HSFM< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > FileSystem< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > UtilTypes< / span > < span class = 'hs-keyword' > as< / span > < span class = 'hs-conid' > UT< / span >
2016-06-04 15:49:11 +00:00
< a name = "line-50" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-conid' > HSFM< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > GUI< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Gtk< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Data< / span >
< a name = "line-51" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-conid' > HSFM< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > GUI< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Gtk< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Dialogs< / span >
< a name = "line-52" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-conid' > HSFM< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > GUI< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Gtk< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > MyView< / span >
< a name = "line-53" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-conid' > HSFM< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > History< / span >
2016-06-01 22:20:10 +00:00
< a name = "line-54" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-conid' > Prelude< / span > < span class = 'hs-varid' > hiding< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > readFile< / span > < span class = 'hs-layout' > )< / span >
2016-06-04 15:49:11 +00:00
< a name = "line-55" > < / a > < span class = 'hs-keyword' > import< / span > < span class = 'hs-conid' > Control< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Concurrent< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > MVar< / span >
< a name = "line-56" > < / a > < span class = 'hs-layout' > (< / span >
< a name = "line-57" > < / a > < span class = 'hs-varid' > putMVar< / span >
< a name = "line-58" > < / a > < span class = 'hs-layout' > ,< / span > < span class = 'hs-varid' > tryTakeMVar< / span >
< a name = "line-59" > < / a > < span class = 'hs-layout' > )< / span >
< a name = "line-60" > < / a >
< a name = "line-61" > < / a >
< a name = "line-62" > < / a >
< a name = "line-63" > < / a >
< a name = "line-64" > < / a > < a name = "doFileOperation" > < / a > < span class = 'hs-comment' > -- |Carries out a file operation with the appropriate error handling< / span >
< a name = "line-65" > < / a > < span class = 'hs-comment' > -- allowing the user to react to various exceptions with further input.< / span >
2016-06-05 16:59:16 +00:00
< a name = "line-66" > < / a > < span class = 'hs-definition' > doFileOperation< / span > < span class = 'hs-keyglyph' > ::< / span > < span class = 'hs-conid' > UT< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > FileOperation< / span > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-conid' > IO< / span > < span class = 'hs-conid' > ()< / span >
< a name = "line-67" > < / a > < span class = 'hs-definition' > doFileOperation< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-conid' > UT< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > FCopy< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-conid' > UT< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Copy< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > f'< / span > < span class = 'hs-conop' > :< / span > < span class = 'hs-varid' > fs'< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-varid' > to< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-keyglyph' > =< / span >
< a name = "line-68" > < / a > < span class = 'hs-sel' > _doFileOperation< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > f'< / span > < span class = 'hs-conop' > :< / span > < span class = 'hs-varid' > fs'< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-varid' > to< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-keyglyph' > \< / span > < span class = 'hs-varid' > p1< / span > < span class = 'hs-varid' > p2< / span > < span class = 'hs-varid' > cm< / span > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-varid' > easyCopy< / span > < span class = 'hs-varid' > p1< / span > < span class = 'hs-varid' > p2< / span > < span class = 'hs-varid' > cm< / span > < span class = 'hs-conid' > FailEarly< / span > < span class = 'hs-layout' > )< / span >
< a name = "line-69" > < / a > < span class = 'hs-varop' > $< / span > < span class = 'hs-varid' > doFileOperation< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-conid' > UT< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > FCopy< / span > < span class = 'hs-varop' > $< / span > < span class = 'hs-conid' > UT< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Copy< / span > < span class = 'hs-varid' > fs'< / span > < span class = 'hs-varid' > to< / span > < span class = 'hs-layout' > )< / span >
< a name = "line-70" > < / a > < span class = 'hs-definition' > doFileOperation< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-conid' > UT< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > FMove< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-conid' > UT< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Move< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > f'< / span > < span class = 'hs-conop' > :< / span > < span class = 'hs-varid' > fs'< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-varid' > to< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-keyglyph' > =< / span >
< a name = "line-71" > < / a > < span class = 'hs-sel' > _doFileOperation< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > f'< / span > < span class = 'hs-conop' > :< / span > < span class = 'hs-varid' > fs'< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-varid' > to< / span > < span class = 'hs-varid' > moveFile< / span >
< a name = "line-72" > < / a > < span class = 'hs-varop' > $< / span > < span class = 'hs-varid' > doFileOperation< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-conid' > UT< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > FMove< / span > < span class = 'hs-varop' > $< / span > < span class = 'hs-conid' > UT< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Move< / span > < span class = 'hs-varid' > fs'< / span > < span class = 'hs-varid' > to< / span > < span class = 'hs-layout' > )< / span >
2016-06-04 15:49:11 +00:00
< a name = "line-73" > < / a > < span class = 'hs-definition' > doFileOperation< / span > < span class = 'hs-keyword' > _< / span > < span class = 'hs-keyglyph' > =< / span > < span class = 'hs-varid' > return< / span > < span class = 'hs-conid' > ()< / span >
< a name = "line-74" > < / a >
< a name = "line-75" > < / a >
< a name = "line-76" > < / a > < span class = 'hs-sel' > _doFileOperation< / span > < span class = 'hs-keyglyph' > ::< / span > < span class = 'hs-keyglyph' > [< / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Path< / span > < span class = 'hs-varid' > b1< / span > < span class = 'hs-keyglyph' > ]< / span >
< a name = "line-77" > < / a > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Path< / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Abs< / span >
2016-06-05 16:59:16 +00:00
< a name = "line-78" > < / a > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Path< / span > < span class = 'hs-varid' > b1< / span > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Path< / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Abs< / span > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-conid' > CopyMode< / span > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-conid' > IO< / span > < span class = 'hs-varid' > b< / span > < span class = 'hs-layout' > )< / span >
< a name = "line-79" > < / a > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-conid' > IO< / span > < span class = 'hs-conid' > ()< / span >
2016-06-04 15:49:11 +00:00
< a name = "line-80" > < / a > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-conid' > IO< / span > < span class = 'hs-conid' > ()< / span >
2016-06-05 16:59:16 +00:00
< a name = "line-81" > < / a > < span class = 'hs-sel' > _doFileOperation< / span > < span class = 'hs-conid' > []< / span > < span class = 'hs-keyword' > _< / span > < span class = 'hs-keyword' > _< / span > < span class = 'hs-keyword' > _< / span > < span class = 'hs-keyglyph' > =< / span > < span class = 'hs-varid' > return< / span > < span class = 'hs-conid' > ()< / span >
< a name = "line-82" > < / a > < span class = 'hs-sel' > _doFileOperation< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > f< / span > < span class = 'hs-conop' > :< / span > < span class = 'hs-varid' > fs< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-varid' > to< / span > < span class = 'hs-varid' > mc< / span > < span class = 'hs-varid' > rest< / span > < span class = 'hs-keyglyph' > =< / span > < span class = 'hs-keyword' > do< / span >
< a name = "line-83" > < / a > < span class = 'hs-varid' > toname< / span > < span class = 'hs-keyglyph' > < -< / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-varid' > basename< / span > < span class = 'hs-varid' > f< / span >
< a name = "line-84" > < / a > < span class = 'hs-keyword' > let< / span > < span class = 'hs-varid' > topath< / span > < span class = 'hs-keyglyph' > =< / span > < span class = 'hs-varid' > to< / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< /> < / span > < span class = 'hs-varid' > toname< / span >
< a name = "line-85" > < / a > < span class = 'hs-varid' > reactOnError< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > mc< / span > < span class = 'hs-varid' > f< / span > < span class = 'hs-varid' > topath< / span > < span class = 'hs-conid' > Strict< / span > < span class = 'hs-varop' > > > < / span > < span class = 'hs-varid' > rest< / span > < span class = 'hs-layout' > )< / span >
< a name = "line-86" > < / a > < span class = 'hs-keyglyph' > [< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-conid' > AlreadyExists< / span > < span class = 'hs-layout' > ,< / span > < span class = 'hs-varid' > collisionAction< / span > < span class = 'hs-varid' > fileCollisionDialog< / span > < span class = 'hs-varid' > topath< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-keyglyph' > ]< / span >
< a name = "line-87" > < / a > < span class = 'hs-keyglyph' > [< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-conid' > FileDoesExist< / span > < span class = 'hs-layout' > {< / span > < span class = 'hs-layout' > }< / span > < span class = 'hs-layout' > ,< / span > < span class = 'hs-varid' > collisionAction< / span > < span class = 'hs-varid' > fileCollisionDialog< / span > < span class = 'hs-varid' > topath< / span > < span class = 'hs-layout' > )< / span >
< a name = "line-88" > < / a > < span class = 'hs-layout' > ,< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-conid' > DirDoesExist< / span > < span class = 'hs-layout' > {< / span > < span class = 'hs-layout' > }< / span > < span class = 'hs-layout' > ,< / span > < span class = 'hs-varid' > collisionAction< / span > < span class = 'hs-varid' > fileCollisionDialog< / span > < span class = 'hs-varid' > topath< / span > < span class = 'hs-layout' > )< / span >
< a name = "line-89" > < / a > < span class = 'hs-layout' > ,< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-conid' > SameFile< / span > < span class = 'hs-layout' > {< / span > < span class = 'hs-layout' > }< / span > < span class = 'hs-layout' > ,< / span > < span class = 'hs-varid' > collisionAction< / span > < span class = 'hs-varid' > renameDialog< / span > < span class = 'hs-varid' > topath< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-keyglyph' > ]< / span >
< a name = "line-90" > < / a > < span class = 'hs-keyword' > where< / span >
< a name = "line-91" > < / a > < span class = 'hs-varid' > collisionAction< / span > < span class = 'hs-varid' > diag< / span > < span class = 'hs-varid' > topath< / span > < span class = 'hs-keyglyph' > =< / span > < span class = 'hs-keyword' > do< / span >
< a name = "line-92" > < / a > < span class = 'hs-varid' > mcm< / span > < span class = 'hs-keyglyph' > < -< / span > < span class = 'hs-varid' > diag< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-varid' > fromAbs< / span > < span class = 'hs-varop' > $< / span > < span class = 'hs-varid' > topath< / span >
< a name = "line-93" > < / a > < span class = 'hs-varid' > forM_< / span > < span class = 'hs-varid' > mcm< / span > < span class = 'hs-varop' > $< / span > < span class = 'hs-keyglyph' > \< / span > < span class = 'hs-varid' > cm< / span > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-keyword' > case< / span > < span class = 'hs-varid' > cm< / span > < span class = 'hs-keyword' > of< / span >
< a name = "line-94" > < / a > < span class = 'hs-conid' > UT< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Overwrite< / span > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-varid' > mc< / span > < span class = 'hs-varid' > f< / span > < span class = 'hs-varid' > topath< / span > < span class = 'hs-conid' > Overwrite< / span > < span class = 'hs-varop' > > > < / span > < span class = 'hs-varid' > rest< / span >
< a name = "line-95" > < / a > < span class = 'hs-conid' > UT< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > OverwriteAll< / span > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-varid' > forM_< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > f< / span > < span class = 'hs-conop' > :< / span > < span class = 'hs-varid' > fs< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-varop' > $< / span > < span class = 'hs-keyglyph' > \< / span > < span class = 'hs-varid' > x< / span > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-keyword' > do< / span >
< a name = "line-96" > < / a > < span class = 'hs-varid' > toname'< / span > < span class = 'hs-keyglyph' > < -< / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-varid' > basename< / span > < span class = 'hs-varid' > x< / span >
< a name = "line-97" > < / a > < span class = 'hs-varid' > mc< / span > < span class = 'hs-varid' > x< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > to< / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< /> < / span > < span class = 'hs-varid' > toname'< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-conid' > Overwrite< / span >
< a name = "line-98" > < / a > < span class = 'hs-conid' > UT< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Skip< / span > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-varid' > rest< / span >
< a name = "line-99" > < / a > < span class = 'hs-conid' > UT< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-conid' > Rename< / span > < span class = 'hs-varid' > newn< / span > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-varid' > mc< / span > < span class = 'hs-varid' > f< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > to< / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< /> < / span > < span class = 'hs-varid' > newn< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-conid' > Strict< / span > < span class = 'hs-varop' > > > < / span > < span class = 'hs-varid' > rest< / span >
< a name = "line-100" > < / a > < span class = 'hs-keyword' > _< / span > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-varid' > return< / span > < span class = 'hs-conid' > ()< / span >
< a name = "line-101" > < / a >
2016-06-04 15:49:11 +00:00
< a name = "line-102" > < / a >
2016-06-05 16:59:16 +00:00
< a name = "line-103" > < / a > < a name = "goDir" > < / a > < span class = 'hs-comment' > -- |Helper that is invoked for any directory change operations.< / span >
< a name = "line-104" > < / a > < span class = 'hs-definition' > goDir< / span > < span class = 'hs-keyglyph' > ::< / span > < span class = 'hs-conid' > Bool< / span > < span class = 'hs-comment' > -- ^ whether to update the history< / span >
< a name = "line-105" > < / a > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-conid' > MyGUI< / span >
< a name = "line-106" > < / a > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-conid' > MyView< / span >
< a name = "line-107" > < / a > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-conid' > Item< / span >
< a name = "line-108" > < / a > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-conid' > IO< / span > < span class = 'hs-conid' > ()< / span >
< a name = "line-109" > < / a > < span class = 'hs-definition' > goDir< / span > < span class = 'hs-varid' > bhis< / span > < span class = 'hs-varid' > mygui< / span > < span class = 'hs-varid' > myview< / span > < span class = 'hs-varid' > item< / span > < span class = 'hs-keyglyph' > =< / span > < span class = 'hs-keyword' > do< / span >
< a name = "line-110" > < / a > < span class = 'hs-varid' > when< / span > < span class = 'hs-varid' > bhis< / span > < span class = 'hs-varop' > $< / span > < span class = 'hs-keyword' > do< / span >
< a name = "line-111" > < / a > < span class = 'hs-varid' > mhs< / span > < span class = 'hs-keyglyph' > < -< / span > < span class = 'hs-varid' > tryTakeMVar< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > history< / span > < span class = 'hs-varid' > myview< / span > < span class = 'hs-layout' > )< / span >
< a name = "line-112" > < / a > < span class = 'hs-varid' > for_< / span > < span class = 'hs-varid' > mhs< / span > < span class = 'hs-varop' > $< / span > < span class = 'hs-keyglyph' > \< / span > < span class = 'hs-varid' > hs< / span > < span class = 'hs-keyglyph' > -> < / span > < span class = 'hs-keyword' > do< / span >
< a name = "line-113" > < / a > < span class = 'hs-keyword' > let< / span > < span class = 'hs-varid' > nhs< / span > < span class = 'hs-keyglyph' > =< / span > < span class = 'hs-varid' > historyNewPath< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > path< / span > < span class = 'hs-varid' > item< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-varid' > hs< / span >
< a name = "line-114" > < / a > < span class = 'hs-varid' > putMVar< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > history< / span > < span class = 'hs-varid' > myview< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-varid' > nhs< / span >
< a name = "line-115" > < / a > < span class = 'hs-varid' > refreshView< / span > < span class = 'hs-varid' > mygui< / span > < span class = 'hs-varid' > myview< / span > < span class = 'hs-varid' > item< / span >
< a name = "line-116" > < / a >
< a name = "line-117" > < / a > < span class = 'hs-comment' > -- set notebook tab label< / span >
< a name = "line-118" > < / a > < span class = 'hs-varid' > page< / span > < span class = 'hs-keyglyph' > < -< / span > < span class = 'hs-varid' > notebookGetCurrentPage< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > notebook< / span > < span class = 'hs-varid' > mygui< / span > < span class = 'hs-layout' > )< / span >
< a name = "line-119" > < / a > < span class = 'hs-varid' > child< / span > < span class = 'hs-keyglyph' > < -< / span > < span class = 'hs-varid' > fromJust< / span > < span class = 'hs-varop' > < $> < / span > < span class = 'hs-varid' > notebookGetNthPage< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > notebook< / span > < span class = 'hs-varid' > mygui< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-varid' > page< / span >
< a name = "line-120" > < / a >
< a name = "line-121" > < / a > < span class = 'hs-comment' > -- get the label< / span >
< a name = "line-122" > < / a > < span class = 'hs-varid' > ebox< / span > < span class = 'hs-keyglyph' > < -< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > castToEventBox< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-varid' > fromJust< / span > < span class = 'hs-layout' > )< / span >
< a name = "line-123" > < / a > < span class = 'hs-varop' > < $> < / span > < span class = 'hs-varid' > notebookGetTabLabel< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > notebook< / span > < span class = 'hs-varid' > mygui< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-varid' > child< / span >
< a name = "line-124" > < / a > < span class = 'hs-varid' > label< / span > < span class = 'hs-keyglyph' > < -< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > castToLabel< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-varid' > head< / span > < span class = 'hs-layout' > )< / span > < span class = 'hs-varop' > < $> < / span > < span class = 'hs-varid' > containerGetChildren< / span > < span class = 'hs-varid' > ebox< / span >
< a name = "line-125" > < / a >
< a name = "line-126" > < / a > < span class = 'hs-comment' > -- set the label< / span >
< a name = "line-127" > < / a > < span class = 'hs-varid' > labelSetText< / span > < span class = 'hs-varid' > label< / span >
< a name = "line-128" > < / a > < span class = 'hs-layout' > (< / span > < span class = 'hs-varid' > maybe< / span > < span class = 'hs-layout' > (< / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-varid' > fromAbs< / span > < span class = 'hs-varop' > $< / span > < span class = 'hs-varid' > path< / span > < span class = 'hs-varid' > item< / span > < span class = 'hs-layout' > )< / span >
< a name = "line-129" > < / a > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-varid' > fromRel< / span > < span class = 'hs-varop' > $< / span > < span class = 'hs-conid' > P< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-varid' > basename< / span > < span class = 'hs-varop' > .< / span > < span class = 'hs-varid' > path< / span > < span class = 'hs-varop' > $< / span > < span class = 'hs-varid' > item< / span > < span class = 'hs-layout' > )< / span >
< a name = "line-130" > < / a >
2016-06-01 17:32:51 +00:00
< / pre > < / body >
< / html >