Initial commit
This commit is contained in:
commit
4fac84dde4
34
HSFM-FileSystem-FileType.html
Normal file
34
HSFM-FileSystem-FileType.html
Normal file
File diff suppressed because one or more lines are too long
18
HSFM-FileSystem-UtilTypes.html
Normal file
18
HSFM-FileSystem-UtilTypes.html
Normal file
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.FileSystem.UtilTypes</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_HSFM-FileSystem-UtilTypes.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-FileSystem-UtilTypes.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HSFM.FileSystem.UtilTypes</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module provides high-level IO related file operations like
|
||||
copy, delete, move and so on. It only operates on `Path Abs` which
|
||||
guarantees us well-typed paths which are absolute.</p><p>Some functions are just path-safe wrappers around
|
||||
unix functions, others have stricter exception handling
|
||||
and some implement functionality that doesn't have a unix
|
||||
counterpart (like <code>copyDirRecursive</code>).</p><p>Some of these operations are due to their nature not _atomic_, which
|
||||
means they may do multiple syscalls which form one context. Some
|
||||
of them also have to examine the filetypes explicitly before the
|
||||
syscalls, so a reasonable decision can be made. That means
|
||||
the result is undefined if another process changes that context
|
||||
while the non-atomic operation is still happening. However, where
|
||||
possible, as few syscalls as possible are used and the underlying
|
||||
exception handling is kept.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:FileOperation">FileOperation</a><ul class="subs"><li>= <a href="#v:FCopy">FCopy</a> <a href="HSFM-FileSystem-UtilTypes.html#t:Copy">Copy</a></li><li>| <a href="#v:FMove">FMove</a> <a href="HSFM-FileSystem-UtilTypes.html#t:Move">Move</a></li><li>| <a href="#v:FDelete">FDelete</a> [Path Abs]</li><li>| <a href="#v:FOpen">FOpen</a> (Path Abs)</li><li>| <a href="#v:FExecute">FExecute</a> (Path Abs) [<a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a>]</li><li>| <a href="#v:None">None</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Copy">Copy</a><ul class="subs"><li>= <a href="#v:PartialCopy">PartialCopy</a> [Path Abs]</li><li>| <a href="#v:Copy">Copy</a> [Path Abs] (Path Abs)</li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Move">Move</a><ul class="subs"><li>= <a href="#v:PartialMove">PartialMove</a> [Path Abs]</li><li>| <a href="#v:Move">Move</a> [Path Abs] (Path Abs)</li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:FCollisonMode">FCollisonMode</a><ul class="subs"><li>= <a href="#v:Strict">Strict</a></li><li>| <a href="#v:Overwrite">Overwrite</a></li><li>| <a href="#v:OverwriteAll">OverwriteAll</a></li><li>| <a href="#v:Skip">Skip</a></li><li>| <a href="#v:Rename">Rename</a> (Path Fn)</li></ul></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:FileOperation" class="def">FileOperation</a> <a href="src/HSFM-FileSystem-UtilTypes.html#FileOperation" class="link">Source</a> <a href="#t:FileOperation" class="selflink">#</a></p><div class="doc"><p>Data type describing file operations.
|
||||
Useful to build up a list of operations or delay operations.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:FCopy" class="def">FCopy</a> <a href="HSFM-FileSystem-UtilTypes.html#t:Copy">Copy</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:FMove" class="def">FMove</a> <a href="HSFM-FileSystem-UtilTypes.html#t:Move">Move</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:FDelete" class="def">FDelete</a> [Path Abs]</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:FOpen" class="def">FOpen</a> (Path Abs)</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:FExecute" class="def">FExecute</a> (Path Abs) [<a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a>]</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:None" class="def">None</a></td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Copy" class="def">Copy</a> <a href="src/HSFM-FileSystem-UtilTypes.html#Copy" class="link">Source</a> <a href="#t:Copy" class="selflink">#</a></p><div class="doc"><p>Data type describing partial or complete file copy operation.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:PartialCopy" class="def">PartialCopy</a> [Path Abs]</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Copy" class="def">Copy</a> [Path Abs] (Path Abs)</td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Move" class="def">Move</a> <a href="src/HSFM-FileSystem-UtilTypes.html#Move" class="link">Source</a> <a href="#t:Move" class="selflink">#</a></p><div class="doc"><p>Data type describing partial or complete file move operation.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:PartialMove" class="def">PartialMove</a> [Path Abs]</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Move" class="def">Move</a> [Path Abs] (Path Abs)</td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:FCollisonMode" class="def">FCollisonMode</a> <a href="src/HSFM-FileSystem-UtilTypes.html#FCollisonMode" class="link">Source</a> <a href="#t:FCollisonMode" class="selflink">#</a></p><div class="doc"><p>Collision modes that describe the behavior in case a file collision
|
||||
happens.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Strict" class="def">Strict</a></td><td class="doc"><p>fail if the target already exists</p></td></tr><tr><td class="src"><a id="v:Overwrite" class="def">Overwrite</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OverwriteAll" class="def">OverwriteAll</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Skip" class="def">Skip</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Rename" class="def">Rename</a> (Path Fn)</td><td class="doc empty"> </td></tr></table></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
HSFM-GUI-Glib-GlibString.html
Normal file
4
HSFM-GUI-Glib-GlibString.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Glib.GlibString</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_HSFM-GUI-Glib-GlibString.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-GUI-Glib-GlibString.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HSFM.GUI.Glib.GlibString</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#section.orphans">Orphan instances</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:c_strlen" class="def">c_strlen</a> :: CString -> IO CSize <a href="src/HSFM-GUI-Glib-GlibString.html#c_strlen" class="link">Source</a> <a href="#v:c_strlen" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:noNullPtrs" class="def">noNullPtrs</a> :: CStringLen -> CStringLen <a href="src/HSFM-GUI-Glib-GlibString.html#noNullPtrs" class="link">Source</a> <a href="#v:noNullPtrs" class="selflink">#</a></p></div><h1>Orphan instances</h1><div id="section.orphans" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:o:ic:GlibString:GlibString:1" class="instance expander" onclick="toggleSection('i:o:ic:GlibString:GlibString:1')"></span> GlibString <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a></span> <a href="src/HSFM-GUI-Glib-GlibString.html#line-58" class="link">Source</a> <a href="#v:-36-fGlibStringByteString" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:o:ic:GlibString:GlibString:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:withUTFString">withUTFString</a> :: <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a> -> (CString -> IO a) -> IO a</p><p class="src"><a href="#v:withUTFStringLen">withUTFStringLen</a> :: <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a> -> (CStringLen -> IO a) -> IO a</p><p class="src"><a href="#v:peekUTFString">peekUTFString</a> :: CString -> IO <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a></p><p class="src"><a href="#v:maybePeekUTFString">maybePeekUTFString</a> :: CString -> IO (Maybe <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a>)</p><p class="src"><a href="#v:peekUTFStringLen">peekUTFStringLen</a> :: CStringLen -> IO <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a></p><p class="src"><a href="#v:newUTFString">newUTFString</a> :: <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a> -> IO CString</p><p class="src"><a href="#v:newUTFStringLen">newUTFStringLen</a> :: <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a> -> IO CStringLen</p><p class="src"><a href="#v:genUTFOfs">genUTFOfs</a> :: <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a> -> UTFCorrection</p><p class="src"><a href="#v:stringLength">stringLength</a> :: <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a> -> Int</p><p class="src"><a href="#v:unPrintf">unPrintf</a> :: <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a> -> <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a></p></div></div></td></tr></table></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
5
HSFM-GUI-Gtk-Callbacks-Utils.html
Normal file
5
HSFM-GUI-Gtk-Callbacks-Utils.html
Normal file
@ -0,0 +1,5 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Callbacks.Utils</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_HSFM-GUI-Gtk-Callbacks-Utils.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-GUI-Gtk-Callbacks-Utils.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HSFM.GUI.Gtk.Callbacks.Utils</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:doFileOperation">doFileOperation</a> :: <a href="HSFM-FileSystem-UtilTypes.html#t:FileOperation">FileOperation</a> -> IO ()</li><li class="src short"><a href="#v:_doFileOperation">_doFileOperation</a> :: [Path b1] -> Path Abs -> (Path b1 -> Path Abs -> IO b) -> (Path b1 -> Path Abs -> IO a) -> IO () -> IO ()</li><li class="src short"><a href="#v:goDir">goDir</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a> -> IO ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:doFileOperation" class="def">doFileOperation</a> :: <a href="HSFM-FileSystem-UtilTypes.html#t:FileOperation">FileOperation</a> -> IO () <a href="src/HSFM-GUI-Gtk-Callbacks-Utils.html#doFileOperation" class="link">Source</a> <a href="#v:doFileOperation" class="selflink">#</a></p><div class="doc"><p>Carries out a file operation with the appropriate error handling
|
||||
allowing the user to react to various exceptions with further input.</p></div></div><div class="top"><p class="src"><a id="v:_doFileOperation" class="def">_doFileOperation</a> :: [Path b1] -> Path Abs -> (Path b1 -> Path Abs -> IO b) -> (Path b1 -> Path Abs -> IO a) -> IO () -> IO () <a href="src/HSFM-GUI-Gtk-Callbacks-Utils.html#_doFileOperation" class="link">Source</a> <a href="#v:_doFileOperation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:goDir" class="def">goDir</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a> -> IO () <a href="src/HSFM-GUI-Gtk-Callbacks-Utils.html#goDir" class="link">Source</a> <a href="#v:goDir" class="selflink">#</a></p><div class="doc"><p>Helper that is invoked for any directory change operations.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
5
HSFM-GUI-Gtk-Callbacks.html
Normal file
5
HSFM-GUI-Gtk-Callbacks.html
Normal file
File diff suppressed because one or more lines are too long
8
HSFM-GUI-Gtk-Data.html
Normal file
8
HSFM-GUI-Gtk-Data.html
Normal file
File diff suppressed because one or more lines are too long
7
HSFM-GUI-Gtk-Dialogs.html
Normal file
7
HSFM-GUI-Gtk-Dialogs.html
Normal file
@ -0,0 +1,7 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Dialogs</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_HSFM-GUI-Gtk-Dialogs.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-GUI-Gtk-Dialogs.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HSFM.GUI.Gtk.Dialogs</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:showErrorDialog">showErrorDialog</a> :: String -> IO ()</li><li class="src short"><a href="#v:showConfirmationDialog">showConfirmationDialog</a> :: String -> IO Bool</li><li class="src short"><a href="#v:fileCollisionDialog">fileCollisionDialog</a> :: <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a> -> IO (Maybe <a href="HSFM-FileSystem-UtilTypes.html#t:FCollisonMode">FCollisonMode</a>)</li><li class="src short"><a href="#v:renameDialog">renameDialog</a> :: <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a> -> IO (Maybe <a href="HSFM-FileSystem-UtilTypes.html#t:FCollisonMode">FCollisonMode</a>)</li><li class="src short"><a href="#v:showAboutDialog">showAboutDialog</a> :: IO ()</li><li class="src short"><a href="#v:withConfirmationDialog">withConfirmationDialog</a> :: String -> IO () -> IO ()</li><li class="src short"><a href="#v:withErrorDialog">withErrorDialog</a> :: IO a -> IO ()</li><li class="src short"><a href="#v:textInputDialog">textInputDialog</a> :: GlibString string => string -> string -> IO (Maybe String)</li><li class="src short"><a href="#v:showFilePropertyDialog">showFilePropertyDialog</a> :: [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -> <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> IO ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:showErrorDialog" class="def">showErrorDialog</a> :: String -> IO () <a href="src/HSFM-GUI-Gtk-Dialogs.html#showErrorDialog" class="link">Source</a> <a href="#v:showErrorDialog" class="selflink">#</a></p><div class="doc"><p>Pops up an error Dialog with the given String.</p></div></div><div class="top"><p class="src"><a id="v:showConfirmationDialog" class="def">showConfirmationDialog</a> :: String -> IO Bool <a href="src/HSFM-GUI-Gtk-Dialogs.html#showConfirmationDialog" class="link">Source</a> <a href="#v:showConfirmationDialog" class="selflink">#</a></p><div class="doc"><p>Asks the user for confirmation and returns True/False.</p></div></div><div class="top"><p class="src"><a id="v:fileCollisionDialog" class="def">fileCollisionDialog</a> :: <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a> -> IO (Maybe <a href="HSFM-FileSystem-UtilTypes.html#t:FCollisonMode">FCollisonMode</a>) <a href="src/HSFM-GUI-Gtk-Dialogs.html#fileCollisionDialog" class="link">Source</a> <a href="#v:fileCollisionDialog" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:renameDialog" class="def">renameDialog</a> :: <a href="https://hackage.haskell.org/package/utf8-string-0.3.7/docs/Data-ByteString-UTF8.html#t:ByteString">ByteString</a> -> IO (Maybe <a href="HSFM-FileSystem-UtilTypes.html#t:FCollisonMode">FCollisonMode</a>) <a href="src/HSFM-GUI-Gtk-Dialogs.html#renameDialog" class="link">Source</a> <a href="#v:renameDialog" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:showAboutDialog" class="def">showAboutDialog</a> :: IO () <a href="src/HSFM-GUI-Gtk-Dialogs.html#showAboutDialog" class="link">Source</a> <a href="#v:showAboutDialog" class="selflink">#</a></p><div class="doc"><p>Shows the about dialog from the help menu.</p></div></div><div class="top"><p class="src"><a id="v:withConfirmationDialog" class="def">withConfirmationDialog</a> :: String -> IO () -> IO () <a href="src/HSFM-GUI-Gtk-Dialogs.html#withConfirmationDialog" class="link">Source</a> <a href="#v:withConfirmationDialog" class="selflink">#</a></p><div class="doc"><p>Carry out an IO action with a confirmation dialog.
|
||||
If the user presses <a href="No.html">No</a>, then do nothing.</p></div></div><div class="top"><p class="src"><a id="v:withErrorDialog" class="def">withErrorDialog</a> :: IO a -> IO () <a href="src/HSFM-GUI-Gtk-Dialogs.html#withErrorDialog" class="link">Source</a> <a href="#v:withErrorDialog" class="selflink">#</a></p><div class="doc"><p>Execute the given IO action. If the action throws exceptions,
|
||||
visualize them via <code><a href="HSFM-GUI-Gtk-Dialogs.html#v:showErrorDialog">showErrorDialog</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:textInputDialog" class="def">textInputDialog</a> <a href="src/HSFM-GUI-Gtk-Dialogs.html#textInputDialog" class="link">Source</a> <a href="#v:textInputDialog" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: GlibString string</td><td class="doc empty"> </td></tr><tr><td class="src">=> string</td><td class="doc"><p>window title</p></td></tr><tr><td class="src">-> string</td><td class="doc"><p>initial text in input widget</p></td></tr><tr><td class="src">-> IO (Maybe String)</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Asks the user which directory copy mode he wants via dialog popup
|
||||
and returns <code>DirCopyMode</code>.</p></div></div><div class="top"><p class="src"><a id="v:showFilePropertyDialog" class="def">showFilePropertyDialog</a> :: [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -> <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> IO () <a href="src/HSFM-GUI-Gtk-Dialogs.html#showFilePropertyDialog" class="link">Source</a> <a href="#v:showFilePropertyDialog" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
HSFM-GUI-Gtk-Errors.html
Normal file
4
HSFM-GUI-Gtk-Errors.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Errors</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_HSFM-GUI-Gtk-Errors.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-GUI-Gtk-Errors.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HSFM.GUI.Gtk.Errors</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Provides error handling for Gtk.</p></div></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GtkException" class="def">GtkException</a> <a href="src/HSFM-GUI-Gtk-Errors.html#GtkException" class="link">Source</a> <a href="#t:GtkException" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:UnknownDialogButton" class="def">UnknownDialogButton</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:GtkException" class="caption collapser" onclick="toggleSection('i:GtkException')">Instances</p><div id="section.i:GtkException" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GtkException:Show:1" class="instance expander" onclick="toggleSection('i:id:GtkException:Show:1')"></span> Show <a href="HSFM-GUI-Gtk-Errors.html#t:GtkException">GtkException</a></span> <a href="src/HSFM-GUI-Gtk-Errors.html#line-31" class="link">Source</a> <a href="#t:GtkException" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GtkException:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: Int -> <a href="HSFM-GUI-Gtk-Errors.html#t:GtkException">GtkException</a> -> ShowS</p><p class="src"><a href="#v:show">show</a> :: <a href="HSFM-GUI-Gtk-Errors.html#t:GtkException">GtkException</a> -> String</p><p class="src"><a href="#v:showList">showList</a> :: [<a href="HSFM-GUI-Gtk-Errors.html#t:GtkException">GtkException</a>] -> ShowS</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GtkException:Exception:2" class="instance expander" onclick="toggleSection('i:id:GtkException:Exception:2')"></span> Exception <a href="HSFM-GUI-Gtk-Errors.html#t:GtkException">GtkException</a></span> <a href="src/HSFM-GUI-Gtk-Errors.html#line-33" class="link">Source</a> <a href="#t:GtkException" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GtkException:Exception:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toException">toException</a> :: <a href="HSFM-GUI-Gtk-Errors.html#t:GtkException">GtkException</a> -> SomeException</p><p class="src"><a href="#v:fromException">fromException</a> :: SomeException -> Maybe <a href="HSFM-GUI-Gtk-Errors.html#t:GtkException">GtkException</a></p><p class="src"><a href="#v:displayException">displayException</a> :: <a href="HSFM-GUI-Gtk-Errors.html#t:GtkException">GtkException</a> -> String</p></div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
5
HSFM-GUI-Gtk-Icons.html
Normal file
5
HSFM-GUI-Gtk-Icons.html
Normal file
@ -0,0 +1,5 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Icons</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_HSFM-GUI-Gtk-Icons.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-GUI-Gtk-Icons.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HSFM.GUI.Gtk.Icons</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Module for Gtk icon handling.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:GtkIcon">GtkIcon</a><ul class="subs"><li>= <a href="#v:IFolder">IFolder</a></li><li>| <a href="#v:SymL">SymL</a></li><li>| <a href="#v:IFile">IFile</a></li><li>| <a href="#v:IError">IError</a></li></ul></li><li class="src short"><a href="#v:getIcon">getIcon</a> :: <a href="HSFM-GUI-Gtk-Icons.html#t:GtkIcon">GtkIcon</a> -> IconTheme -> Int -> IO Pixbuf</li><li class="src short"><a href="#v:getSymlinkIcon">getSymlinkIcon</a> :: <a href="HSFM-GUI-Gtk-Icons.html#t:GtkIcon">GtkIcon</a> -> IconTheme -> Int -> IO Pixbuf</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GtkIcon" class="def">GtkIcon</a> <a href="src/HSFM-GUI-Gtk-Icons.html#GtkIcon" class="link">Source</a> <a href="#t:GtkIcon" class="selflink">#</a></p><div class="doc"><p>Icon type we use in our GUI.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:IFolder" class="def">IFolder</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:SymL" class="def">SymL</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:IFile" class="def">IFile</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:IError" class="def">IError</a></td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><a id="v:getIcon" class="def">getIcon</a> <a href="src/HSFM-GUI-Gtk-Icons.html#getIcon" class="link">Source</a> <a href="#v:getIcon" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="HSFM-GUI-Gtk-Icons.html#t:GtkIcon">GtkIcon</a></td><td class="doc"><p>icon we want</p></td></tr><tr><td class="src">-> IconTheme</td><td class="doc"><p>which icon theme to get the icon from</p></td></tr><tr><td class="src">-> Int</td><td class="doc"><p>requested icon size</p></td></tr><tr><td class="src">-> IO Pixbuf</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Gets an icon from the default icon theme and falls back to project-icons
|
||||
if not found. The requested icon size is not guaranteed.</p></div></div><div class="top"><p class="src"><a id="v:getSymlinkIcon" class="def">getSymlinkIcon</a> :: <a href="HSFM-GUI-Gtk-Icons.html#t:GtkIcon">GtkIcon</a> -> IconTheme -> Int -> IO Pixbuf <a href="src/HSFM-GUI-Gtk-Icons.html#getSymlinkIcon" class="link">Source</a> <a href="#v:getSymlinkIcon" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
HSFM-GUI-Gtk-MyGUI.html
Normal file
4
HSFM-GUI-Gtk-MyGUI.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.MyGUI</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_HSFM-GUI-Gtk-MyGUI.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-GUI-Gtk-MyGUI.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HSFM.GUI.Gtk.MyGUI</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:createMyGUI">createMyGUI</a> :: IO <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:createMyGUI" class="def">createMyGUI</a> :: IO <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> <a href="src/HSFM-GUI-Gtk-MyGUI.html#createMyGUI" class="link">Source</a> <a href="#v:createMyGUI" class="selflink">#</a></p><div class="doc"><p>Set up the GUI. This only creates the permanent widgets.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
14
HSFM-GUI-Gtk-MyView.html
Normal file
14
HSFM-GUI-Gtk-MyView.html
Normal file
@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.MyView</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_HSFM-GUI-Gtk-MyView.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-GUI-Gtk-MyView.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HSFM.GUI.Gtk.MyView</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:newTab">newTab</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> IO <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> -> Path Abs -> IO <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a></li><li class="src short"><a href="#v:createMyView">createMyView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> IO <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> -> IO <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a></li><li class="src short"><a href="#v:switchView">switchView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> IO <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> -> IO ()</li><li class="src short"><a href="#v:destroyView">destroyView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> IO Int</li><li class="src short"><a href="#v:createIconView">createIconView</a> :: IO <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a></li><li class="src short"><a href="#v:createTreeView">createTreeView</a> :: IO <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a></li><li class="src short"><a href="#v:refreshView">refreshView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> Maybe (Path Abs) -> IO ()</li><li class="src short"><a href="#v:refreshView-39-">refreshView'</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a> -> IO ()</li><li class="src short"><a href="#v:constructView">constructView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> IO ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:newTab" class="def">newTab</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> IO <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> -> Path Abs -> IO <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> <a href="src/HSFM-GUI-Gtk-MyView.html#newTab" class="link">Source</a> <a href="#v:newTab" class="selflink">#</a></p><div class="doc"><p>Creates a new tab with its own view and refreshes the view.</p></div></div><div class="top"><p class="src"><a id="v:createMyView" class="def">createMyView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> IO <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> -> IO <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> <a href="src/HSFM-GUI-Gtk-MyView.html#createMyView" class="link">Source</a> <a href="#v:createMyView" class="selflink">#</a></p><div class="doc"><p>Constructs the initial MyView object with a few dummy models.
|
||||
It also initializes the callbacks.</p></div></div><div class="top"><p class="src"><a id="v:switchView" class="def">switchView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> IO <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> -> IO () <a href="src/HSFM-GUI-Gtk-MyView.html#switchView" class="link">Source</a> <a href="#v:switchView" class="selflink">#</a></p><div class="doc"><p>Switch the existing view in <code><a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a></code> with the one that the
|
||||
io action returns.</p></div></div><div class="top"><p class="src"><a id="v:destroyView" class="def">destroyView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> IO Int <a href="src/HSFM-GUI-Gtk-MyView.html#destroyView" class="link">Source</a> <a href="#v:destroyView" class="selflink">#</a></p><div class="doc"><p>Destroys the current view by disconnecting the watcher
|
||||
and destroying the active FMView container.</p><p>Everything that needs to be done in order to forget about a
|
||||
view needs to be done here.</p><p>Returns the page in the tab list this view corresponds to.</p></div></div><div class="top"><p class="src"><a id="v:createIconView" class="def">createIconView</a> :: IO <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> <a href="src/HSFM-GUI-Gtk-MyView.html#createIconView" class="link">Source</a> <a href="#v:createIconView" class="selflink">#</a></p><div class="doc"><p>Createss an IconView.</p></div></div><div class="top"><p class="src"><a id="v:createTreeView" class="def">createTreeView</a> :: IO <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> <a href="src/HSFM-GUI-Gtk-MyView.html#createTreeView" class="link">Source</a> <a href="#v:createTreeView" class="selflink">#</a></p><div class="doc"><p>Creates a TreeView.</p></div></div><div class="top"><p class="src"><a id="v:refreshView" class="def">refreshView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> Maybe (Path Abs) -> IO () <a href="src/HSFM-GUI-Gtk-MyView.html#refreshView" class="link">Source</a> <a href="#v:refreshView" class="selflink">#</a></p><div class="doc"><p>Re-reads the current directory or the given one and updates the View.
|
||||
This is more or less a wrapper around <code><a href="HSFM-GUI-Gtk-MyView.html#v:refreshView-39-">refreshView'</a></code></p><p>If the third argument is Nothing, it tries to re-read the current directory.
|
||||
If that fails, it reads "/" instead.</p><p>If the third argument is (Just path) it tries to read "path". If that
|
||||
fails, it reads "/" instead.</p></div></div><div class="top"><p class="src"><a id="v:refreshView-39-" class="def">refreshView'</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a> -> IO () <a href="src/HSFM-GUI-Gtk-MyView.html#refreshView%27" class="link">Source</a> <a href="#v:refreshView-39-" class="selflink">#</a></p><div class="doc"><p>Refreshes the View based on the given directory.</p><p>If the directory is not a Dir or a Symlink pointing to a Dir, then
|
||||
calls <code><a href="HSFM-GUI-Gtk-MyView.html#v:refreshView">refreshView</a></code> with the 3rd argument being Nothing.</p></div></div><div class="top"><p class="src"><a id="v:constructView" class="def">constructView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -> IO () <a href="src/HSFM-GUI-Gtk-MyView.html#constructView" class="link">Source</a> <a href="#v:constructView" class="selflink">#</a></p><div class="doc"><p>Constructs the visible View with the current underlying mutable models,
|
||||
which are retrieved from <code><a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a></code>.</p><p>This sort of merges the components mygui and myview and fires up
|
||||
the actual models.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
11
HSFM-GUI-Gtk-Utils.html
Normal file
11
HSFM-GUI-Gtk-Utils.html
Normal file
File diff suppressed because one or more lines are too long
4
HSFM-Utils-IO.html
Normal file
4
HSFM-Utils-IO.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.Utils.IO</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_HSFM-Utils-IO.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-Utils-IO.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HSFM.Utils.IO</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Random and general IO utilities.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:writeTVarIO">writeTVarIO</a> :: <a href="https://hackage.haskell.org/package/stm-2.4.4.1/docs/Control-Concurrent-STM-TVar.html#t:TVar">TVar</a> a -> a -> IO ()</li><li class="src short"><a href="#v:modifyTVarIO">modifyTVarIO</a> :: <a href="https://hackage.haskell.org/package/stm-2.4.4.1/docs/Control-Concurrent-STM-TVar.html#t:TVar">TVar</a> a -> (a -> a) -> IO ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:writeTVarIO" class="def">writeTVarIO</a> :: <a href="https://hackage.haskell.org/package/stm-2.4.4.1/docs/Control-Concurrent-STM-TVar.html#t:TVar">TVar</a> a -> a -> IO () <a href="src/HSFM-Utils-IO.html#writeTVarIO" class="link">Source</a> <a href="#v:writeTVarIO" class="selflink">#</a></p><div class="doc"><p>Atomically write a TVar.</p></div></div><div class="top"><p class="src"><a id="v:modifyTVarIO" class="def">modifyTVarIO</a> :: <a href="https://hackage.haskell.org/package/stm-2.4.4.1/docs/Control-Concurrent-STM-TVar.html#t:TVar">TVar</a> a -> (a -> a) -> IO () <a href="src/HSFM-Utils-IO.html#modifyTVarIO" class="link">Source</a> <a href="#v:modifyTVarIO" class="selflink">#</a></p><div class="doc"><p>Atomically modify a TVar.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
6
HSFM-Utils-MyPrelude.html
Normal file
6
HSFM-Utils-MyPrelude.html
Normal file
@ -0,0 +1,6 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.Utils.MyPrelude</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_HSFM-Utils-MyPrelude.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-Utils-MyPrelude.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HSFM.Utils.MyPrelude</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:listIndices">listIndices</a> :: [a] -> [Int]</li><li class="src short"><a href="#v:maybeD">maybeD</a> :: Default b => (a -> b) -> Maybe a -> b</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:listIndices" class="def">listIndices</a> :: [a] -> [Int] <a href="src/HSFM-Utils-MyPrelude.html#listIndices" class="link">Source</a> <a href="#v:listIndices" class="selflink">#</a></p><div class="doc"><p>Turns any list into a list of the same length with the values
|
||||
being the indices.
|
||||
E.g.: "abdasd" -> [0,1,2,3,4,5]</p></div></div><div class="top"><p class="src"><a id="v:maybeD" class="def">maybeD</a> :: Default b => (a -> b) -> Maybe a -> b <a href="src/HSFM-Utils-MyPrelude.html#maybeD" class="link">Source</a> <a href="#v:maybeD" class="selflink">#</a></p><div class="doc"><p>A <code>maybe</code> flavor using the <code>Default</code> class.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
Main.html
Normal file
4
Main.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Main</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_Main.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Main.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Main</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:main" class="def">main</a> :: IO () <a href="src/Main.html#main" class="link">Source</a> <a href="#v:main" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
Paths_hsfm.html
Normal file
4
Paths_hsfm.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Paths_hsfm</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_Paths_hsfm.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Paths_hsfm.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Paths_hsfm</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:version" class="def">version</a> :: Version <a href="src/Paths_hsfm.html#version" class="link">Source</a> <a href="#v:version" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getBinDir" class="def">getBinDir</a> :: IO FilePath <a href="src/Paths_hsfm.html#getBinDir" class="link">Source</a> <a href="#v:getBinDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getLibDir" class="def">getLibDir</a> :: IO FilePath <a href="src/Paths_hsfm.html#getLibDir" class="link">Source</a> <a href="#v:getLibDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getDataDir" class="def">getDataDir</a> :: IO FilePath <a href="src/Paths_hsfm.html#getDataDir" class="link">Source</a> <a href="#v:getDataDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getLibexecDir" class="def">getLibexecDir</a> :: IO FilePath <a href="src/Paths_hsfm.html#getLibexecDir" class="link">Source</a> <a href="#v:getLibexecDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getDataFileName" class="def">getDataFileName</a> :: FilePath -> IO FilePath <a href="src/Paths_hsfm.html#getDataFileName" class="link">Source</a> <a href="#v:getDataFileName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getSysconfDir" class="def">getSysconfDir</a> :: IO FilePath <a href="src/Paths_hsfm.html#getSysconfDir" class="link">Source</a> <a href="#v:getSysconfDir" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-95.html
Normal file
4
doc-index-95.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - _)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - _</p><table><tr><td class="src">_doFileOperation</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks-Utils.html#v:_doFileOperation">HSFM.GUI.Gtk.Callbacks.Utils</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-A.html
Normal file
4
doc-index-A.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - A)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - A</p><table><tr><td class="src">accessTime</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:accessTime">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">accessTimeHiRes</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:accessTimeHiRes">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">addHistory</td><td class="module"><a href="HSFM-GUI-Gtk-Utils.html#v:addHistory">HSFM.GUI.Gtk.Utils</a></td></tr><tr><td class="src">anyFailed</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:anyFailed">HSFM.FileSystem.FileType</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-All.html
Normal file
4
doc-index-All.html
Normal file
File diff suppressed because one or more lines are too long
4
doc-index-B.html
Normal file
4
doc-index-B.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - B)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - B</p><table><tr><td class="src">BlockDev</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:BlockDev">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">BrokenSymlink</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:BrokenSymlink">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">brokenSymlink</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:brokenSymlink">HSFM.FileSystem.FileType</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-C.html
Normal file
4
doc-index-C.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - C)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - C</p><table><tr><td class="src">CharDev</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:CharDev">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">clearStatusBar</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:clearStatusBar">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">closeTab</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:closeTab">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">comparingConstr</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:comparingConstr">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">constructView</td><td class="module"><a href="HSFM-GUI-Gtk-MyView.html#v:constructView">HSFM.GUI.Gtk.MyView</a></td></tr><tr><td class="src">Copy</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HSFM-FileSystem-UtilTypes.html#t:Copy">HSFM.FileSystem.UtilTypes</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HSFM-FileSystem-UtilTypes.html#v:Copy">HSFM.FileSystem.UtilTypes</a></td></tr><tr><td class="src">copyInit</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:copyInit">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">createIconView</td><td class="module"><a href="HSFM-GUI-Gtk-MyView.html#v:createIconView">HSFM.GUI.Gtk.MyView</a></td></tr><tr><td class="src">createMyGUI</td><td class="module"><a href="HSFM-GUI-Gtk-MyGUI.html#v:createMyGUI">HSFM.GUI.Gtk.MyGUI</a></td></tr><tr><td class="src">createMyView</td><td class="module"><a href="HSFM-GUI-Gtk-MyView.html#v:createMyView">HSFM.GUI.Gtk.MyView</a></td></tr><tr><td class="src">createTreeView</td><td class="module"><a href="HSFM-GUI-Gtk-MyView.html#v:createTreeView">HSFM.GUI.Gtk.MyView</a></td></tr><tr><td class="src">cwd</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:cwd">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">c_strlen</td><td class="module"><a href="HSFM-GUI-Glib-GlibString.html#v:c_strlen">HSFM.GUI.Glib.GlibString</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-D.html
Normal file
4
doc-index-D.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - D)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - D</p><table><tr><td class="src">del</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:del">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">destroyView</td><td class="module"><a href="HSFM-GUI-Gtk-MyView.html#v:destroyView">HSFM.GUI.Gtk.MyView</a></td></tr><tr><td class="src">deviceID</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:deviceID">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">Dir</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:Dir">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">DirList</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:DirList">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">DirOrSym</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:DirOrSym">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">DirSym</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:DirSym">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">dirSym</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:dirSym">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">doFileOperation</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks-Utils.html#v:doFileOperation">HSFM.GUI.Gtk.Callbacks.Utils</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-E.html
Normal file
4
doc-index-E.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - E)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - E</p><table><tr><td class="src">epochToString</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:epochToString">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">err</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:err">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">execute</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:execute">HSFM.GUI.Gtk.Callbacks</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-F.html
Normal file
4
doc-index-F.html
Normal file
File diff suppressed because one or more lines are too long
4
doc-index-G.html
Normal file
4
doc-index-G.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - G)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - G</p><table><tr><td class="src">getBinDir</td><td class="module"><a href="Paths_hsfm.html#v:getBinDir">Paths_hsfm</a></td></tr><tr><td class="src">getContents</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:getContents">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">getCurrentDir</td><td class="module"><a href="HSFM-GUI-Gtk-Utils.html#v:getCurrentDir">HSFM.GUI.Gtk.Utils</a></td></tr><tr><td class="src">getDataDir</td><td class="module"><a href="Paths_hsfm.html#v:getDataDir">Paths_hsfm</a></td></tr><tr><td class="src">getDataFileName</td><td class="module"><a href="Paths_hsfm.html#v:getDataFileName">Paths_hsfm</a></td></tr><tr><td class="src">getFileInfo</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:getFileInfo">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">getFirstItem</td><td class="module"><a href="HSFM-GUI-Gtk-Utils.html#v:getFirstItem">HSFM.GUI.Gtk.Utils</a></td></tr><tr><td class="src">getFPasStr</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:getFPasStr">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">getFreeVar</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:getFreeVar">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">getIcon</td><td class="module"><a href="HSFM-GUI-Gtk-Icons.html#v:getIcon">HSFM.GUI.Gtk.Icons</a></td></tr><tr><td class="src">getLibDir</td><td class="module"><a href="Paths_hsfm.html#v:getLibDir">Paths_hsfm</a></td></tr><tr><td class="src">getLibexecDir</td><td class="module"><a href="Paths_hsfm.html#v:getLibexecDir">Paths_hsfm</a></td></tr><tr><td class="src">getSelectedItems</td><td class="module"><a href="HSFM-GUI-Gtk-Utils.html#v:getSelectedItems">HSFM.GUI.Gtk.Utils</a></td></tr><tr><td class="src">getSelectedTreePaths</td><td class="module"><a href="HSFM-GUI-Gtk-Utils.html#v:getSelectedTreePaths">HSFM.GUI.Gtk.Utils</a></td></tr><tr><td class="src">getSymlinkIcon</td><td class="module"><a href="HSFM-GUI-Gtk-Icons.html#v:getSymlinkIcon">HSFM.GUI.Gtk.Icons</a></td></tr><tr><td class="src">getSysconfDir</td><td class="module"><a href="Paths_hsfm.html#v:getSysconfDir">Paths_hsfm</a></td></tr><tr><td class="src">goDir</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks-Utils.html#v:goDir">HSFM.GUI.Gtk.Callbacks.Utils</a></td></tr><tr><td class="src">goHistoryNext</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHistoryNext">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">goHistoryPrev</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHistoryPrev">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">goHome</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHome">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">goUp</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:goUp">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">goUp'</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:goUp-39-">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">GtkException</td><td class="module"><a href="HSFM-GUI-Gtk-Errors.html#t:GtkException">HSFM.GUI.Gtk.Errors</a></td></tr><tr><td class="src">GtkIcon</td><td class="module"><a href="HSFM-GUI-Gtk-Icons.html#t:GtkIcon">HSFM.GUI.Gtk.Icons</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-H.html
Normal file
4
doc-index-H.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - H)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - H</p><table><tr><td class="src">handleDT</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:handleDT">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">history</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:history">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">homeViewB</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:homeViewB">HSFM.GUI.Gtk.Data</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-I.html
Normal file
4
doc-index-I.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - I)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - I</p><table><tr><td class="src">iconSize</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:iconSize">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">IError</td><td class="module"><a href="HSFM-GUI-Gtk-Icons.html#v:IError">HSFM.GUI.Gtk.Icons</a></td></tr><tr><td class="src">IFile</td><td class="module"><a href="HSFM-GUI-Gtk-Icons.html#v:IFile">HSFM.GUI.Gtk.Icons</a></td></tr><tr><td class="src">IFolder</td><td class="module"><a href="HSFM-GUI-Gtk-Icons.html#v:IFolder">HSFM.GUI.Gtk.Icons</a></td></tr><tr><td class="src">inotify</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:inotify">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">isBlockC</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:isBlockC">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">isBrokenSymlink</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:isBrokenSymlink">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">isCharC</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:isCharC">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">isDirC</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:isDirC">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">isFileC</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:isFileC">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">isLazy</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:isLazy">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">isNamedC</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:isNamedC">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">isSocketC</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:isSocketC">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">isSymC</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:isSymC">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">Item</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#t:Item">HSFM.GUI.Gtk.Data</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-L.html
Normal file
4
doc-index-L.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - L)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - L</p><table><tr><td class="src">linkCount</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:linkCount">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">listIndices</td><td class="module"><a href="HSFM-Utils-MyPrelude.html#v:listIndices">HSFM.Utils.MyPrelude</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-M.html
Normal file
4
doc-index-M.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - M)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - M</p><table><tr><td class="src">main</td><td class="module"><a href="Main.html#v:main">Main</a></td></tr><tr><td class="src">maybeD</td><td class="module"><a href="HSFM-Utils-MyPrelude.html#v:maybeD">HSFM.Utils.MyPrelude</a></td></tr><tr><td class="src">MenuBar</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#t:MenuBar">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">menubar</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:menubar">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">menubarFileQuit</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:menubarFileQuit">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">menubarHelpAbout</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:menubarHelpAbout">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">MkFilePropertyGrid</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:MkFilePropertyGrid">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">MkFMSettings</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:MkFMSettings">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">MkMenuBar</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:MkMenuBar">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">MkMyGUI</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:MkMyGUI">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">MkMyView</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:MkMyView">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">MkRightClickMenu</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:MkRightClickMenu">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">modificationTime</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:modificationTime">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">modificationTimeHiRes</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:modificationTimeHiRes">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">modifyTVarIO</td><td class="module"><a href="HSFM-Utils-IO.html#v:modifyTVarIO">HSFM.Utils.IO</a></td></tr><tr><td class="src">Move</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HSFM-FileSystem-UtilTypes.html#t:Move">HSFM.FileSystem.UtilTypes</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HSFM-FileSystem-UtilTypes.html#v:Move">HSFM.FileSystem.UtilTypes</a></td></tr><tr><td class="src">moveInit</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:moveInit">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">MyGUI</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">MyView</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#t:MyView">HSFM.GUI.Gtk.Data</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-N.html
Normal file
4
doc-index-N.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - N)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - N</p><table><tr><td class="src">NamedPipe</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:NamedPipe">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">newDir</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newDir">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">newFile</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newFile">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">newTab</td><td class="module"><a href="HSFM-GUI-Gtk-MyView.html#v:newTab">HSFM.GUI.Gtk.MyView</a></td></tr><tr><td class="src">newTabHere</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newTabHere">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">None</td><td class="module"><a href="HSFM-FileSystem-UtilTypes.html#v:None">HSFM.FileSystem.UtilTypes</a></td></tr><tr><td class="src">noNullPtrs</td><td class="module"><a href="HSFM-GUI-Glib-GlibString.html#v:noNullPtrs">HSFM.GUI.Glib.GlibString</a></td></tr><tr><td class="src">notebook</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:notebook">HSFM.GUI.Gtk.Data</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-O.html
Normal file
4
doc-index-O.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - O)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - O</p><table><tr><td class="src">open</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:open">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">openTerminalHere</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:openTerminalHere">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">operationBuffer</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:operationBuffer">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">operationFinal</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:operationFinal">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">Overwrite</td><td class="module"><a href="HSFM-FileSystem-UtilTypes.html#v:Overwrite">HSFM.FileSystem.UtilTypes</a></td></tr><tr><td class="src">OverwriteAll</td><td class="module"><a href="HSFM-FileSystem-UtilTypes.html#v:OverwriteAll">HSFM.FileSystem.UtilTypes</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-P.html
Normal file
4
doc-index-P.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - P)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - P</p><table><tr><td class="src">packAccessTime</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:packAccessTime">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">packFileType</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:packFileType">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">packLinkDestination</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:packLinkDestination">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">packModTime</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:packModTime">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">packPermissions</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:packPermissions">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">PartialCopy</td><td class="module"><a href="HSFM-FileSystem-UtilTypes.html#v:PartialCopy">HSFM.FileSystem.UtilTypes</a></td></tr><tr><td class="src">PartialMove</td><td class="module"><a href="HSFM-FileSystem-UtilTypes.html#v:PartialMove">HSFM.FileSystem.UtilTypes</a></td></tr><tr><td class="src">path</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:path">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">popStatusbar</td><td class="module"><a href="HSFM-GUI-Gtk-Utils.html#v:popStatusbar">HSFM.GUI.Gtk.Utils</a></td></tr><tr><td class="src">pushStatusBar</td><td class="module"><a href="HSFM-GUI-Gtk-Utils.html#v:pushStatusBar">HSFM.GUI.Gtk.Utils</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-R.html
Normal file
4
doc-index-R.html
Normal file
File diff suppressed because one or more lines are too long
4
doc-index-S.html
Normal file
4
doc-index-S.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - S)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - S</p><table><tr><td class="src">scroll</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:scroll">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">sdest</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:sdest">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">sdir</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:sdir">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">setGUICallbacks</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:setGUICallbacks">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">settings</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:settings">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">setViewCallbacks</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:setViewCallbacks">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">sfileLike</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:sfileLike">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">showAboutDialog</td><td class="module"><a href="HSFM-GUI-Gtk-Dialogs.html#v:showAboutDialog">HSFM.GUI.Gtk.Dialogs</a></td></tr><tr><td class="src">showConfirmationDialog</td><td class="module"><a href="HSFM-GUI-Gtk-Dialogs.html#v:showConfirmationDialog">HSFM.GUI.Gtk.Dialogs</a></td></tr><tr><td class="src">showErrorDialog</td><td class="module"><a href="HSFM-GUI-Gtk-Dialogs.html#v:showErrorDialog">HSFM.GUI.Gtk.Dialogs</a></td></tr><tr><td class="src">showFilePropertyDialog</td><td class="module"><a href="HSFM-GUI-Gtk-Dialogs.html#v:showFilePropertyDialog">HSFM.GUI.Gtk.Dialogs</a></td></tr><tr><td class="src">showHidden</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:showHidden">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">Skip</td><td class="module"><a href="HSFM-FileSystem-UtilTypes.html#v:Skip">HSFM.FileSystem.UtilTypes</a></td></tr><tr><td class="src">Socket</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:Socket">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">sortedModel</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:sortedModel">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">specialDeviceID</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:specialDeviceID">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">statusBar</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:statusBar">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">statusChangeTime</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:statusChangeTime">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">statusChangeTimeHiRes</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:statusChangeTimeHiRes">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">Strict</td><td class="module"><a href="HSFM-FileSystem-UtilTypes.html#v:Strict">HSFM.FileSystem.UtilTypes</a></td></tr><tr><td class="src">successful</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:successful">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">switchView</td><td class="module"><a href="HSFM-GUI-Gtk-MyView.html#v:switchView">HSFM.GUI.Gtk.MyView</a></td></tr><tr><td class="src">SymL</td><td class="module"><a href="HSFM-GUI-Gtk-Icons.html#v:SymL">HSFM.GUI.Gtk.Icons</a></td></tr><tr><td class="src">SymLink</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:SymLink">HSFM.FileSystem.FileType</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-T.html
Normal file
4
doc-index-T.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - T)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - T</p><table><tr><td class="src">textInputDialog</td><td class="module"><a href="HSFM-GUI-Gtk-Dialogs.html#v:textInputDialog">HSFM.GUI.Gtk.Dialogs</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-U.html
Normal file
4
doc-index-U.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - U)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - U</p><table><tr><td class="src">UnknownDialogButton</td><td class="module"><a href="HSFM-GUI-Gtk-Errors.html#v:UnknownDialogButton">HSFM.GUI.Gtk.Errors</a></td></tr><tr><td class="src">upDir</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:upDir">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">upViewB</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:upViewB">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">urlBar</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:urlBar">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">urlGoTo</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:urlGoTo">HSFM.GUI.Gtk.Callbacks</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-V.html
Normal file
4
doc-index-V.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - V)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - V</p><table><tr><td class="src">version</td><td class="module"><a href="Paths_hsfm.html#v:version">Paths_hsfm</a></td></tr><tr><td class="src">view</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:view">HSFM.GUI.Gtk.Data</a></td></tr><tr><td class="src">viewBox</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:viewBox">HSFM.GUI.Gtk.Data</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index-W.html
Normal file
4
doc-index-W.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - W)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - W</p><table><tr><td class="src">withConfirmationDialog</td><td class="module"><a href="HSFM-GUI-Gtk-Dialogs.html#v:withConfirmationDialog">HSFM.GUI.Gtk.Dialogs</a></td></tr><tr><td class="src">withErrorDialog</td><td class="module"><a href="HSFM-GUI-Gtk-Dialogs.html#v:withErrorDialog">HSFM.GUI.Gtk.Dialogs</a></td></tr><tr><td class="src">withItems</td><td class="module"><a href="HSFM-GUI-Gtk-Utils.html#v:withItems">HSFM.GUI.Gtk.Utils</a></td></tr><tr><td class="src">writeTVarIO</td><td class="module"><a href="HSFM-Utils-IO.html#v:writeTVarIO">HSFM.Utils.IO</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
doc-index.html
Normal file
4
doc-index.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
30
frames.html
Normal file
30
frames.html
Normal file
@ -0,0 +1,30 @@
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title></title>
|
||||
<script src="haddock-util.js" type="text/javascript"></script>
|
||||
<script type="text/javascript"><!--
|
||||
/*
|
||||
|
||||
The synopsis frame needs to be updated using javascript, so we hide
|
||||
it by default and only show it if javascript is enabled.
|
||||
|
||||
TODO: provide some means to disable it.
|
||||
*/
|
||||
function load() {
|
||||
var d = document.getElementById("inner-fs");
|
||||
d.rows = "50%,50%";
|
||||
postReframe();
|
||||
}
|
||||
--></script>
|
||||
</head>
|
||||
<frameset id="outer-fs" cols="25%,75%" onload="load()">
|
||||
<frameset id="inner-fs" rows="100%,0%">
|
||||
<frame src="index-frames.html" name="modules" />
|
||||
<frame src="" name="synopsis" />
|
||||
</frameset>
|
||||
<frame src="index.html" name="main" />
|
||||
</frameset>
|
||||
</html>
|
344
haddock-util.js
Normal file
344
haddock-util.js
Normal file
@ -0,0 +1,344 @@
|
||||
// Haddock JavaScript utilities
|
||||
|
||||
var rspace = /\s\s+/g,
|
||||
rtrim = /^\s+|\s+$/g;
|
||||
|
||||
function spaced(s) { return (" " + s + " ").replace(rspace, " "); }
|
||||
function trim(s) { return s.replace(rtrim, ""); }
|
||||
|
||||
function hasClass(elem, value) {
|
||||
var className = spaced(elem.className || "");
|
||||
return className.indexOf( " " + value + " " ) >= 0;
|
||||
}
|
||||
|
||||
function addClass(elem, value) {
|
||||
var className = spaced(elem.className || "");
|
||||
if ( className.indexOf( " " + value + " " ) < 0 ) {
|
||||
elem.className = trim(className + " " + value);
|
||||
}
|
||||
}
|
||||
|
||||
function removeClass(elem, value) {
|
||||
var className = spaced(elem.className || "");
|
||||
className = className.replace(" " + value + " ", " ");
|
||||
elem.className = trim(className);
|
||||
}
|
||||
|
||||
function toggleClass(elem, valueOn, valueOff, bool) {
|
||||
if (bool == null) { bool = ! hasClass(elem, valueOn); }
|
||||
if (bool) {
|
||||
removeClass(elem, valueOff);
|
||||
addClass(elem, valueOn);
|
||||
}
|
||||
else {
|
||||
removeClass(elem, valueOn);
|
||||
addClass(elem, valueOff);
|
||||
}
|
||||
return bool;
|
||||
}
|
||||
|
||||
|
||||
function makeClassToggle(valueOn, valueOff)
|
||||
{
|
||||
return function(elem, bool) {
|
||||
return toggleClass(elem, valueOn, valueOff, bool);
|
||||
}
|
||||
}
|
||||
|
||||
toggleShow = makeClassToggle("show", "hide");
|
||||
toggleCollapser = makeClassToggle("collapser", "expander");
|
||||
|
||||
function toggleSection(id)
|
||||
{
|
||||
var b = toggleShow(document.getElementById("section." + id));
|
||||
toggleCollapser(document.getElementById("control." + id), b);
|
||||
rememberCollapsed(id, b);
|
||||
return b;
|
||||
}
|
||||
|
||||
var collapsed = {};
|
||||
function rememberCollapsed(id, b)
|
||||
{
|
||||
if(b)
|
||||
delete collapsed[id]
|
||||
else
|
||||
collapsed[id] = null;
|
||||
|
||||
var sections = [];
|
||||
for(var i in collapsed)
|
||||
{
|
||||
if(collapsed.hasOwnProperty(i))
|
||||
sections.push(i);
|
||||
}
|
||||
// cookie specific to this page; don't use setCookie which sets path=/
|
||||
document.cookie = "collapsed=" + escape(sections.join('+'));
|
||||
}
|
||||
|
||||
function restoreCollapsed()
|
||||
{
|
||||
var cookie = getCookie("collapsed");
|
||||
if(!cookie)
|
||||
return;
|
||||
|
||||
var ids = cookie.split('+');
|
||||
for(var i in ids)
|
||||
{
|
||||
if(document.getElementById("section." + ids[i]))
|
||||
toggleSection(ids[i]);
|
||||
}
|
||||
}
|
||||
|
||||
function setCookie(name, value) {
|
||||
document.cookie = name + "=" + escape(value) + ";path=/;";
|
||||
}
|
||||
|
||||
function clearCookie(name) {
|
||||
document.cookie = name + "=;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT;";
|
||||
}
|
||||
|
||||
function getCookie(name) {
|
||||
var nameEQ = name + "=";
|
||||
var ca = document.cookie.split(';');
|
||||
for(var i=0;i < ca.length;i++) {
|
||||
var c = ca[i];
|
||||
while (c.charAt(0)==' ') c = c.substring(1,c.length);
|
||||
if (c.indexOf(nameEQ) == 0) {
|
||||
return unescape(c.substring(nameEQ.length,c.length));
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
var max_results = 75; // 50 is not enough to search for map in the base libraries
|
||||
var shown_range = null;
|
||||
var last_search = null;
|
||||
|
||||
function quick_search()
|
||||
{
|
||||
perform_search(false);
|
||||
}
|
||||
|
||||
function full_search()
|
||||
{
|
||||
perform_search(true);
|
||||
}
|
||||
|
||||
|
||||
function perform_search(full)
|
||||
{
|
||||
var text = document.getElementById("searchbox").value.toLowerCase();
|
||||
if (text == last_search && !full) return;
|
||||
last_search = text;
|
||||
|
||||
var table = document.getElementById("indexlist");
|
||||
var status = document.getElementById("searchmsg");
|
||||
var children = table.firstChild.childNodes;
|
||||
|
||||
// first figure out the first node with the prefix
|
||||
var first = bisect(-1);
|
||||
var last = (first == -1 ? -1 : bisect(1));
|
||||
|
||||
if (first == -1)
|
||||
{
|
||||
table.className = "";
|
||||
status.innerHTML = "No results found, displaying all";
|
||||
}
|
||||
else if (first == 0 && last == children.length - 1)
|
||||
{
|
||||
table.className = "";
|
||||
status.innerHTML = "";
|
||||
}
|
||||
else if (last - first >= max_results && !full)
|
||||
{
|
||||
table.className = "";
|
||||
status.innerHTML = "More than " + max_results + ", press Search to display";
|
||||
}
|
||||
else
|
||||
{
|
||||
// decide what you need to clear/show
|
||||
if (shown_range)
|
||||
setclass(shown_range[0], shown_range[1], "indexrow");
|
||||
setclass(first, last, "indexshow");
|
||||
shown_range = [first, last];
|
||||
table.className = "indexsearch";
|
||||
status.innerHTML = "";
|
||||
}
|
||||
|
||||
|
||||
function setclass(first, last, status)
|
||||
{
|
||||
for (var i = first; i <= last; i++)
|
||||
{
|
||||
children[i].className = status;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// do a binary search, treating 0 as ...
|
||||
// return either -1 (no 0's found) or location of most far match
|
||||
function bisect(dir)
|
||||
{
|
||||
var first = 0, finish = children.length - 1;
|
||||
var mid, success = false;
|
||||
|
||||
while (finish - first > 3)
|
||||
{
|
||||
mid = Math.floor((finish + first) / 2);
|
||||
|
||||
var i = checkitem(mid);
|
||||
if (i == 0) i = dir;
|
||||
if (i == -1)
|
||||
finish = mid;
|
||||
else
|
||||
first = mid;
|
||||
}
|
||||
var a = (dir == 1 ? first : finish);
|
||||
var b = (dir == 1 ? finish : first);
|
||||
for (var i = b; i != a - dir; i -= dir)
|
||||
{
|
||||
if (checkitem(i) == 0) return i;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
// from an index, decide what the result is
|
||||
// 0 = match, -1 is lower, 1 is higher
|
||||
function checkitem(i)
|
||||
{
|
||||
var s = getitem(i).toLowerCase().substr(0, text.length);
|
||||
if (s == text) return 0;
|
||||
else return (s > text ? -1 : 1);
|
||||
}
|
||||
|
||||
|
||||
// from an index, get its string
|
||||
// this abstracts over alternates
|
||||
function getitem(i)
|
||||
{
|
||||
for ( ; i >= 0; i--)
|
||||
{
|
||||
var s = children[i].firstChild.firstChild.data;
|
||||
if (s.indexOf(' ') == -1)
|
||||
return s;
|
||||
}
|
||||
return ""; // should never be reached
|
||||
}
|
||||
}
|
||||
|
||||
function setSynopsis(filename) {
|
||||
if (parent.window.synopsis && parent.window.synopsis.location) {
|
||||
if (parent.window.synopsis.location.replace) {
|
||||
// In Firefox this avoids adding the change to the history.
|
||||
parent.window.synopsis.location.replace(filename);
|
||||
} else {
|
||||
parent.window.synopsis.location = filename;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function addMenuItem(html) {
|
||||
var menu = document.getElementById("page-menu");
|
||||
if (menu) {
|
||||
var btn = menu.firstChild.cloneNode(false);
|
||||
btn.innerHTML = html;
|
||||
menu.appendChild(btn);
|
||||
}
|
||||
}
|
||||
|
||||
function adjustForFrames() {
|
||||
var bodyCls;
|
||||
|
||||
if (parent.location.href == window.location.href) {
|
||||
// not in frames, so add Frames button
|
||||
addMenuItem("<a href='#' onclick='reframe();return true;'>Frames</a>");
|
||||
bodyCls = "no-frame";
|
||||
}
|
||||
else {
|
||||
bodyCls = "in-frame";
|
||||
}
|
||||
addClass(document.body, bodyCls);
|
||||
}
|
||||
|
||||
function reframe() {
|
||||
setCookie("haddock-reframe", document.URL);
|
||||
window.location = "frames.html";
|
||||
}
|
||||
|
||||
function postReframe() {
|
||||
var s = getCookie("haddock-reframe");
|
||||
if (s) {
|
||||
parent.window.main.location = s;
|
||||
clearCookie("haddock-reframe");
|
||||
}
|
||||
}
|
||||
|
||||
function styles() {
|
||||
var i, a, es = document.getElementsByTagName("link"), rs = [];
|
||||
for (i = 0; a = es[i]; i++) {
|
||||
if(a.rel.indexOf("style") != -1 && a.title) {
|
||||
rs.push(a);
|
||||
}
|
||||
}
|
||||
return rs;
|
||||
}
|
||||
|
||||
function addStyleMenu() {
|
||||
var as = styles();
|
||||
var i, a, btns = "";
|
||||
for(i=0; a = as[i]; i++) {
|
||||
btns += "<li><a href='#' onclick=\"setActiveStyleSheet('"
|
||||
+ a.title + "'); return false;\">"
|
||||
+ a.title + "</a></li>"
|
||||
}
|
||||
if (as.length > 1) {
|
||||
var h = "<div id='style-menu-holder'>"
|
||||
+ "<a href='#' onclick='styleMenu(); return false;'>Style ▾</a>"
|
||||
+ "<ul id='style-menu' class='hide'>" + btns + "</ul>"
|
||||
+ "</div>";
|
||||
addMenuItem(h);
|
||||
}
|
||||
}
|
||||
|
||||
function setActiveStyleSheet(title) {
|
||||
var as = styles();
|
||||
var i, a, found;
|
||||
for(i=0; a = as[i]; i++) {
|
||||
a.disabled = true;
|
||||
// need to do this always, some browsers are edge triggered
|
||||
if(a.title == title) {
|
||||
found = a;
|
||||
}
|
||||
}
|
||||
if (found) {
|
||||
found.disabled = false;
|
||||
setCookie("haddock-style", title);
|
||||
}
|
||||
else {
|
||||
as[0].disabled = false;
|
||||
clearCookie("haddock-style");
|
||||
}
|
||||
styleMenu(false);
|
||||
}
|
||||
|
||||
function resetStyle() {
|
||||
var s = getCookie("haddock-style");
|
||||
if (s) setActiveStyleSheet(s);
|
||||
}
|
||||
|
||||
|
||||
function styleMenu(show) {
|
||||
var m = document.getElementById('style-menu');
|
||||
if (m) toggleShow(m, show);
|
||||
}
|
||||
|
||||
|
||||
function pageLoad() {
|
||||
addStyleMenu();
|
||||
adjustForFrames();
|
||||
resetStyle();
|
||||
restoreCollapsed();
|
||||
}
|
||||
|
BIN
hsfm.haddock
Normal file
BIN
hsfm.haddock
Normal file
Binary file not shown.
BIN
hslogo-16.png
Normal file
BIN
hslogo-16.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
4
index-frames.html
Normal file
4
index-frames.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-list"><p class="caption">Modules</p><ul><li class="module"><a href="HSFM-FileSystem-FileType.html" target="main">HSFM.FileSystem.FileType</a></li><li class="module"><a href="HSFM-FileSystem-UtilTypes.html" target="main">HSFM.FileSystem.UtilTypes</a></li><li class="module"><a href="HSFM-GUI-Glib-GlibString.html" target="main">HSFM.GUI.Glib.GlibString</a></li><li class="module"><a href="HSFM-GUI-Gtk-Callbacks.html" target="main">HSFM.GUI.Gtk.Callbacks</a></li><li class="module"><a href="HSFM-GUI-Gtk-Callbacks-Utils.html" target="main">HSFM.GUI.Gtk.Callbacks.Utils</a></li><li class="module"><a href="HSFM-GUI-Gtk-Data.html" target="main">HSFM.GUI.Gtk.Data</a></li><li class="module"><a href="HSFM-GUI-Gtk-Dialogs.html" target="main">HSFM.GUI.Gtk.Dialogs</a></li><li class="module"><a href="HSFM-GUI-Gtk-Errors.html" target="main">HSFM.GUI.Gtk.Errors</a></li><li class="module"><a href="HSFM-GUI-Gtk-Icons.html" target="main">HSFM.GUI.Gtk.Icons</a></li><li class="module"><a href="HSFM-GUI-Gtk-MyGUI.html" target="main">HSFM.GUI.Gtk.MyGUI</a></li><li class="module"><a href="HSFM-GUI-Gtk-MyView.html" target="main">HSFM.GUI.Gtk.MyView</a></li><li class="module"><a href="HSFM-GUI-Gtk-Utils.html" target="main">HSFM.GUI.Gtk.Utils</a></li><li class="module"><a href="HSFM-Utils-IO.html" target="main">HSFM.Utils.IO</a></li><li class="module"><a href="HSFM-Utils-MyPrelude.html" target="main">HSFM.Utils.MyPrelude</a></li><li class="module"><a href="Main.html" target="main">Main</a></li><li class="module"><a href="Paths_hsfm.html" target="main">Paths_hsfm</a></li></ul></div></body></html>
|
4
index.html
Normal file
4
index.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="description"><h1>hsfm-gtk</h1><div class="doc"><p>FileManager written in haskell</p></div></div><div id="module-list"><p class="caption">Modules</p><ul><li><span id="control.n.1" class="module collapser" onclick="toggleSection('n.1')">HSFM</span><ul id="section.n.1" class="show"><li><span id="control.n.1.1" class="module collapser" onclick="toggleSection('n.1.1')">FileSystem</span><ul id="section.n.1.1" class="show"><li><span class="module"><a href="HSFM-FileSystem-FileType.html">HSFM.FileSystem.FileType</a></span></li><li><span class="module"><a href="HSFM-FileSystem-UtilTypes.html">HSFM.FileSystem.UtilTypes</a></span></li></ul></li><li><span id="control.n.1.2" class="module collapser" onclick="toggleSection('n.1.2')">GUI</span><ul id="section.n.1.2" class="show"><li><span id="control.n.1.2.1" class="module collapser" onclick="toggleSection('n.1.2.1')">Glib</span><ul id="section.n.1.2.1" class="show"><li><span class="module"><a href="HSFM-GUI-Glib-GlibString.html">HSFM.GUI.Glib.GlibString</a></span></li></ul></li><li><span id="control.n.1.2.2" class="module collapser" onclick="toggleSection('n.1.2.2')">Gtk</span><ul id="section.n.1.2.2" class="show"><li><span class="module"><span id="control.n.1.2.2.1" class="collapser" onclick="toggleSection('n.1.2.2.1')"> </span><a href="HSFM-GUI-Gtk-Callbacks.html">HSFM.GUI.Gtk.Callbacks</a></span><ul id="section.n.1.2.2.1" class="show"><li><span class="module"><a href="HSFM-GUI-Gtk-Callbacks-Utils.html">HSFM.GUI.Gtk.Callbacks.Utils</a></span></li></ul></li><li><span class="module"><a href="HSFM-GUI-Gtk-Data.html">HSFM.GUI.Gtk.Data</a></span></li><li><span class="module"><a href="HSFM-GUI-Gtk-Dialogs.html">HSFM.GUI.Gtk.Dialogs</a></span></li><li><span class="module"><a href="HSFM-GUI-Gtk-Errors.html">HSFM.GUI.Gtk.Errors</a></span></li><li><span class="module"><a href="HSFM-GUI-Gtk-Icons.html">HSFM.GUI.Gtk.Icons</a></span></li><li><span class="module"><a href="HSFM-GUI-Gtk-MyGUI.html">HSFM.GUI.Gtk.MyGUI</a></span></li><li><span class="module"><a href="HSFM-GUI-Gtk-MyView.html">HSFM.GUI.Gtk.MyView</a></span></li><li><span class="module"><a href="HSFM-GUI-Gtk-Utils.html">HSFM.GUI.Gtk.Utils</a></span></li></ul></li></ul></li><li><span id="control.n.1.3" class="module collapser" onclick="toggleSection('n.1.3')">Utils</span><ul id="section.n.1.3" class="show"><li><span class="module"><a href="HSFM-Utils-IO.html">HSFM.Utils.IO</a></span></li><li><span class="module"><a href="HSFM-Utils-MyPrelude.html">HSFM.Utils.MyPrelude</a></span></li></ul></li></ul></li><li><span class="module"><a href="Main.html">Main</a></span></li><li><span class="module"><a href="Paths_hsfm.html">Paths_hsfm</a></span></li></ul></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|
4
mini_HSFM-FileSystem-FileType.html
Normal file
4
mini_HSFM-FileSystem-FileType.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.FileSystem.FileType</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.FileSystem.FileType</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-FileSystem-FileType.html#t:File" target="main">File</a> a</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-FileSystem-FileType.html#t:FileInfo" target="main">FileInfo</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:sfileLike" target="main">sfileLike</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:fileLike" target="main">fileLike</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:sdir" target="main">sdir</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:brokenSymlink" target="main">brokenSymlink</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:fileLikeSym" target="main">fileLikeSym</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:dirSym" target="main">dirSym</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:readFile" target="main">readFile</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:readDirectoryContents" target="main">readDirectoryContents</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:getContents" target="main">getContents</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:goUp" target="main">goUp</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:goUp-39-" target="main">goUp'</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:anyFailed" target="main">anyFailed</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:successful" target="main">successful</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:failed" target="main">failed</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:failures" target="main">failures</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:comparingConstr" target="main">comparingConstr</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:isFileC" target="main">isFileC</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:isDirC" target="main">isDirC</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:isSymC" target="main">isSymC</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:isBlockC" target="main">isBlockC</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:isCharC" target="main">isCharC</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:isNamedC" target="main">isNamedC</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:isSocketC" target="main">isSocketC</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:getFileInfo" target="main">getFileInfo</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:handleDT" target="main">handleDT</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:isBrokenSymlink" target="main">isBrokenSymlink</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:packModTime" target="main">packModTime</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:packAccessTime" target="main">packAccessTime</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:epochToString" target="main">epochToString</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:packPermissions" target="main">packPermissions</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:packFileType" target="main">packFileType</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:packLinkDestination" target="main">packLinkDestination</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:fromFreeVar" target="main">fromFreeVar</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:getFPasStr" target="main">getFPasStr</a></p></div><div class="top"><p class="src"><a href="HSFM-FileSystem-FileType.html#v:getFreeVar" target="main">getFreeVar</a></p></div></div></body></html>
|
4
mini_HSFM-FileSystem-UtilTypes.html
Normal file
4
mini_HSFM-FileSystem-UtilTypes.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.FileSystem.UtilTypes</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.FileSystem.UtilTypes</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-FileSystem-UtilTypes.html#t:FileOperation" target="main">FileOperation</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-FileSystem-UtilTypes.html#t:Copy" target="main">Copy</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-FileSystem-UtilTypes.html#t:Move" target="main">Move</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-FileSystem-UtilTypes.html#t:FCollisonMode" target="main">FCollisonMode</a></p></div></div></body></html>
|
4
mini_HSFM-GUI-Glib-GlibString.html
Normal file
4
mini_HSFM-GUI-Glib-GlibString.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Glib.GlibString</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Glib.GlibString</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-GUI-Glib-GlibString.html#v:noNullPtrs" target="main">noNullPtrs</a></p></div></div></body></html>
|
4
mini_HSFM-GUI-Gtk-Callbacks-Utils.html
Normal file
4
mini_HSFM-GUI-Gtk-Callbacks-Utils.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Callbacks.Utils</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.Callbacks.Utils</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks-Utils.html#v:doFileOperation" target="main">doFileOperation</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks-Utils.html#v:_doFileOperation" target="main">_doFileOperation</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks-Utils.html#v:goDir" target="main">goDir</a></p></div></div></body></html>
|
4
mini_HSFM-GUI-Gtk-Callbacks.html
Normal file
4
mini_HSFM-GUI-Gtk-Callbacks.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Callbacks</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.Callbacks</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:setGUICallbacks" target="main">setGUICallbacks</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:setViewCallbacks" target="main">setViewCallbacks</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:openTerminalHere" target="main">openTerminalHere</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:closeTab" target="main">closeTab</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newTabHere" target="main">newTabHere</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:del" target="main">del</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:moveInit" target="main">moveInit</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:copyInit" target="main">copyInit</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:operationFinal" target="main">operationFinal</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newFile" target="main">newFile</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newDir" target="main">newDir</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:renameF" target="main">renameF</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:urlGoTo" target="main">urlGoTo</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHome" target="main">goHome</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:execute" target="main">execute</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:open" target="main">open</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:upDir" target="main">upDir</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHistoryPrev" target="main">goHistoryPrev</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHistoryNext" target="main">goHistoryNext</a></p></div></div></body></html>
|
4
mini_HSFM-GUI-Gtk-Data.html
Normal file
4
mini_HSFM-GUI-Gtk-Data.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Data</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.Data</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI" target="main">MyGUI</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-GUI-Gtk-Data.html#t:MyView" target="main">MyView</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-GUI-Gtk-Data.html#t:MenuBar" target="main">MenuBar</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-GUI-Gtk-Data.html#t:RightClickMenu" target="main">RightClickMenu</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-GUI-Gtk-Data.html#t:FilePropertyGrid" target="main">FilePropertyGrid</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-GUI-Gtk-Data.html#t:FMSettings" target="main">FMSettings</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-GUI-Gtk-Data.html#t:FMView" target="main">FMView</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="HSFM-GUI-Gtk-Data.html#t:Item" target="main">Item</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Data.html#v:fmViewToContainer" target="main">fmViewToContainer</a></p></div></div></body></html>
|
4
mini_HSFM-GUI-Gtk-Dialogs.html
Normal file
4
mini_HSFM-GUI-Gtk-Dialogs.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Dialogs</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.Dialogs</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Dialogs.html#v:showErrorDialog" target="main">showErrorDialog</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Dialogs.html#v:showConfirmationDialog" target="main">showConfirmationDialog</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Dialogs.html#v:fileCollisionDialog" target="main">fileCollisionDialog</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Dialogs.html#v:renameDialog" target="main">renameDialog</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Dialogs.html#v:showAboutDialog" target="main">showAboutDialog</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Dialogs.html#v:withConfirmationDialog" target="main">withConfirmationDialog</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Dialogs.html#v:withErrorDialog" target="main">withErrorDialog</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Dialogs.html#v:textInputDialog" target="main">textInputDialog</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Dialogs.html#v:showFilePropertyDialog" target="main">showFilePropertyDialog</a></p></div></div></body></html>
|
4
mini_HSFM-GUI-Gtk-Errors.html
Normal file
4
mini_HSFM-GUI-Gtk-Errors.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Errors</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.Errors</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-GUI-Gtk-Errors.html#t:GtkException" target="main">GtkException</a></p></div></div></body></html>
|
4
mini_HSFM-GUI-Gtk-Icons.html
Normal file
4
mini_HSFM-GUI-Gtk-Icons.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Icons</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.Icons</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">data</span> <a href="HSFM-GUI-Gtk-Icons.html#t:GtkIcon" target="main">GtkIcon</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Icons.html#v:getIcon" target="main">getIcon</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Icons.html#v:getSymlinkIcon" target="main">getSymlinkIcon</a></p></div></div></body></html>
|
4
mini_HSFM-GUI-Gtk-MyGUI.html
Normal file
4
mini_HSFM-GUI-Gtk-MyGUI.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.MyGUI</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.MyGUI</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyGUI.html#v:createMyGUI" target="main">createMyGUI</a></p></div></div></body></html>
|
4
mini_HSFM-GUI-Gtk-MyView.html
Normal file
4
mini_HSFM-GUI-Gtk-MyView.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.MyView</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.MyView</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:newTab" target="main">newTab</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:createMyView" target="main">createMyView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:switchView" target="main">switchView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:destroyView" target="main">destroyView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:createIconView" target="main">createIconView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:createTreeView" target="main">createTreeView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:refreshView" target="main">refreshView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:refreshView-39-" target="main">refreshView'</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:constructView" target="main">constructView</a></p></div></div></body></html>
|
4
mini_HSFM-GUI-Gtk-Utils.html
Normal file
4
mini_HSFM-GUI-Gtk-Utils.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Utils</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.Utils</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Utils.html#v:getSelectedTreePaths" target="main">getSelectedTreePaths</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Utils.html#v:getSelectedItems" target="main">getSelectedItems</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Utils.html#v:withItems" target="main">withItems</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Utils.html#v:fileListStore" target="main">fileListStore</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Utils.html#v:getFirstItem" target="main">getFirstItem</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Utils.html#v:getCurrentDir" target="main">getCurrentDir</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Utils.html#v:pushStatusBar" target="main">pushStatusBar</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Utils.html#v:popStatusbar" target="main">popStatusbar</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Utils.html#v:rawPathToIter" target="main">rawPathToIter</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Utils.html#v:rawPathToItem" target="main">rawPathToItem</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Utils.html#v:addHistory" target="main">addHistory</a></p></div></div></body></html>
|
4
mini_HSFM-Utils-IO.html
Normal file
4
mini_HSFM-Utils-IO.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.Utils.IO</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.Utils.IO</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-Utils-IO.html#v:writeTVarIO" target="main">writeTVarIO</a></p></div><div class="top"><p class="src"><a href="HSFM-Utils-IO.html#v:modifyTVarIO" target="main">modifyTVarIO</a></p></div></div></body></html>
|
4
mini_HSFM-Utils-MyPrelude.html
Normal file
4
mini_HSFM-Utils-MyPrelude.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.Utils.MyPrelude</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.Utils.MyPrelude</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-Utils-MyPrelude.html#v:listIndices" target="main">listIndices</a></p></div><div class="top"><p class="src"><a href="HSFM-Utils-MyPrelude.html#v:maybeD" target="main">maybeD</a></p></div></div></body></html>
|
4
mini_Main.html
Normal file
4
mini_Main.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Main</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">Main</p></div><div id="interface"><div class="top"><p class="src"><a href="Main.html#v:main" target="main">main</a></p></div></div></body></html>
|
4
mini_Paths_hsfm.html
Normal file
4
mini_Paths_hsfm.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Paths_hsfm</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">Paths_hsfm</p></div><div id="interface"><div class="top"><p class="src"><a href="Paths_hsfm.html#v:version" target="main">version</a></p></div><div class="top"><p class="src"><a href="Paths_hsfm.html#v:getBinDir" target="main">getBinDir</a></p></div><div class="top"><p class="src"><a href="Paths_hsfm.html#v:getLibDir" target="main">getLibDir</a></p></div><div class="top"><p class="src"><a href="Paths_hsfm.html#v:getDataDir" target="main">getDataDir</a></p></div><div class="top"><p class="src"><a href="Paths_hsfm.html#v:getLibexecDir" target="main">getLibexecDir</a></p></div><div class="top"><p class="src"><a href="Paths_hsfm.html#v:getDataFileName" target="main">getDataFileName</a></p></div><div class="top"><p class="src"><a href="Paths_hsfm.html#v:getSysconfDir" target="main">getSysconfDir</a></p></div></div></body></html>
|
610
ocean.css
Normal file
610
ocean.css
Normal file
@ -0,0 +1,610 @@
|
||||
/* @group Fundamentals */
|
||||
|
||||
* { margin: 0; padding: 0 }
|
||||
|
||||
/* Is this portable? */
|
||||
html {
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
background: white;
|
||||
color: black;
|
||||
text-align: left;
|
||||
min-height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0.8em 0;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
margin: 0.8em 0 0.8em 2em;
|
||||
}
|
||||
|
||||
dl {
|
||||
margin: 0.8em 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
dd {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
a { text-decoration: none; }
|
||||
a[href]:link { color: rgb(196,69,29); }
|
||||
a[href]:visited { color: rgb(171,105,84); }
|
||||
a[href]:hover { text-decoration:underline; }
|
||||
|
||||
a[href].def:link, a[href].def:visited { color: black; }
|
||||
a[href].def:hover { color: rgb(78, 98, 114); }
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Fonts & Sizes */
|
||||
|
||||
/* Basic technique & IE workarounds from YUI 3
|
||||
For reasons, see:
|
||||
http://yui.yahooapis.com/3.1.1/build/cssfonts/fonts.css
|
||||
*/
|
||||
|
||||
body {
|
||||
font:13px/1.4 sans-serif;
|
||||
*font-size:small; /* for IE */
|
||||
*font:x-small; /* for IE in quirks mode */
|
||||
}
|
||||
|
||||
h1 { font-size: 146.5%; /* 19pt */ }
|
||||
h2 { font-size: 131%; /* 17pt */ }
|
||||
h3 { font-size: 116%; /* 15pt */ }
|
||||
h4 { font-size: 100%; /* 13pt */ }
|
||||
h5 { font-size: 100%; /* 13pt */ }
|
||||
|
||||
select, input, button, textarea {
|
||||
font:99% sans-serif;
|
||||
}
|
||||
|
||||
table {
|
||||
font-size:inherit;
|
||||
font:100%;
|
||||
}
|
||||
|
||||
pre, code, kbd, samp, tt, .src {
|
||||
font-family:monospace;
|
||||
*font-size:108%;
|
||||
line-height: 124%;
|
||||
}
|
||||
|
||||
.links, .link {
|
||||
font-size: 85%; /* 11pt */
|
||||
}
|
||||
|
||||
#module-header .caption {
|
||||
font-size: 182%; /* 24pt */
|
||||
}
|
||||
|
||||
.info {
|
||||
font-size: 85%; /* 11pt */
|
||||
}
|
||||
|
||||
#table-of-contents, #synopsis {
|
||||
/* font-size: 85%; /* 11pt */
|
||||
}
|
||||
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Common */
|
||||
|
||||
.caption, h1, h2, h3, h4, h5, h6 {
|
||||
font-weight: bold;
|
||||
color: rgb(78,98,114);
|
||||
margin: 0.8em 0 0.4em;
|
||||
}
|
||||
|
||||
* + h1, * + h2, * + h3, * + h4, * + h5, * + h6 {
|
||||
margin-top: 2em;
|
||||
}
|
||||
|
||||
h1 + h2, h2 + h3, h3 + h4, h4 + h5, h5 + h6 {
|
||||
margin-top: inherit;
|
||||
}
|
||||
|
||||
ul.links {
|
||||
list-style: none;
|
||||
text-align: left;
|
||||
float: right;
|
||||
display: inline-table;
|
||||
margin: 0 0 0 1em;
|
||||
}
|
||||
|
||||
ul.links li {
|
||||
display: inline;
|
||||
border-left: 1px solid #d5d5d5;
|
||||
white-space: nowrap;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul.links li a {
|
||||
padding: 0.2em 0.5em;
|
||||
}
|
||||
|
||||
.hide { display: none; }
|
||||
.show { display: inherit; }
|
||||
.clear { clear: both; }
|
||||
|
||||
.collapser {
|
||||
background-image: url(minus.gif);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.expander {
|
||||
background-image: url(plus.gif);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.collapser, .expander {
|
||||
padding-left: 14px;
|
||||
margin-left: -14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
p.caption.collapser,
|
||||
p.caption.expander {
|
||||
background-position: 0 0.4em;
|
||||
}
|
||||
|
||||
.instance.collapser, .instance.expander {
|
||||
margin-left: 0px;
|
||||
background-position: left center;
|
||||
min-width: 9px;
|
||||
min-height: 9px;
|
||||
}
|
||||
|
||||
|
||||
pre {
|
||||
padding: 0.25em;
|
||||
margin: 0.8em 0;
|
||||
background: rgb(229,237,244);
|
||||
overflow: auto;
|
||||
border-bottom: 0.25em solid white;
|
||||
/* white border adds some space below the box to compensate
|
||||
for visual extra space that paragraphs have between baseline
|
||||
and the bounding box */
|
||||
}
|
||||
|
||||
.src {
|
||||
background: #f0f0f0;
|
||||
padding: 0.2em 0.5em;
|
||||
}
|
||||
|
||||
.keyword { font-weight: normal; }
|
||||
.def { font-weight: bold; }
|
||||
|
||||
@media print {
|
||||
#footer { display: none; }
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Page Structure */
|
||||
|
||||
#content {
|
||||
margin: 0 auto;
|
||||
padding: 0 2em 6em;
|
||||
}
|
||||
|
||||
#package-header {
|
||||
background: rgb(41,56,69);
|
||||
border-top: 5px solid rgb(78,98,114);
|
||||
color: #ddd;
|
||||
padding: 0.2em;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#package-header .caption {
|
||||
background: url(hslogo-16.png) no-repeat 0em;
|
||||
color: white;
|
||||
margin: 0 2em;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
#package-header a:link, #package-header a:visited { color: white; }
|
||||
#package-header a:hover { background: rgb(78,98,114); }
|
||||
|
||||
#module-header .caption {
|
||||
color: rgb(78,98,114);
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
table.info {
|
||||
float: right;
|
||||
padding: 0.5em 1em;
|
||||
border: 1px solid #ddd;
|
||||
color: rgb(78,98,114);
|
||||
background-color: #fff;
|
||||
max-width: 40%;
|
||||
border-spacing: 0;
|
||||
position: relative;
|
||||
top: -0.5em;
|
||||
margin: 0 0 0 2em;
|
||||
}
|
||||
|
||||
.info th {
|
||||
padding: 0 1em 0 0;
|
||||
}
|
||||
|
||||
div#style-menu-holder {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#style-menu {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
overflow: visible;
|
||||
background: #374c5e;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
right: 0;
|
||||
padding: 0;
|
||||
top: 1.25em;
|
||||
}
|
||||
|
||||
#style-menu li {
|
||||
display: list-item;
|
||||
border-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #000;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
#style-menu li + li {
|
||||
border-top: 1px solid #919191;
|
||||
}
|
||||
|
||||
#style-menu a {
|
||||
width: 6em;
|
||||
padding: 3px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#footer {
|
||||
background: #ddd;
|
||||
border-top: 1px solid #aaa;
|
||||
padding: 0.5em 0;
|
||||
color: #666;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 3em;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Front Matter */
|
||||
|
||||
#table-of-contents {
|
||||
float: right;
|
||||
clear: right;
|
||||
background: #faf9dc;
|
||||
border: 1px solid #d8d7ad;
|
||||
padding: 0.5em 1em;
|
||||
max-width: 20em;
|
||||
margin: 0.5em 0 1em 1em;
|
||||
}
|
||||
|
||||
#table-of-contents .caption {
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#table-of-contents ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#table-of-contents ul ul {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
#description .caption {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#synopsis {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.no-frame #synopsis {
|
||||
display: block;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
height: 80%;
|
||||
top: 10%;
|
||||
padding: 0;
|
||||
max-width: 75%;
|
||||
}
|
||||
|
||||
#synopsis .caption {
|
||||
float: left;
|
||||
width: 29px;
|
||||
color: rgba(255,255,255,0);
|
||||
height: 110px;
|
||||
margin: 0;
|
||||
font-size: 1px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#synopsis p.caption.collapser {
|
||||
background: url(synopsis.png) no-repeat -64px -8px;
|
||||
}
|
||||
|
||||
#synopsis p.caption.expander {
|
||||
background: url(synopsis.png) no-repeat 0px -8px;
|
||||
}
|
||||
|
||||
#synopsis ul {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
padding: 0.5em;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#synopsis ul ul {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#synopsis ul,
|
||||
#synopsis ul li.src {
|
||||
background-color: #faf9dc;
|
||||
white-space: nowrap;
|
||||
list-style: none;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Main Content */
|
||||
|
||||
#interface div.top { margin: 2em 0; }
|
||||
#interface h1 + div.top,
|
||||
#interface h2 + div.top,
|
||||
#interface h3 + div.top,
|
||||
#interface h4 + div.top,
|
||||
#interface h5 + div.top {
|
||||
margin-top: 1em;
|
||||
}
|
||||
#interface .src .selflink,
|
||||
#interface .src .link {
|
||||
float: right;
|
||||
color: #919191;
|
||||
background: #f0f0f0;
|
||||
padding: 0 0.5em 0.2em;
|
||||
margin: 0 -0.5em 0 0;
|
||||
}
|
||||
#interface .src .selflink {
|
||||
border-left: 1px solid #919191;
|
||||
margin: 0 -0.5em 0 0.5em;
|
||||
}
|
||||
|
||||
#interface span.fixity {
|
||||
color: #919191;
|
||||
border-left: 1px solid #919191;
|
||||
padding: 0.2em 0.5em 0.2em 0.5em;
|
||||
margin: 0 -1em 0 1em;
|
||||
}
|
||||
|
||||
#interface span.rightedge {
|
||||
border-left: 1px solid #919191;
|
||||
padding: 0.2em 0 0.2em 0;
|
||||
margin: 0 0 0 1em;
|
||||
}
|
||||
|
||||
#interface table { border-spacing: 2px; }
|
||||
#interface td {
|
||||
vertical-align: top;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
#interface td.src {
|
||||
white-space: nowrap;
|
||||
}
|
||||
#interface td.doc p {
|
||||
margin: 0;
|
||||
}
|
||||
#interface td.doc p + p {
|
||||
margin-top: 0.8em;
|
||||
}
|
||||
|
||||
.clearfix:after {
|
||||
clear: both;
|
||||
content: " ";
|
||||
display: block;
|
||||
height: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.subs ul {
|
||||
list-style: none;
|
||||
display: table;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.subs ul li {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
.subs ul li dfn {
|
||||
display: table-cell;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
margin: 1px 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.subs ul li > .doc {
|
||||
display: table-cell;
|
||||
padding-left: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.subs ul li > .doc p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Render short-style data instances */
|
||||
.inst ul {
|
||||
height: 100%;
|
||||
padding: 0.5em;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.inst, .inst li {
|
||||
list-style: none;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
/* Workaround for bug in Firefox (issue #384) */
|
||||
.inst-left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.top p.src {
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.subs, .doc {
|
||||
/* use this selector for one level of indent */
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
.warning {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.arguments {
|
||||
margin-top: -0.4em;
|
||||
}
|
||||
.arguments .caption {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fields { padding-left: 1em; }
|
||||
|
||||
.fields .caption { display: none; }
|
||||
|
||||
.fields p { margin: 0 0; }
|
||||
|
||||
/* this seems bulky to me
|
||||
.methods, .constructors {
|
||||
background: #f8f8f8;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
*/
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Auxillary Pages */
|
||||
|
||||
|
||||
.extension-list {
|
||||
list-style-type: none;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
#mini {
|
||||
margin: 0 auto;
|
||||
padding: 0 1em 1em;
|
||||
}
|
||||
|
||||
#mini > * {
|
||||
font-size: 93%; /* 12pt */
|
||||
}
|
||||
|
||||
#mini #module-list .caption,
|
||||
#mini #module-header .caption {
|
||||
font-size: 125%; /* 15pt */
|
||||
}
|
||||
|
||||
#mini #interface h1,
|
||||
#mini #interface h2,
|
||||
#mini #interface h3,
|
||||
#mini #interface h4 {
|
||||
font-size: 109%; /* 13pt */
|
||||
margin: 1em 0 0;
|
||||
}
|
||||
|
||||
#mini #interface .top,
|
||||
#mini #interface .src {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#mini #module-list ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#alphabet ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0.5em 0 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#alphabet li {
|
||||
display: inline;
|
||||
margin: 0 0.25em;
|
||||
}
|
||||
|
||||
#alphabet a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#index .caption,
|
||||
#module-list .caption { font-size: 131%; /* 17pt */ }
|
||||
|
||||
#index table {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
#index .src {
|
||||
font-weight: bold;
|
||||
}
|
||||
#index .alt {
|
||||
font-size: 77%; /* 10pt */
|
||||
font-style: italic;
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
#index td + td {
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
#module-list ul {
|
||||
list-style: none;
|
||||
margin: 0 0 0 2em;
|
||||
}
|
||||
|
||||
#module-list li {
|
||||
clear: right;
|
||||
}
|
||||
|
||||
#module-list span.collapser,
|
||||
#module-list span.expander {
|
||||
background-position: 0 0.3em;
|
||||
}
|
||||
|
||||
#module-list .package {
|
||||
float: right;
|
||||
}
|
||||
|
||||
/* @end */
|
91
src/HSFM-GUI-Glib-GlibString.html
Normal file
91
src/HSFM-GUI-Glib-GlibString.html
Normal file
@ -0,0 +1,91 @@
|
||||
<?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/Glib/GlibString.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'>{-# OPTIONS_HADDOCK ignore-exports #-}</span>
|
||||
<a name="line-21"></a>
|
||||
<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'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>GlibString</span> <span class='hs-keyword'>where</span>
|
||||
<a name="line-24"></a>
|
||||
<a name="line-25"></a>
|
||||
<a name="line-26"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>BS</span>
|
||||
<a name="line-27"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span><span class='hs-varop'>.</span><span class='hs-conid'>UTF8</span>
|
||||
<a name="line-28"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-29"></a> <span class='hs-varid'>toString</span>
|
||||
<a name="line-30"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-31"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Word8</span>
|
||||
<a name="line-32"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-33"></a> <span class='hs-sel'>_percent</span>
|
||||
<a name="line-34"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-35"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>C</span><span class='hs-varop'>.</span><span class='hs-conid'>String</span>
|
||||
<a name="line-36"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-37"></a> <span class='hs-conid'>CStringLen</span>
|
||||
<a name="line-38"></a> <span class='hs-layout'>,</span> <span class='hs-conid'>CString</span>
|
||||
<a name="line-39"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-40"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>C</span><span class='hs-varop'>.</span><span class='hs-conid'>Types</span>
|
||||
<a name="line-41"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-42"></a> <span class='hs-conid'>CSize</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'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>Marshal</span><span class='hs-varop'>.</span><span class='hs-conid'>Utils</span>
|
||||
<a name="line-45"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-46"></a> <span class='hs-varid'>maybePeek</span>
|
||||
<a name="line-47"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-48"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>Ptr</span>
|
||||
<a name="line-49"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-50"></a> <span class='hs-varid'>nullPtr</span>
|
||||
<a name="line-51"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>plusPtr</span>
|
||||
<a name="line-52"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-53"></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-54"></a>
|
||||
<a name="line-55"></a>
|
||||
<a name="line-56"></a>
|
||||
<a name="line-57"></a><a name="instance%20GlibString%20BS.ByteString"></a><span class='hs-comment'>-- TODO: move this to its own module</span>
|
||||
<a name="line-58"></a><a name="instance%20GlibString%20BS.ByteString"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>GlibString</span> <span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span> <span class='hs-keyword'>where</span>
|
||||
<a name="line-59"></a> <span class='hs-varid'>withUTFString</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-varid'>useAsCString</span>
|
||||
<a name="line-60"></a> <span class='hs-varid'>withUTFStringLen</span> <span class='hs-varid'>s</span> <span class='hs-varid'>f</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-varid'>useAsCStringLen</span> <span class='hs-varid'>s</span> <span class='hs-layout'>(</span><span class='hs-varid'>f</span> <span class='hs-varop'>.</span> <span class='hs-varid'>noNullPtrs</span><span class='hs-layout'>)</span>
|
||||
<a name="line-61"></a> <span class='hs-varid'>peekUTFString</span> <span class='hs-varid'>s</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-62"></a> <span class='hs-varid'>len</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>c_strlen</span> <span class='hs-varid'>s</span>
|
||||
<a name="line-63"></a> <span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-varid'>packCStringLen</span> <span class='hs-layout'>(</span><span class='hs-varid'>s</span><span class='hs-layout'>,</span> <span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span>
|
||||
<a name="line-64"></a> <span class='hs-varid'>maybePeekUTFString</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>maybePeek</span> <span class='hs-varid'>peekUTFString</span>
|
||||
<a name="line-65"></a> <span class='hs-varid'>peekUTFStringLen</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-varid'>packCStringLen</span>
|
||||
<a name="line-66"></a> <span class='hs-varid'>newUTFString</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newUTFString</span> <span class='hs-varop'>.</span> <span class='hs-varid'>toString</span>
|
||||
<a name="line-67"></a> <span class='hs-varid'>newUTFStringLen</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newUTFStringLen</span> <span class='hs-varop'>.</span> <span class='hs-varid'>toString</span>
|
||||
<a name="line-68"></a> <span class='hs-varid'>genUTFOfs</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>genUTFOfs</span> <span class='hs-varop'>.</span> <span class='hs-varid'>toString</span>
|
||||
<a name="line-69"></a> <span class='hs-varid'>stringLength</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-varid'>length</span>
|
||||
<a name="line-70"></a> <span class='hs-varid'>unPrintf</span> <span class='hs-varid'>s</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-varid'>intercalate</span> <span class='hs-str'>"%%"</span> <span class='hs-layout'>(</span><span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-varid'>split</span> <span class='hs-sel'>_percent</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span>
|
||||
<a name="line-71"></a>
|
||||
<a name="line-72"></a>
|
||||
<a name="line-73"></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'>"string.h strlen"</span> <span class='hs-varid'>c_strlen</span>
|
||||
<a name="line-74"></a> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CString</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>CSize</span>
|
||||
<a name="line-75"></a>
|
||||
<a name="line-76"></a>
|
||||
<a name="line-77"></a><a name="noNullPtrs"></a><span class='hs-definition'>noNullPtrs</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CStringLen</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>CStringLen</span>
|
||||
<a name="line-78"></a><span class='hs-definition'>noNullPtrs</span> <span class='hs-layout'>(</span><span class='hs-varid'>p</span><span class='hs-layout'>,</span> <span class='hs-num'>0</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>|</span> <span class='hs-varid'>p</span> <span class='hs-varop'>==</span> <span class='hs-varid'>nullPtr</span> <span class='hs-keyglyph'>=</span> <span class='hs-layout'>(</span><span class='hs-varid'>plusPtr</span> <span class='hs-varid'>p</span> <span class='hs-num'>1</span><span class='hs-layout'>,</span> <span class='hs-num'>0</span><span class='hs-layout'>)</span>
|
||||
<a name="line-79"></a><span class='hs-definition'>noNullPtrs</span> <span class='hs-varid'>s</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>s</span>
|
||||
<a name="line-80"></a>
|
||||
</pre></body>
|
||||
</html>
|
121
src/HSFM-GUI-Gtk-Callbacks-Utils.html
Normal file
121
src/HSFM-GUI-Gtk-Callbacks-Utils.html
Normal file
@ -0,0 +1,121 @@
|
||||
<?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>
|
||||
<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'>forM_</span>
|
||||
<a name="line-31"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-32"></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-varop'>.</span><span class='hs-conid'>IO</span><span class='hs-varop'>.</span><span class='hs-conid'>Class</span>
|
||||
<a name="line-33"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-34"></a> <span class='hs-varid'>liftIO</span>
|
||||
<a name="line-35"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-36"></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-37"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-38"></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-39"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-40"></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-41"></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-42"></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-43"></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-44"></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>
|
||||
<a name="line-45"></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'>UtilTypes</span>
|
||||
<a name="line-46"></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-47"></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-48"></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-49"></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'>Utils</span>
|
||||
<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'>Utils</span><span class='hs-varop'>.</span><span class='hs-conid'>IO</span>
|
||||
<a name="line-51"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-52"></a> <span class='hs-varid'>modifyTVarIO</span>
|
||||
<a name="line-53"></a> <span class='hs-layout'>)</span>
|
||||
<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>
|
||||
<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'>STM</span><span class='hs-varop'>.</span><span class='hs-conid'>TVar</span>
|
||||
<a name="line-56"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-57"></a> <span class='hs-varid'>readTVarIO</span>
|
||||
<a name="line-58"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-59"></a>
|
||||
<a name="line-60"></a>
|
||||
<a name="line-61"></a>
|
||||
<a name="line-62"></a>
|
||||
<a name="line-63"></a><a name="doFileOperation"></a><span class='hs-comment'>-- |Carries out a file operation with the appropriate error handling</span>
|
||||
<a name="line-64"></a><span class='hs-comment'>-- allowing the user to react to various exceptions with further input.</span>
|
||||
<a name="line-65"></a><span class='hs-definition'>doFileOperation</span> <span class='hs-keyglyph'>::</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-66"></a><span class='hs-definition'>doFileOperation</span> <span class='hs-layout'>(</span><span class='hs-conid'>FCopy</span> <span class='hs-layout'>(</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-67"></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'>easyCopyOverwrite</span> <span class='hs-varid'>easyCopy</span>
|
||||
<a name="line-68"></a> <span class='hs-varop'>$</span> <span class='hs-varid'>doFileOperation</span> <span class='hs-layout'>(</span><span class='hs-conid'>FCopy</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-69"></a><span class='hs-definition'>doFileOperation</span> <span class='hs-layout'>(</span><span class='hs-conid'>FMove</span> <span class='hs-layout'>(</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-70"></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'>moveFileOverwrite</span> <span class='hs-varid'>moveFile</span>
|
||||
<a name="line-71"></a> <span class='hs-varop'>$</span> <span class='hs-varid'>doFileOperation</span> <span class='hs-layout'>(</span><span class='hs-conid'>FMove</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>
|
||||
<a name="line-72"></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-73"></a>
|
||||
<a name="line-74"></a>
|
||||
<a name="line-75"></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-76"></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>
|
||||
<a name="line-77"></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'>IO</span> <span class='hs-varid'>b</span><span class='hs-layout'>)</span>
|
||||
<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'>IO</span> <span class='hs-varid'>a</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>
|
||||
<a name="line-80"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<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-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'>mcOverwrite</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-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'>Overwrite</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>mcOverwrite</span> <span class='hs-varid'>f</span> <span class='hs-varid'>topath</span> <span class='hs-varop'>>></span> <span class='hs-varid'>rest</span>
|
||||
<a name="line-95"></a> <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'>mcOverwrite</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>
|
||||
<a name="line-98"></a> <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'>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-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>
|
||||
<a name="line-102"></a>
|
||||
<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'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>Item</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-105"></a><span class='hs-definition'>goDir</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-106"></a> <span class='hs-varid'>cdir</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-107"></a> <span class='hs-varid'>modifyTVarIO</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-108"></a> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>p</span><span class='hs-layout'>,</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-layout'>(</span><span class='hs-varid'>path</span> <span class='hs-varid'>cdir</span> <span class='hs-varop'>`addHistory`</span> <span class='hs-varid'>p</span><span class='hs-layout'>,</span> <span class='hs-conid'>[]</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
|
||||
<a name="line-109"></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-110"></a>
|
||||
</pre></body>
|
||||
</html>
|
554
src/HSFM-GUI-Gtk-Callbacks.html
Normal file
554
src/HSFM-GUI-Gtk-Callbacks.html
Normal file
@ -0,0 +1,554 @@
|
||||
<?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.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'>{-# OPTIONS_HADDOCK ignore-exports #-}</span>
|
||||
<a name="line-21"></a>
|
||||
<a name="line-22"></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-keyword'>where</span>
|
||||
<a name="line-23"></a>
|
||||
<a name="line-24"></a>
|
||||
<a name="line-25"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Applicative</span>
|
||||
<a name="line-26"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-27"></a> <span class='hs-layout'>(</span><span class='hs-varop'><$></span><span class='hs-layout'>)</span>
|
||||
<a name="line-28"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-29"></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'>STM</span>
|
||||
<a name="line-30"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-31"></a> <span class='hs-varid'>readTVarIO</span>
|
||||
<a name="line-32"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-33"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Exception</span>
|
||||
<a name="line-34"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-35"></a> <span class='hs-varid'>throwIO</span>
|
||||
<a name="line-36"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-37"></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-38"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-39"></a> <span class='hs-varid'>forM_</span>
|
||||
<a name="line-40"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>void</span>
|
||||
<a name="line-41"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>when</span>
|
||||
<a name="line-42"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-43"></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-varop'>.</span><span class='hs-conid'>IO</span><span class='hs-varop'>.</span><span class='hs-conid'>Class</span>
|
||||
<a name="line-44"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-45"></a> <span class='hs-varid'>liftIO</span>
|
||||
<a name="line-46"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-47"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span>
|
||||
<a name="line-48"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-49"></a> <span class='hs-conid'>ByteString</span>
|
||||
<a name="line-50"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-51"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span><span class='hs-varop'>.</span><span class='hs-conid'>UTF8</span>
|
||||
<a name="line-52"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-53"></a> <span class='hs-varid'>fromString</span>
|
||||
<a name="line-54"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>toString</span>
|
||||
<a name="line-55"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-56"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Foldable</span>
|
||||
<a name="line-57"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-58"></a> <span class='hs-varid'>for_</span>
|
||||
<a name="line-59"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-60"></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-61"></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-62"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HPath</span>
|
||||
<a name="line-63"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-64"></a> <span class='hs-conid'>Abs</span>
|
||||
<a name="line-65"></a> <span class='hs-layout'>,</span> <span class='hs-conid'>Path</span>
|
||||
<a name="line-66"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-67"></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-68"></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-69"></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'>Utils</span>
|
||||
<a name="line-70"></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>
|
||||
<a name="line-71"></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'>UtilTypes</span>
|
||||
<a name="line-72"></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'>Callbacks</span><span class='hs-varop'>.</span><span class='hs-conid'>Utils</span>
|
||||
<a name="line-73"></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-74"></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-75"></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-76"></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'>Utils</span>
|
||||
<a name="line-77"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>Utils</span><span class='hs-varop'>.</span><span class='hs-conid'>IO</span>
|
||||
<a name="line-78"></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>
|
||||
<a name="line-79"></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-80"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-81"></a> <span class='hs-varid'>glibToString</span>
|
||||
<a name="line-82"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-83"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Posix</span><span class='hs-varop'>.</span><span class='hs-conid'>Env</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span>
|
||||
<a name="line-84"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-85"></a> <span class='hs-varid'>getEnv</span>
|
||||
<a name="line-86"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-87"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Posix</span><span class='hs-varop'>.</span><span class='hs-conid'>Process</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>SPP</span>
|
||||
<a name="line-88"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Posix</span><span class='hs-varop'>.</span><span class='hs-conid'>Types</span>
|
||||
<a name="line-89"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-90"></a> <span class='hs-conid'>ProcessID</span>
|
||||
<a name="line-91"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-92"></a>
|
||||
<a name="line-93"></a>
|
||||
<a name="line-94"></a>
|
||||
<a name="line-95"></a>
|
||||
<a name="line-96"></a>
|
||||
<a name="line-97"></a> <span class='hs-comment'>-----------------</span>
|
||||
<a name="line-98"></a> <span class='hs-comment'>--[ Callbacks ]--</span>
|
||||
<a name="line-99"></a> <span class='hs-comment'>-----------------</span>
|
||||
<a name="line-100"></a>
|
||||
<a name="line-101"></a>
|
||||
<a name="line-102"></a>
|
||||
<a name="line-103"></a>
|
||||
<a name="line-104"></a><span class='hs-comment'>---- MAIN CALLBACK ENTRYPOINT ----</span>
|
||||
<a name="line-105"></a>
|
||||
<a name="line-106"></a>
|
||||
<a name="line-107"></a><a name="setGUICallbacks"></a><span class='hs-comment'>-- |Set callbacks for the whole gui, on hotkeys, events and stuff.</span>
|
||||
<a name="line-108"></a><span class='hs-definition'>setGUICallbacks</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <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'>setGUICallbacks</span> <span class='hs-varid'>mygui</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-110"></a>
|
||||
<a name="line-111"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>clearStatusBar</span> <span class='hs-varid'>mygui</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>buttonActivated</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-112"></a> <span class='hs-varid'>popStatusbar</span> <span class='hs-varid'>mygui</span>
|
||||
<a name="line-113"></a> <span class='hs-varid'>writeTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>operationBuffer</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <span class='hs-conid'>None</span>
|
||||
<a name="line-114"></a>
|
||||
<a name="line-115"></a> <span class='hs-comment'>-- menubar-file</span>
|
||||
<a name="line-116"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>menubarFileQuit</span> <span class='hs-varop'>.</span> <span class='hs-varid'>menubar</span><span class='hs-layout'>)</span> <span class='hs-varid'>mygui</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-117"></a> <span class='hs-varid'>mainQuit</span>
|
||||
<a name="line-118"></a>
|
||||
<a name="line-119"></a> <span class='hs-comment'>-- menubar-help</span>
|
||||
<a name="line-120"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>menubarHelpAbout</span> <span class='hs-varop'>.</span> <span class='hs-varid'>menubar</span><span class='hs-layout'>)</span> <span class='hs-varid'>mygui</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-121"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varid'>showAboutDialog</span>
|
||||
<a name="line-122"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-123"></a>
|
||||
<a name="line-124"></a> <span class='hs-comment'>-- key events</span>
|
||||
<a name="line-125"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>rootWin</span> <span class='hs-varid'>mygui</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>keyPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>tryEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-126"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Control</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventModifier</span>
|
||||
<a name="line-127"></a> <span class='hs-str'>"q"</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>glibToString</span> <span class='hs-varid'>eventKeyName</span>
|
||||
<a name="line-128"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varid'>mainQuit</span>
|
||||
<a name="line-129"></a>
|
||||
<a name="line-130"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-131"></a>
|
||||
<a name="line-132"></a>
|
||||
<a name="line-133"></a><a name="setViewCallbacks"></a><span class='hs-comment'>-- |Set callbacks specific to a given view, on hotkeys, events and stuff.</span>
|
||||
<a name="line-134"></a><span class='hs-definition'>setViewCallbacks</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-135"></a><span class='hs-definition'>setViewCallbacks</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-136"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>view</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-137"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>view'</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-138"></a> <span class='hs-varid'>fmv</span><span class='hs-keyglyph'>@</span><span class='hs-layout'>(</span><span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>treeView</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-139"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeView</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>rowActivated</span>
|
||||
<a name="line-140"></a> <span class='hs-varop'>$</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>open</span><span class='hs-layout'>)</span>
|
||||
<a name="line-141"></a>
|
||||
<a name="line-142"></a> <span class='hs-comment'>-- drag events</span>
|
||||
<a name="line-143"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeView</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>dragBegin</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-144"></a> <span class='hs-keyglyph'>\</span><span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>moveInit</span>
|
||||
<a name="line-145"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeView</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>dragDrop</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-146"></a> <span class='hs-keyglyph'>\</span><span class='hs-varid'>dc</span> <span class='hs-varid'>p</span> <span class='hs-varid'>ts</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-147"></a> <span class='hs-varid'>p'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewConvertWidgetToTreeCoords</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>p</span>
|
||||
<a name="line-148"></a> <span class='hs-varid'>mpath</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewGetPathAtPos</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>p'</span>
|
||||
<a name="line-149"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>mpath</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-150"></a> <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-151"></a> <span class='hs-varid'>dragFinish</span> <span class='hs-varid'>dc</span> <span class='hs-conid'>False</span> <span class='hs-conid'>False</span> <span class='hs-varid'>ts</span>
|
||||
<a name="line-152"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>False</span>
|
||||
<a name="line-153"></a> <span class='hs-conid'>Just</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-154"></a> <span class='hs-varid'>atom</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>atomNew</span> <span class='hs-layout'>(</span><span class='hs-str'>"HSFM"</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
|
||||
<a name="line-155"></a> <span class='hs-varid'>dragGetData</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>dc</span> <span class='hs-varid'>atom</span> <span class='hs-varid'>ts</span>
|
||||
<a name="line-156"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-157"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeView</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>dragDataReceived</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-158"></a> <span class='hs-keyglyph'>\</span><span class='hs-varid'>dc</span> <span class='hs-varid'>p</span> <span class='hs-keyword'>_</span> <span class='hs-varid'>ts</span> <span class='hs-keyglyph'>-></span>
|
||||
<a name="line-159"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-160"></a> <span class='hs-varid'>signalStopEmission</span> <span class='hs-varid'>treeView</span> <span class='hs-str'>"drag_data_received"</span>
|
||||
<a name="line-161"></a> <span class='hs-varid'>p'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewConvertWidgetToTreeCoords</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>p</span>
|
||||
<a name="line-162"></a> <span class='hs-varid'>mpath</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewGetPathAtPos</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>p'</span>
|
||||
<a name="line-163"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>mpath</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-164"></a> <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>dragFinish</span> <span class='hs-varid'>dc</span> <span class='hs-conid'>False</span> <span class='hs-conid'>False</span> <span class='hs-varid'>ts</span>
|
||||
<a name="line-165"></a> <span class='hs-conid'>Just</span> <span class='hs-layout'>(</span><span class='hs-varid'>tp</span><span class='hs-layout'>,</span> <span class='hs-keyword'>_</span><span class='hs-layout'>,</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-166"></a> <span class='hs-varid'>mitem</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>rawPathToItem</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>tp</span>
|
||||
<a name="line-167"></a> <span class='hs-varid'>forM_</span> <span class='hs-varid'>mitem</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>item</span> <span class='hs-keyglyph'>-></span>
|
||||
<a name="line-168"></a> <span class='hs-varid'>operationFinal</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</span>
|
||||
<a name="line-169"></a> <span class='hs-varid'>dragFinish</span> <span class='hs-varid'>dc</span> <span class='hs-conid'>True</span> <span class='hs-conid'>False</span> <span class='hs-varid'>ts</span>
|
||||
<a name="line-170"></a>
|
||||
<a name="line-171"></a> <span class='hs-varid'>commonGuiEvents</span> <span class='hs-varid'>fmv</span>
|
||||
<a name="line-172"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-173"></a> <span class='hs-varid'>fmv</span><span class='hs-keyglyph'>@</span><span class='hs-layout'>(</span><span class='hs-conid'>FMIconView</span> <span class='hs-varid'>iconView</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-174"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>iconView</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>itemActivated</span>
|
||||
<a name="line-175"></a> <span class='hs-varop'>$</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>open</span><span class='hs-layout'>)</span>
|
||||
<a name="line-176"></a> <span class='hs-varid'>commonGuiEvents</span> <span class='hs-varid'>fmv</span>
|
||||
<a name="line-177"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-178"></a> <span class='hs-keyword'>where</span>
|
||||
<a name="line-179"></a> <span class='hs-varid'>commonGuiEvents</span> <span class='hs-varid'>fmv</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-180"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>view</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fmViewToContainer</span> <span class='hs-varid'>fmv</span>
|
||||
<a name="line-181"></a>
|
||||
<a name="line-182"></a> <span class='hs-comment'>-- GUI events</span>
|
||||
<a name="line-183"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>urlBar</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>entryActivated</span> <span class='hs-varop'>$</span> <span class='hs-varid'>urlGoTo</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-184"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>upViewB</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>buttonActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-185"></a> <span class='hs-varid'>upDir</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-186"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>homeViewB</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>buttonActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-187"></a> <span class='hs-varid'>goHome</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-188"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>refreshViewB</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>buttonActivated</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-189"></a> <span class='hs-varid'>cdir</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-190"></a> <span class='hs-varid'>refreshView'</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>cdir</span>
|
||||
<a name="line-191"></a>
|
||||
<a name="line-192"></a> <span class='hs-comment'>-- key events</span>
|
||||
<a name="line-193"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>viewBox</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>keyPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>tryEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-194"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Control</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventModifier</span>
|
||||
<a name="line-195"></a> <span class='hs-str'>"h"</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>glibToString</span> <span class='hs-varid'>eventKeyName</span>
|
||||
<a name="line-196"></a> <span class='hs-varid'>cdir</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-197"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>modifyTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>settings</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span>
|
||||
<a name="line-198"></a> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>x</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>x</span> <span class='hs-layout'>{</span> <span class='hs-varid'>showHidden</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>not</span> <span class='hs-varop'>.</span> <span class='hs-varid'>showHidden</span> <span class='hs-varop'>$</span> <span class='hs-varid'>x</span><span class='hs-layout'>}</span><span class='hs-layout'>)</span>
|
||||
<a name="line-199"></a> <span class='hs-varop'>>></span> <span class='hs-varid'>refreshView'</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>cdir</span>
|
||||
<a name="line-200"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>viewBox</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>keyPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>tryEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-201"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Alt</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventModifier</span>
|
||||
<a name="line-202"></a> <span class='hs-str'>"Up"</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>glibToString</span> <span class='hs-varid'>eventKeyName</span>
|
||||
<a name="line-203"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>upDir</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-204"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>viewBox</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>keyPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>tryEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-205"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Alt</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventModifier</span>
|
||||
<a name="line-206"></a> <span class='hs-str'>"Left"</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>glibToString</span> <span class='hs-varid'>eventKeyName</span>
|
||||
<a name="line-207"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>goHistoryPrev</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-208"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>viewBox</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>keyPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>tryEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-209"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Alt</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventModifier</span>
|
||||
<a name="line-210"></a> <span class='hs-str'>"Right"</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>glibToString</span> <span class='hs-varid'>eventKeyName</span>
|
||||
<a name="line-211"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>goHistoryNext</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-212"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>view</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>keyPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>tryEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-213"></a> <span class='hs-str'>"Delete"</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>glibToString</span> <span class='hs-varid'>eventKeyName</span>
|
||||
<a name="line-214"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>del</span>
|
||||
<a name="line-215"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>view</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>keyPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>tryEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-216"></a> <span class='hs-conid'>[]</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventModifier</span>
|
||||
<a name="line-217"></a> <span class='hs-str'>"Return"</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>glibToString</span> <span class='hs-varid'>eventKeyName</span>
|
||||
<a name="line-218"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>open</span>
|
||||
<a name="line-219"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>view</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>keyPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>tryEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-220"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Control</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventModifier</span>
|
||||
<a name="line-221"></a> <span class='hs-str'>"c"</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>glibToString</span> <span class='hs-varid'>eventKeyName</span>
|
||||
<a name="line-222"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>copyInit</span>
|
||||
<a name="line-223"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>view</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>keyPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>tryEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-224"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Control</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventModifier</span>
|
||||
<a name="line-225"></a> <span class='hs-str'>"x"</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>glibToString</span> <span class='hs-varid'>eventKeyName</span>
|
||||
<a name="line-226"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>moveInit</span>
|
||||
<a name="line-227"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>viewBox</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>keyPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>tryEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-228"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Control</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventModifier</span>
|
||||
<a name="line-229"></a> <span class='hs-str'>"v"</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>glibToString</span> <span class='hs-varid'>eventKeyName</span>
|
||||
<a name="line-230"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>operationFinal</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-conid'>Nothing</span>
|
||||
<a name="line-231"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>viewBox</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>keyPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>tryEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-232"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Control</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventModifier</span>
|
||||
<a name="line-233"></a> <span class='hs-str'>"t"</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>glibToString</span> <span class='hs-varid'>eventKeyName</span>
|
||||
<a name="line-234"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>void</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-235"></a> <span class='hs-varid'>cwd</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-236"></a> <span class='hs-varid'>newTab</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>createTreeView</span> <span class='hs-layout'>(</span><span class='hs-varid'>path</span> <span class='hs-varid'>cwd</span><span class='hs-layout'>)</span>
|
||||
<a name="line-237"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>viewBox</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>keyPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>tryEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-238"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Control</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventModifier</span>
|
||||
<a name="line-239"></a> <span class='hs-str'>"w"</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>glibToString</span> <span class='hs-varid'>eventKeyName</span>
|
||||
<a name="line-240"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>void</span> <span class='hs-varop'>$</span> <span class='hs-varid'>closeTab</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-241"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>viewBox</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>keyPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-varid'>tryEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-242"></a> <span class='hs-str'>"F4"</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>glibToString</span> <span class='hs-varid'>eventKeyName</span>
|
||||
<a name="line-243"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>void</span> <span class='hs-varop'>$</span> <span class='hs-varid'>openTerminalHere</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-244"></a>
|
||||
<a name="line-245"></a> <span class='hs-comment'>-- righ-click</span>
|
||||
<a name="line-246"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>view</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>buttonPressEvent</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-247"></a> <span class='hs-varid'>eb</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventButton</span>
|
||||
<a name="line-248"></a> <span class='hs-varid'>t</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventTime</span>
|
||||
<a name="line-249"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>eb</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-250"></a> <span class='hs-conid'>RightButton</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-251"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>menuPopup</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcMenu</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span> <span class='hs-varop'>$</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
|
||||
<a name="line-252"></a> <span class='hs-varop'>$</span> <span class='hs-conid'>Just</span> <span class='hs-layout'>(</span><span class='hs-conid'>RightButton</span><span class='hs-layout'>,</span> <span class='hs-varid'>t</span><span class='hs-layout'>)</span>
|
||||
<a name="line-253"></a> <span class='hs-comment'>-- this is just to not screw with current selection</span>
|
||||
<a name="line-254"></a> <span class='hs-comment'>-- on right-click</span>
|
||||
<a name="line-255"></a> <span class='hs-comment'>-- TODO: this misbehaves under IconView</span>
|
||||
<a name="line-256"></a> <span class='hs-layout'>(</span><span class='hs-varid'>x</span><span class='hs-layout'>,</span> <span class='hs-varid'>y</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>eventCoordinates</span>
|
||||
<a name="line-257"></a> <span class='hs-varid'>mpath</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>getPathAtPos</span> <span class='hs-varid'>fmv</span> <span class='hs-layout'>(</span><span class='hs-varid'>x</span><span class='hs-layout'>,</span> <span class='hs-varid'>y</span><span class='hs-layout'>)</span>
|
||||
<a name="line-258"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>mpath</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-259"></a> <span class='hs-comment'>-- item under the cursor, only pass on the signal</span>
|
||||
<a name="line-260"></a> <span class='hs-comment'>-- if the item under the cursor is not within the current</span>
|
||||
<a name="line-261"></a> <span class='hs-comment'>-- selection</span>
|
||||
<a name="line-262"></a> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>tp</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-263"></a> <span class='hs-varid'>selectedTps</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>getSelectedTreePaths</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-264"></a> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>elem</span> <span class='hs-varid'>tp</span> <span class='hs-varid'>selectedTps</span>
|
||||
<a name="line-265"></a> <span class='hs-comment'>-- no item under the cursor, pass on the signal</span>
|
||||
<a name="line-266"></a> <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-conid'>False</span>
|
||||
<a name="line-267"></a> <span class='hs-conid'>MiddleButton</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-268"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>goHistoryPrev</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-269"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>False</span>
|
||||
<a name="line-270"></a> <span class='hs-conid'>OtherButton</span> <span class='hs-num'>8</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-271"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>goHistoryPrev</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-272"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>False</span>
|
||||
<a name="line-273"></a> <span class='hs-conid'>OtherButton</span> <span class='hs-num'>9</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-274"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>goHistoryNext</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-275"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>False</span>
|
||||
<a name="line-276"></a> <span class='hs-comment'>-- not right-click, so pass on the signal</span>
|
||||
<a name="line-277"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-conid'>False</span>
|
||||
<a name="line-278"></a>
|
||||
<a name="line-279"></a> <span class='hs-comment'>-- right click menu</span>
|
||||
<a name="line-280"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcFileOpen</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span><span class='hs-layout'>)</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-281"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>open</span>
|
||||
<a name="line-282"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcFileExecute</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span><span class='hs-layout'>)</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-283"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>execute</span>
|
||||
<a name="line-284"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcFileNewRegFile</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span><span class='hs-layout'>)</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-285"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>newFile</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-286"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcFileNewDir</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span><span class='hs-layout'>)</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-287"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>newDir</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-288"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcFileCopy</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span><span class='hs-layout'>)</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-289"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>copyInit</span>
|
||||
<a name="line-290"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcFileRename</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span><span class='hs-layout'>)</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-291"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>renameF</span>
|
||||
<a name="line-292"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcFilePaste</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span><span class='hs-layout'>)</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-293"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>operationFinal</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-conid'>Nothing</span>
|
||||
<a name="line-294"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcFileDelete</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span><span class='hs-layout'>)</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-295"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>del</span>
|
||||
<a name="line-296"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcFileProperty</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span><span class='hs-layout'>)</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-297"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>showFilePropertyDialog</span>
|
||||
<a name="line-298"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcFileCut</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span><span class='hs-layout'>)</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-299"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>moveInit</span>
|
||||
<a name="line-300"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcFileIconView</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span><span class='hs-layout'>)</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-301"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>switchView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>createIconView</span>
|
||||
<a name="line-302"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcFileTreeView</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span><span class='hs-layout'>)</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-303"></a> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>switchView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>createTreeView</span>
|
||||
<a name="line-304"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-305"></a>
|
||||
<a name="line-306"></a> <span class='hs-varid'>getPathAtPos</span> <span class='hs-varid'>fmv</span> <span class='hs-layout'>(</span><span class='hs-varid'>x</span><span class='hs-layout'>,</span> <span class='hs-varid'>y</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span>
|
||||
<a name="line-307"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>fmv</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-308"></a> <span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-309"></a> <span class='hs-varid'>mp</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewGetPathAtPos</span> <span class='hs-varid'>treeView</span> <span class='hs-layout'>(</span><span class='hs-varid'>round</span> <span class='hs-varid'>x</span><span class='hs-layout'>,</span> <span class='hs-varid'>round</span> <span class='hs-varid'>y</span><span class='hs-layout'>)</span>
|
||||
<a name="line-310"></a> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fmap</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>p</span><span class='hs-layout'>,</span> <span class='hs-keyword'>_</span><span class='hs-layout'>,</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>p</span><span class='hs-layout'>)</span> <span class='hs-varid'>mp</span>
|
||||
<a name="line-311"></a> <span class='hs-conid'>FMIconView</span> <span class='hs-varid'>iconView</span> <span class='hs-keyglyph'>-></span>
|
||||
<a name="line-312"></a> <span class='hs-varid'>fmap</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>tp</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>if</span> <span class='hs-varid'>null</span> <span class='hs-varid'>tp</span> <span class='hs-keyword'>then</span> <span class='hs-conid'>Nothing</span> <span class='hs-keyword'>else</span> <span class='hs-conid'>Just</span> <span class='hs-varid'>tp</span><span class='hs-layout'>)</span>
|
||||
<a name="line-313"></a> <span class='hs-varop'>$</span> <span class='hs-varid'>iconViewGetPathAtPos</span> <span class='hs-varid'>iconView</span> <span class='hs-layout'>(</span><span class='hs-varid'>round</span> <span class='hs-varid'>x</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>round</span> <span class='hs-varid'>y</span><span class='hs-layout'>)</span>
|
||||
<a name="line-314"></a>
|
||||
<a name="line-315"></a>
|
||||
<a name="line-316"></a>
|
||||
<a name="line-317"></a>
|
||||
<a name="line-318"></a><span class='hs-comment'>---- OTHER ----</span>
|
||||
<a name="line-319"></a>
|
||||
<a name="line-320"></a>
|
||||
<a name="line-321"></a><a name="openTerminalHere"></a><span class='hs-definition'>openTerminalHere</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>ProcessID</span>
|
||||
<a name="line-322"></a><span class='hs-definition'>openTerminalHere</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-323"></a> <span class='hs-varid'>cwd</span> <span class='hs-keyglyph'><-</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-layout'>)</span> <span class='hs-varop'><$></span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-324"></a> <span class='hs-comment'>-- TODO: make terminal configurable</span>
|
||||
<a name="line-325"></a> <span class='hs-conid'>SPP</span><span class='hs-varop'>.</span><span class='hs-varid'>forkProcess</span> <span class='hs-varop'>$</span> <span class='hs-conid'>SPP</span><span class='hs-varop'>.</span><span class='hs-varid'>executeFile</span> <span class='hs-str'>"sakura"</span> <span class='hs-conid'>True</span> <span class='hs-keyglyph'>[</span><span class='hs-str'>"-d"</span><span class='hs-layout'>,</span> <span class='hs-varid'>cwd</span><span class='hs-keyglyph'>]</span> <span class='hs-conid'>Nothing</span>
|
||||
<a name="line-326"></a>
|
||||
<a name="line-327"></a>
|
||||
<a name="line-328"></a>
|
||||
<a name="line-329"></a>
|
||||
<a name="line-330"></a><span class='hs-comment'>---- TAB OPERATIONS ----</span>
|
||||
<a name="line-331"></a>
|
||||
<a name="line-332"></a>
|
||||
<a name="line-333"></a><a name="closeTab"></a><span class='hs-comment'>-- |Closes the current tab, but only if there is more than one tab.</span>
|
||||
<a name="line-334"></a><span class='hs-definition'>closeTab</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-335"></a><span class='hs-definition'>closeTab</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-336"></a> <span class='hs-varid'>n</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>notebookGetNPages</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-337"></a> <span class='hs-varid'>when</span> <span class='hs-layout'>(</span><span class='hs-varid'>n</span> <span class='hs-varop'>></span> <span class='hs-num'>1</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-varid'>void</span> <span class='hs-varop'>$</span> <span class='hs-varid'>destroyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-338"></a>
|
||||
<a name="line-339"></a>
|
||||
<a name="line-340"></a><a name="newTabHere"></a><span class='hs-definition'>newTabHere</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-341"></a><span class='hs-definition'>newTabHere</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>undefined</span>
|
||||
<a name="line-342"></a><span class='hs-definition'>newTabHere</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</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-343"></a>
|
||||
<a name="line-344"></a>
|
||||
<a name="line-345"></a><span class='hs-comment'>---- FILE OPERATION CALLBACKS (COPY, MOVE, ...) ----</span>
|
||||
<a name="line-346"></a>
|
||||
<a name="line-347"></a>
|
||||
<a name="line-348"></a><a name="del"></a><span class='hs-comment'>-- |Supposed to be used with 'withRows'. Deletes a file or directory.</span>
|
||||
<a name="line-349"></a><span class='hs-definition'>del</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-350"></a><span class='hs-definition'>del</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>withErrorDialog</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-351"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>cmsg</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"Really delete \""</span> <span class='hs-varop'>++</span> <span class='hs-varid'>getFPasStr</span> <span class='hs-varid'>item</span> <span class='hs-varop'>++</span> <span class='hs-str'>"\"?"</span>
|
||||
<a name="line-352"></a> <span class='hs-varid'>withConfirmationDialog</span> <span class='hs-varid'>cmsg</span>
|
||||
<a name="line-353"></a> <span class='hs-varop'>$</span> <span class='hs-varid'>easyDelete</span> <span class='hs-varop'>.</span> <span class='hs-varid'>path</span> <span class='hs-varop'>$</span> <span class='hs-varid'>item</span>
|
||||
<a name="line-354"></a><span class='hs-comment'>-- this throws on the first error that occurs</span>
|
||||
<a name="line-355"></a><span class='hs-definition'>del</span> <span class='hs-varid'>items</span><span class='hs-keyglyph'>@</span><span class='hs-layout'>(</span><span class='hs-keyword'>_</span><span class='hs-conop'>:</span><span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>withErrorDialog</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-356"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>cmsg</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"Really delete "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>show</span> <span class='hs-layout'>(</span><span class='hs-varid'>length</span> <span class='hs-varid'>items</span><span class='hs-layout'>)</span> <span class='hs-varop'>++</span> <span class='hs-str'>" files?"</span>
|
||||
<a name="line-357"></a> <span class='hs-varid'>withConfirmationDialog</span> <span class='hs-varid'>cmsg</span>
|
||||
<a name="line-358"></a> <span class='hs-varop'>$</span> <span class='hs-varid'>forM_</span> <span class='hs-varid'>items</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>item</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>easyDelete</span> <span class='hs-varop'>.</span> <span class='hs-varid'>path</span> <span class='hs-varop'>$</span> <span class='hs-varid'>item</span>
|
||||
<a name="line-359"></a><span class='hs-definition'>del</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'>withErrorDialog</span>
|
||||
<a name="line-360"></a> <span class='hs-varop'>.</span> <span class='hs-varid'>throwIO</span> <span class='hs-varop'>$</span> <span class='hs-conid'>InvalidOperation</span>
|
||||
<a name="line-361"></a> <span class='hs-str'>"Operation not supported on multiple files"</span>
|
||||
<a name="line-362"></a>
|
||||
<a name="line-363"></a>
|
||||
<a name="line-364"></a><a name="moveInit"></a><span class='hs-comment'>-- |Initializes a file move operation.</span>
|
||||
<a name="line-365"></a><span class='hs-definition'>moveInit</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-366"></a><span class='hs-definition'>moveInit</span> <span class='hs-varid'>items</span><span class='hs-keyglyph'>@</span><span class='hs-layout'>(</span><span class='hs-keyword'>_</span><span class='hs-conop'>:</span><span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-varid'>mygui</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-367"></a> <span class='hs-varid'>writeTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>operationBuffer</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>FMove</span> <span class='hs-varop'>.</span> <span class='hs-conid'>PartialMove</span> <span class='hs-varop'>.</span> <span class='hs-varid'>map</span> <span class='hs-varid'>path</span> <span class='hs-varop'>$</span> <span class='hs-varid'>items</span><span class='hs-layout'>)</span>
|
||||
<a name="line-368"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>sbmsg</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>case</span> <span class='hs-varid'>items</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-369"></a> <span class='hs-layout'>(</span><span class='hs-varid'>item</span><span class='hs-conop'>:</span><span class='hs-conid'>[]</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-str'>"Move buffer: "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>getFPasStr</span> <span class='hs-varid'>item</span>
|
||||
<a name="line-370"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-str'>"Move buffer: "</span> <span class='hs-varop'>++</span> <span class='hs-layout'>(</span><span class='hs-varid'>show</span> <span class='hs-varop'>.</span> <span class='hs-varid'>length</span> <span class='hs-varop'>$</span> <span class='hs-varid'>items</span><span class='hs-layout'>)</span>
|
||||
<a name="line-371"></a> <span class='hs-varop'>++</span> <span class='hs-str'>" items"</span>
|
||||
<a name="line-372"></a> <span class='hs-varid'>popStatusbar</span> <span class='hs-varid'>mygui</span>
|
||||
<a name="line-373"></a> <span class='hs-varid'>void</span> <span class='hs-varop'>$</span> <span class='hs-varid'>pushStatusBar</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>sbmsg</span>
|
||||
<a name="line-374"></a><span class='hs-definition'>moveInit</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'>withErrorDialog</span>
|
||||
<a name="line-375"></a> <span class='hs-varop'>.</span> <span class='hs-varid'>throwIO</span> <span class='hs-varop'>$</span> <span class='hs-conid'>InvalidOperation</span>
|
||||
<a name="line-376"></a> <span class='hs-str'>"No file selected!"</span>
|
||||
<a name="line-377"></a>
|
||||
<a name="line-378"></a><a name="copyInit"></a><span class='hs-comment'>-- |Supposed to be used with 'withRows'. Initializes a file copy operation.</span>
|
||||
<a name="line-379"></a><span class='hs-definition'>copyInit</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-380"></a><span class='hs-definition'>copyInit</span> <span class='hs-varid'>items</span><span class='hs-keyglyph'>@</span><span class='hs-layout'>(</span><span class='hs-keyword'>_</span><span class='hs-conop'>:</span><span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-varid'>mygui</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-381"></a> <span class='hs-varid'>writeTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>operationBuffer</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>FCopy</span> <span class='hs-varop'>.</span> <span class='hs-conid'>PartialCopy</span> <span class='hs-varop'>.</span> <span class='hs-varid'>map</span> <span class='hs-varid'>path</span> <span class='hs-varop'>$</span> <span class='hs-varid'>items</span><span class='hs-layout'>)</span>
|
||||
<a name="line-382"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>sbmsg</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>case</span> <span class='hs-varid'>items</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-383"></a> <span class='hs-layout'>(</span><span class='hs-varid'>item</span><span class='hs-conop'>:</span><span class='hs-conid'>[]</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-str'>"Copy buffer: "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>getFPasStr</span> <span class='hs-varid'>item</span>
|
||||
<a name="line-384"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-str'>"Copy buffer: "</span> <span class='hs-varop'>++</span> <span class='hs-layout'>(</span><span class='hs-varid'>show</span> <span class='hs-varop'>.</span> <span class='hs-varid'>length</span> <span class='hs-varop'>$</span> <span class='hs-varid'>items</span><span class='hs-layout'>)</span>
|
||||
<a name="line-385"></a> <span class='hs-varop'>++</span> <span class='hs-str'>" items"</span>
|
||||
<a name="line-386"></a> <span class='hs-varid'>popStatusbar</span> <span class='hs-varid'>mygui</span>
|
||||
<a name="line-387"></a> <span class='hs-varid'>void</span> <span class='hs-varop'>$</span> <span class='hs-varid'>pushStatusBar</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>sbmsg</span>
|
||||
<a name="line-388"></a><span class='hs-definition'>copyInit</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'>withErrorDialog</span>
|
||||
<a name="line-389"></a> <span class='hs-varop'>.</span> <span class='hs-varid'>throwIO</span> <span class='hs-varop'>$</span> <span class='hs-conid'>InvalidOperation</span>
|
||||
<a name="line-390"></a> <span class='hs-str'>"No file selected!"</span>
|
||||
<a name="line-391"></a>
|
||||
<a name="line-392"></a>
|
||||
<a name="line-393"></a><a name="operationFinal"></a><span class='hs-comment'>-- |Finalizes a file operation, such as copy or move.</span>
|
||||
<a name="line-394"></a><span class='hs-definition'>operationFinal</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>Maybe</span> <span class='hs-conid'>Item</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-395"></a><span class='hs-definition'>operationFinal</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>mitem</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>withErrorDialog</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-396"></a> <span class='hs-varid'>op</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>operationBuffer</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span>
|
||||
<a name="line-397"></a> <span class='hs-varid'>cdir</span> <span class='hs-keyglyph'><-</span> <span class='hs-keyword'>case</span> <span class='hs-varid'>mitem</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-398"></a> <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>path</span> <span class='hs-varop'><$></span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-399"></a> <span class='hs-conid'>Just</span> <span class='hs-varid'>x</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>path</span> <span class='hs-varid'>x</span>
|
||||
<a name="line-400"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>op</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-401"></a> <span class='hs-conid'>FMove</span> <span class='hs-layout'>(</span><span class='hs-conid'>PartialMove</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-402"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>cmsg</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"Really move "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>imsg</span> <span class='hs-varid'>s</span>
|
||||
<a name="line-403"></a> <span class='hs-varop'>++</span> <span class='hs-str'>" to \""</span> <span class='hs-varop'>++</span> <span class='hs-varid'>toString</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-varid'>cdir</span><span class='hs-layout'>)</span>
|
||||
<a name="line-404"></a> <span class='hs-varop'>++</span> <span class='hs-str'>"\"?"</span>
|
||||
<a name="line-405"></a> <span class='hs-varid'>withConfirmationDialog</span> <span class='hs-varid'>cmsg</span> <span class='hs-varop'>$</span> <span class='hs-varid'>doFileOperation</span> <span class='hs-layout'>(</span><span class='hs-conid'>FMove</span> <span class='hs-varop'>$</span> <span class='hs-conid'>Move</span> <span class='hs-varid'>s</span> <span class='hs-varid'>cdir</span><span class='hs-layout'>)</span>
|
||||
<a name="line-406"></a> <span class='hs-varid'>popStatusbar</span> <span class='hs-varid'>mygui</span>
|
||||
<a name="line-407"></a> <span class='hs-varid'>writeTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>operationBuffer</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <span class='hs-conid'>None</span>
|
||||
<a name="line-408"></a> <span class='hs-conid'>FCopy</span> <span class='hs-layout'>(</span><span class='hs-conid'>PartialCopy</span> <span class='hs-varid'>s</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-409"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>cmsg</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"Really copy "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>imsg</span> <span class='hs-varid'>s</span>
|
||||
<a name="line-410"></a> <span class='hs-varop'>++</span> <span class='hs-str'>" to \""</span> <span class='hs-varop'>++</span> <span class='hs-varid'>toString</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-varid'>cdir</span><span class='hs-layout'>)</span>
|
||||
<a name="line-411"></a> <span class='hs-varop'>++</span> <span class='hs-str'>"\"?"</span>
|
||||
<a name="line-412"></a> <span class='hs-varid'>withConfirmationDialog</span> <span class='hs-varid'>cmsg</span> <span class='hs-varop'>$</span> <span class='hs-varid'>doFileOperation</span> <span class='hs-layout'>(</span><span class='hs-conid'>FCopy</span> <span class='hs-varop'>$</span> <span class='hs-conid'>Copy</span> <span class='hs-varid'>s</span> <span class='hs-varid'>cdir</span><span class='hs-layout'>)</span>
|
||||
<a name="line-413"></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-414"></a> <span class='hs-keyword'>where</span>
|
||||
<a name="line-415"></a> <span class='hs-varid'>imsg</span> <span class='hs-varid'>s</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>case</span> <span class='hs-varid'>s</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-416"></a> <span class='hs-layout'>(</span><span class='hs-varid'>item</span><span class='hs-conop'>:</span><span class='hs-conid'>[]</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-str'>"\""</span> <span class='hs-varop'>++</span> <span class='hs-varid'>toString</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-varid'>item</span><span class='hs-layout'>)</span> <span class='hs-varop'>++</span> <span class='hs-str'>"\""</span>
|
||||
<a name="line-417"></a> <span class='hs-varid'>items</span> <span class='hs-keyglyph'>-></span> <span class='hs-layout'>(</span><span class='hs-varid'>show</span> <span class='hs-varop'>.</span> <span class='hs-varid'>length</span> <span class='hs-varop'>$</span> <span class='hs-varid'>items</span><span class='hs-layout'>)</span> <span class='hs-varop'>++</span> <span class='hs-str'>" items"</span>
|
||||
<a name="line-418"></a>
|
||||
<a name="line-419"></a>
|
||||
<a name="line-420"></a><a name="newFile"></a><span class='hs-comment'>-- |Create a new file.</span>
|
||||
<a name="line-421"></a><span class='hs-definition'>newFile</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-422"></a><span class='hs-definition'>newFile</span> <span class='hs-keyword'>_</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>withErrorDialog</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-423"></a> <span class='hs-varid'>mfn</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>textInputDialog</span> <span class='hs-str'>"Enter file name"</span> <span class='hs-layout'>(</span><span class='hs-str'>""</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
|
||||
<a name="line-424"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>pmfn</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>parseFn</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>fromString</span> <span class='hs-varop'><$></span> <span class='hs-varid'>mfn</span>
|
||||
<a name="line-425"></a> <span class='hs-varid'>for_</span> <span class='hs-varid'>pmfn</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>fn</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-426"></a> <span class='hs-varid'>cdir</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-427"></a> <span class='hs-varid'>createRegularFile</span> <span class='hs-layout'>(</span><span class='hs-varid'>path</span> <span class='hs-varid'>cdir</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</></span> <span class='hs-varid'>fn</span><span class='hs-layout'>)</span>
|
||||
<a name="line-428"></a>
|
||||
<a name="line-429"></a>
|
||||
<a name="line-430"></a><a name="newDir"></a><span class='hs-comment'>-- |Create a new directory.</span>
|
||||
<a name="line-431"></a><span class='hs-definition'>newDir</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-432"></a><span class='hs-definition'>newDir</span> <span class='hs-keyword'>_</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>withErrorDialog</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-433"></a> <span class='hs-varid'>mfn</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>textInputDialog</span> <span class='hs-str'>"Enter directory name"</span> <span class='hs-layout'>(</span><span class='hs-str'>""</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
|
||||
<a name="line-434"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>pmfn</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>parseFn</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>fromString</span> <span class='hs-varop'><$></span> <span class='hs-varid'>mfn</span>
|
||||
<a name="line-435"></a> <span class='hs-varid'>for_</span> <span class='hs-varid'>pmfn</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>fn</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-436"></a> <span class='hs-varid'>cdir</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-437"></a> <span class='hs-varid'>createDir</span> <span class='hs-layout'>(</span><span class='hs-varid'>path</span> <span class='hs-varid'>cdir</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</></span> <span class='hs-varid'>fn</span><span class='hs-layout'>)</span>
|
||||
<a name="line-438"></a>
|
||||
<a name="line-439"></a>
|
||||
<a name="line-440"></a><a name="renameF"></a><span class='hs-definition'>renameF</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-441"></a><span class='hs-definition'>renameF</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>withErrorDialog</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-442"></a> <span class='hs-varid'>iname</span> <span class='hs-keyglyph'><-</span> <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-layout'>(</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-varid'>item</span><span class='hs-layout'>)</span>
|
||||
<a name="line-443"></a> <span class='hs-varid'>mfn</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>textInputDialog</span> <span class='hs-str'>"Enter new file name"</span> <span class='hs-layout'>(</span><span class='hs-varid'>iname</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ByteString</span><span class='hs-layout'>)</span>
|
||||
<a name="line-444"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>pmfn</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>parseFn</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>fromString</span> <span class='hs-varop'><$></span> <span class='hs-varid'>mfn</span>
|
||||
<a name="line-445"></a> <span class='hs-varid'>for_</span> <span class='hs-varid'>pmfn</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>fn</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-446"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>cmsg</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"Really rename \""</span> <span class='hs-varop'>++</span> <span class='hs-varid'>getFPasStr</span> <span class='hs-varid'>item</span>
|
||||
<a name="line-447"></a> <span class='hs-varop'>++</span> <span class='hs-str'>"\""</span> <span class='hs-varop'>++</span> <span class='hs-str'>" to \""</span>
|
||||
<a name="line-448"></a> <span class='hs-varop'>++</span> <span class='hs-varid'>toString</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-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>dirname</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-449"></a> <span class='hs-conid'>P</span><span class='hs-varop'>.</></span> <span class='hs-varid'>fn</span><span class='hs-layout'>)</span> <span class='hs-varop'>++</span> <span class='hs-str'>"\"?"</span>
|
||||
<a name="line-450"></a> <span class='hs-varid'>withConfirmationDialog</span> <span class='hs-varid'>cmsg</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-451"></a> <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-varid'>renameFile</span> <span class='hs-layout'>(</span><span class='hs-varid'>path</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</span>
|
||||
<a name="line-452"></a> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>dirname</span> <span class='hs-varop'>$</span> <span class='hs-varid'>path</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</></span> <span class='hs-varid'>fn</span><span class='hs-layout'>)</span>
|
||||
<a name="line-453"></a><span class='hs-definition'>renameF</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'>withErrorDialog</span>
|
||||
<a name="line-454"></a> <span class='hs-varop'>.</span> <span class='hs-varid'>throwIO</span> <span class='hs-varop'>$</span> <span class='hs-conid'>InvalidOperation</span>
|
||||
<a name="line-455"></a> <span class='hs-str'>"Operation not supported on multiple files"</span>
|
||||
<a name="line-456"></a>
|
||||
<a name="line-457"></a>
|
||||
<a name="line-458"></a>
|
||||
<a name="line-459"></a>
|
||||
<a name="line-460"></a><span class='hs-comment'>---- DIRECTORY TRAVERSAL AND FILE OPENING CALLBACKS ----</span>
|
||||
<a name="line-461"></a>
|
||||
<a name="line-462"></a>
|
||||
<a name="line-463"></a><a name="urlGoTo"></a><span class='hs-comment'>-- |Go to the url given at the 'urlBar' and visualize it in the given</span>
|
||||
<a name="line-464"></a><span class='hs-comment'>-- treeView.</span>
|
||||
<a name="line-465"></a><span class='hs-comment'>--</span>
|
||||
<a name="line-466"></a><span class='hs-comment'>-- If the url is invalid, does nothing.</span>
|
||||
<a name="line-467"></a><span class='hs-definition'>urlGoTo</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-468"></a><span class='hs-definition'>urlGoTo</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>withErrorDialog</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-469"></a> <span class='hs-varid'>fp</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>entryGetText</span> <span class='hs-layout'>(</span><span class='hs-varid'>urlBar</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
|
||||
<a name="line-470"></a> <span class='hs-varid'>forM_</span> <span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>parseAbs</span> <span class='hs-varid'>fp</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Maybe</span> <span class='hs-layout'>(</span><span class='hs-conid'>Path</span> <span class='hs-conid'>Abs</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>fp'</span> <span class='hs-keyglyph'>-></span>
|
||||
<a name="line-471"></a> <span class='hs-varid'>whenM</span> <span class='hs-layout'>(</span><span class='hs-varid'>canOpenDirectory</span> <span class='hs-varid'>fp'</span><span class='hs-layout'>)</span>
|
||||
<a name="line-472"></a> <span class='hs-layout'>(</span><span class='hs-varid'>goDir</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>=<<</span> <span class='hs-layout'>(</span><span class='hs-varid'>readFile</span> <span class='hs-varid'>getFileInfo</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fp'</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
|
||||
<a name="line-473"></a>
|
||||
<a name="line-474"></a>
|
||||
<a name="line-475"></a><a name="goHome"></a><span class='hs-definition'>goHome</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-476"></a><span class='hs-definition'>goHome</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>withErrorDialog</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-477"></a> <span class='hs-varid'>mhomedir</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getEnv</span> <span class='hs-str'>"HOME"</span>
|
||||
<a name="line-478"></a> <span class='hs-varid'>forM_</span> <span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>parseAbs</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>mhomedir</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Maybe</span> <span class='hs-layout'>(</span><span class='hs-conid'>Path</span> <span class='hs-conid'>Abs</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>fp'</span> <span class='hs-keyglyph'>-></span>
|
||||
<a name="line-479"></a> <span class='hs-varid'>whenM</span> <span class='hs-layout'>(</span><span class='hs-varid'>canOpenDirectory</span> <span class='hs-varid'>fp'</span><span class='hs-layout'>)</span>
|
||||
<a name="line-480"></a> <span class='hs-layout'>(</span><span class='hs-varid'>goDir</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>=<<</span> <span class='hs-layout'>(</span><span class='hs-varid'>readFile</span> <span class='hs-varid'>getFileInfo</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fp'</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
|
||||
<a name="line-481"></a>
|
||||
<a name="line-482"></a>
|
||||
<a name="line-483"></a><a name="execute"></a><span class='hs-comment'>-- |Execute a given file.</span>
|
||||
<a name="line-484"></a><span class='hs-definition'>execute</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-485"></a><span class='hs-definition'>execute</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>withErrorDialog</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-486"></a> <span class='hs-varid'>void</span> <span class='hs-varop'>$</span> <span class='hs-varid'>executeFile</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-conid'>[]</span>
|
||||
<a name="line-487"></a><span class='hs-definition'>execute</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'>withErrorDialog</span>
|
||||
<a name="line-488"></a> <span class='hs-varop'>.</span> <span class='hs-varid'>throwIO</span> <span class='hs-varop'>$</span> <span class='hs-conid'>InvalidOperation</span>
|
||||
<a name="line-489"></a> <span class='hs-str'>"Operation not supported on multiple files"</span>
|
||||
<a name="line-490"></a>
|
||||
<a name="line-491"></a>
|
||||
<a name="line-492"></a><a name="open"></a><span class='hs-comment'>-- |Supposed to be used with 'withRows'. Opens a file or directory.</span>
|
||||
<a name="line-493"></a><span class='hs-definition'>open</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-494"></a><span class='hs-definition'>open</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>item</span><span class='hs-keyglyph'>]</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>withErrorDialog</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-495"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>item</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-496"></a> <span class='hs-conid'>DirOrSym</span> <span class='hs-varid'>r</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-497"></a> <span class='hs-varid'>nv</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readFile</span> <span class='hs-varid'>getFileInfo</span> <span class='hs-varop'>$</span> <span class='hs-varid'>path</span> <span class='hs-varid'>r</span>
|
||||
<a name="line-498"></a> <span class='hs-varid'>goDir</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>nv</span>
|
||||
<a name="line-499"></a> <span class='hs-varid'>r</span> <span class='hs-keyglyph'>-></span>
|
||||
<a name="line-500"></a> <span class='hs-varid'>void</span> <span class='hs-varop'>$</span> <span class='hs-varid'>openFile</span> <span class='hs-varop'>.</span> <span class='hs-varid'>path</span> <span class='hs-varop'>$</span> <span class='hs-varid'>r</span>
|
||||
<a name="line-501"></a><span class='hs-comment'>-- this throws on the first error that occurs</span>
|
||||
<a name="line-502"></a><span class='hs-definition'>open</span> <span class='hs-layout'>(</span><span class='hs-conid'>FileLikeList</span> <span class='hs-varid'>fs</span><span class='hs-layout'>)</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>withErrorDialog</span> <span class='hs-varop'>$</span>
|
||||
<a name="line-503"></a> <span class='hs-varid'>forM_</span> <span class='hs-varid'>fs</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>f</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>void</span> <span class='hs-varop'>$</span> <span class='hs-varid'>openFile</span> <span class='hs-varop'>.</span> <span class='hs-varid'>path</span> <span class='hs-varop'>$</span> <span class='hs-varid'>f</span>
|
||||
<a name="line-504"></a><span class='hs-definition'>open</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'>withErrorDialog</span>
|
||||
<a name="line-505"></a> <span class='hs-varop'>.</span> <span class='hs-varid'>throwIO</span> <span class='hs-varop'>$</span> <span class='hs-conid'>InvalidOperation</span>
|
||||
<a name="line-506"></a> <span class='hs-str'>"Operation not supported on multiple files"</span>
|
||||
<a name="line-507"></a>
|
||||
<a name="line-508"></a>
|
||||
<a name="line-509"></a><a name="upDir"></a><span class='hs-comment'>-- |Go up one directory and visualize it in the treeView.</span>
|
||||
<a name="line-510"></a><span class='hs-definition'>upDir</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-511"></a><span class='hs-definition'>upDir</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>withErrorDialog</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-512"></a> <span class='hs-varid'>cdir</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-513"></a> <span class='hs-varid'>nv</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>goUp</span> <span class='hs-varid'>cdir</span>
|
||||
<a name="line-514"></a> <span class='hs-varid'>goDir</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>nv</span>
|
||||
<a name="line-515"></a>
|
||||
<a name="line-516"></a>
|
||||
<a name="line-517"></a><a name="goHistoryPrev"></a><span class='hs-comment'>-- |Go "back" in the history.</span>
|
||||
<a name="line-518"></a><span class='hs-definition'>goHistoryPrev</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-519"></a><span class='hs-definition'>goHistoryPrev</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-520"></a> <span class='hs-varid'>hs</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</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-521"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>hs</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-522"></a> <span class='hs-layout'>(</span><span class='hs-conid'>[]</span><span class='hs-layout'>,</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-523"></a> <span class='hs-layout'>(</span><span class='hs-varid'>x</span><span class='hs-conop'>:</span><span class='hs-varid'>xs</span><span class='hs-layout'>,</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-524"></a> <span class='hs-varid'>cdir</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-525"></a> <span class='hs-varid'>nv</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readFile</span> <span class='hs-varid'>getFileInfo</span> <span class='hs-varop'>$</span> <span class='hs-varid'>x</span>
|
||||
<a name="line-526"></a> <span class='hs-varid'>modifyTVarIO</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-527"></a> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-keyword'>_</span><span class='hs-layout'>,</span> <span class='hs-varid'>n</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-layout'>(</span><span class='hs-varid'>xs</span><span class='hs-layout'>,</span> <span class='hs-varid'>path</span> <span class='hs-varid'>cdir</span> <span class='hs-varop'>`addHistory`</span> <span class='hs-varid'>n</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
|
||||
<a name="line-528"></a> <span class='hs-varid'>refreshView'</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>nv</span>
|
||||
<a name="line-529"></a>
|
||||
<a name="line-530"></a>
|
||||
<a name="line-531"></a><a name="goHistoryNext"></a><span class='hs-comment'>-- |Go "forth" in the history.</span>
|
||||
<a name="line-532"></a><span class='hs-definition'>goHistoryNext</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-533"></a><span class='hs-definition'>goHistoryNext</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-534"></a> <span class='hs-varid'>hs</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</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-535"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>hs</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-536"></a> <span class='hs-layout'>(</span><span class='hs-keyword'>_</span><span class='hs-layout'>,</span> <span class='hs-conid'>[]</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-537"></a> <span class='hs-layout'>(</span><span class='hs-keyword'>_</span><span class='hs-layout'>,</span> <span class='hs-varid'>x</span><span class='hs-conop'>:</span><span class='hs-varid'>xs</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-538"></a> <span class='hs-varid'>cdir</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-539"></a> <span class='hs-varid'>nv</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readFile</span> <span class='hs-varid'>getFileInfo</span> <span class='hs-varop'>$</span> <span class='hs-varid'>x</span>
|
||||
<a name="line-540"></a> <span class='hs-varid'>modifyTVarIO</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-541"></a> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>p</span><span class='hs-layout'>,</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-layout'>(</span><span class='hs-varid'>path</span> <span class='hs-varid'>cdir</span> <span class='hs-varop'>`addHistory`</span> <span class='hs-varid'>p</span><span class='hs-layout'>,</span> <span class='hs-varid'>xs</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
|
||||
<a name="line-542"></a> <span class='hs-varid'>refreshView'</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>nv</span>
|
||||
<a name="line-543"></a>
|
||||
</pre></body>
|
||||
</html>
|
161
src/HSFM-GUI-Gtk-Data.html
Normal file
161
src/HSFM-GUI-Gtk-Data.html
Normal file
@ -0,0 +1,161 @@
|
||||
<?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/Data.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'>{-# OPTIONS_HADDOCK ignore-exports #-}</span>
|
||||
<a name="line-20"></a>
|
||||
<a name="line-21"></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'>Data</span> <span class='hs-keyword'>where</span>
|
||||
<a name="line-22"></a>
|
||||
<a name="line-23"></a>
|
||||
<a name="line-24"></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-25"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-26"></a> <span class='hs-conid'>MVar</span>
|
||||
<a name="line-27"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-28"></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'>STM</span>
|
||||
<a name="line-29"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-30"></a> <span class='hs-conid'>TVar</span>
|
||||
<a name="line-31"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-32"></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-varid'>hiding</span> <span class='hs-layout'>(</span><span class='hs-conid'>MenuBar</span><span class='hs-layout'>)</span>
|
||||
<a name="line-33"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HPath</span>
|
||||
<a name="line-34"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-35"></a> <span class='hs-conid'>Abs</span>
|
||||
<a name="line-36"></a> <span class='hs-layout'>,</span> <span class='hs-conid'>Path</span>
|
||||
<a name="line-37"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-38"></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>
|
||||
<a name="line-39"></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'>UtilTypes</span>
|
||||
<a name="line-40"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>INotify</span>
|
||||
<a name="line-41"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-42"></a> <span class='hs-conid'>INotify</span>
|
||||
<a name="line-43"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-44"></a>
|
||||
<a name="line-45"></a>
|
||||
<a name="line-46"></a>
|
||||
<a name="line-47"></a> <span class='hs-comment'>------------------</span>
|
||||
<a name="line-48"></a> <span class='hs-comment'>--[ Base Types ]--</span>
|
||||
<a name="line-49"></a> <span class='hs-comment'>------------------</span>
|
||||
<a name="line-50"></a>
|
||||
<a name="line-51"></a>
|
||||
<a name="line-52"></a><a name="MyGUI"></a><span class='hs-comment'>-- |Monolithic object passed to various GUI functions in order</span>
|
||||
<a name="line-53"></a><a name="MyGUI"></a><span class='hs-comment'>-- to keep the API stable and not alter the parameters too much.</span>
|
||||
<a name="line-54"></a><a name="MyGUI"></a><span class='hs-comment'>-- This only holds GUI widgets that are needed to be read during</span>
|
||||
<a name="line-55"></a><a name="MyGUI"></a><span class='hs-comment'>-- runtime.</span>
|
||||
<a name="line-56"></a><a name="MyGUI"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkMyGUI</span> <span class='hs-layout'>{</span>
|
||||
<a name="line-57"></a> <span class='hs-comment'>-- |main Window</span>
|
||||
<a name="line-58"></a> <span class='hs-varid'>rootWin</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Window</span>
|
||||
<a name="line-59"></a>
|
||||
<a name="line-60"></a> <span class='hs-comment'>-- widgets on the main window</span>
|
||||
<a name="line-61"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>menubar</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>MenuBar</span>
|
||||
<a name="line-62"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>statusBar</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Statusbar</span>
|
||||
<a name="line-63"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>clearStatusBar</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
|
||||
<a name="line-64"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>notebook</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Notebook</span>
|
||||
<a name="line-65"></a>
|
||||
<a name="line-66"></a> <span class='hs-comment'>-- other</span>
|
||||
<a name="line-67"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fprop</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>FilePropertyGrid</span>
|
||||
<a name="line-68"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>settings</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-layout'>(</span><span class='hs-conid'>TVar</span> <span class='hs-conid'>FMSettings</span><span class='hs-layout'>)</span>
|
||||
<a name="line-69"></a>
|
||||
<a name="line-70"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>operationBuffer</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-layout'>(</span><span class='hs-conid'>TVar</span> <span class='hs-conid'>FileOperation</span><span class='hs-layout'>)</span>
|
||||
<a name="line-71"></a><span class='hs-layout'>}</span>
|
||||
<a name="line-72"></a>
|
||||
<a name="line-73"></a>
|
||||
<a name="line-74"></a><a name="MyView"></a><span class='hs-comment'>-- |This describes the contents of the current view and is separated from MyGUI,</span>
|
||||
<a name="line-75"></a><a name="MyView"></a><span class='hs-comment'>-- because we might want to have multiple views.</span>
|
||||
<a name="line-76"></a><a name="MyView"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkMyView</span> <span class='hs-layout'>{</span>
|
||||
<a name="line-77"></a> <span class='hs-varid'>view</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-layout'>(</span><span class='hs-conid'>TVar</span> <span class='hs-conid'>FMView</span><span class='hs-layout'>)</span>
|
||||
<a name="line-78"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>cwd</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-layout'>(</span><span class='hs-conid'>MVar</span> <span class='hs-conid'>Item</span><span class='hs-layout'>)</span>
|
||||
<a name="line-79"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rawModel</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-layout'>(</span><span class='hs-conid'>TVar</span> <span class='hs-layout'>(</span><span class='hs-conid'>ListStore</span> <span class='hs-conid'>Item</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
|
||||
<a name="line-80"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>sortedModel</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-layout'>(</span><span class='hs-conid'>TVar</span> <span class='hs-layout'>(</span><span class='hs-conid'>TypedTreeModelSort</span> <span class='hs-conid'>Item</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
|
||||
<a name="line-81"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>filteredModel</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-layout'>(</span><span class='hs-conid'>TVar</span> <span class='hs-layout'>(</span><span class='hs-conid'>TypedTreeModelFilter</span> <span class='hs-conid'>Item</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
|
||||
<a name="line-82"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>inotify</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-layout'>(</span><span class='hs-conid'>MVar</span> <span class='hs-conid'>INotify</span><span class='hs-layout'>)</span>
|
||||
<a name="line-83"></a>
|
||||
<a name="line-84"></a> <span class='hs-comment'>-- the first part of the tuple represents the "go back"</span>
|
||||
<a name="line-85"></a> <span class='hs-comment'>-- the second part the "go forth" in the history</span>
|
||||
<a name="line-86"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>history</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-layout'>(</span><span class='hs-conid'>TVar</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>[</span><span class='hs-conid'>Path</span> <span class='hs-conid'>Abs</span><span class='hs-keyglyph'>]</span><span class='hs-layout'>,</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Path</span> <span class='hs-conid'>Abs</span><span class='hs-keyglyph'>]</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
|
||||
<a name="line-87"></a>
|
||||
<a name="line-88"></a> <span class='hs-comment'>-- sub-widgets</span>
|
||||
<a name="line-89"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>scroll</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ScrolledWindow</span>
|
||||
<a name="line-90"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>viewBox</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Box</span>
|
||||
<a name="line-91"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcmenu</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>RightClickMenu</span>
|
||||
<a name="line-92"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>upViewB</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
|
||||
<a name="line-93"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>homeViewB</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
|
||||
<a name="line-94"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>refreshViewB</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
|
||||
<a name="line-95"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>urlBar</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
|
||||
<a name="line-96"></a><span class='hs-layout'>}</span>
|
||||
<a name="line-97"></a>
|
||||
<a name="line-98"></a>
|
||||
<a name="line-99"></a><a name="MenuBar"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>MenuBar</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkMenuBar</span> <span class='hs-layout'>{</span>
|
||||
<a name="line-100"></a> <span class='hs-varid'>menubarFileQuit</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-101"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>menubarHelpAbout</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-102"></a><span class='hs-layout'>}</span>
|
||||
<a name="line-103"></a>
|
||||
<a name="line-104"></a><a name="RightClickMenu"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>RightClickMenu</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkRightClickMenu</span> <span class='hs-layout'>{</span>
|
||||
<a name="line-105"></a> <span class='hs-varid'>rcMenu</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Menu</span>
|
||||
<a name="line-106"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileOpen</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-107"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileExecute</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-108"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileNewRegFile</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-109"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileNewDir</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-110"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileCut</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-111"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileCopy</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-112"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileRename</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-113"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFilePaste</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-114"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileDelete</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-115"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileProperty</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-116"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileIconView</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-117"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileTreeView</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
|
||||
<a name="line-118"></a><span class='hs-layout'>}</span>
|
||||
<a name="line-119"></a>
|
||||
<a name="line-120"></a><a name="FilePropertyGrid"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>FilePropertyGrid</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkFilePropertyGrid</span> <span class='hs-layout'>{</span>
|
||||
<a name="line-121"></a> <span class='hs-varid'>fpropGrid</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Grid</span>
|
||||
<a name="line-122"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropFnEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
|
||||
<a name="line-123"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropLocEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
|
||||
<a name="line-124"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropTsEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
|
||||
<a name="line-125"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropModEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
|
||||
<a name="line-126"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropAcEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
|
||||
<a name="line-127"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropFTEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
|
||||
<a name="line-128"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropPermEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
|
||||
<a name="line-129"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropLDEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
|
||||
<a name="line-130"></a><span class='hs-layout'>}</span>
|
||||
<a name="line-131"></a>
|
||||
<a name="line-132"></a>
|
||||
<a name="line-133"></a><a name="FMSettings"></a><span class='hs-comment'>-- |FM-wide settings.</span>
|
||||
<a name="line-134"></a><a name="FMSettings"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>FMSettings</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkFMSettings</span> <span class='hs-layout'>{</span>
|
||||
<a name="line-135"></a> <span class='hs-varid'>showHidden</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Bool</span>
|
||||
<a name="line-136"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>isLazy</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Bool</span>
|
||||
<a name="line-137"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>iconSize</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Int</span>
|
||||
<a name="line-138"></a><span class='hs-layout'>}</span>
|
||||
<a name="line-139"></a>
|
||||
<a name="line-140"></a><a name="FMView"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>FMView</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>FMTreeView</span> <span class='hs-varop'>!</span><span class='hs-conid'>TreeView</span>
|
||||
<a name="line-141"></a> <span class='hs-keyglyph'>|</span> <span class='hs-conid'>FMIconView</span> <span class='hs-varop'>!</span><span class='hs-conid'>IconView</span>
|
||||
<a name="line-142"></a>
|
||||
<a name="line-143"></a><a name="Item"></a><span class='hs-keyword'>type</span> <span class='hs-conid'>Item</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>File</span> <span class='hs-conid'>FileInfo</span>
|
||||
<a name="line-144"></a>
|
||||
<a name="line-145"></a>
|
||||
<a name="line-146"></a>
|
||||
<a name="line-147"></a><a name="fmViewToContainer"></a><span class='hs-definition'>fmViewToContainer</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FMView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>Container</span>
|
||||
<a name="line-148"></a><span class='hs-definition'>fmViewToContainer</span> <span class='hs-layout'>(</span><span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>x</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>castToContainer</span> <span class='hs-varop'>.</span> <span class='hs-varid'>toGObject</span> <span class='hs-varop'>$</span> <span class='hs-varid'>x</span>
|
||||
<a name="line-149"></a><span class='hs-definition'>fmViewToContainer</span> <span class='hs-layout'>(</span><span class='hs-conid'>FMIconView</span> <span class='hs-varid'>x</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>castToContainer</span> <span class='hs-varop'>.</span> <span class='hs-varid'>toGObject</span> <span class='hs-varop'>$</span> <span class='hs-varid'>x</span>
|
||||
<a name="line-150"></a>
|
||||
</pre></body>
|
||||
</html>
|
313
src/HSFM-GUI-Gtk-Dialogs.html
Normal file
313
src/HSFM-GUI-Gtk-Dialogs.html
Normal file
@ -0,0 +1,313 @@
|
||||
<?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/Dialogs.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'>{-# OPTIONS_HADDOCK ignore-exports #-}</span>
|
||||
<a name="line-20"></a>
|
||||
<a name="line-21"></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'>Dialogs</span> <span class='hs-keyword'>where</span>
|
||||
<a name="line-22"></a>
|
||||
<a name="line-23"></a>
|
||||
<a name="line-24"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Exception</span>
|
||||
<a name="line-25"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-26"></a> <span class='hs-varid'>displayException</span>
|
||||
<a name="line-27"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>throwIO</span>
|
||||
<a name="line-28"></a> <span class='hs-layout'>,</span> <span class='hs-conid'>IOException</span>
|
||||
<a name="line-29"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>catches</span>
|
||||
<a name="line-30"></a> <span class='hs-layout'>,</span> <span class='hs-conid'>Handler</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span>
|
||||
<a name="line-31"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-32"></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-33"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-34"></a> <span class='hs-varid'>forM</span>
|
||||
<a name="line-35"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>when</span>
|
||||
<a name="line-36"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>void</span>
|
||||
<a name="line-37"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-38"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span>
|
||||
<a name="line-39"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-40"></a> <span class='hs-conid'>ByteString</span>
|
||||
<a name="line-41"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-42"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>BS</span>
|
||||
<a name="line-43"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span><span class='hs-varop'>.</span><span class='hs-conid'>UTF8</span>
|
||||
<a name="line-44"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-45"></a> <span class='hs-varid'>fromString</span>
|
||||
<a name="line-46"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-47"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Version</span>
|
||||
<a name="line-48"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-49"></a> <span class='hs-varid'>showVersion</span>
|
||||
<a name="line-50"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-51"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>Package</span>
|
||||
<a name="line-52"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-53"></a> <span class='hs-conid'>PackageIdentifier</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span>
|
||||
<a name="line-54"></a> <span class='hs-layout'>,</span> <span class='hs-conid'>PackageName</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span>
|
||||
<a name="line-55"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-56"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>PackageDescription</span>
|
||||
<a name="line-57"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-58"></a> <span class='hs-conid'>GenericPackageDescription</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span>
|
||||
<a name="line-59"></a> <span class='hs-layout'>,</span> <span class='hs-conid'>PackageDescription</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span>
|
||||
<a name="line-60"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-61"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>PackageDescription</span><span class='hs-varop'>.</span><span class='hs-conid'>Parse</span>
|
||||
<a name="line-62"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-63"></a> <span class='hs-varid'>readPackageDescription</span>
|
||||
<a name="line-64"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-65"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>Verbosity</span>
|
||||
<a name="line-66"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-67"></a> <span class='hs-varid'>silent</span>
|
||||
<a name="line-68"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-69"></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-70"></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-71"></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-72"></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>
|
||||
<a name="line-73"></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'>UtilTypes</span>
|
||||
<a name="line-74"></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'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>GlibString</span><span class='hs-conid'>()</span>
|
||||
<a name="line-75"></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-76"></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'>Errors</span>
|
||||
<a name="line-77"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Paths_hsfm</span>
|
||||
<a name="line-78"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-79"></a> <span class='hs-varid'>getDataFileName</span>
|
||||
<a name="line-80"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-81"></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-82"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-83"></a> <span class='hs-conid'>GlibString</span>
|
||||
<a name="line-84"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-85"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Posix</span><span class='hs-varop'>.</span><span class='hs-conid'>FilePath</span>
|
||||
<a name="line-86"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-87"></a> <span class='hs-varid'>takeFileName</span>
|
||||
<a name="line-88"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-89"></a>
|
||||
<a name="line-90"></a>
|
||||
<a name="line-91"></a>
|
||||
<a name="line-92"></a>
|
||||
<a name="line-93"></a>
|
||||
<a name="line-94"></a>
|
||||
<a name="line-95"></a>
|
||||
<a name="line-96"></a>
|
||||
<a name="line-97"></a> <span class='hs-comment'>---------------------</span>
|
||||
<a name="line-98"></a> <span class='hs-comment'>--[ Dialog popups ]--</span>
|
||||
<a name="line-99"></a> <span class='hs-comment'>---------------------</span>
|
||||
<a name="line-100"></a>
|
||||
<a name="line-101"></a>
|
||||
<a name="line-102"></a><a name="showErrorDialog"></a><span class='hs-comment'>-- |Pops up an error Dialog with the given String.</span>
|
||||
<a name="line-103"></a><span class='hs-definition'>showErrorDialog</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-104"></a><span class='hs-definition'>showErrorDialog</span> <span class='hs-varid'>str</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-105"></a> <span class='hs-varid'>errorDialog</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>messageDialogNew</span> <span class='hs-conid'>Nothing</span>
|
||||
<a name="line-106"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>DialogDestroyWithParent</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-107"></a> <span class='hs-conid'>MessageError</span>
|
||||
<a name="line-108"></a> <span class='hs-conid'>ButtonsClose</span>
|
||||
<a name="line-109"></a> <span class='hs-varid'>str</span>
|
||||
<a name="line-110"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogRun</span> <span class='hs-varid'>errorDialog</span>
|
||||
<a name="line-111"></a> <span class='hs-varid'>widgetDestroy</span> <span class='hs-varid'>errorDialog</span>
|
||||
<a name="line-112"></a>
|
||||
<a name="line-113"></a>
|
||||
<a name="line-114"></a><a name="showConfirmationDialog"></a><span class='hs-comment'>-- |Asks the user for confirmation and returns True/False.</span>
|
||||
<a name="line-115"></a><span class='hs-definition'>showConfirmationDialog</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span>
|
||||
<a name="line-116"></a><span class='hs-definition'>showConfirmationDialog</span> <span class='hs-varid'>str</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-117"></a> <span class='hs-varid'>confirmDialog</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>messageDialogNew</span> <span class='hs-conid'>Nothing</span>
|
||||
<a name="line-118"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>DialogDestroyWithParent</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-119"></a> <span class='hs-conid'>MessageQuestion</span>
|
||||
<a name="line-120"></a> <span class='hs-conid'>ButtonsYesNo</span>
|
||||
<a name="line-121"></a> <span class='hs-varid'>str</span>
|
||||
<a name="line-122"></a> <span class='hs-varid'>rID</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogRun</span> <span class='hs-varid'>confirmDialog</span>
|
||||
<a name="line-123"></a> <span class='hs-varid'>widgetDestroy</span> <span class='hs-varid'>confirmDialog</span>
|
||||
<a name="line-124"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>rID</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-125"></a> <span class='hs-conid'>ResponseYes</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-126"></a> <span class='hs-conid'>ResponseNo</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-conid'>False</span>
|
||||
<a name="line-127"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-conid'>False</span>
|
||||
<a name="line-128"></a>
|
||||
<a name="line-129"></a>
|
||||
<a name="line-130"></a><a name="fileCollisionDialog"></a><span class='hs-definition'>fileCollisionDialog</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ByteString</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>FCollisonMode</span><span class='hs-layout'>)</span>
|
||||
<a name="line-131"></a><span class='hs-definition'>fileCollisionDialog</span> <span class='hs-varid'>t</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-132"></a> <span class='hs-varid'>chooserDialog</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>messageDialogNew</span> <span class='hs-conid'>Nothing</span>
|
||||
<a name="line-133"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>DialogDestroyWithParent</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-134"></a> <span class='hs-conid'>MessageQuestion</span>
|
||||
<a name="line-135"></a> <span class='hs-conid'>ButtonsNone</span>
|
||||
<a name="line-136"></a> <span class='hs-layout'>(</span><span class='hs-varid'>fromString</span> <span class='hs-str'>"Target \""</span> <span class='hs-varop'>`</span><span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-varid'>append</span><span class='hs-varop'>`</span>
|
||||
<a name="line-137"></a> <span class='hs-varid'>t</span> <span class='hs-varop'>`</span><span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-varid'>append</span><span class='hs-varop'>`</span>
|
||||
<a name="line-138"></a> <span class='hs-varid'>fromString</span> <span class='hs-str'>"\" exists, how to proceed?"</span><span class='hs-layout'>)</span>
|
||||
<a name="line-139"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogAddButton</span> <span class='hs-varid'>chooserDialog</span> <span class='hs-str'>"Cancel"</span> <span class='hs-layout'>(</span><span class='hs-conid'>ResponseUser</span> <span class='hs-num'>0</span><span class='hs-layout'>)</span>
|
||||
<a name="line-140"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogAddButton</span> <span class='hs-varid'>chooserDialog</span> <span class='hs-str'>"Overwrite"</span> <span class='hs-layout'>(</span><span class='hs-conid'>ResponseUser</span> <span class='hs-num'>1</span><span class='hs-layout'>)</span>
|
||||
<a name="line-141"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogAddButton</span> <span class='hs-varid'>chooserDialog</span> <span class='hs-str'>"Overwrite all"</span> <span class='hs-layout'>(</span><span class='hs-conid'>ResponseUser</span> <span class='hs-num'>2</span><span class='hs-layout'>)</span>
|
||||
<a name="line-142"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogAddButton</span> <span class='hs-varid'>chooserDialog</span> <span class='hs-str'>"Skip"</span> <span class='hs-layout'>(</span><span class='hs-conid'>ResponseUser</span> <span class='hs-num'>3</span><span class='hs-layout'>)</span>
|
||||
<a name="line-143"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogAddButton</span> <span class='hs-varid'>chooserDialog</span> <span class='hs-str'>"Rename"</span> <span class='hs-layout'>(</span><span class='hs-conid'>ResponseUser</span> <span class='hs-num'>4</span><span class='hs-layout'>)</span>
|
||||
<a name="line-144"></a> <span class='hs-varid'>rID</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogRun</span> <span class='hs-varid'>chooserDialog</span>
|
||||
<a name="line-145"></a> <span class='hs-varid'>widgetDestroy</span> <span class='hs-varid'>chooserDialog</span>
|
||||
<a name="line-146"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>rID</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-147"></a> <span class='hs-conid'>ResponseUser</span> <span class='hs-num'>0</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-conid'>Nothing</span>
|
||||
<a name="line-148"></a> <span class='hs-conid'>ResponseUser</span> <span class='hs-num'>1</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-conid'>Overwrite</span><span class='hs-layout'>)</span>
|
||||
<a name="line-149"></a> <span class='hs-conid'>ResponseUser</span> <span class='hs-num'>2</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-conid'>OverwriteAll</span><span class='hs-layout'>)</span>
|
||||
<a name="line-150"></a> <span class='hs-conid'>ResponseUser</span> <span class='hs-num'>3</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-conid'>Skip</span><span class='hs-layout'>)</span>
|
||||
<a name="line-151"></a> <span class='hs-conid'>ResponseUser</span> <span class='hs-num'>4</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-152"></a> <span class='hs-varid'>mfn</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>textInputDialog</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromString</span> <span class='hs-str'>"Enter new name"</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>takeFileName</span> <span class='hs-varid'>t</span><span class='hs-layout'>)</span>
|
||||
<a name="line-153"></a> <span class='hs-varid'>forM</span> <span class='hs-varid'>mfn</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>fn</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-154"></a> <span class='hs-varid'>pfn</span> <span class='hs-keyglyph'><-</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>parseFn</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromString</span> <span class='hs-varid'>fn</span><span class='hs-layout'>)</span>
|
||||
<a name="line-155"></a> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-conid'>Rename</span> <span class='hs-varid'>pfn</span>
|
||||
<a name="line-156"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>throwIO</span> <span class='hs-conid'>UnknownDialogButton</span>
|
||||
<a name="line-157"></a>
|
||||
<a name="line-158"></a>
|
||||
<a name="line-159"></a><a name="renameDialog"></a><span class='hs-definition'>renameDialog</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ByteString</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>FCollisonMode</span><span class='hs-layout'>)</span>
|
||||
<a name="line-160"></a><span class='hs-definition'>renameDialog</span> <span class='hs-varid'>t</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-161"></a> <span class='hs-varid'>chooserDialog</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>messageDialogNew</span> <span class='hs-conid'>Nothing</span>
|
||||
<a name="line-162"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>DialogDestroyWithParent</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-163"></a> <span class='hs-conid'>MessageQuestion</span>
|
||||
<a name="line-164"></a> <span class='hs-conid'>ButtonsNone</span>
|
||||
<a name="line-165"></a> <span class='hs-layout'>(</span><span class='hs-varid'>fromString</span> <span class='hs-str'>"Target \""</span> <span class='hs-varop'>`</span><span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-varid'>append</span><span class='hs-varop'>`</span>
|
||||
<a name="line-166"></a> <span class='hs-varid'>t</span> <span class='hs-varop'>`</span><span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-varid'>append</span><span class='hs-varop'>`</span>
|
||||
<a name="line-167"></a> <span class='hs-varid'>fromString</span> <span class='hs-str'>"\" exists, how to proceed?"</span><span class='hs-layout'>)</span>
|
||||
<a name="line-168"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogAddButton</span> <span class='hs-varid'>chooserDialog</span> <span class='hs-str'>"Cancel"</span> <span class='hs-layout'>(</span><span class='hs-conid'>ResponseUser</span> <span class='hs-num'>0</span><span class='hs-layout'>)</span>
|
||||
<a name="line-169"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogAddButton</span> <span class='hs-varid'>chooserDialog</span> <span class='hs-str'>"Skip"</span> <span class='hs-layout'>(</span><span class='hs-conid'>ResponseUser</span> <span class='hs-num'>1</span><span class='hs-layout'>)</span>
|
||||
<a name="line-170"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogAddButton</span> <span class='hs-varid'>chooserDialog</span> <span class='hs-str'>"Rename"</span> <span class='hs-layout'>(</span><span class='hs-conid'>ResponseUser</span> <span class='hs-num'>2</span><span class='hs-layout'>)</span>
|
||||
<a name="line-171"></a> <span class='hs-varid'>rID</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogRun</span> <span class='hs-varid'>chooserDialog</span>
|
||||
<a name="line-172"></a> <span class='hs-varid'>widgetDestroy</span> <span class='hs-varid'>chooserDialog</span>
|
||||
<a name="line-173"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>rID</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-174"></a> <span class='hs-conid'>ResponseUser</span> <span class='hs-num'>0</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-conid'>Nothing</span>
|
||||
<a name="line-175"></a> <span class='hs-conid'>ResponseUser</span> <span class='hs-num'>1</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-conid'>Skip</span><span class='hs-layout'>)</span>
|
||||
<a name="line-176"></a> <span class='hs-conid'>ResponseUser</span> <span class='hs-num'>2</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-177"></a> <span class='hs-varid'>mfn</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>textInputDialog</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromString</span> <span class='hs-str'>"Enter new name"</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>takeFileName</span> <span class='hs-varid'>t</span><span class='hs-layout'>)</span>
|
||||
<a name="line-178"></a> <span class='hs-varid'>forM</span> <span class='hs-varid'>mfn</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>fn</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-179"></a> <span class='hs-varid'>pfn</span> <span class='hs-keyglyph'><-</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>parseFn</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromString</span> <span class='hs-varid'>fn</span><span class='hs-layout'>)</span>
|
||||
<a name="line-180"></a> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-conid'>Rename</span> <span class='hs-varid'>pfn</span>
|
||||
<a name="line-181"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>throwIO</span> <span class='hs-conid'>UnknownDialogButton</span>
|
||||
<a name="line-182"></a>
|
||||
<a name="line-183"></a>
|
||||
<a name="line-184"></a><a name="showAboutDialog"></a><span class='hs-comment'>-- |Shows the about dialog from the help menu.</span>
|
||||
<a name="line-185"></a><span class='hs-definition'>showAboutDialog</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-186"></a><span class='hs-definition'>showAboutDialog</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-187"></a> <span class='hs-varid'>ad</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>aboutDialogNew</span>
|
||||
<a name="line-188"></a> <span class='hs-varid'>lstr</span> <span class='hs-keyglyph'><-</span> <span class='hs-conid'>Prelude</span><span class='hs-varop'>.</span><span class='hs-varid'>readFile</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>getDataFileName</span> <span class='hs-str'>"LICENSE"</span>
|
||||
<a name="line-189"></a> <span class='hs-varid'>hsfmicon</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>pixbufNewFromFile</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>getDataFileName</span> <span class='hs-str'>"data/Gtk/icons/hsfm.png"</span>
|
||||
<a name="line-190"></a> <span class='hs-varid'>pdesc</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>packageDescription</span>
|
||||
<a name="line-191"></a> <span class='hs-layout'>(</span><span class='hs-varid'>readPackageDescription</span> <span class='hs-varid'>silent</span>
|
||||
<a name="line-192"></a> <span class='hs-varop'>=<<</span> <span class='hs-varid'>getDataFileName</span> <span class='hs-str'>"hsfm.cabal"</span><span class='hs-layout'>)</span>
|
||||
<a name="line-193"></a> <span class='hs-varid'>set</span> <span class='hs-varid'>ad</span>
|
||||
<a name="line-194"></a> <span class='hs-keyglyph'>[</span> <span class='hs-varid'>aboutDialogProgramName</span> <span class='hs-conop'>:=</span> <span class='hs-layout'>(</span><span class='hs-varid'>unPackageName</span> <span class='hs-varop'>.</span> <span class='hs-varid'>pkgName</span> <span class='hs-varop'>.</span> <span class='hs-varid'>package</span><span class='hs-layout'>)</span> <span class='hs-varid'>pdesc</span>
|
||||
<a name="line-195"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>aboutDialogName</span> <span class='hs-conop'>:=</span> <span class='hs-layout'>(</span><span class='hs-varid'>unPackageName</span> <span class='hs-varop'>.</span> <span class='hs-varid'>pkgName</span> <span class='hs-varop'>.</span> <span class='hs-varid'>package</span><span class='hs-layout'>)</span> <span class='hs-varid'>pdesc</span>
|
||||
<a name="line-196"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>aboutDialogVersion</span> <span class='hs-conop'>:=</span> <span class='hs-layout'>(</span><span class='hs-varid'>showVersion</span> <span class='hs-varop'>.</span> <span class='hs-varid'>pkgVersion</span> <span class='hs-varop'>.</span> <span class='hs-varid'>package</span><span class='hs-layout'>)</span> <span class='hs-varid'>pdesc</span>
|
||||
<a name="line-197"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>aboutDialogCopyright</span> <span class='hs-conop'>:=</span> <span class='hs-varid'>copyright</span> <span class='hs-varid'>pdesc</span>
|
||||
<a name="line-198"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>aboutDialogComments</span> <span class='hs-conop'>:=</span> <span class='hs-varid'>description</span> <span class='hs-varid'>pdesc</span>
|
||||
<a name="line-199"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>aboutDialogLicense</span> <span class='hs-conop'>:=</span> <span class='hs-conid'>Just</span> <span class='hs-varid'>lstr</span>
|
||||
<a name="line-200"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>aboutDialogWebsite</span> <span class='hs-conop'>:=</span> <span class='hs-varid'>homepage</span> <span class='hs-varid'>pdesc</span>
|
||||
<a name="line-201"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>aboutDialogAuthors</span> <span class='hs-conop'>:=</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>author</span> <span class='hs-varid'>pdesc</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-202"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>aboutDialogLogo</span> <span class='hs-conop'>:=</span> <span class='hs-conid'>Just</span> <span class='hs-varid'>hsfmicon</span>
|
||||
<a name="line-203"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>aboutDialogWrapLicense</span> <span class='hs-conop'>:=</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-204"></a> <span class='hs-keyglyph'>]</span>
|
||||
<a name="line-205"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogRun</span> <span class='hs-varid'>ad</span>
|
||||
<a name="line-206"></a> <span class='hs-varid'>widgetDestroy</span> <span class='hs-varid'>ad</span>
|
||||
<a name="line-207"></a>
|
||||
<a name="line-208"></a>
|
||||
<a name="line-209"></a><a name="withConfirmationDialog"></a><span class='hs-comment'>-- |Carry out an IO action with a confirmation dialog.</span>
|
||||
<a name="line-210"></a><span class='hs-comment'>-- If the user presses "No", then do nothing.</span>
|
||||
<a name="line-211"></a><span class='hs-definition'>withConfirmationDialog</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-212"></a><span class='hs-definition'>withConfirmationDialog</span> <span class='hs-varid'>str</span> <span class='hs-varid'>io</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-213"></a> <span class='hs-varid'>run</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>showConfirmationDialog</span> <span class='hs-varid'>str</span>
|
||||
<a name="line-214"></a> <span class='hs-varid'>when</span> <span class='hs-varid'>run</span> <span class='hs-varid'>io</span>
|
||||
<a name="line-215"></a>
|
||||
<a name="line-216"></a>
|
||||
<a name="line-217"></a><a name="withErrorDialog"></a><span class='hs-comment'>-- |Execute the given IO action. If the action throws exceptions,</span>
|
||||
<a name="line-218"></a><span class='hs-comment'>-- visualize them via 'showErrorDialog'.</span>
|
||||
<a name="line-219"></a><span class='hs-definition'>withErrorDialog</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-varid'>a</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-220"></a><span class='hs-definition'>withErrorDialog</span> <span class='hs-varid'>io</span> <span class='hs-keyglyph'>=</span>
|
||||
<a name="line-221"></a> <span class='hs-varid'>catches</span> <span class='hs-layout'>(</span><span class='hs-varid'>void</span> <span class='hs-varid'>io</span><span class='hs-layout'>)</span>
|
||||
<a name="line-222"></a> <span class='hs-keyglyph'>[</span> <span class='hs-conid'>Handler</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>e</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>showErrorDialog</span>
|
||||
<a name="line-223"></a> <span class='hs-varop'>$</span> <span class='hs-varid'>displayException</span> <span class='hs-layout'>(</span><span class='hs-varid'>e</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IOException</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
|
||||
<a name="line-224"></a> <span class='hs-layout'>,</span> <span class='hs-conid'>Handler</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>e</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>showErrorDialog</span>
|
||||
<a name="line-225"></a> <span class='hs-varop'>$</span> <span class='hs-varid'>displayException</span> <span class='hs-layout'>(</span><span class='hs-varid'>e</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>HPathIOException</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
|
||||
<a name="line-226"></a> <span class='hs-keyglyph'>]</span>
|
||||
<a name="line-227"></a>
|
||||
<a name="line-228"></a>
|
||||
<a name="line-229"></a><a name="textInputDialog"></a><span class='hs-comment'>-- |Asks the user which directory copy mode he wants via dialog popup</span>
|
||||
<a name="line-230"></a><span class='hs-comment'>-- and returns 'DirCopyMode'.</span>
|
||||
<a name="line-231"></a><span class='hs-definition'>textInputDialog</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GlibString</span> <span class='hs-varid'>string</span>
|
||||
<a name="line-232"></a> <span class='hs-keyglyph'>=></span> <span class='hs-varid'>string</span> <span class='hs-comment'>-- ^ window title</span>
|
||||
<a name="line-233"></a> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>string</span> <span class='hs-comment'>-- ^ initial text in input widget</span>
|
||||
<a name="line-234"></a> <span class='hs-keyglyph'>-></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>
|
||||
<a name="line-235"></a><span class='hs-definition'>textInputDialog</span> <span class='hs-varid'>title</span> <span class='hs-varid'>inittext</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-236"></a> <span class='hs-varid'>chooserDialog</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>messageDialogNew</span> <span class='hs-conid'>Nothing</span>
|
||||
<a name="line-237"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>DialogDestroyWithParent</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-238"></a> <span class='hs-conid'>MessageQuestion</span>
|
||||
<a name="line-239"></a> <span class='hs-conid'>ButtonsNone</span>
|
||||
<a name="line-240"></a> <span class='hs-varid'>title</span>
|
||||
<a name="line-241"></a> <span class='hs-varid'>entry</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>entryNew</span>
|
||||
<a name="line-242"></a> <span class='hs-varid'>entrySetText</span> <span class='hs-varid'>entry</span> <span class='hs-varid'>inittext</span>
|
||||
<a name="line-243"></a> <span class='hs-varid'>cbox</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogGetActionArea</span> <span class='hs-varid'>chooserDialog</span>
|
||||
<a name="line-244"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogAddButton</span> <span class='hs-varid'>chooserDialog</span> <span class='hs-str'>"Ok"</span> <span class='hs-layout'>(</span><span class='hs-conid'>ResponseUser</span> <span class='hs-num'>0</span><span class='hs-layout'>)</span>
|
||||
<a name="line-245"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogAddButton</span> <span class='hs-varid'>chooserDialog</span> <span class='hs-str'>"Cancel"</span> <span class='hs-layout'>(</span><span class='hs-conid'>ResponseUser</span> <span class='hs-num'>1</span><span class='hs-layout'>)</span>
|
||||
<a name="line-246"></a> <span class='hs-varid'>boxPackStart</span> <span class='hs-layout'>(</span><span class='hs-varid'>castToBox</span> <span class='hs-varid'>cbox</span><span class='hs-layout'>)</span> <span class='hs-varid'>entry</span> <span class='hs-conid'>PackNatural</span> <span class='hs-num'>5</span>
|
||||
<a name="line-247"></a> <span class='hs-varid'>widgetShowAll</span> <span class='hs-varid'>chooserDialog</span>
|
||||
<a name="line-248"></a> <span class='hs-varid'>rID</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogRun</span> <span class='hs-varid'>chooserDialog</span>
|
||||
<a name="line-249"></a> <span class='hs-varid'>ret</span> <span class='hs-keyglyph'><-</span> <span class='hs-keyword'>case</span> <span class='hs-varid'>rID</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-250"></a> <span class='hs-comment'>-- TODO: make this more safe</span>
|
||||
<a name="line-251"></a> <span class='hs-conid'>ResponseUser</span> <span class='hs-num'>0</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>Just</span> <span class='hs-varop'><$></span> <span class='hs-varid'>entryGetText</span> <span class='hs-varid'>entry</span>
|
||||
<a name="line-252"></a> <span class='hs-conid'>ResponseUser</span> <span class='hs-num'>1</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-conid'>Nothing</span>
|
||||
<a name="line-253"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>throwIO</span> <span class='hs-conid'>UnknownDialogButton</span>
|
||||
<a name="line-254"></a> <span class='hs-varid'>widgetDestroy</span> <span class='hs-varid'>chooserDialog</span>
|
||||
<a name="line-255"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>ret</span>
|
||||
<a name="line-256"></a>
|
||||
<a name="line-257"></a>
|
||||
<a name="line-258"></a><a name="showFilePropertyDialog"></a><span class='hs-definition'>showFilePropertyDialog</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-259"></a><span class='hs-definition'>showFilePropertyDialog</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>item</span><span class='hs-keyglyph'>]</span> <span class='hs-varid'>mygui</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-260"></a> <span class='hs-varid'>dialog</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>messageDialogNew</span> <span class='hs-conid'>Nothing</span>
|
||||
<a name="line-261"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>DialogDestroyWithParent</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-262"></a> <span class='hs-conid'>MessageInfo</span>
|
||||
<a name="line-263"></a> <span class='hs-conid'>ButtonsNone</span>
|
||||
<a name="line-264"></a> <span class='hs-str'>"File Properties"</span>
|
||||
<a name="line-265"></a>
|
||||
<a name="line-266"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>fprop'</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fprop</span> <span class='hs-varid'>mygui</span>
|
||||
<a name="line-267"></a> <span class='hs-varid'>grid</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fpropGrid</span> <span class='hs-varid'>fprop'</span>
|
||||
<a name="line-268"></a>
|
||||
<a name="line-269"></a> <span class='hs-varid'>entrySetText</span> <span class='hs-layout'>(</span><span class='hs-varid'>fpropFnEntry</span> <span class='hs-varid'>fprop'</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>maybe</span> <span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-varid'>empty</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>fromRel</span>
|
||||
<a name="line-270"></a> <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-271"></a> <span class='hs-varid'>entrySetText</span> <span class='hs-layout'>(</span><span class='hs-varid'>fpropLocEntry</span> <span class='hs-varid'>fprop'</span><span class='hs-layout'>)</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-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>dirname</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-272"></a> <span class='hs-varid'>entrySetText</span> <span class='hs-layout'>(</span><span class='hs-varid'>fpropTsEntry</span> <span class='hs-varid'>fprop'</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromFreeVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>show</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fileSize</span><span class='hs-layout'>)</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</span>
|
||||
<a name="line-273"></a> <span class='hs-varid'>entrySetText</span> <span class='hs-layout'>(</span><span class='hs-varid'>fpropModEntry</span> <span class='hs-varid'>fprop'</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>packModTime</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</span>
|
||||
<a name="line-274"></a> <span class='hs-varid'>entrySetText</span> <span class='hs-layout'>(</span><span class='hs-varid'>fpropAcEntry</span> <span class='hs-varid'>fprop'</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>packAccessTime</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</span>
|
||||
<a name="line-275"></a> <span class='hs-varid'>entrySetText</span> <span class='hs-layout'>(</span><span class='hs-varid'>fpropFTEntry</span> <span class='hs-varid'>fprop'</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>packFileType</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</span>
|
||||
<a name="line-276"></a> <span class='hs-varid'>entrySetText</span> <span class='hs-layout'>(</span><span class='hs-varid'>fpropPermEntry</span> <span class='hs-varid'>fprop'</span><span class='hs-layout'>)</span>
|
||||
<a name="line-277"></a> <span class='hs-layout'>(</span><span class='hs-varid'>tail</span> <span class='hs-varop'>$</span> <span class='hs-varid'>packPermissions</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- throw away the filetype part</span>
|
||||
<a name="line-278"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>packLinkDestination</span> <span class='hs-varid'>item</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-279"></a> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>dest</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-280"></a> <span class='hs-varid'>widgetSetSensitive</span> <span class='hs-layout'>(</span><span class='hs-varid'>fpropLDEntry</span> <span class='hs-varid'>fprop'</span><span class='hs-layout'>)</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-281"></a> <span class='hs-varid'>entrySetText</span> <span class='hs-layout'>(</span><span class='hs-varid'>fpropLDEntry</span> <span class='hs-varid'>fprop'</span><span class='hs-layout'>)</span> <span class='hs-varid'>dest</span>
|
||||
<a name="line-282"></a> <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-283"></a> <span class='hs-varid'>widgetSetSensitive</span> <span class='hs-layout'>(</span><span class='hs-varid'>fpropLDEntry</span> <span class='hs-varid'>fprop'</span><span class='hs-layout'>)</span> <span class='hs-conid'>False</span>
|
||||
<a name="line-284"></a> <span class='hs-varid'>entrySetText</span> <span class='hs-layout'>(</span><span class='hs-varid'>fpropLDEntry</span> <span class='hs-varid'>fprop'</span><span class='hs-layout'>)</span> <span class='hs-str'>"( Not a symlink )"</span>
|
||||
<a name="line-285"></a>
|
||||
<a name="line-286"></a>
|
||||
<a name="line-287"></a> <span class='hs-varid'>cbox</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogGetActionArea</span> <span class='hs-varid'>dialog</span>
|
||||
<a name="line-288"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogAddButton</span> <span class='hs-varid'>dialog</span> <span class='hs-str'>"Ok"</span> <span class='hs-layout'>(</span><span class='hs-conid'>ResponseUser</span> <span class='hs-num'>0</span><span class='hs-layout'>)</span>
|
||||
<a name="line-289"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogAddButton</span> <span class='hs-varid'>dialog</span> <span class='hs-str'>"Cancel"</span> <span class='hs-layout'>(</span><span class='hs-conid'>ResponseUser</span> <span class='hs-num'>1</span><span class='hs-layout'>)</span>
|
||||
<a name="line-290"></a> <span class='hs-varid'>boxPackStart</span> <span class='hs-layout'>(</span><span class='hs-varid'>castToBox</span> <span class='hs-varid'>cbox</span><span class='hs-layout'>)</span> <span class='hs-varid'>grid</span> <span class='hs-conid'>PackNatural</span> <span class='hs-num'>5</span>
|
||||
<a name="line-291"></a>
|
||||
<a name="line-292"></a> <span class='hs-varid'>widgetShowAll</span> <span class='hs-varid'>dialog</span>
|
||||
<a name="line-293"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>dialogRun</span> <span class='hs-varid'>dialog</span>
|
||||
<a name="line-294"></a>
|
||||
<a name="line-295"></a> <span class='hs-comment'>-- make sure our grid does not get destroyed</span>
|
||||
<a name="line-296"></a> <span class='hs-varid'>containerRemove</span> <span class='hs-layout'>(</span><span class='hs-varid'>castToBox</span> <span class='hs-varid'>cbox</span><span class='hs-layout'>)</span> <span class='hs-varid'>grid</span>
|
||||
<a name="line-297"></a>
|
||||
<a name="line-298"></a> <span class='hs-varid'>widgetDestroy</span> <span class='hs-varid'>dialog</span>
|
||||
<a name="line-299"></a>
|
||||
<a name="line-300"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-301"></a><span class='hs-definition'>showFilePropertyDialog</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-302"></a>
|
||||
</pre></body>
|
||||
</html>
|
45
src/HSFM-GUI-Gtk-Errors.html
Normal file
45
src/HSFM-GUI-Gtk-Errors.html
Normal file
@ -0,0 +1,45 @@
|
||||
<?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/Errors.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'>{-# OPTIONS_HADDOCK ignore-exports #-}</span>
|
||||
<a name="line-20"></a>
|
||||
<a name="line-21"></a><span class='hs-comment'>-- |Provides error handling for Gtk.</span>
|
||||
<a name="line-22"></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'>Errors</span> <span class='hs-keyword'>where</span>
|
||||
<a name="line-23"></a>
|
||||
<a name="line-24"></a>
|
||||
<a name="line-25"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Exception</span>
|
||||
<a name="line-26"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Typeable</span>
|
||||
<a name="line-27"></a>
|
||||
<a name="line-28"></a>
|
||||
<a name="line-29"></a>
|
||||
<a name="line-30"></a><a name="GtkException"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>GtkException</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>UnknownDialogButton</span>
|
||||
<a name="line-31"></a> <span class='hs-keyword'>deriving</span> <span class='hs-layout'>(</span><span class='hs-conid'>Show</span><span class='hs-layout'>,</span> <span class='hs-conid'>Typeable</span><span class='hs-layout'>)</span>
|
||||
<a name="line-32"></a>
|
||||
<a name="line-33"></a><a name="instance%20Exception%20GtkException"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>Exception</span> <span class='hs-conid'>GtkException</span>
|
||||
<a name="line-34"></a>
|
||||
</pre></body>
|
||||
</html>
|
82
src/HSFM-GUI-Gtk-Icons.html
Normal file
82
src/HSFM-GUI-Gtk-Icons.html
Normal file
@ -0,0 +1,82 @@
|
||||
<?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/Icons.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'>{-# OPTIONS_HADDOCK ignore-exports #-}</span>
|
||||
<a name="line-20"></a>
|
||||
<a name="line-21"></a><span class='hs-comment'>-- |Module for Gtk icon handling.</span>
|
||||
<a name="line-22"></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'>Icons</span> <span class='hs-keyword'>where</span>
|
||||
<a name="line-23"></a>
|
||||
<a name="line-24"></a>
|
||||
<a name="line-25"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Maybe</span>
|
||||
<a name="line-26"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-27"></a> <span class='hs-varid'>fromJust</span>
|
||||
<a name="line-28"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-29"></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-30"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Paths_hsfm</span>
|
||||
<a name="line-31"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-32"></a> <span class='hs-varid'>getDataFileName</span>
|
||||
<a name="line-33"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-34"></a>
|
||||
<a name="line-35"></a>
|
||||
<a name="line-36"></a><a name="GtkIcon"></a><span class='hs-comment'>-- |Icon type we use in our GUI.</span>
|
||||
<a name="line-37"></a><a name="GtkIcon"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>GtkIcon</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>IFolder</span>
|
||||
<a name="line-38"></a> <span class='hs-keyglyph'>|</span> <span class='hs-conid'>SymL</span>
|
||||
<a name="line-39"></a> <span class='hs-keyglyph'>|</span> <span class='hs-conid'>IFile</span>
|
||||
<a name="line-40"></a> <span class='hs-keyglyph'>|</span> <span class='hs-conid'>IError</span>
|
||||
<a name="line-41"></a>
|
||||
<a name="line-42"></a>
|
||||
<a name="line-43"></a><a name="getIcon"></a><span class='hs-comment'>-- |Gets an icon from the default icon theme and falls back to project-icons</span>
|
||||
<a name="line-44"></a><span class='hs-comment'>-- if not found. The requested icon size is not guaranteed.</span>
|
||||
<a name="line-45"></a><span class='hs-definition'>getIcon</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GtkIcon</span> <span class='hs-comment'>-- ^ icon we want</span>
|
||||
<a name="line-46"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IconTheme</span> <span class='hs-comment'>-- ^ which icon theme to get the icon from</span>
|
||||
<a name="line-47"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>Int</span> <span class='hs-comment'>-- ^ requested icon size</span>
|
||||
<a name="line-48"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Pixbuf</span>
|
||||
<a name="line-49"></a><span class='hs-definition'>getIcon</span> <span class='hs-varid'>icon</span> <span class='hs-varid'>itheme</span> <span class='hs-varid'>isize</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-50"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>iname</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>iconToStr</span> <span class='hs-varid'>icon</span>
|
||||
<a name="line-51"></a> <span class='hs-varid'>hasicon</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>iconThemeHasIcon</span> <span class='hs-varid'>itheme</span> <span class='hs-varid'>iname</span>
|
||||
<a name="line-52"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>hasicon</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-53"></a> <span class='hs-conid'>True</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>fromJust</span> <span class='hs-varop'><$></span> <span class='hs-varid'>iconThemeLoadIcon</span> <span class='hs-varid'>itheme</span> <span class='hs-varid'>iname</span> <span class='hs-varid'>isize</span>
|
||||
<a name="line-54"></a> <span class='hs-conid'>IconLookupUseBuiltin</span>
|
||||
<a name="line-55"></a> <span class='hs-conid'>False</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>pixbufNewFromFile</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>getDataFileName</span>
|
||||
<a name="line-56"></a> <span class='hs-layout'>(</span><span class='hs-str'>"data/Gtk/icons/"</span> <span class='hs-varop'>++</span> <span class='hs-varid'>iname</span> <span class='hs-varop'>++</span> <span class='hs-str'>".png"</span><span class='hs-layout'>)</span>
|
||||
<a name="line-57"></a> <span class='hs-keyword'>where</span>
|
||||
<a name="line-58"></a> <span class='hs-varid'>iconToStr</span> <span class='hs-conid'>IFolder</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"gtk-directory"</span>
|
||||
<a name="line-59"></a> <span class='hs-varid'>iconToStr</span> <span class='hs-conid'>IFile</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"gtk-file"</span>
|
||||
<a name="line-60"></a> <span class='hs-varid'>iconToStr</span> <span class='hs-conid'>IError</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"error"</span>
|
||||
<a name="line-61"></a> <span class='hs-varid'>iconToStr</span> <span class='hs-conid'>SymL</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"emblem-symbolic-link"</span>
|
||||
<a name="line-62"></a>
|
||||
<a name="line-63"></a>
|
||||
<a name="line-64"></a><a name="getSymlinkIcon"></a><span class='hs-definition'>getSymlinkIcon</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GtkIcon</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IconTheme</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>Int</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Pixbuf</span>
|
||||
<a name="line-65"></a><span class='hs-definition'>getSymlinkIcon</span> <span class='hs-varid'>icon</span> <span class='hs-varid'>itheme</span> <span class='hs-varid'>isize</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-66"></a> <span class='hs-varid'>pix</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>pixbufCopy</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>getIcon</span> <span class='hs-varid'>icon</span> <span class='hs-varid'>itheme</span> <span class='hs-varid'>isize</span>
|
||||
<a name="line-67"></a> <span class='hs-varid'>sympix</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getIcon</span> <span class='hs-conid'>SymL</span> <span class='hs-varid'>itheme</span> <span class='hs-varid'>isize</span>
|
||||
<a name="line-68"></a>
|
||||
<a name="line-69"></a> <span class='hs-varid'>pixbufScale</span> <span class='hs-varid'>sympix</span> <span class='hs-varid'>pix</span> <span class='hs-num'>0</span> <span class='hs-num'>0</span> <span class='hs-num'>12</span> <span class='hs-num'>12</span> <span class='hs-num'>0</span> <span class='hs-num'>0</span> <span class='hs-num'>0.5</span> <span class='hs-num'>0.5</span> <span class='hs-conid'>InterpNearest</span>
|
||||
<a name="line-70"></a>
|
||||
<a name="line-71"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>pix</span>
|
||||
</pre></body>
|
||||
</html>
|
108
src/HSFM-GUI-Gtk-MyGUI.html
Normal file
108
src/HSFM-GUI-Gtk-MyGUI.html
Normal file
@ -0,0 +1,108 @@
|
||||
<?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/MyGUI.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 RecordWildCards #-}</span>
|
||||
<a name="line-20"></a><span class='hs-comment'>{-# OPTIONS_HADDOCK ignore-exports #-}</span>
|
||||
<a name="line-21"></a>
|
||||
<a name="line-22"></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'>MyGUI</span> <span class='hs-keyword'>where</span>
|
||||
<a name="line-23"></a>
|
||||
<a name="line-24"></a>
|
||||
<a name="line-25"></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'>STM</span>
|
||||
<a name="line-26"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-27"></a> <span class='hs-varid'>newTVarIO</span>
|
||||
<a name="line-28"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-29"></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-30"></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'>UtilTypes</span>
|
||||
<a name="line-31"></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-32"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Paths_hsfm</span>
|
||||
<a name="line-33"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-34"></a> <span class='hs-varid'>getDataFileName</span>
|
||||
<a name="line-35"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-36"></a>
|
||||
<a name="line-37"></a>
|
||||
<a name="line-38"></a>
|
||||
<a name="line-39"></a>
|
||||
<a name="line-40"></a> <span class='hs-comment'>-------------------------</span>
|
||||
<a name="line-41"></a> <span class='hs-comment'>--[ Main Window Setup ]--</span>
|
||||
<a name="line-42"></a> <span class='hs-comment'>-------------------------</span>
|
||||
<a name="line-43"></a>
|
||||
<a name="line-44"></a>
|
||||
<a name="line-45"></a><a name="createMyGUI"></a><span class='hs-comment'>-- |Set up the GUI. This only creates the permanent widgets.</span>
|
||||
<a name="line-46"></a><span class='hs-definition'>createMyGUI</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>MyGUI</span>
|
||||
<a name="line-47"></a><span class='hs-definition'>createMyGUI</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-48"></a>
|
||||
<a name="line-49"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>settings'</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkFMSettings</span> <span class='hs-conid'>False</span> <span class='hs-conid'>True</span> <span class='hs-num'>24</span>
|
||||
<a name="line-50"></a> <span class='hs-varid'>settings</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-varid'>settings'</span>
|
||||
<a name="line-51"></a> <span class='hs-varid'>operationBuffer</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-conid'>None</span>
|
||||
<a name="line-52"></a>
|
||||
<a name="line-53"></a> <span class='hs-varid'>builder</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderNew</span>
|
||||
<a name="line-54"></a> <span class='hs-varid'>builderAddFromFile</span> <span class='hs-varid'>builder</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>getDataFileName</span> <span class='hs-str'>"data/Gtk/builder.xml"</span>
|
||||
<a name="line-55"></a>
|
||||
<a name="line-56"></a> <span class='hs-comment'>-- get the pre-defined gui widgets</span>
|
||||
<a name="line-57"></a> <span class='hs-varid'>rootWin</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToWindow</span>
|
||||
<a name="line-58"></a> <span class='hs-str'>"rootWin"</span>
|
||||
<a name="line-59"></a> <span class='hs-varid'>menubarFileQuit</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-60"></a> <span class='hs-str'>"menubarFileQuit"</span>
|
||||
<a name="line-61"></a> <span class='hs-varid'>menubarHelpAbout</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-62"></a> <span class='hs-str'>"menubarHelpAbout"</span>
|
||||
<a name="line-63"></a> <span class='hs-varid'>statusBar</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToStatusbar</span>
|
||||
<a name="line-64"></a> <span class='hs-str'>"statusBar"</span>
|
||||
<a name="line-65"></a> <span class='hs-varid'>clearStatusBar</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToButton</span>
|
||||
<a name="line-66"></a> <span class='hs-str'>"clearStatusBar"</span>
|
||||
<a name="line-67"></a> <span class='hs-varid'>fpropGrid</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToGrid</span>
|
||||
<a name="line-68"></a> <span class='hs-str'>"fpropGrid"</span>
|
||||
<a name="line-69"></a> <span class='hs-varid'>fpropFnEntry</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToEntry</span>
|
||||
<a name="line-70"></a> <span class='hs-str'>"fpropFnEntry"</span>
|
||||
<a name="line-71"></a> <span class='hs-varid'>fpropLocEntry</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToEntry</span>
|
||||
<a name="line-72"></a> <span class='hs-str'>"fpropLocEntry"</span>
|
||||
<a name="line-73"></a> <span class='hs-varid'>fpropTsEntry</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToEntry</span>
|
||||
<a name="line-74"></a> <span class='hs-str'>"fpropTsEntry"</span>
|
||||
<a name="line-75"></a> <span class='hs-varid'>fpropModEntry</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToEntry</span>
|
||||
<a name="line-76"></a> <span class='hs-str'>"fpropModEntry"</span>
|
||||
<a name="line-77"></a> <span class='hs-varid'>fpropAcEntry</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToEntry</span>
|
||||
<a name="line-78"></a> <span class='hs-str'>"fpropAcEntry"</span>
|
||||
<a name="line-79"></a> <span class='hs-varid'>fpropFTEntry</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToEntry</span>
|
||||
<a name="line-80"></a> <span class='hs-str'>"fpropFTEntry"</span>
|
||||
<a name="line-81"></a> <span class='hs-varid'>fpropPermEntry</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToEntry</span>
|
||||
<a name="line-82"></a> <span class='hs-str'>"fpropPermEntry"</span>
|
||||
<a name="line-83"></a> <span class='hs-varid'>fpropLDEntry</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToEntry</span>
|
||||
<a name="line-84"></a> <span class='hs-str'>"fpropLDEntry"</span>
|
||||
<a name="line-85"></a> <span class='hs-varid'>notebook</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToNotebook</span>
|
||||
<a name="line-86"></a> <span class='hs-str'>"notebook"</span>
|
||||
<a name="line-87"></a>
|
||||
<a name="line-88"></a> <span class='hs-comment'>-- construct the gui object</span>
|
||||
<a name="line-89"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>menubar</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkMenuBar</span> <span class='hs-layout'>{</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>}</span>
|
||||
<a name="line-90"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>fprop</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkFilePropertyGrid</span> <span class='hs-layout'>{</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>}</span>
|
||||
<a name="line-91"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>mygui</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkMyGUI</span> <span class='hs-layout'>{</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>}</span>
|
||||
<a name="line-92"></a>
|
||||
<a name="line-93"></a> <span class='hs-comment'>-- sets the default icon</span>
|
||||
<a name="line-94"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>windowSetDefaultIconFromFile</span>
|
||||
<a name="line-95"></a> <span class='hs-varop'>=<<</span> <span class='hs-varid'>getDataFileName</span> <span class='hs-str'>"data/Gtk/icons/hsfm.png"</span>
|
||||
<a name="line-96"></a>
|
||||
<a name="line-97"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>mygui</span>
|
||||
</pre></body>
|
||||
</html>
|
467
src/HSFM-GUI-Gtk-MyView.html
Normal file
467
src/HSFM-GUI-Gtk-MyView.html
Normal file
@ -0,0 +1,467 @@
|
||||
<?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/MyView.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>
|
||||
<a name="line-20"></a>
|
||||
<a name="line-21"></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'>MyView</span> <span class='hs-keyword'>where</span>
|
||||
<a name="line-22"></a>
|
||||
<a name="line-23"></a>
|
||||
<a name="line-24"></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-25"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-26"></a> <span class='hs-varid'>newEmptyMVar</span>
|
||||
<a name="line-27"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>putMVar</span>
|
||||
<a name="line-28"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>tryTakeMVar</span>
|
||||
<a name="line-29"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-30"></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'>STM</span>
|
||||
<a name="line-31"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-32"></a> <span class='hs-varid'>newTVarIO</span>
|
||||
<a name="line-33"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>readTVarIO</span>
|
||||
<a name="line-34"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-35"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Exception</span>
|
||||
<a name="line-36"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-37"></a> <span class='hs-varid'>try</span>
|
||||
<a name="line-38"></a> <span class='hs-layout'>,</span> <span class='hs-conid'>SomeException</span>
|
||||
<a name="line-39"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-40"></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-41"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-42"></a> <span class='hs-varid'>forM_</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-keyword'>qualified</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>BS</span>
|
||||
<a name="line-45"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Foldable</span>
|
||||
<a name="line-46"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-47"></a> <span class='hs-varid'>for_</span>
|
||||
<a name="line-48"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-49"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Maybe</span>
|
||||
<a name="line-50"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-51"></a> <span class='hs-varid'>catMaybes</span>
|
||||
<a name="line-52"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fromJust</span>
|
||||
<a name="line-53"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-54"></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-55"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-56"></a> <span class='hs-varid'>canOpenDirectory</span>
|
||||
<a name="line-57"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-58"></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-59"></a><span class='hs-keyword'>import</span> <span class='hs-comment'>{-# SOURCE #-}</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-layout'>(</span><span class='hs-varid'>setViewCallbacks</span><span class='hs-layout'>)</span>
|
||||
<a name="line-60"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HPath</span>
|
||||
<a name="line-61"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-62"></a> <span class='hs-conid'>Path</span>
|
||||
<a name="line-63"></a> <span class='hs-layout'>,</span> <span class='hs-conid'>Abs</span>
|
||||
<a name="line-64"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-65"></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-66"></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>
|
||||
<a name="line-67"></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'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>GlibString</span><span class='hs-conid'>()</span>
|
||||
<a name="line-68"></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-69"></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'>Icons</span>
|
||||
<a name="line-70"></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'>Utils</span>
|
||||
<a name="line-71"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>Utils</span><span class='hs-varop'>.</span><span class='hs-conid'>IO</span>
|
||||
<a name="line-72"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Paths_hsfm</span>
|
||||
<a name="line-73"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-74"></a> <span class='hs-varid'>getDataFileName</span>
|
||||
<a name="line-75"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-76"></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>
|
||||
<a name="line-77"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>INotify</span>
|
||||
<a name="line-78"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-79"></a> <span class='hs-varid'>addWatch</span>
|
||||
<a name="line-80"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>initINotify</span>
|
||||
<a name="line-81"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>killINotify</span>
|
||||
<a name="line-82"></a> <span class='hs-layout'>,</span> <span class='hs-conid'>EventVariety</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span>
|
||||
<a name="line-83"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-84"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Posix</span><span class='hs-varop'>.</span><span class='hs-conid'>FilePath</span>
|
||||
<a name="line-85"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-86"></a> <span class='hs-varid'>pathSeparator</span>
|
||||
<a name="line-87"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>hiddenFile</span>
|
||||
<a name="line-88"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-89"></a>
|
||||
<a name="line-90"></a>
|
||||
<a name="line-91"></a>
|
||||
<a name="line-92"></a><a name="newTab"></a><span class='hs-comment'>-- |Creates a new tab with its own view and refreshes the view.</span>
|
||||
<a name="line-93"></a><span class='hs-definition'>newTab</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FMView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>Path</span> <span class='hs-conid'>Abs</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>MyView</span>
|
||||
<a name="line-94"></a><span class='hs-definition'>newTab</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>iofmv</span> <span class='hs-varid'>path</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-95"></a> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>createMyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>iofmv</span>
|
||||
<a name="line-96"></a> <span class='hs-varid'>i</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>notebookAppendPage</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-layout'>(</span><span class='hs-varid'>viewBox</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
|
||||
<a name="line-97"></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-varid'>path</span><span class='hs-layout'>)</span> <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-varid'>path</span><span class='hs-layout'>)</span>
|
||||
<a name="line-98"></a> <span class='hs-varid'>mpage</span> <span class='hs-keyglyph'><-</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'>i</span>
|
||||
<a name="line-99"></a> <span class='hs-varid'>forM_</span> <span class='hs-varid'>mpage</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>page</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>notebookSetTabReorderable</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-100"></a> <span class='hs-varid'>page</span>
|
||||
<a name="line-101"></a> <span class='hs-conid'>True</span>
|
||||
<a name="line-102"></a> <span class='hs-varid'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>path</span><span class='hs-layout'>)</span>
|
||||
<a name="line-103"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-104"></a>
|
||||
<a name="line-105"></a>
|
||||
<a name="line-106"></a><a name="createMyView"></a><span class='hs-comment'>-- |Constructs the initial MyView object with a few dummy models.</span>
|
||||
<a name="line-107"></a><span class='hs-comment'>-- It also initializes the callbacks.</span>
|
||||
<a name="line-108"></a><span class='hs-definition'>createMyView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span>
|
||||
<a name="line-109"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FMView</span>
|
||||
<a name="line-110"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>MyView</span>
|
||||
<a name="line-111"></a><span class='hs-definition'>createMyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>iofmv</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-112"></a> <span class='hs-varid'>inotify</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>newEmptyMVar</span>
|
||||
<a name="line-113"></a> <span class='hs-varid'>history</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-layout'>(</span><span class='hs-conid'>[]</span><span class='hs-layout'>,</span><span class='hs-conid'>[]</span><span class='hs-layout'>)</span>
|
||||
<a name="line-114"></a>
|
||||
<a name="line-115"></a> <span class='hs-varid'>builder</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderNew</span>
|
||||
<a name="line-116"></a> <span class='hs-varid'>builderAddFromFile</span> <span class='hs-varid'>builder</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>getDataFileName</span> <span class='hs-str'>"data/Gtk/builder.xml"</span>
|
||||
<a name="line-117"></a>
|
||||
<a name="line-118"></a> <span class='hs-comment'>-- create dummy models, so we don't have to use MVar</span>
|
||||
<a name="line-119"></a> <span class='hs-varid'>rawModel</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>listStoreNew</span> <span class='hs-conid'>[]</span>
|
||||
<a name="line-120"></a> <span class='hs-varid'>filteredModel</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-varop'>=<<</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>x</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>treeModelFilterNew</span> <span class='hs-varid'>x</span> <span class='hs-conid'>[]</span><span class='hs-layout'>)</span>
|
||||
<a name="line-121"></a> <span class='hs-varop'>=<<</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varid'>rawModel</span>
|
||||
<a name="line-122"></a> <span class='hs-varid'>sortedModel</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>treeModelSortNewWithModel</span>
|
||||
<a name="line-123"></a> <span class='hs-varop'>=<<</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varid'>filteredModel</span>
|
||||
<a name="line-124"></a> <span class='hs-varid'>cwd</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>newEmptyMVar</span>
|
||||
<a name="line-125"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>iofmv</span>
|
||||
<a name="line-126"></a> <span class='hs-varid'>view</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-varid'>view'</span>
|
||||
<a name="line-127"></a>
|
||||
<a name="line-128"></a> <span class='hs-varid'>urlBar</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToEntry</span>
|
||||
<a name="line-129"></a> <span class='hs-str'>"urlBar"</span>
|
||||
<a name="line-130"></a> <span class='hs-varid'>rcMenu</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToMenu</span>
|
||||
<a name="line-131"></a> <span class='hs-str'>"rcMenu"</span>
|
||||
<a name="line-132"></a> <span class='hs-varid'>rcFileOpen</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-133"></a> <span class='hs-str'>"rcFileOpen"</span>
|
||||
<a name="line-134"></a> <span class='hs-varid'>rcFileExecute</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-135"></a> <span class='hs-str'>"rcFileExecute"</span>
|
||||
<a name="line-136"></a> <span class='hs-varid'>rcFileNewRegFile</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-137"></a> <span class='hs-str'>"rcFileNewRegFile"</span>
|
||||
<a name="line-138"></a> <span class='hs-varid'>rcFileNewDir</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-139"></a> <span class='hs-str'>"rcFileNewDir"</span>
|
||||
<a name="line-140"></a> <span class='hs-varid'>rcFileCut</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-141"></a> <span class='hs-str'>"rcFileCut"</span>
|
||||
<a name="line-142"></a> <span class='hs-varid'>rcFileCopy</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-143"></a> <span class='hs-str'>"rcFileCopy"</span>
|
||||
<a name="line-144"></a> <span class='hs-varid'>rcFileRename</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-145"></a> <span class='hs-str'>"rcFileRename"</span>
|
||||
<a name="line-146"></a> <span class='hs-varid'>rcFilePaste</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-147"></a> <span class='hs-str'>"rcFilePaste"</span>
|
||||
<a name="line-148"></a> <span class='hs-varid'>rcFileDelete</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-149"></a> <span class='hs-str'>"rcFileDelete"</span>
|
||||
<a name="line-150"></a> <span class='hs-varid'>rcFileProperty</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-151"></a> <span class='hs-str'>"rcFileProperty"</span>
|
||||
<a name="line-152"></a> <span class='hs-varid'>rcFileIconView</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-153"></a> <span class='hs-str'>"rcFileIconView"</span>
|
||||
<a name="line-154"></a> <span class='hs-varid'>rcFileTreeView</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
|
||||
<a name="line-155"></a> <span class='hs-str'>"rcFileTreeView"</span>
|
||||
<a name="line-156"></a> <span class='hs-varid'>upViewB</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToButton</span>
|
||||
<a name="line-157"></a> <span class='hs-str'>"upViewB"</span>
|
||||
<a name="line-158"></a> <span class='hs-varid'>homeViewB</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToButton</span>
|
||||
<a name="line-159"></a> <span class='hs-str'>"homeViewB"</span>
|
||||
<a name="line-160"></a> <span class='hs-varid'>refreshViewB</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToButton</span>
|
||||
<a name="line-161"></a> <span class='hs-str'>"refreshViewB"</span>
|
||||
<a name="line-162"></a> <span class='hs-varid'>scroll</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToScrolledWindow</span>
|
||||
<a name="line-163"></a> <span class='hs-str'>"mainScroll"</span>
|
||||
<a name="line-164"></a> <span class='hs-varid'>viewBox</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToBox</span>
|
||||
<a name="line-165"></a> <span class='hs-str'>"viewBox"</span>
|
||||
<a name="line-166"></a>
|
||||
<a name="line-167"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>rcmenu</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkRightClickMenu</span> <span class='hs-layout'>{</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>}</span>
|
||||
<a name="line-168"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkMyView</span> <span class='hs-layout'>{</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>}</span>
|
||||
<a name="line-169"></a>
|
||||
<a name="line-170"></a> <span class='hs-comment'>-- set the bindings</span>
|
||||
<a name="line-171"></a> <span class='hs-varid'>setViewCallbacks</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-172"></a>
|
||||
<a name="line-173"></a> <span class='hs-comment'>-- add the treeview to the scroll container</span>
|
||||
<a name="line-174"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>oview</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fmViewToContainer</span> <span class='hs-varid'>view'</span>
|
||||
<a name="line-175"></a> <span class='hs-varid'>containerAdd</span> <span class='hs-varid'>scroll</span> <span class='hs-varid'>oview</span>
|
||||
<a name="line-176"></a>
|
||||
<a name="line-177"></a> <span class='hs-varid'>widgetShowAll</span> <span class='hs-varid'>viewBox</span>
|
||||
<a name="line-178"></a>
|
||||
<a name="line-179"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-180"></a>
|
||||
<a name="line-181"></a>
|
||||
<a name="line-182"></a><a name="switchView"></a><span class='hs-comment'>-- |Switch the existing view in `MyView` with the one that the</span>
|
||||
<a name="line-183"></a><span class='hs-comment'>-- io action returns.</span>
|
||||
<a name="line-184"></a><span class='hs-definition'>switchView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FMView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-185"></a><span class='hs-definition'>switchView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>iofmv</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-186"></a> <span class='hs-varid'>cwd</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-187"></a>
|
||||
<a name="line-188"></a> <span class='hs-varid'>oldpage</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>destroyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-189"></a>
|
||||
<a name="line-190"></a> <span class='hs-comment'>-- create new view and tab page where the previous one was</span>
|
||||
<a name="line-191"></a> <span class='hs-varid'>nview</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>createMyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>iofmv</span>
|
||||
<a name="line-192"></a> <span class='hs-varid'>newpage</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>notebookInsertPage</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-layout'>(</span><span class='hs-varid'>viewBox</span> <span class='hs-varid'>nview</span><span class='hs-layout'>)</span>
|
||||
<a name="line-193"></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'>cwd</span><span class='hs-layout'>)</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>fromRel</span>
|
||||
<a name="line-194"></a> <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'>cwd</span><span class='hs-layout'>)</span> <span class='hs-varid'>oldpage</span>
|
||||
<a name="line-195"></a> <span class='hs-varid'>notebookSetCurrentPage</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'>newpage</span>
|
||||
<a name="line-196"></a>
|
||||
<a name="line-197"></a> <span class='hs-varid'>refreshView'</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>nview</span> <span class='hs-varid'>cwd</span>
|
||||
<a name="line-198"></a>
|
||||
<a name="line-199"></a>
|
||||
<a name="line-200"></a><a name="destroyView"></a><span class='hs-comment'>-- |Destroys the current view by disconnecting the watcher</span>
|
||||
<a name="line-201"></a><span class='hs-comment'>-- and destroying the active FMView container.</span>
|
||||
<a name="line-202"></a><span class='hs-comment'>--</span>
|
||||
<a name="line-203"></a><span class='hs-comment'>-- Everything that needs to be done in order to forget about a</span>
|
||||
<a name="line-204"></a><span class='hs-comment'>-- view needs to be done here.</span>
|
||||
<a name="line-205"></a><span class='hs-comment'>--</span>
|
||||
<a name="line-206"></a><span class='hs-comment'>-- Returns the page in the tab list this view corresponds to.</span>
|
||||
<a name="line-207"></a><span class='hs-definition'>destroyView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Int</span>
|
||||
<a name="line-208"></a><span class='hs-definition'>destroyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-209"></a> <span class='hs-comment'>-- disconnect watcher</span>
|
||||
<a name="line-210"></a> <span class='hs-varid'>mi</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>tryTakeMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>inotify</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
|
||||
<a name="line-211"></a> <span class='hs-varid'>for_</span> <span class='hs-varid'>mi</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>i</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>killINotify</span> <span class='hs-varid'>i</span>
|
||||
<a name="line-212"></a>
|
||||
<a name="line-213"></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-214"></a>
|
||||
<a name="line-215"></a> <span class='hs-comment'>-- destroy old view and tab page</span>
|
||||
<a name="line-216"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>view</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-217"></a> <span class='hs-varid'>widgetDestroy</span> <span class='hs-layout'>(</span><span class='hs-varid'>fmViewToContainer</span> <span class='hs-varid'>view'</span><span class='hs-layout'>)</span>
|
||||
<a name="line-218"></a> <span class='hs-varid'>notebookRemovePage</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-219"></a>
|
||||
<a name="line-220"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>page</span>
|
||||
<a name="line-221"></a>
|
||||
<a name="line-222"></a>
|
||||
<a name="line-223"></a><a name="createIconView"></a><span class='hs-comment'>-- |Createss an IconView.</span>
|
||||
<a name="line-224"></a><span class='hs-definition'>createIconView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FMView</span>
|
||||
<a name="line-225"></a><span class='hs-definition'>createIconView</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-226"></a> <span class='hs-varid'>iconv</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>iconViewNew</span>
|
||||
<a name="line-227"></a> <span class='hs-varid'>iconViewSetSelectionMode</span> <span class='hs-varid'>iconv</span> <span class='hs-conid'>SelectionMultiple</span>
|
||||
<a name="line-228"></a> <span class='hs-varid'>iconViewSetColumns</span> <span class='hs-varid'>iconv</span> <span class='hs-layout'>(</span><span class='hs-comment'>-</span><span class='hs-num'>1</span><span class='hs-layout'>)</span>
|
||||
<a name="line-229"></a> <span class='hs-varid'>iconViewSetSpacing</span> <span class='hs-varid'>iconv</span> <span class='hs-num'>2</span>
|
||||
<a name="line-230"></a> <span class='hs-varid'>iconViewSetMargin</span> <span class='hs-varid'>iconv</span> <span class='hs-num'>0</span>
|
||||
<a name="line-231"></a> <span class='hs-comment'>{- set iconv [ iconViewItemOrientation := OrientationHorizontal ] -}</span>
|
||||
<a name="line-232"></a> <span class='hs-comment'>{- set iconv [ iconViewOrientation := OrientationHorizontal ] -}</span>
|
||||
<a name="line-233"></a>
|
||||
<a name="line-234"></a> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-conid'>FMIconView</span> <span class='hs-varid'>iconv</span>
|
||||
<a name="line-235"></a>
|
||||
<a name="line-236"></a>
|
||||
<a name="line-237"></a><a name="createTreeView"></a><span class='hs-comment'>-- |Creates a TreeView.</span>
|
||||
<a name="line-238"></a><span class='hs-definition'>createTreeView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FMView</span>
|
||||
<a name="line-239"></a><span class='hs-definition'>createTreeView</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-240"></a> <span class='hs-comment'>-- create the final view</span>
|
||||
<a name="line-241"></a> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewNew</span>
|
||||
<a name="line-242"></a> <span class='hs-comment'>-- set selection mode</span>
|
||||
<a name="line-243"></a> <span class='hs-varid'>tvs</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewGetSelection</span> <span class='hs-varid'>treeView</span>
|
||||
<a name="line-244"></a> <span class='hs-varid'>treeSelectionSetMode</span> <span class='hs-varid'>tvs</span> <span class='hs-conid'>SelectionMultiple</span>
|
||||
<a name="line-245"></a>
|
||||
<a name="line-246"></a> <span class='hs-comment'>-- set drag and drop</span>
|
||||
<a name="line-247"></a> <span class='hs-varid'>tl</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>targetListNew</span>
|
||||
<a name="line-248"></a> <span class='hs-varid'>atom</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>atomNew</span> <span class='hs-layout'>(</span><span class='hs-str'>"HSFM"</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
|
||||
<a name="line-249"></a> <span class='hs-varid'>targetListAdd</span> <span class='hs-varid'>tl</span> <span class='hs-varid'>atom</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>TargetSameApp</span><span class='hs-keyglyph'>]</span> <span class='hs-num'>0</span>
|
||||
<a name="line-250"></a> <span class='hs-varid'>treeViewEnableModelDragDest</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>tl</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>ActionCopy</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-251"></a> <span class='hs-varid'>treeViewEnableModelDragSource</span> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Button1</span><span class='hs-keyglyph'>]</span> <span class='hs-varid'>tl</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>ActionCopy</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-252"></a>
|
||||
<a name="line-253"></a> <span class='hs-comment'>-- create final tree model columns</span>
|
||||
<a name="line-254"></a> <span class='hs-varid'>renderTxt</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>cellRendererTextNew</span>
|
||||
<a name="line-255"></a> <span class='hs-varid'>renderPix</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>cellRendererPixbufNew</span>
|
||||
<a name="line-256"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>ct</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cellText</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>CellRendererTextClass</span> <span class='hs-varid'>cr</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=></span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>cr</span> <span class='hs-conid'>String</span>
|
||||
<a name="line-257"></a> <span class='hs-varid'>cp</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cellPixbuf</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>CellRendererPixbufClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=></span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Pixbuf</span>
|
||||
<a name="line-258"></a>
|
||||
<a name="line-259"></a> <span class='hs-comment'>-- filename column</span>
|
||||
<a name="line-260"></a> <span class='hs-varid'>cF</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewColumnNew</span>
|
||||
<a name="line-261"></a> <span class='hs-varid'>treeViewColumnSetTitle</span> <span class='hs-varid'>cF</span> <span class='hs-layout'>(</span><span class='hs-str'>"Filename"</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
|
||||
<a name="line-262"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cF</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-263"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cF</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-264"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cF</span> <span class='hs-num'>1</span>
|
||||
<a name="line-265"></a> <span class='hs-varid'>cellLayoutPackStart</span> <span class='hs-varid'>cF</span> <span class='hs-varid'>renderPix</span> <span class='hs-conid'>False</span>
|
||||
<a name="line-266"></a> <span class='hs-varid'>cellLayoutPackStart</span> <span class='hs-varid'>cF</span> <span class='hs-varid'>renderTxt</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-267"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewAppendColumn</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>cF</span>
|
||||
<a name="line-268"></a> <span class='hs-varid'>cellLayoutAddColumnAttribute</span> <span class='hs-varid'>cF</span> <span class='hs-varid'>renderPix</span> <span class='hs-varid'>cp</span> <span class='hs-varop'>$</span> <span class='hs-varid'>makeColumnIdPixbuf</span> <span class='hs-num'>0</span>
|
||||
<a name="line-269"></a> <span class='hs-varid'>cellLayoutAddColumnAttribute</span> <span class='hs-varid'>cF</span> <span class='hs-varid'>renderTxt</span> <span class='hs-varid'>ct</span> <span class='hs-varop'>$</span> <span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>1</span>
|
||||
<a name="line-270"></a>
|
||||
<a name="line-271"></a> <span class='hs-comment'>-- date column</span>
|
||||
<a name="line-272"></a> <span class='hs-varid'>cMD</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewColumnNew</span>
|
||||
<a name="line-273"></a> <span class='hs-varid'>treeViewColumnSetTitle</span> <span class='hs-varid'>cMD</span> <span class='hs-layout'>(</span><span class='hs-str'>"Date"</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
|
||||
<a name="line-274"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cMD</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-275"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cMD</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-276"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cMD</span> <span class='hs-num'>2</span>
|
||||
<a name="line-277"></a> <span class='hs-varid'>cellLayoutPackStart</span> <span class='hs-varid'>cMD</span> <span class='hs-varid'>renderTxt</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-278"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewAppendColumn</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>cMD</span>
|
||||
<a name="line-279"></a> <span class='hs-varid'>cellLayoutAddColumnAttribute</span> <span class='hs-varid'>cMD</span> <span class='hs-varid'>renderTxt</span> <span class='hs-varid'>ct</span> <span class='hs-varop'>$</span> <span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>2</span>
|
||||
<a name="line-280"></a>
|
||||
<a name="line-281"></a> <span class='hs-comment'>-- permissions column</span>
|
||||
<a name="line-282"></a> <span class='hs-varid'>cP</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewColumnNew</span>
|
||||
<a name="line-283"></a> <span class='hs-varid'>treeViewColumnSetTitle</span> <span class='hs-varid'>cP</span> <span class='hs-layout'>(</span><span class='hs-str'>"Permission"</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
|
||||
<a name="line-284"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cP</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-285"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cP</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-286"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cP</span> <span class='hs-num'>3</span>
|
||||
<a name="line-287"></a> <span class='hs-varid'>cellLayoutPackStart</span> <span class='hs-varid'>cP</span> <span class='hs-varid'>renderTxt</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-288"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewAppendColumn</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>cP</span>
|
||||
<a name="line-289"></a> <span class='hs-varid'>cellLayoutAddColumnAttribute</span> <span class='hs-varid'>cP</span> <span class='hs-varid'>renderTxt</span> <span class='hs-varid'>ct</span> <span class='hs-varop'>$</span> <span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>3</span>
|
||||
<a name="line-290"></a>
|
||||
<a name="line-291"></a> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>treeView</span>
|
||||
<a name="line-292"></a>
|
||||
<a name="line-293"></a>
|
||||
<a name="line-294"></a><a name="refreshView"></a><span class='hs-comment'>-- |Re-reads the current directory or the given one and updates the View.</span>
|
||||
<a name="line-295"></a><span class='hs-comment'>-- This is more or less a wrapper around `refreshView'`</span>
|
||||
<a name="line-296"></a><span class='hs-comment'>--</span>
|
||||
<a name="line-297"></a><span class='hs-comment'>-- If the third argument is Nothing, it tries to re-read the current directory.</span>
|
||||
<a name="line-298"></a><span class='hs-comment'>-- If that fails, it reads "/" instead.</span>
|
||||
<a name="line-299"></a><span class='hs-comment'>--</span>
|
||||
<a name="line-300"></a><span class='hs-comment'>-- If the third argument is (Just path) it tries to read "path". If that</span>
|
||||
<a name="line-301"></a><span class='hs-comment'>-- fails, it reads "/" instead.</span>
|
||||
<a name="line-302"></a><span class='hs-definition'>refreshView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span>
|
||||
<a name="line-303"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span>
|
||||
<a name="line-304"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>Maybe</span> <span class='hs-layout'>(</span><span class='hs-conid'>Path</span> <span class='hs-conid'>Abs</span><span class='hs-layout'>)</span>
|
||||
<a name="line-305"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-306"></a><span class='hs-definition'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>mfp</span> <span class='hs-keyglyph'>=</span>
|
||||
<a name="line-307"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>mfp</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-308"></a> <span class='hs-conid'>Just</span> <span class='hs-varid'>fp</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-309"></a> <span class='hs-varid'>canopen</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>canOpenDirectory</span> <span class='hs-varid'>fp</span>
|
||||
<a name="line-310"></a> <span class='hs-keyword'>if</span> <span class='hs-varid'>canopen</span>
|
||||
<a name="line-311"></a> <span class='hs-keyword'>then</span> <span class='hs-varid'>refreshView'</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>readFile</span> <span class='hs-varid'>getFileInfo</span> <span class='hs-varid'>fp</span>
|
||||
<a name="line-312"></a> <span class='hs-keyword'>else</span> <span class='hs-varid'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>getAlternativeDir</span>
|
||||
<a name="line-313"></a> <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varop'>=<<</span> <span class='hs-varid'>getAlternativeDir</span>
|
||||
<a name="line-314"></a> <span class='hs-keyword'>where</span>
|
||||
<a name="line-315"></a> <span class='hs-varid'>getAlternativeDir</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-316"></a> <span class='hs-varid'>ecd</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>try</span> <span class='hs-layout'>(</span><span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Either</span> <span class='hs-conid'>SomeException</span>
|
||||
<a name="line-317"></a> <span class='hs-conid'>Item</span><span class='hs-layout'>)</span>
|
||||
<a name="line-318"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>ecd</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-319"></a> <span class='hs-conid'>Right</span> <span class='hs-varid'>dir</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varop'>$</span> <span class='hs-varid'>path</span> <span class='hs-varid'>dir</span><span class='hs-layout'>)</span>
|
||||
<a name="line-320"></a> <span class='hs-conid'>Left</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>parseAbs</span> <span class='hs-varop'>$</span> <span class='hs-conid'>BS</span><span class='hs-varop'>.</span><span class='hs-varid'>singleton</span> <span class='hs-varid'>pathSeparator</span><span class='hs-layout'>)</span>
|
||||
<a name="line-321"></a>
|
||||
<a name="line-322"></a>
|
||||
<a name="line-323"></a><a name="refreshView'"></a><span class='hs-comment'>-- |Refreshes the View based on the given directory.</span>
|
||||
<a name="line-324"></a><span class='hs-comment'>--</span>
|
||||
<a name="line-325"></a><span class='hs-comment'>-- If the directory is not a Dir or a Symlink pointing to a Dir, then</span>
|
||||
<a name="line-326"></a><span class='hs-comment'>-- calls `refreshView` with the 3rd argument being Nothing.</span>
|
||||
<a name="line-327"></a><span class='hs-definition'>refreshView'</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span>
|
||||
<a name="line-328"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span>
|
||||
<a name="line-329"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>Item</span>
|
||||
<a name="line-330"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-331"></a><span class='hs-definition'>refreshView'</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-conid'>SymLink</span> <span class='hs-layout'>{</span> <span class='hs-varid'>sdest</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>d</span><span class='hs-keyglyph'>@</span><span class='hs-conid'>Dir</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span>
|
||||
<a name="line-332"></a> <span class='hs-varid'>refreshView'</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>d</span>
|
||||
<a name="line-333"></a><span class='hs-definition'>refreshView'</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-conid'>Dir</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-334"></a> <span class='hs-varid'>newRawModel</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fileListStore</span> <span class='hs-varid'>item</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-335"></a> <span class='hs-varid'>writeTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>rawModel</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>newRawModel</span>
|
||||
<a name="line-336"></a>
|
||||
<a name="line-337"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>view</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-338"></a>
|
||||
<a name="line-339"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>tryTakeMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>cwd</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
|
||||
<a name="line-340"></a> <span class='hs-varid'>putMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>cwd</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>item</span>
|
||||
<a name="line-341"></a>
|
||||
<a name="line-342"></a> <span class='hs-comment'>-- get selected items</span>
|
||||
<a name="line-343"></a> <span class='hs-varid'>tps</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getSelectedTreePaths</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-344"></a> <span class='hs-varid'>trs</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>catMaybes</span> <span class='hs-varop'><$></span> <span class='hs-varid'>mapM</span> <span class='hs-layout'>(</span><span class='hs-varid'>treeRowReferenceNew</span> <span class='hs-varid'>newRawModel</span><span class='hs-layout'>)</span> <span class='hs-varid'>tps</span>
|
||||
<a name="line-345"></a>
|
||||
<a name="line-346"></a> <span class='hs-varid'>constructView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-347"></a>
|
||||
<a name="line-348"></a> <span class='hs-comment'>-- set notebook tab label</span>
|
||||
<a name="line-349"></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-350"></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-351"></a> <span class='hs-varid'>notebookSetTabLabelText</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-352"></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> <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-353"></a>
|
||||
<a name="line-354"></a> <span class='hs-comment'>-- reselect selected items</span>
|
||||
<a name="line-355"></a> <span class='hs-comment'>-- TODO: not implemented for icon view yet</span>
|
||||
<a name="line-356"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>view'</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-357"></a> <span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-358"></a> <span class='hs-varid'>tvs</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewGetSelection</span> <span class='hs-varid'>treeView</span>
|
||||
<a name="line-359"></a> <span class='hs-varid'>ntps</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>mapM</span> <span class='hs-varid'>treeRowReferenceGetPath</span> <span class='hs-varid'>trs</span>
|
||||
<a name="line-360"></a> <span class='hs-varid'>mapM_</span> <span class='hs-layout'>(</span><span class='hs-varid'>treeSelectionSelectPath</span> <span class='hs-varid'>tvs</span><span class='hs-layout'>)</span> <span class='hs-varid'>ntps</span>
|
||||
<a name="line-361"></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-362"></a><span class='hs-definition'>refreshView'</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-conid'>Failed</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-conid'>Nothing</span>
|
||||
<a name="line-363"></a><span class='hs-definition'>refreshView'</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-364"></a>
|
||||
<a name="line-365"></a>
|
||||
<a name="line-366"></a><a name="constructView"></a><span class='hs-comment'>-- |Constructs the visible View with the current underlying mutable models,</span>
|
||||
<a name="line-367"></a><span class='hs-comment'>-- which are retrieved from 'MyGUI'.</span>
|
||||
<a name="line-368"></a><span class='hs-comment'>--</span>
|
||||
<a name="line-369"></a><span class='hs-comment'>-- This sort of merges the components mygui and myview and fires up</span>
|
||||
<a name="line-370"></a><span class='hs-comment'>-- the actual models.</span>
|
||||
<a name="line-371"></a><span class='hs-definition'>constructView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span>
|
||||
<a name="line-372"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span>
|
||||
<a name="line-373"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-374"></a><span class='hs-definition'>constructView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-375"></a> <span class='hs-varid'>settings'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>settings</span> <span class='hs-varid'>mygui</span>
|
||||
<a name="line-376"></a>
|
||||
<a name="line-377"></a> <span class='hs-comment'>-- pix stuff</span>
|
||||
<a name="line-378"></a> <span class='hs-varid'>iT</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>iconThemeGetDefault</span>
|
||||
<a name="line-379"></a> <span class='hs-varid'>folderPix</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getIcon</span> <span class='hs-conid'>IFolder</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
|
||||
<a name="line-380"></a> <span class='hs-varid'>folderSymPix</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getSymlinkIcon</span> <span class='hs-conid'>IFolder</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
|
||||
<a name="line-381"></a> <span class='hs-varid'>filePix</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getIcon</span> <span class='hs-conid'>IFile</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
|
||||
<a name="line-382"></a> <span class='hs-varid'>fileSymPix</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getSymlinkIcon</span> <span class='hs-conid'>IFile</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
|
||||
<a name="line-383"></a> <span class='hs-varid'>errorPix</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getIcon</span> <span class='hs-conid'>IError</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
|
||||
<a name="line-384"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>Dir</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>folderPix</span>
|
||||
<a name="line-385"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>FileLike</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>filePix</span>
|
||||
<a name="line-386"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>DirSym</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>folderSymPix</span>
|
||||
<a name="line-387"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>FileLikeSym</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fileSymPix</span>
|
||||
<a name="line-388"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>Failed</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>errorPix</span>
|
||||
<a name="line-389"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>BrokenSymlink</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>errorPix</span>
|
||||
<a name="line-390"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>errorPix</span>
|
||||
<a name="line-391"></a>
|
||||
<a name="line-392"></a>
|
||||
<a name="line-393"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>view</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-394"></a>
|
||||
<a name="line-395"></a> <span class='hs-varid'>cdirp</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>path</span> <span class='hs-varop'><$></span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-396"></a>
|
||||
<a name="line-397"></a> <span class='hs-comment'>-- update urlBar</span>
|
||||
<a name="line-398"></a> <span class='hs-varid'>entrySetText</span> <span class='hs-layout'>(</span><span class='hs-varid'>urlBar</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</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-varid'>cdirp</span><span class='hs-layout'>)</span>
|
||||
<a name="line-399"></a>
|
||||
<a name="line-400"></a> <span class='hs-varid'>rawModel'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>rawModel</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-401"></a>
|
||||
<a name="line-402"></a> <span class='hs-comment'>-- filtering</span>
|
||||
<a name="line-403"></a> <span class='hs-varid'>filteredModel'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeModelFilterNew</span> <span class='hs-varid'>rawModel'</span> <span class='hs-conid'>[]</span>
|
||||
<a name="line-404"></a> <span class='hs-varid'>writeTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>filteredModel</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>filteredModel'</span>
|
||||
<a name="line-405"></a> <span class='hs-varid'>treeModelFilterSetVisibleFunc</span> <span class='hs-varid'>filteredModel'</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>iter</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-406"></a> <span class='hs-varid'>hidden</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>showHidden</span> <span class='hs-varop'><$></span> <span class='hs-varid'>readTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>settings</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span>
|
||||
<a name="line-407"></a> <span class='hs-varid'>item</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeModelGetRow</span> <span class='hs-varid'>rawModel'</span> <span class='hs-varid'>iter</span> <span class='hs-varop'>>>=</span> <span class='hs-layout'>(</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-layout'>)</span>
|
||||
<a name="line-408"></a> <span class='hs-keyword'>if</span> <span class='hs-varid'>hidden</span>
|
||||
<a name="line-409"></a> <span class='hs-keyword'>then</span> <span class='hs-varid'>return</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-410"></a> <span class='hs-keyword'>else</span> <span class='hs-varid'>return</span> <span class='hs-varop'>.</span> <span class='hs-varid'>not</span> <span class='hs-varop'>.</span> <span class='hs-varid'>hiddenFile</span> <span class='hs-varop'>.</span> <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-varid'>item</span>
|
||||
<a name="line-411"></a>
|
||||
<a name="line-412"></a> <span class='hs-comment'>-- sorting</span>
|
||||
<a name="line-413"></a> <span class='hs-varid'>sortedModel'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeModelSortNewWithModel</span> <span class='hs-varid'>filteredModel'</span>
|
||||
<a name="line-414"></a> <span class='hs-varid'>writeTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>sortedModel</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>sortedModel'</span>
|
||||
<a name="line-415"></a> <span class='hs-varid'>treeSortableSetSortFunc</span> <span class='hs-varid'>sortedModel'</span> <span class='hs-num'>1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>iter1</span> <span class='hs-varid'>iter2</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-416"></a> <span class='hs-varid'>cIter1</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeModelFilterConvertIterToChildIter</span> <span class='hs-varid'>filteredModel'</span> <span class='hs-varid'>iter1</span>
|
||||
<a name="line-417"></a> <span class='hs-varid'>cIter2</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeModelFilterConvertIterToChildIter</span> <span class='hs-varid'>filteredModel'</span> <span class='hs-varid'>iter2</span>
|
||||
<a name="line-418"></a> <span class='hs-varid'>item1</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeModelGetRow</span> <span class='hs-varid'>rawModel'</span> <span class='hs-varid'>cIter1</span>
|
||||
<a name="line-419"></a> <span class='hs-varid'>item2</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeModelGetRow</span> <span class='hs-varid'>rawModel'</span> <span class='hs-varid'>cIter2</span>
|
||||
<a name="line-420"></a> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>compare</span> <span class='hs-varid'>item1</span> <span class='hs-varid'>item2</span>
|
||||
<a name="line-421"></a> <span class='hs-varid'>treeSortableSetSortColumnId</span> <span class='hs-varid'>sortedModel'</span> <span class='hs-num'>1</span> <span class='hs-conid'>SortAscending</span>
|
||||
<a name="line-422"></a>
|
||||
<a name="line-423"></a> <span class='hs-comment'>-- set values</span>
|
||||
<a name="line-424"></a> <span class='hs-varid'>treeModelSetColumn</span> <span class='hs-varid'>rawModel'</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdPixbuf</span> <span class='hs-num'>0</span><span class='hs-layout'>)</span>
|
||||
<a name="line-425"></a> <span class='hs-varid'>dirtreePix</span>
|
||||
<a name="line-426"></a> <span class='hs-varid'>treeModelSetColumn</span> <span class='hs-varid'>rawModel'</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>1</span><span class='hs-layout'>)</span>
|
||||
<a name="line-427"></a> <span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>toFilePath</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fromJust</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-layout'>)</span>
|
||||
<a name="line-428"></a> <span class='hs-varid'>treeModelSetColumn</span> <span class='hs-varid'>rawModel'</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>2</span><span class='hs-layout'>)</span>
|
||||
<a name="line-429"></a> <span class='hs-varid'>packModTime</span>
|
||||
<a name="line-430"></a> <span class='hs-varid'>treeModelSetColumn</span> <span class='hs-varid'>rawModel'</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>3</span><span class='hs-layout'>)</span>
|
||||
<a name="line-431"></a> <span class='hs-varid'>packPermissions</span>
|
||||
<a name="line-432"></a>
|
||||
<a name="line-433"></a> <span class='hs-comment'>-- update model of view</span>
|
||||
<a name="line-434"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>view'</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-435"></a> <span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-436"></a> <span class='hs-varid'>treeViewSetModel</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>sortedModel'</span>
|
||||
<a name="line-437"></a> <span class='hs-varid'>treeViewSetRubberBanding</span> <span class='hs-varid'>treeView</span> <span class='hs-conid'>True</span>
|
||||
<a name="line-438"></a> <span class='hs-conid'>FMIconView</span> <span class='hs-varid'>iconView</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-439"></a> <span class='hs-varid'>iconViewSetModel</span> <span class='hs-varid'>iconView</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>sortedModel'</span><span class='hs-layout'>)</span>
|
||||
<a name="line-440"></a> <span class='hs-varid'>iconViewSetPixbufColumn</span> <span class='hs-varid'>iconView</span>
|
||||
<a name="line-441"></a> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdPixbuf</span> <span class='hs-num'>0</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ColumnId</span> <span class='hs-varid'>item</span> <span class='hs-conid'>Pixbuf</span><span class='hs-layout'>)</span>
|
||||
<a name="line-442"></a> <span class='hs-varid'>iconViewSetTextColumn</span> <span class='hs-varid'>iconView</span>
|
||||
<a name="line-443"></a> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>1</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ColumnId</span> <span class='hs-varid'>item</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
|
||||
<a name="line-444"></a>
|
||||
<a name="line-445"></a> <span class='hs-comment'>-- add watcher</span>
|
||||
<a name="line-446"></a> <span class='hs-varid'>mi</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>tryTakeMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>inotify</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
|
||||
<a name="line-447"></a> <span class='hs-varid'>for_</span> <span class='hs-varid'>mi</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>i</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>killINotify</span> <span class='hs-varid'>i</span>
|
||||
<a name="line-448"></a> <span class='hs-varid'>newi</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>initINotify</span>
|
||||
<a name="line-449"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>addWatch</span>
|
||||
<a name="line-450"></a> <span class='hs-varid'>newi</span>
|
||||
<a name="line-451"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Move</span><span class='hs-layout'>,</span> <span class='hs-conid'>MoveIn</span><span class='hs-layout'>,</span> <span class='hs-conid'>MoveOut</span><span class='hs-layout'>,</span> <span class='hs-conid'>MoveSelf</span><span class='hs-layout'>,</span> <span class='hs-conid'>Create</span><span class='hs-layout'>,</span> <span class='hs-conid'>Delete</span><span class='hs-layout'>,</span> <span class='hs-conid'>DeleteSelf</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-452"></a> <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-varid'>cdirp</span><span class='hs-layout'>)</span>
|
||||
<a name="line-453"></a> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>postGUIAsync</span> <span class='hs-varop'>$</span> <span class='hs-varid'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varop'>$</span> <span class='hs-varid'>cdirp</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
|
||||
<a name="line-454"></a> <span class='hs-varid'>putMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>inotify</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>newi</span>
|
||||
<a name="line-455"></a>
|
||||
<a name="line-456"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
|
||||
</pre></body>
|
||||
</html>
|
177
src/HSFM-GUI-Gtk-Utils.html
Normal file
177
src/HSFM-GUI-Gtk-Utils.html
Normal file
@ -0,0 +1,177 @@
|
||||
<?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/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'>{-# OPTIONS_HADDOCK ignore-exports #-}</span>
|
||||
<a name="line-20"></a>
|
||||
<a name="line-21"></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'>Utils</span> <span class='hs-keyword'>where</span>
|
||||
<a name="line-22"></a>
|
||||
<a name="line-23"></a>
|
||||
<a name="line-24"></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-25"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-26"></a> <span class='hs-varid'>readMVar</span>
|
||||
<a name="line-27"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-28"></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'>STM</span>
|
||||
<a name="line-29"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-30"></a> <span class='hs-varid'>readTVarIO</span>
|
||||
<a name="line-31"></a> <span class='hs-layout'>)</span>
|
||||
<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'>Maybe</span>
|
||||
<a name="line-33"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-34"></a> <span class='hs-varid'>catMaybes</span>
|
||||
<a name="line-35"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fromJust</span>
|
||||
<a name="line-36"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-37"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Traversable</span>
|
||||
<a name="line-38"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-39"></a> <span class='hs-varid'>forM</span>
|
||||
<a name="line-40"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-41"></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-42"></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>
|
||||
<a name="line-43"></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-44"></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'>getContents</span><span class='hs-layout'>)</span>
|
||||
<a name="line-45"></a>
|
||||
<a name="line-46"></a>
|
||||
<a name="line-47"></a>
|
||||
<a name="line-48"></a> <span class='hs-comment'>-----------------</span>
|
||||
<a name="line-49"></a> <span class='hs-comment'>--[ Utilities ]--</span>
|
||||
<a name="line-50"></a> <span class='hs-comment'>-----------------</span>
|
||||
<a name="line-51"></a>
|
||||
<a name="line-52"></a>
|
||||
<a name="line-53"></a><a name="getSelectedTreePaths"></a><span class='hs-definition'>getSelectedTreePaths</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>TreePath</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-54"></a><span class='hs-definition'>getSelectedTreePaths</span> <span class='hs-keyword'>_</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-55"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>view</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-56"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>view'</span> <span class='hs-keyword'>of</span>
|
||||
<a name="line-57"></a> <span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-58"></a> <span class='hs-varid'>tvs</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeViewGetSelection</span> <span class='hs-varid'>treeView</span>
|
||||
<a name="line-59"></a> <span class='hs-varid'>treeSelectionGetSelectedRows</span> <span class='hs-varid'>tvs</span>
|
||||
<a name="line-60"></a> <span class='hs-conid'>FMIconView</span> <span class='hs-varid'>iconView</span> <span class='hs-keyglyph'>-></span>
|
||||
<a name="line-61"></a> <span class='hs-varid'>iconViewGetSelectedItems</span> <span class='hs-varid'>iconView</span>
|
||||
<a name="line-62"></a>
|
||||
<a name="line-63"></a>
|
||||
<a name="line-64"></a><a name="getSelectedItems"></a><span class='hs-comment'>-- |Gets the currently selected item of the treeView, if any.</span>
|
||||
<a name="line-65"></a><span class='hs-definition'>getSelectedItems</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span>
|
||||
<a name="line-66"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span>
|
||||
<a name="line-67"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-68"></a><span class='hs-definition'>getSelectedItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-69"></a> <span class='hs-varid'>tps</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getSelectedTreePaths</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-70"></a> <span class='hs-varid'>catMaybes</span> <span class='hs-varop'><$></span> <span class='hs-varid'>mapM</span> <span class='hs-layout'>(</span><span class='hs-varid'>rawPathToItem</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>tps</span>
|
||||
<a name="line-71"></a>
|
||||
<a name="line-72"></a>
|
||||
<a name="line-73"></a><a name="withItems"></a><span class='hs-comment'>-- |Carry out an action on the currently selected item.</span>
|
||||
<a name="line-74"></a><span class='hs-comment'>--</span>
|
||||
<a name="line-75"></a><span class='hs-comment'>-- If there is no item selected, does nothing.</span>
|
||||
<a name="line-76"></a><span class='hs-definition'>withItems</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span>
|
||||
<a name="line-77"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span>
|
||||
<a name="line-78"></a> <span class='hs-keyglyph'>-></span> <span class='hs-layout'>(</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-79"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyGUI</span>
|
||||
<a name="line-80"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span>
|
||||
<a name="line-81"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ action to carry out</span>
|
||||
<a name="line-82"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-83"></a><span class='hs-definition'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>io</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-84"></a> <span class='hs-varid'>items</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getSelectedItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-85"></a> <span class='hs-varid'>io</span> <span class='hs-varid'>items</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-86"></a>
|
||||
<a name="line-87"></a>
|
||||
<a name="line-88"></a><a name="fileListStore"></a><span class='hs-comment'>-- |Create the 'ListStore' of files/directories from the current directory.</span>
|
||||
<a name="line-89"></a><span class='hs-comment'>-- This is the function which maps the Data.DirTree data structures</span>
|
||||
<a name="line-90"></a><span class='hs-comment'>-- into the GTK+ data structures.</span>
|
||||
<a name="line-91"></a><span class='hs-definition'>fileListStore</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Item</span> <span class='hs-comment'>-- ^ current dir</span>
|
||||
<a name="line-92"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>MyView</span>
|
||||
<a name="line-93"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ListStore</span> <span class='hs-conid'>Item</span><span class='hs-layout'>)</span>
|
||||
<a name="line-94"></a><span class='hs-definition'>fileListStore</span> <span class='hs-varid'>dt</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-95"></a> <span class='hs-varid'>cs</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>getContents</span> <span class='hs-varid'>getFileInfo</span> <span class='hs-varid'>dt</span>
|
||||
<a name="line-96"></a> <span class='hs-varid'>listStoreNew</span> <span class='hs-varid'>cs</span>
|
||||
<a name="line-97"></a>
|
||||
<a name="line-98"></a>
|
||||
<a name="line-99"></a><a name="getFirstItem"></a><span class='hs-comment'>-- |Currently unsafe. This is used to obtain any item, which will</span>
|
||||
<a name="line-100"></a><span class='hs-comment'>-- fail if there is none.</span>
|
||||
<a name="line-101"></a><span class='hs-definition'>getFirstItem</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyView</span>
|
||||
<a name="line-102"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Item</span>
|
||||
<a name="line-103"></a><span class='hs-definition'>getFirstItem</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-104"></a> <span class='hs-varid'>rawModel'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>rawModel</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-105"></a> <span class='hs-varid'>iter</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>fromJust</span> <span class='hs-varop'><$></span> <span class='hs-varid'>treeModelGetIterFirst</span> <span class='hs-varid'>rawModel'</span>
|
||||
<a name="line-106"></a> <span class='hs-varid'>treeModelGetRow</span> <span class='hs-varid'>rawModel'</span> <span class='hs-varid'>iter</span>
|
||||
<a name="line-107"></a>
|
||||
<a name="line-108"></a>
|
||||
<a name="line-109"></a><a name="getCurrentDir"></a><span class='hs-comment'>-- |Reads the current directory from MyView.</span>
|
||||
<a name="line-110"></a><span class='hs-comment'>--</span>
|
||||
<a name="line-111"></a><span class='hs-comment'>-- This reads the MVar and may block the main thread if it's</span>
|
||||
<a name="line-112"></a><span class='hs-comment'>-- empty.</span>
|
||||
<a name="line-113"></a><span class='hs-definition'>getCurrentDir</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyView</span>
|
||||
<a name="line-114"></a> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Item</span>
|
||||
<a name="line-115"></a><span class='hs-definition'>getCurrentDir</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>readMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>cwd</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
|
||||
<a name="line-116"></a>
|
||||
<a name="line-117"></a>
|
||||
<a name="line-118"></a><a name="pushStatusBar"></a><span class='hs-comment'>-- |Push a message to the status bar.</span>
|
||||
<a name="line-119"></a><span class='hs-definition'>pushStatusBar</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>String</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ContextId</span><span class='hs-layout'>,</span> <span class='hs-conid'>MessageId</span><span class='hs-layout'>)</span>
|
||||
<a name="line-120"></a><span class='hs-definition'>pushStatusBar</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>str</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-121"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>sb</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>statusBar</span> <span class='hs-varid'>mygui</span>
|
||||
<a name="line-122"></a> <span class='hs-varid'>cid</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>statusbarGetContextId</span> <span class='hs-varid'>sb</span> <span class='hs-str'>"FM Status"</span>
|
||||
<a name="line-123"></a> <span class='hs-varid'>mid</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>statusbarPush</span> <span class='hs-varid'>sb</span> <span class='hs-varid'>cid</span> <span class='hs-varid'>str</span>
|
||||
<a name="line-124"></a> <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>cid</span><span class='hs-layout'>,</span> <span class='hs-varid'>mid</span><span class='hs-layout'>)</span>
|
||||
<a name="line-125"></a>
|
||||
<a name="line-126"></a>
|
||||
<a name="line-127"></a><a name="popStatusbar"></a><span class='hs-comment'>-- |Pop a message from the status bar.</span>
|
||||
<a name="line-128"></a><span class='hs-definition'>popStatusbar</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-129"></a><span class='hs-definition'>popStatusbar</span> <span class='hs-varid'>mygui</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-130"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>sb</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>statusBar</span> <span class='hs-varid'>mygui</span>
|
||||
<a name="line-131"></a> <span class='hs-varid'>cid</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>statusbarGetContextId</span> <span class='hs-varid'>sb</span> <span class='hs-str'>"FM Status"</span>
|
||||
<a name="line-132"></a> <span class='hs-varid'>statusbarPop</span> <span class='hs-varid'>sb</span> <span class='hs-varid'>cid</span>
|
||||
<a name="line-133"></a>
|
||||
<a name="line-134"></a>
|
||||
<a name="line-135"></a><a name="rawPathToIter"></a><span class='hs-comment'>-- |Turn a path on the rawModel into a path that we can</span>
|
||||
<a name="line-136"></a><span class='hs-comment'>-- use at the outermost model layer.</span>
|
||||
<a name="line-137"></a><span class='hs-definition'>rawPathToIter</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>TreePath</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>TreeIter</span><span class='hs-layout'>)</span>
|
||||
<a name="line-138"></a><span class='hs-definition'>rawPathToIter</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>tp</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-139"></a> <span class='hs-varid'>fmodel</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>filteredModel</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
|
||||
<a name="line-140"></a> <span class='hs-varid'>smodel</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>sortedModel</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
|
||||
<a name="line-141"></a> <span class='hs-varid'>msiter</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeModelGetIter</span> <span class='hs-varid'>smodel</span> <span class='hs-varid'>tp</span>
|
||||
<a name="line-142"></a> <span class='hs-varid'>forM</span> <span class='hs-varid'>msiter</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>siter</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-143"></a> <span class='hs-varid'>cIter</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>treeModelSortConvertIterToChildIter</span> <span class='hs-varid'>smodel</span> <span class='hs-varid'>siter</span>
|
||||
<a name="line-144"></a> <span class='hs-varid'>treeModelFilterConvertIterToChildIter</span> <span class='hs-varid'>fmodel</span> <span class='hs-varid'>cIter</span>
|
||||
<a name="line-145"></a>
|
||||
<a name="line-146"></a>
|
||||
<a name="line-147"></a><a name="rawPathToItem"></a><span class='hs-comment'>-- |Turn a path on the rawModel into the corresponding item</span>
|
||||
<a name="line-148"></a><span class='hs-comment'>-- that we can use at the outermost model layer.</span>
|
||||
<a name="line-149"></a><span class='hs-definition'>rawPathToItem</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>TreePath</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>Item</span><span class='hs-layout'>)</span>
|
||||
<a name="line-150"></a><span class='hs-definition'>rawPathToItem</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>tp</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-151"></a> <span class='hs-varid'>rawModel'</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>rawModel</span> <span class='hs-varid'>myview</span>
|
||||
<a name="line-152"></a> <span class='hs-varid'>miter</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>rawPathToIter</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>tp</span>
|
||||
<a name="line-153"></a> <span class='hs-varid'>forM</span> <span class='hs-varid'>miter</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>iter</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>treeModelGetRow</span> <span class='hs-varid'>rawModel'</span> <span class='hs-varid'>iter</span>
|
||||
<a name="line-154"></a>
|
||||
<a name="line-155"></a>
|
||||
<a name="line-156"></a><a name="addHistory"></a><span class='hs-comment'>-- |Makes sure the list is max 5. This is probably not very efficient</span>
|
||||
<a name="line-157"></a><span class='hs-comment'>-- but we don't care, since it's a small list anyway.</span>
|
||||
<a name="line-158"></a><span class='hs-definition'>addHistory</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Eq</span> <span class='hs-varid'>a</span> <span class='hs-keyglyph'>=></span> <span class='hs-varid'>a</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>a</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>a</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-159"></a><span class='hs-definition'>addHistory</span> <span class='hs-varid'>i</span> <span class='hs-conid'>[]</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>i</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-160"></a><span class='hs-definition'>addHistory</span> <span class='hs-varid'>i</span> <span class='hs-varid'>xs</span><span class='hs-keyglyph'>@</span><span class='hs-layout'>(</span><span class='hs-varid'>x</span><span class='hs-conop'>:</span><span class='hs-keyword'>_</span><span class='hs-layout'>)</span>
|
||||
<a name="line-161"></a> <span class='hs-keyglyph'>|</span> <span class='hs-varid'>i</span> <span class='hs-varop'>==</span> <span class='hs-varid'>x</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>xs</span>
|
||||
<a name="line-162"></a> <span class='hs-keyglyph'>|</span> <span class='hs-varid'>length</span> <span class='hs-varid'>xs</span> <span class='hs-varop'>==</span> <span class='hs-varid'>maxLength</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>i</span> <span class='hs-conop'>:</span> <span class='hs-varid'>take</span> <span class='hs-layout'>(</span><span class='hs-varid'>maxLength</span> <span class='hs-comment'>-</span> <span class='hs-num'>1</span><span class='hs-layout'>)</span> <span class='hs-varid'>xs</span>
|
||||
<a name="line-163"></a> <span class='hs-keyglyph'>|</span> <span class='hs-varid'>otherwise</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>i</span> <span class='hs-conop'>:</span> <span class='hs-varid'>xs</span>
|
||||
<a name="line-164"></a> <span class='hs-keyword'>where</span>
|
||||
<a name="line-165"></a> <span class='hs-varid'>maxLength</span> <span class='hs-keyglyph'>=</span> <span class='hs-num'>10</span>
|
||||
<a name="line-166"></a>
|
||||
</pre></body>
|
||||
</html>
|
47
src/HSFM-Utils-MyPrelude.html
Normal file
47
src/HSFM-Utils-MyPrelude.html
Normal file
@ -0,0 +1,47 @@
|
||||
<?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/Utils/MyPrelude.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-keyword'>module</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>Utils</span><span class='hs-varop'>.</span><span class='hs-conid'>MyPrelude</span> <span class='hs-keyword'>where</span>
|
||||
<a name="line-20"></a>
|
||||
<a name="line-21"></a>
|
||||
<a name="line-22"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Default</span>
|
||||
<a name="line-23"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>List</span>
|
||||
<a name="line-24"></a>
|
||||
<a name="line-25"></a>
|
||||
<a name="line-26"></a>
|
||||
<a name="line-27"></a><a name="listIndices"></a><span class='hs-comment'>-- |Turns any list into a list of the same length with the values</span>
|
||||
<a name="line-28"></a><span class='hs-comment'>-- being the indices.</span>
|
||||
<a name="line-29"></a><span class='hs-comment'>-- E.g.: "abdasd" -> [0,1,2,3,4,5]</span>
|
||||
<a name="line-30"></a><span class='hs-definition'>listIndices</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>a</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-></span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Int</span><span class='hs-keyglyph'>]</span>
|
||||
<a name="line-31"></a><span class='hs-definition'>listIndices</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>findIndices</span> <span class='hs-layout'>(</span><span class='hs-varid'>const</span> <span class='hs-conid'>True</span><span class='hs-layout'>)</span>
|
||||
<a name="line-32"></a>
|
||||
<a name="line-33"></a>
|
||||
<a name="line-34"></a><a name="maybeD"></a><span class='hs-comment'>-- |A `maybe` flavor using the `Default` class.</span>
|
||||
<a name="line-35"></a><span class='hs-definition'>maybeD</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>Default</span> <span class='hs-varid'>b</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=></span> <span class='hs-layout'>(</span><span class='hs-varid'>a</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>b</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>Maybe</span> <span class='hs-varid'>a</span> <span class='hs-keyglyph'>-></span> <span class='hs-varid'>b</span>
|
||||
<a name="line-36"></a><span class='hs-definition'>maybeD</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>maybe</span> <span class='hs-varid'>def</span>
|
||||
</pre></body>
|
||||
</html>
|
71
src/Main.html
Normal file
71
src/Main.html
Normal file
@ -0,0 +1,71 @@
|
||||
<?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.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) 2015 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'>{-# OPTIONS_HADDOCK ignore-exports #-}</span>
|
||||
<a name="line-21"></a>
|
||||
<a name="line-22"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>Main</span> <span class='hs-keyword'>where</span>
|
||||
<a name="line-23"></a>
|
||||
<a name="line-24"></a>
|
||||
<a name="line-25"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Maybe</span>
|
||||
<a name="line-26"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-27"></a> <span class='hs-varid'>fromJust</span>
|
||||
<a name="line-28"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fromMaybe</span>
|
||||
<a name="line-29"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-30"></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-31"></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-32"></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'>Callbacks</span>
|
||||
<a name="line-33"></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-34"></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'>MyGUI</span>
|
||||
<a name="line-35"></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-36"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Safe</span>
|
||||
<a name="line-37"></a> <span class='hs-layout'>(</span>
|
||||
<a name="line-38"></a> <span class='hs-varid'>headDef</span>
|
||||
<a name="line-39"></a> <span class='hs-layout'>)</span>
|
||||
<a name="line-40"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Posix</span><span class='hs-varop'>.</span><span class='hs-conid'>Env</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>SPE</span>
|
||||
<a name="line-41"></a>
|
||||
<a name="line-42"></a>
|
||||
<a name="line-43"></a><a name="main"></a><span class='hs-definition'>main</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-44"></a><span class='hs-definition'>main</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
|
||||
<a name="line-45"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>initGUI</span>
|
||||
<a name="line-46"></a>
|
||||
<a name="line-47"></a> <span class='hs-varid'>args</span> <span class='hs-keyglyph'><-</span> <span class='hs-conid'>SPE</span><span class='hs-varop'>.</span><span class='hs-varid'>getArgs</span>
|
||||
<a name="line-48"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>mdir</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fromMaybe</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromJust</span> <span class='hs-varop'>$</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>parseAbs</span> <span class='hs-str'>"/"</span><span class='hs-layout'>)</span>
|
||||
<a name="line-49"></a> <span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>parseAbs</span> <span class='hs-varop'>.</span> <span class='hs-varid'>headDef</span> <span class='hs-str'>"/"</span> <span class='hs-varop'>$</span> <span class='hs-varid'>args</span><span class='hs-layout'>)</span>
|
||||
<a name="line-50"></a>
|
||||
<a name="line-51"></a> <span class='hs-varid'>mygui</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>createMyGUI</span>
|
||||
<a name="line-52"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>newTab</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>createTreeView</span> <span class='hs-varid'>mdir</span>
|
||||
<a name="line-53"></a>
|
||||
<a name="line-54"></a> <span class='hs-varid'>setGUICallbacks</span> <span class='hs-varid'>mygui</span>
|
||||
<a name="line-55"></a>
|
||||
<a name="line-56"></a> <span class='hs-varid'>widgetShowAll</span> <span class='hs-layout'>(</span><span class='hs-varid'>rootWin</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span>
|
||||
<a name="line-57"></a>
|
||||
<a name="line-58"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'><-</span> <span class='hs-varid'>mainGUI</span>
|
||||
<a name="line-59"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
|
||||
<a name="line-60"></a>
|
||||
</pre></body>
|
||||
</html>
|
5
src/hscolour.css
Normal file
5
src/hscolour.css
Normal file
@ -0,0 +1,5 @@
|
||||
.hs-keyglyph, .hs-layout {color: red;}
|
||||
.hs-keyword {color: blue;}
|
||||
.hs-comment, .hs-comment a {color: green;}
|
||||
.hs-str, .hs-chr {color: teal;}
|
||||
.hs-keyword, .hs-conid, .hs-varid, .hs-conop, .hs-varop, .hs-num, .hs-cpp, .hs-sel, .hs-definition {}
|
BIN
synopsis.png
Normal file
BIN
synopsis.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
Loading…
Reference in New Issue
Block a user