Commit Graph

74 Commits

Author SHA1 Message Date
71a2cb90be
LIB/GTK: add move menuitem and implement creating new files 2015-12-25 22:51:45 +01:00
c98db302ba
LIB: normalize instead of canonicalizePath'
We shouldn't follow symlinks in our internal paths, because that makes
us lose information. However, we normalize where we could have passed
user input, so we don't end up with ill-formed anchors/names.
2015-12-25 15:18:05 +01:00
b9e4b96c4a
Add GPL-2 license headers 2015-12-24 18:25:05 +01:00
bd448644d2
GTK: use Cabal to construct the about dialog information 2015-12-24 18:18:50 +01:00
1ea20efe49
DOCS: add experimental note to README.md 2015-12-24 17:48:52 +01:00
5c8907143a
LIB: add symlink helpers 2015-12-24 17:45:04 +01:00
f64f2a975c
GTK: add about dialog 2015-12-24 17:44:55 +01:00
b657756e37
GTK: set default application icon 2015-12-24 17:44:42 +01:00
bd7b2ab82b
GTK: add application icon 2015-12-24 17:44:28 +01:00
e639405d7f
GTK: implement right-click menu 2015-12-24 15:36:21 +01:00
d184b82648
GTK: fix show/hide hidden files 2015-12-24 14:45:30 +01:00
e160f340ec
GTK: make file/edit menus useful 2015-12-24 14:41:06 +01:00
137956df42
DOCS: update HACKING.md 2015-12-24 06:32:49 +01:00
2ca7df5696
LIB: style formatting 2015-12-24 05:53:11 +01:00
9efe2e5f60
GUI: improve error handling in urlGoTo 2015-12-24 05:52:46 +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
06b96eecea
GTK: restructure modules a bit 2015-12-23 16:14:38 +01:00
1aeb92d657
LIB: fix documentation in IO.File 2015-12-23 16:10:08 +01:00
f55572542f
GTK: minor cleanup 2015-12-23 16:09:51 +01:00
4d2a4fd1fc
GTK: implement file move callbacks 2015-12-23 16:09:37 +01:00
09821f8fc2
LIB: implement file moving operations 2015-12-23 16:08:39 +01:00
6b89dd8564
LIB: make pattern IsSymL more lazy 2015-12-22 19:50:24 +01:00
9288be7ff7
GTK: readd copy mode dialog 2015-12-22 19:50:07 +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
0b41fee237
GTK: improve error dialog system 2015-12-22 17:56:37 +01:00
6a9d408925
GTK: remove debug prints 2015-12-22 17:50:31 +01:00
2ba9620fdc
LIB: update documentation 2015-12-22 14:17:46 +01:00
dd07a31d35
CABAL: enable threading and -N 2015-12-22 14:16:17 +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
5bfea0db10
GUI: clean up copyFinal
Don't show CopyModeChooserDialog for file copy operations.
2015-12-20 05:32:11 +01:00
98216a97c3
CABAL: cleanup 2015-12-20 01:01:45 +01:00
9a344b63e8
DOCS: add README.md and HACKING.md 2015-12-20 00:57:34 +01:00
a1af66cac3
CABAL: add missing data files 2015-12-20 00:49:14 +01:00
38fda9e768
Update .gitignore 2015-12-20 00:31:25 +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
ff40102fbe
GUI: allow deletion of non-empty directories 2015-12-18 17:15:53 +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