Commit Graph

251 Commits

Author SHA1 Message Date
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
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
074ee45961 GTK: allow to start gui with specific directory 2015-12-18 14:11:26 +01:00
7c84dce09f LIB: improve formatting style 2015-12-18 04:24:47 +01:00
94095ec28b GUI: minor cleanup 2015-12-18 04:22:21 +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
0781cbf9d5 LIB: remove obsolete code in Zipper 2015-12-18 04:15:55 +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
d5c6eef49e GTK: Refactor onRow
We name it withRow now and move the specific functions out of it.
2015-12-17 19:41:45 +01:00
8d9a6d7fb0 GTK: rename setBindings to setCallbacks 2015-12-17 17:48:35 +01:00
826ec65a68 LIB/GTK: use System.FilePath instead of System.FilePath.Posix 2015-12-17 17:46:55 +01:00
585a9fcc38 GTK: refactor 'onRow' and split out 'getSelectedRow' 2015-12-17 17:46:24 +01:00
82a4269cf7 GTK: remove redundant imports 2015-12-17 17:10:43 +01:00
78b6d5e52b GTK: fix some callbacks to listen on the treeView instead of rootWin 2015-12-17 17:10:03 +01:00
41f47eea1e GTK: Refresh treeview after deletion 2015-12-17 17:02:25 +01:00
4227921402 GTK: refactor updateTreeView
Move it to 'constructTreeView' and use 'refreshTreeView' instead
for updating the TreeView.
2015-12-17 17:02:25 +01:00
725744514b GTK: add delete file/dir 2015-12-17 17:02:20 +01:00
25f620ad75 LIB: add delete file/dir 2015-12-17 16:25:37 +01:00
0f1301622b GTK: add statusBar
No text yet. Probably needs to be reflected in mygui or myview state.
2015-12-17 14:47:30 +01:00