Commit Graph

78 Commits

Author SHA1 Message Date
Julian Ospald 9370bb4e02
Update installation method and bump deps 2020-01-24 22:30:37 +01:00
Julian Ospald 111581ef02
Remove last remnants of OverloadedStrings 2018-07-17 21:55:24 +08:00
Julian Ospald 3cd7a246ab
Fix build with latest hpath library
This also touches some exception handling code, be careful.
2018-05-17 11:42:36 +02:00
Julian Ospald df0b5e3e16
LIB/GTK: cleanup 2016-06-12 23:40:55 +02:00
Julian Ospald 03fbae7999
LIB: fix build with GHC-7.10 2016-06-02 15:00:09 +02:00
Julian Ospald dba15d43e1
LIB: add type signatures to pattern synonyms 2016-06-02 13:50:08 +02:00
Julian Ospald d460b4ce11
LIB: simplify error handling in FileType
We don't have a Failed constructor anymore.
2016-06-02 13:44:47 +02:00
Julian Ospald 89b231a2c9
GTK: fix various glitches when opening tabs 2016-06-01 23:24:00 +02:00
Julian Ospald 1831486f34
Minor cleanup 2016-05-29 14:02:26 +02:00
Julian Ospald 5aef692b4f
Fix build 2016-05-29 13:26:21 +02:00
Julian Ospald 41e2ae6131
Adjust to new HPath API 2016-05-09 16:37:02 +02:00
Julian Ospald 5fc77f6b24
Move to new HPath API 2016-05-09 14:41:57 +02:00
Julian Ospald dc457eb168
LIB/GTK: use throwIO instead of throw 2016-05-09 11:34:02 +02:00
Julian Ospald 5b6a342a9e
LIB/TESTS: fix moveFileOverwrite and add tests
We must not allow to move a file to a directory, deleting that
directory and effectively changing the filetype.
2016-05-08 23:20:00 +02:00
Julian Ospald 8646a6338c
LIB/GTK: simplify error handling, add 'reactOnError' 2016-05-08 23:06:40 +02:00
Julian Ospald 3af8b36940
GTK: adjust to new LIB API and refactor file error handling
This restructures large parts of the GUI-wise error handling code
and makes it more fine-grained, so the user can react appropriately
to exceptions.
2016-05-08 20:14:30 +02:00
Julian Ospald 9c6cf51825
LIB: refactor FileOperation and related Errors
* move FileOperation/Copy/Move types to its own UtilTypes module
* remove runFileOp, since it's hard to really do the correct
  thing here for all possible exceptions... instead, let the
  GUI logic handle this
* introduce copyDirRecursiveOverwrite, copyFileOverwrite and
  easyCopyOverwrite
* use our own throwSameFile on functions to distinguish between
  "same file" and "file already exists"
* don't follow destination in copyFile* either
* improve throwSameFile, by examining device and file ids
* add isWritable
* improve documentation
* adjust and fix tests
2016-05-08 18:48:17 +02:00
Julian Ospald d58fd6e6f0
LIB: add copyFileOverwrite 2016-05-08 12:48:03 +02:00
Julian Ospald 8b0e59faa7
LIB: improve documentation 2016-05-03 11:55:34 +02:00
Julian Ospald 6ec455b515
LIB: make deleteDirRecursive more robust
We now try 'deleteDir' first and only start recursive removal
if that fails.
2016-05-03 11:54:25 +02:00
Julian Ospald c84512e3b3
TESTS: add deleteFileSpec 2016-05-02 23:10:22 +02:00
Julian Ospald 9a11e35be0
TESTS: add getDirsFilesSpec 2016-05-02 22:52:10 +02:00
Julian Ospald 7e8d465d81
LIB: improve documentation 2016-05-02 22:19:19 +02:00
Julian Ospald 5670b160d8
TESTS: add getFileTypeSpec 2016-05-02 22:13:19 +02:00
Julian Ospald ac41b053e3
LIB: fix legacy comment 2016-05-02 20:51:59 +02:00
Julian Ospald 37516306d3
LIB: improve documentation formatting 2016-05-02 20:49:08 +02:00
Julian Ospald 71cee4019b
LIB: fix grammar 2016-05-02 20:38:59 +02:00
Julian Ospald 782abe2584
LIB: improve documentation 2016-05-02 20:36:22 +02:00
Julian Ospald b3b239d4c9
LIB: rm redundant imports 2016-05-02 19:14:52 +02:00
Julian Ospald 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
Julian Ospald 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
Julian Ospald 064d5a1032
LIB/GTK: use strict data types where possible 2016-04-20 16:34:26 +02:00
Julian Ospald a61b409486
GTK: implement fileinfo dialog wrt #32 2016-04-19 21:05:29 +02:00
Julian Ospald e2c83b3c31
LIB/GTK: remove obsolete fullPath/fullPathS and refactor for prettiness 2016-04-16 21:50:15 +02:00
Julian Ospald 593a59787f
LIB: use posix-path traversal functions for getDirsFiles
This should also speed up reading.
2016-04-16 19:39:03 +02:00
Julian Ospald bd707fc193
LIB: fix readFile, rm obsolete comment 2016-04-16 19:24:36 +02:00
Julian Ospald 0fca64594d
LIB/GTK: use more recent library versions 2016-04-16 19:14:08 +02:00
Julian Ospald 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
Julian Ospald 3d15a66350
LIB: don't use show on String 2016-04-11 02:24:23 +02:00
Julian Ospald 2ae574688b
LIB: fix spelling error 2016-04-11 02:05:58 +02:00
Julian Ospald c2f3da6180
LIB/GTK: improve exceptions/error handling 2016-04-11 01:59:18 +02:00
Julian Ospald 3f303b4cd4
LIB: minor cleanup 2016-04-10 22:04:07 +02:00
Julian Ospald b7ee2ccd3d
LIB: move 'hiddenFile' to hpath package 2016-04-10 22:03:30 +02:00
Julian Ospald bddf29671a
LIB: improve documentation 2016-04-10 19:25:22 +02:00
Julian Ospald 59d4051d84
LIB: small cleanup, rm obsolete functions, fix some TODOs 2016-04-10 19:16:06 +02:00
Julian Ospald fb8d1d2e3a
LIB: give the buffer size in fallbackCopy a name 2016-04-10 18:58:06 +02:00
Julian Ospald 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
Julian Ospald bd022956f5
LIB: improve unsafeCopyFile doc 2016-04-10 04:09:29 +02:00
Julian Ospald 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
Julian Ospald 44a90574e8
LIB/GTK: add convenient renaming capabilities on file copy/move 2016-04-09 17:25:14 +02:00