Commit Graph

51 Commits

Author SHA1 Message Date
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
a81ef6a38c
LIB: make deleteDirRecursive a little bit more safer 2015-12-27 20:00:28 +01:00
54af33f3a7
LIB/GTK: remove the rest of the directory package 2015-12-27 19:26:58 +01:00
5afc25d2d1
LIB: improve error handling
* close all directory streams in case of IOErrors
* raise error on invalid input types in File operations
* properly catch eXDEV in moveFile instead of all errors
2015-12-27 16:25:24 +01:00
27673b0751
LIB: make moveFile portable 2015-12-26 23:21:02 +01:00
400a0242d6
LIB/GTK: refactor ViewPatterns/PatternSynonyms 2015-12-26 22:00:08 +01:00
fa3e5b3ff9
LIB: simplify file moving 2015-12-26 21:18:42 +01:00
3bd201f1b6
LIB: add more useful pattern synonyms 2015-12-26 20:28:00 +01:00
0ec4aaac54
LIB/GTK: reduce usage of System.Directory (directory package) 2015-12-26 16:02:25 +01:00
edb51ad1f6
LIB: add createDir 2015-12-26 15:58:41 +01:00
d727566e86
LIB: don't allow empty FileName argument in createFile/renameFile 2015-12-26 03:07:36 +01:00
3639dec1d3
LIB/GTK: fix file renaming (previously called move) 2015-12-26 03:04:28 +01:00
71a2cb90be
LIB/GTK: add move menuitem and implement creating new files 2015-12-25 22:51:45 +01:00
b9e4b96c4a
Add GPL-2 license headers 2015-12-24 18:25:05 +01:00
2ca7df5696
LIB: style formatting 2015-12-24 05:53:11 +01:00
47aee871be
LIB/GTK: improve our ViewPatterns/PatternSynonyms + refactor 2015-12-24 03:11:17 +01:00
5f183bef3f
LIB/GTK: use new data structure with explicit SymLink constructor
This still needs a lot of work to function consistently, but it's better
than the old approach.
2015-12-23 22:50:04 +01:00
1aeb92d657
LIB: fix documentation in IO.File 2015-12-23 16:10:08 +01:00
09821f8fc2
LIB: implement file moving operations 2015-12-23 16:08:39 +01:00
aa1401d874
LIB: remove debug print 2015-12-22 19:49:47 +01:00
eba0c95f8c
LIB: simplify symlink pattern matching via ViewPatterns/PatternSynonyms 2015-12-22 19:40:29 +01:00
2ba9620fdc
LIB: update documentation 2015-12-22 14:17:46 +01:00
2486d83260
LIB/GTK: use AnchoredFile in IO.File
What's the point of having it anyway if we don't?
2015-12-22 14:15:48 +01:00
06151a3a08
LIB: minor improvement to copyDir 2015-12-21 18:54:37 +01:00
da32ccf619
LIB: improve documentation 2015-12-21 18:39:30 +01:00
773cb100b4
LIB: make recreateSymlink more robust 2015-12-21 18:36:45 +01:00
433cb164a6
LIB: improve symlink handling 2015-12-21 18:32:53 +01:00
988350967a
LIB: wrap canonicalizePath so it doesn't follow the last symlink component
canonicalizePath tries to remove as many symlink components as possible,
but this is not what we want for a lot of operations like copying
files. So instead we preserve the last path component if it's a symlink
and canonicalize it's parent filepath.
2015-12-21 17:15:31 +01:00
89157bc0d9
LIB: fix IOError in copyFile
The destination file does not exist yet so we cannot canonicalize
it's full path, only part of it.
2015-12-21 05:50:19 +01:00
0867c8b2e3
LIB/GTK: add '.' and '..' files, remove fsState and improve safety
We use canonicalizePaths where we need well-formed paths and cannot
rely on the input being sane.
2015-12-21 05:41:12 +01:00
fe6145d5be
LIB/GTK: change DirTree again
we now have:
* AnchoredFile -- for representing a file with context
* File         -- for representing a file only

Both representations mean "file" in the broader sense, including
directories.
2015-12-21 00:41:02 +01:00
3ba647d172
LIB/GTK: rewrite to use more atomic operations/data structures
This is a little bit less fancy, but avoids lazy IO. It depends a
little bit more on FilePath, but that also allows for a more general
interface.
2015-12-20 00:30:52 +01:00
aa5d29c41d
LIB: speed up copyDir
Instead of using zipLazy (which does more IO than we need)
we just construct the newDest zipper from the information we
already have. This should be sufficient.
2015-12-18 17:33:39 +01:00
9fbe43e7d5
LIB: don't allow same source and dest in copyDir 2015-12-18 17:00:44 +01:00
58665d7b29
LIB/GTK: enhance FileOperation type so we can have partial functions
This also add a copy mode dialog to the copy operations.
2015-12-18 16:55:46 +01:00
a4849cf044
LIB: improve haddock comments 2015-12-18 15:50:33 +01:00
51fffabe22
LIB: restructure copyDir 2015-12-18 15:42:24 +01:00
0f1c8dafe8
LIB: use whenM/unlessM 2015-12-18 15:37:14 +01:00
ffe8037160
LIB: add copy modes
TODO: integrate these more nicely with runFileOp
2015-12-18 15:28:56 +01:00
34c6223c25
LIB: fix throwDirDoesExist exception type 2015-12-18 15:28:04 +01:00
e67d68ab15
LIB: improve performance of copyDir 2015-12-18 14:21:57 +01:00
7c84dce09f
LIB: improve formatting style 2015-12-18 04:24:47 +01:00
d4a5460128
LIB: implement copyDir and minor refactor
We also had to lock the FileOperation type to DTInfoZipper so
we can examine symlinks and other stuff, without re-reading
all the information.
2015-12-18 04:22:13 +01:00
f2a8f21bf3
LIB: update TODO comments 2015-12-17 23:11:18 +01:00
87ad7d02f0
LIB/GTK: refactor File API and add copyFile 2015-12-17 23:08:02 +01:00
826ec65a68
LIB/GTK: use System.FilePath instead of System.FilePath.Posix 2015-12-17 17:46:55 +01:00
25f620ad75
LIB: add delete file/dir 2015-12-17 16:25:37 +01:00