Commit Graph

237 Commits

Author SHA1 Message Date
7e8d465d81
LIB: improve documentation 2016-05-02 22:19:19 +02:00
526db2cbb7
GTK: fix opening symlinks that point to directories 2016-05-02 22:13:33 +02:00
5670b160d8
TESTS: add getFileTypeSpec 2016-05-02 22:13:19 +02:00
ac41b053e3
LIB: fix legacy comment 2016-05-02 20:51:59 +02:00
37516306d3
LIB: improve documentation formatting 2016-05-02 20:49:08 +02:00
71cee4019b
LIB: fix grammar 2016-05-02 20:38:59 +02:00
782abe2584
LIB: improve documentation 2016-05-02 20:36:22 +02:00
b3b239d4c9
LIB: rm redundant imports 2016-05-02 19:14:52 +02:00
c5afe976cf
GTK: adjust to new APIs, CopyMode functionality is broken for now! 2016-05-02 19:14:41 +02:00
47cd43dba6
LIB: refactor large parts of the API
This makes the FileOperations module more low-level, since we now
handle everything via 'Path Abs' and only leave 'File a' for
e.g. GUI purposes.

Also fixes various bugs in the Errors module.

This depends on custom changes in posix-paths.
2016-05-02 19:06:53 +02:00
251a20e881
GTK: minor fixes 2016-04-24 20:01:22 +02:00
c29693fbd0
GTK: allow to open terminal at current directory
TODO: terminal needs to be configurable
2016-04-24 20:00:34 +02:00
3008e4463b
GTK: implement tabs wrt #45
This also restructures the meaning of MyGUI and MyView.
They are now more strictly a hierarchy and everything that may
be specific to a view (like urlBar) has been moved into the MyView
context.

In addition, this also fixes #42
2016-04-24 18:38:47 +02:00
a4c8995299
GTK: formatting and comments 2016-04-20 17:59:55 +02:00
0ff24002e5
GTK: avoid subsequent duplicate entries in history 2016-04-20 17:27:47 +02:00
7608d838aa
GTK: improve history navigation
* increase maximum numbers of items in the history
* empty the "forward" history if we enter a directory
  via normal navigation
2016-04-20 17:20:04 +02:00
d432c2146b
GTK: improve file property dialog
Adds the following fields:
* file type
* permissions
* link destination of symlink (if applicable)
2016-04-20 17:16:58 +02:00
064d5a1032
LIB/GTK: use strict data types where possible 2016-04-20 16:34:26 +02:00
07c5fa2d62
GTK: fix imports 2016-04-20 16:33:18 +02:00
5c57551438
GTK: restructure Callbacks.hs to make it more readable 2016-04-20 01:25:40 +02:00
3c6aca04b4
GTK: fix history when clicking on HOME button 2016-04-20 00:48:34 +02:00
9d572c8a6e
GTK: remove obsolete void usage 2016-04-20 00:39:53 +02:00
680a75f5be
GTK: implement rudimentary history support wrt #21
5 items back and forth only. Implemented via a simple
TVar ([], []). Might be improved in the future.
2016-04-20 00:38:22 +02:00
a61b409486
GTK: implement fileinfo dialog wrt #32 2016-04-19 21:05:29 +02:00
9b43814846
GTK: clear move buffer after move
Doesn't make sense to keep it since the buffer
will probably point to a non-existing file afterwards.
2016-04-18 01:02:18 +02:00
8b8c9a669f
GTK: implement file drag and drop
Still doesn't work on multiple rows.

Also see #14
2016-04-18 00:51:45 +02:00
1d2bf37a44
GTK: implement creating new directories
And moving it with creating new files to a submenuitem.
2016-04-17 03:12:34 +02:00
e98fb577ed
GTK: implement home and up buttons wrt #40 2016-04-17 01:01:04 +02:00
e2c83b3c31
LIB/GTK: remove obsolete fullPath/fullPathS and refactor for prettiness 2016-04-16 21:50:15 +02:00
593a59787f
LIB: use posix-path traversal functions for getDirsFiles
This should also speed up reading.
2016-04-16 19:39:03 +02:00
bd707fc193
LIB: fix readFile, rm obsolete comment 2016-04-16 19:24:36 +02:00
0fca64594d
LIB/GTK: use more recent library versions 2016-04-16 19:14:08 +02:00
bb6c1b3cda
LIB/GTK: refactor File base type
We have now ditched AnchoredFile and just use File with Path Abs
in the path field.

This is useful since we now:
* don't allow "." or ".." as filenames anymore
* normalise paths in our path parsers and reject paths with ".."

This also allows us to know that filepaths are always valid. In addition
the 'basename' function from hpath may throw an exception if run
on the root dir "/". This exception is basically uncatched currently,
which is fine, because it's not a selectable directory.
2016-04-15 14:23:41 +02:00
3d15a66350
LIB: don't use show on String 2016-04-11 02:24:23 +02:00
2ae574688b
LIB: fix spelling error 2016-04-11 02:05:58 +02:00
c2f3da6180
LIB/GTK: improve exceptions/error handling 2016-04-11 01:59:18 +02:00
3f303b4cd4
LIB: minor cleanup 2016-04-10 22:04:07 +02:00
b7ee2ccd3d
LIB: move 'hiddenFile' to hpath package 2016-04-10 22:03:30 +02:00
bddf29671a
LIB: improve documentation 2016-04-10 19:25:22 +02:00
59d4051d84
LIB: small cleanup, rm obsolete functions, fix some TODOs 2016-04-10 19:16:06 +02:00
fb8d1d2e3a
LIB: give the buffer size in fallbackCopy a name 2016-04-10 18:58:06 +02:00
48edf7d47b
LIB: make interaction with FileOperation more safe
We now don't safe an AnchoredFile anymore, but a Path and
construct the AnchoredFile just before the operation is carried out.

This means the copy and move buffers cannot contain stale references
to files that don't exist anymore.
2016-04-10 18:52:51 +02:00
bd022956f5
LIB: improve unsafeCopyFile doc 2016-04-10 04:09:29 +02:00
5bcbbcc69c
LIB: overhaul file operations and improve overall performance
This introduces a lot of changes and uses a more solid
file copy operation.
2016-04-10 03:58:20 +02:00
1be8984162
GTK: fixup withCopyModeDialog
By adding a more specialized showRenameDialog function
and also cleaning up the responses/return values for
showCopyModeDialog.
2016-04-09 17:38:38 +02:00
44a90574e8
LIB/GTK: add convenient renaming capabilities on file copy/move 2016-04-09 17:25:14 +02:00
0e226d61ec
GTK: fix right-click when multiple files are selected
If the right click happens on an item that is already selected,
don't pass on the signal so the selection which may span across
multiple files is kept.

Otherwise, pass on the signal which means the item under the cursor
will be selected.

This currently misbehaves (as in: doesn't work) with IconView
properly.
2016-04-09 16:26:12 +02:00
478ffa0e98
LIB/GTK: implement copy/move/delete for multiple files 2016-04-09 15:15:58 +02:00
418365db0f
LIB: fix readFileContents
We incorrectly added +1 to the filesize.
2016-04-09 15:15:57 +02:00
hasufell
5bce5dd6ff LIB: simplify error handling
'bracket' already handles this.
2016-04-08 03:00:37 +02:00
hasufell
7f086911e1 LIB: improve documentation 2016-04-08 02:43:39 +02:00
844abcdc86
LIB: more general type for rethrowErrnoAs 2016-04-08 02:09:59 +02:00
hasufell
17407860f4 LIB: improve exception handling 2016-04-06 04:27:02 +02:00
038b0d0377
LIB: various cleanups 2016-04-06 03:10:07 +02:00
bad817d32d
LIB/GTK: use ByteString instead of String for 2016-04-05 00:56:36 +02:00
695f921c2e
LIB: rm obsolete overwriteFile 2016-04-03 22:54:17 +02:00
0d92ebb8c8
LIB: add destination dir name argument to copyDir 2016-04-03 22:52:18 +02:00
0a71c3c044
LIB: refactor copyFile 2016-04-03 22:36:29 +02:00
fa7cab69c6
LIB: fix copyFile'
Previously, BS.writeFile would fail if the created file
was not writable, obviously. Now we use the file-descriptor
to write the content.
2016-04-03 18:19:02 +02:00
bfcc2f39e5
LIB: fix throwSameFile in case fp2 doesn't exist yet 2016-04-03 18:16:38 +02:00
2609338f6e
LIB: fix throwSameFile in copyDir 2016-04-03 17:13:45 +02:00
b66e12cc9e
LIB: fix documentation in throwDestinationInSource 2016-04-03 16:56:42 +02:00
ba4fbc200c
LIB: fix throwDestinationInSource
We now examine device+file IDs, so this check works reliably
with mountpoints too.
2016-04-03 16:20:58 +02:00
2777d2d2e8
LIB: fix bug in copyDir 2016-04-03 14:37:01 +02:00
9b03b36f2f
LIB: add throwCantOpenDirectory calls to file operations 2016-04-03 14:36:56 +02:00
8c95aa312a
LIB: fix bug in throwDestinationInSource
We should only run canoncializePath on dirname, otherwise
realPath will likely fail.
2016-04-03 14:33:39 +02:00
d8fc529bf1
LIB: add canOpenDirectory and throwCantOpenDirectory 2016-04-03 14:32:10 +02:00
b6342068f2
GTK: cleanup refreshView a bit
This moves some of the parsing logic where it belong, into Gtk.hs
and fixes the type to be proper 'Path Abs'.
2016-04-03 04:13:08 +02:00
0781fc690d
LIB/GTK: improve documentation 2016-04-03 03:57:35 +02:00
4e75a84439
LIB: remove more occurences of FilePath 2016-04-03 03:57:11 +02:00
4da3c92e5e
LIB/GTK: cleanup compiler warnings 2016-03-31 16:19:31 +02:00
65595fa9c5
LIB/GTK: refactor HSFM.FileSystem.Error to use Path type 2016-03-31 15:49:35 +02:00
51abfb1dce
GTK: fix spelling 2016-03-31 02:44:44 +02:00
2d447a05da
GTK: improve error handling in refreshView'
This could theoretically lead to infinite recursion, but only
in case "/" is inaccessible or something. In which case the user
has really bigger problems.
2016-03-31 02:44:10 +02:00
91b2dc9e4b
LIB: improve documentation in readWith 2016-03-31 02:29:32 +02:00
a2e6ced69a
GTK: improve error handling on invalid paths
Fixes #28
2016-03-31 02:29:16 +02:00
dd013b7d7b
Fix Copyright 2016-03-31 00:28:23 +02:00
5e232e3d4a
LIB/GTK: use fullPathS 2016-03-31 00:25:03 +02:00
74a48b2668
Restructure module layout 2016-03-30 20:16:34 +02:00
efd2535ef9
LIB: cleanup ViewPatterns/PatternSynonyms 2016-03-30 19:38:06 +02:00
4b68bf759b
LIB: cleanup 2016-03-30 19:18:14 +02:00
5b1c595703
LIB: move maybeD to MyPrelude 2016-03-30 19:16:33 +02:00
f301e2e519
LIB/GTK: use our hpath lib for path type 2016-03-30 02:50:32 +02:00
09d8910eae
GTK: try to fix icon crap
Not sure if this is right, though.
2016-03-30 02:47:05 +02:00
ee676d0a83
GTK: fix callbacks for IconView 2015-12-30 18:01:36 +01:00
b266b78e14
GTK: add IconView and refactor the modules 2015-12-30 17:53:16 +01:00
2bc406f65e
LIB: fix file type indicators
It seems that PF.regularFileMode matches across symlinks and sockets
too, so we just examine the constructors instead.

Fixes #25
2015-12-30 02:32:48 +01:00
048bf8a328
LIB: don't do anything for FileLike (CharDev etc) yet 2015-12-30 02:16:39 +01:00
ed32961155
GTK: add rubberbanding 2015-12-30 02:16:21 +01:00
c6efdedf2d
GTK: fix relative dirs to work outside of project basedir
Fixes #23
2015-12-29 00:48:54 +01:00
ccc2f6f331
GTK: clear the Statusbar before pushing to it
Since we only show the most recent operationBuffer we only want
one item on the stack.
2015-12-28 03:20:29 +01:00
c28eb1976a
GTK: re-throw non-catched errors in withCopyModeDialog 2015-12-28 03:18:22 +01:00
e44997cd9d
LIB/GTK: generalize DirCopyMode to CopyMode and improve user confirmation 2015-12-28 03:04:02 +01:00
eae68cc0ea
GTK: make the statusBar show the operation buffer 2015-12-28 02:02:06 +01:00
36768519a3
LIB: formatting, add TODO 2015-12-28 01:49:18 +01:00
ec6aa8fab1
LIB: fix copyFile' 2015-12-28 01:48:53 +01:00
8ffbd44ce4
LIB: preserve permissions in copyDir 2015-12-27 20:39:40 +01:00
f2fb4e0be0
LIB: improve safety by ignoring invalid file names for file operations 2015-12-27 20:17:14 +01:00
9445574097
LIB: improve documentation on pattern synonyms 2015-12-27 20:03:38 +01:00
a81ef6a38c
LIB: make deleteDirRecursive a little bit more safer 2015-12-27 20:00:28 +01:00