Files
hsfm/hsfm.haddock

82 lines
45 KiB
Plaintext
Raw Normal View History

<0C><><00><><00><><EFBFBD> 
    !"#$%&'()*+,-./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> <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
2016-06-01 19:32:51 +02:00
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,
because we might want to have multiple views.<00><02>Monolithic object passed to various GUI functions in order
2016-06-01 19:32:51 +02:00
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>
<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><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
2016-06-01 19:32:51 +02:00
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.
2016-06-01 19:32:51 +02:00
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>whether to update the history<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><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
2016-06-01 19:32:51 +02:00
successfulfailedfailurescomparingConstrisFileCisDirCisSymCisBlockCisCharCisNamedC isSocketC getFileInfohandleDTisBrokenSymlink packModTimepackAccessTime epochToStringpackPermissions packFileTypepackLinkDestination fromFreeVar
getFPasStr
getFreeVar $fOrdFile
$fShowFile$fEqFile$fShowFileInfo $fEqFileInfo $fOrdFileInfoc_strlen
2016-06-01 19:32:51 +02:00
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_doFileOperationgoDirsetGUICallbacksopenTerminalHerecloseTab
newTabHeredelmoveInitcopyInitoperationFinalnewFilenewDirrenameFurlGoTogoHomeexecuteopenupDir goHistoryPrev goHistoryNextbase
Data.Maybemaybe.data-default-class-0.1.0-ZjH3KaYloVKL0hubzEvlkData.Default.ClassDefaultcatchIObindirlibdirdatadir
2016-06-01 19:32:51 +02:00
libexecdir
sysconfdir"gtk3-0.14.4-9hf4Bm4LmvrDmQTwdsfMYT#Graphics.UI.Gtk.ModelView.ListStore ListStore