Commit Graph

100 Commits

Author SHA1 Message Date
Julian Ospald d1432c206b
Fix build for ghc < 7.10 2016-05-30 14:20:00 +02:00
Julian Ospald e900b690e7
Fix build with older GHC < 7.10 2016-05-30 13:52:37 +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 274aabe1f3
GTK: make tabs reorderable and scrollable 2016-05-10 02:16:03 +02:00
Julian Ospald 8739ccc55f
Adjust to hpath-0.6.0 2016-05-10 02:05:05 +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 173c4cbddd
GTK: minor cleanup 2016-05-09 00:52:22 +02:00
Julian Ospald a25f92e4ec
GTK: pre-set input field when renaming files 2016-05-09 00:45:47 +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 db16dcbb5d
GTK: fix renameF callback 2016-05-08 20:14:39 +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 526db2cbb7
GTK: fix opening symlinks that point to directories 2016-05-02 22:13:33 +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 c5afe976cf
GTK: adjust to new APIs, CopyMode functionality is broken for now! 2016-05-02 19:14:41 +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 251a20e881
GTK: minor fixes 2016-04-24 20:01:22 +02:00
Julian Ospald c29693fbd0
GTK: allow to open terminal at current directory
TODO: terminal needs to be configurable
2016-04-24 20:00:34 +02:00
Julian Ospald 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
Julian Ospald a4c8995299
GTK: formatting and comments 2016-04-20 17:59:55 +02:00
Julian Ospald 0ff24002e5
GTK: avoid subsequent duplicate entries in history 2016-04-20 17:27:47 +02:00
Julian Ospald 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
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 07c5fa2d62
GTK: fix imports 2016-04-20 16:33:18 +02:00
Julian Ospald 5c57551438
GTK: restructure Callbacks.hs to make it more readable 2016-04-20 01:25:40 +02:00
Julian Ospald 3c6aca04b4
GTK: fix history when clicking on HOME button 2016-04-20 00:48:34 +02:00
Julian Ospald 9d572c8a6e
GTK: remove obsolete void usage 2016-04-20 00:39:53 +02:00
Julian Ospald 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
Julian Ospald a61b409486
GTK: implement fileinfo dialog wrt #32 2016-04-19 21:05:29 +02:00
Julian Ospald 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
Julian Ospald 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
Julian Ospald 1d2bf37a44
GTK: implement creating new directories
And moving it with creating new files to a submenuitem.
2016-04-17 03:12:34 +02:00
Julian Ospald e98fb577ed
GTK: implement home and up buttons wrt #40 2016-04-17 01:01:04 +02:00
Julian Ospald e2c83b3c31
LIB/GTK: remove obsolete fullPath/fullPathS and refactor for prettiness 2016-04-16 21:50:15 +02:00