Files
hsfm/hsfm.haddock

81 lines
45 KiB
Plaintext
Raw Normal View History

<0C><><00><00>V<EFBFBD> 
2016-06-01 19:32:51 +02:00
    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{ | } ~  <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00>
<00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00><00><00><00><00><00><00><00><00><00><00><00><00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00>None!"$9;brTurns any list into a list of the same length with the values
2016-06-01 19:32:51 +02:00
being the indices.
E.g.: "abdasd" -> [0,1,2,3,4,5]A <00> flavor using the <00> class.Safe!"$9;b <00><00><00><00><00><00> <00><00><00><00><00><00>None!"$9;b Icon type we use in our GUI.<02>Gets an icon from the default icon theme and falls back to project-icons
2016-06-01 19:32:51 +02:00
if not found. The requested icon size is not guaranteed.
 icon we want%which icon theme to get the icon fromrequested icon size

 
Safe!"$9;bSafe!"$9;bAtomically write a TVar.Atomically modify a TVar.Safe!"$9;bMCollision modes that describe the behavior in case a file collision
happens.!fail if the target already exists=Data type describing partial or complete file move operation.=Data type describing partial or complete file copy operation."cData type describing file operations.
Useful to build up a list of operations or delay operations. !"#$%&'(! "(#$%&'"#$%&'( ! !"#$%&'(None!"$9;b)Low-level file information.9<02>The String in the path field is always a full path.
2016-06-01 19:32:51 +02:00
The free type variable is used in the File/Dir constructor and can hold
Handles, Strings representing a file's contents or anything else you can
think of. We catch any IO errors in the Failed constructor.E6symlink madness,
we need to know where it points toG<02>Matches on any non-directory kind of files or symlinks pointing to
such.
If the symlink is pointing to a symlink pointing to such a file, then
it will return True, but also return the first element in the symlink-
chain, not the last.H1Matches on symlinks pointing to directories only.I<02>Matches on directories or symlinks pointing to directories.
If the symlink is pointing to a symlink pointing to a directory, then
it will return True, but also return the first element in the symlink-
chain, not the last.J!Matches on broken symbolic links.K5Matches on symlinks pointing to file-like files only.LPMatches a list of any non-directory kind of files or symlinks
pointing to such.MBMatches a list of directories or symlinks pointing to directories.N?Matches on any non-directory kind of files, excluding symlinks.U'Reads a file or directory Path into an  AnchoredFile5, filling the free
variables via the given function.VDGet the contents of a given directory and return them as a list
of  AnchoredFile.W A variant of V! where the second argument
is a 95. If a non-directory is passed returns an empty list.X0Go up one directory in the filesystem hierarchy.Y0Go up one directory in the filesystem hierarchy.Z,True if any Failed constructors in the tree.[5True if there are no Failed constructors in the tree.\Returns true if argument is a : constructor.]Returns a list of : constructors only.fGets all file information.hWChecks if a symlink is broken by examining the constructor of the
symlink destination.,When called on a non-symlink, returns False.i)Pack the modification time into a string.j)Pack the modification time into a string.lAPack the permissions into a string, similar to what "ls -l" does.orApply a function on the free variable. If there is no free variable
for the given constructor the value from the <00> class is used.qAGets the free variable. Returns Nothing if the constructor is of :.rAFirst compare constructors: Failed < Dir < File...
2016-06-01 19:32:51 +02:00
Then compare name-...
Then compare free variable parameter of 9 constructorsJ)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVfills free a variable path to readWXYZ[\]^_`abcdefghijklmnopqrI)*+,-./0123456789;A:<=>?@BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqW9:;<=>?@ABCBDBDBDEFBDBDBDBD)*+,-./012345678OPQNMLRSTKJIHGrUVWXYZ[\]^_`abcdefghijklmnopq.)*+,-./0123456789:;<=>?@ABCBDBDBDEFBDBDBDBDGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrNone!"$9;bxyzxyzxyxyz None!"$9;bFM-wide settings.<00>{This describes the contents of the current view and is separated from MyGUI,
2016-06-01 19:32:51 +02:00
because we might want to have multiple views.<00><02>Monolithic object passed to various GUI functions in order
to keep the API stable and not alter the parameters too much.
This only holds GUI widgets that are needed to be read during
runtime.<00> main WindowB{|}~<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>B{|}~<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>B<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>|}~{<00> {|}~<00><00><00><00><00>
2016-06-01 19:32:51 +02:00
<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00><00><00>
None!"$9;b<00>8Set up the GUI. This only creates the permanent widgets.<00><00><00><00> None!"$9;b<00>.Pops up an error Dialog with the given String.<00>6Asks the user for confirmation and returns True/False.<00>*Shows the about dialog from the help menu.<00>HCarry out an IO action with a confirmation dialog.
If the user presses No, then do nothing.<00>RExecute the given IO action. If the action throws exceptions,
visualize them via <00>.<00>OAsks the user which directory copy mode he wants via dialog popup
and returns  DirCopyMode. <00><00><00><00><00><00><00><00> window titleinitial text in input widget<00> <00><00><00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00><00> None!"$9;b
<00>9Gets the currently selected item of the treeView, if any.<00>3Carry out an action on the currently selected item.+If there is no item selected, does nothing.<00> Create the <00><02> of files/directories from the current directory.
2016-06-01 19:32:51 +02:00
This is the function which maps the Data.DirTree data structures
into the GTK+ data structures.<00>UCurrently unsafe. This is used to obtain any item, which will
fail if there is none.<00>(Reads the current directory from MyView.AThis reads the MVar and may block the main thread if it's
empty.<00>!Push a message to the status bar.<00>"Pop a message from the status bar.<00>VTurn a path on the rawModel into a path that we can
use at the outermost model layer.<00>fTurn a path on the rawModel into the corresponding item
that we can use at the outermost model layer.<00>uMakes sure the list is max 5. This is probably not very efficient
but we don't care, since it's a small list anyway. <00><00><00>action to carry out<00> current dir<00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00><00><00><00>None!"$9;b <00>;Creates a new tab with its own view and refreshes the view.<00>aConstructs the initial MyView object with a few dummy models.
It also initializes the callbacks.<00>Switch the existing view in <00>* with the one that the
io action returns.<00>cDestroys the current view by disconnecting the watcher
and destroying the active FMView container.XEverything that needs to be done in order to forget about a
view needs to be done here.:Returns the page in the tab list this view corresponds to.<00>Createss an IconView.<00>Creates a TreeView.<00>mRe-reads the current directory or the given one and updates the View.
This is more or less a wrapper around <00>rIf the third argument is Nothing, it tries to re-read the current directory.
If that fails, it reads "/" instead.cIf the third argument is (Just path) it tries to read "path". If that
fails, it reads "/" instead.<00>0Refreshes the View based on the given directory.JIf the directory is not a Dir or a Symlink pointing to a Dir, then
calls <00>% with the 3rd argument being Nothing.<00>bConstructs the visible View with the current underlying mutable models,
which are retrieved from <00>.TThis sort of merges the components mygui and myview and fires up
the actual models. <00><00><00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00><00>None !"$9;Tb<00><02>Carries out a file operation with the appropriate error handling
allowing the user to react to various exceptions with further input.<00>;Helper that is invoked for any directory change operations.<00><00><00><00><00><00><00><00><00><00><00><00> None!"$9;b<00>ESet callbacks specific to a given view, on hotkeys, events and stuff.<00>>Set callbacks for the whole gui, on hotkeys, events and stuff.<00>?Closes the current tab, but only if there is more than one tab.<00>Supposed to be used with withRows. Deletes a file or directory.<00>"Initializes a file move operation.<00>Supposed to be used with withRows$. Initializes a file copy operation.<00>1Finalizes a file operation, such as copy or move.<00>Create a new file.<00>Create a new directory.<00>Go to the url given at the <00>) and visualize it in the given
treeView.$If the url is invalid, does nothing.<00>Execute a given file.<00>Supposed to be used with withRows. Opens a file or directory.<00>5Go up one directory and visualize it in the treeView.<00>Go "back" in the history.<00>Go "forth" in the history.<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>None!"$9;b<00><00><00><00><00> !"#$%&'()*+,-.-/0/1234567889:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<00><00><00><00><00><00><00><00><00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00>
<00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00><00><00><00><00><00><00><00><00><00><00><00><00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00><00><00> 
   mainHSFM.Utils.MyPrelude
2016-06-01 19:32:51 +02:00
Paths_hsfmHSFM.GUI.Gtk.IconsHSFM.GUI.Gtk.Errors HSFM.Utils.IOHSFM.FileSystem.UtilTypesHSFM.FileSystem.FileTypeHSFM.GUI.Glib.GlibStringHSFM.GUI.Gtk.DataHSFM.GUI.Gtk.MyGUIHSFM.GUI.Gtk.DialogsHSFM.GUI.Gtk.UtilsHSFM.GUI.Gtk.CallbacksHSFM.GUI.Gtk.MyViewHSFM.GUI.Gtk.Callbacks.UtilsMain listIndicesmaybeDversion getBinDir getLibDir
getDataDir getLibexecDir getSysconfDirgetDataFileNameGtkIconIFolderSymLIFileIErrorgetIcongetSymlinkIcon GtkExceptionUnknownDialogButton$fExceptionGtkException$fShowGtkException writeTVarIO modifyTVarIO FCollisonModeStrict Overwrite OverwriteAllSkipRenameMove PartialMoveCopy PartialCopy FileOperationFCopyFMoveFDeleteFOpenFExecuteNoneFileInfodeviceIDfileIDfileMode linkCount fileOwner fileGroupspecialDeviceIDfileSize
accessTimemodificationTimestatusChangeTimeaccessTimeHiResmodificationTimeHiResstatusChangeTimeHiResFileFailedDirRegFileSymLinkBlockDevCharDev NamedPipeSocketpatherrfvarsdestrawdest FileLikeOrSymDirSymDirOrSym BrokenSymlink FileLikeSym FileLikeListDirListFileLike sfileLikefileLikesdir brokenSymlink fileLikeSymdirSymreadFilereadDirectoryContents getContentsgoUpgoUp' anyFailed
successfulfailedfailurescomparingConstrisFileCisDirCisSymCisBlockCisCharCisNamedC isSocketC getFileInfohandleDTisBrokenSymlink packModTimepackAccessTime epochToStringpackPermissions packFileTypepackLinkDestination fromFreeVar
getFPasStr
getFreeVar $fOrdFile
$fShowFile$fEqFile$fShowFileInfo $fEqFileInfo $fOrdFileInfoc_strlen
noNullPtrs$fGlibStringByteStringItemFMView
FMTreeView
FMIconView
FMSettings MkFMSettings
showHiddenisLazyiconSizeFilePropertyGridMkFilePropertyGrid fpropGrid fpropFnEntry fpropLocEntry fpropTsEntry fpropModEntry fpropAcEntry fpropFTEntryfpropPermEntry fpropLDEntryRightClickMenuMkRightClickMenurcMenu
rcFileOpen rcFileExecutercFileNewRegFile rcFileNewDir rcFileCut
rcFileCopy rcFileRename rcFilePaste rcFileDeletercFilePropertyrcFileIconViewrcFileTreeViewMenuBar MkMenuBarmenubarFileQuitmenubarHelpAboutMyViewMkMyViewviewcwdrawModel sortedModel filteredModelinotifyhistoryscrollviewBoxrcmenuupViewB homeViewB refreshViewBurlBarMyGUIMkMyGUIrootWinmenubar statusBarclearStatusBarnotebookfpropsettingsoperationBufferfmViewToContainer createMyGUIshowErrorDialogshowConfirmationDialogfileCollisionDialog renameDialogshowAboutDialogwithConfirmationDialogwithErrorDialogtextInputDialogshowFilePropertyDialoggetSelectedTreePathsgetSelectedItems withItems fileListStore getFirstItem getCurrentDir pushStatusBar popStatusbar rawPathToIter rawPathToItem
addHistorysetViewCallbacksnewTab createMyView
switchView destroyViewcreateIconViewcreateTreeView refreshView refreshView' constructViewdoFileOperation_doFileOperationgoDirsetGUICallbacksopenTerminalHerecloseTabdelmoveInitcopyInitoperationFinalnewFilenewDirrenameFurlGoTogoHomeexecuteopenupDir goHistoryPrev goHistoryNextbase
2016-06-01 19:32:51 +02:00
Data.Maybemaybe.data-default-class-0.1.0-ZjH3KaYloVKL0hubzEvlkData.Default.ClassDefaultcatchIObindirlibdirdatadir
libexecdir
sysconfdir"gtk3-0.14.4-9hf4Bm4LmvrDmQTwdsfMYT#Graphics.UI.Gtk.ModelView.ListStore ListStore