Julian Ospald
3e4621fe70
GTK: add "New -> Terminal" to right-click menu
2016-06-03 14:42:28 +02:00
Julian Ospald
077ac81227
GTK: improve tab opening
...
When multiple folders are selected, a regular 'open' will
open new tabs for each of them without changing the current view.
2016-06-03 14:25:17 +02:00
Julian Ospald
e72bff4180
GTK: fix switchView
2016-06-03 14:06:18 +02:00
Julian Ospald
e310879d61
GTK: add newTab{,Here} buttons and allow closing tabs via middle-click
...
This also fixes behavior of destroyView.
2016-06-03 13:44:59 +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
244a58d8c2
GTK: refactor refreshView a bit
2016-06-01 23:58:34 +02:00
Julian Ospald
89b231a2c9
GTK: fix various glitches when opening tabs
2016-06-01 23:24:00 +02:00
Julian Ospald
d14caf5269
GTK: don't allow new-tab middle-click on non-directories
2016-06-01 22:26:32 +02:00
Julian Ospald
9549b40745
GTK: implement newTab on middle-click
2016-06-01 22:02:18 +02:00
Julian Ospald
01c241a01e
GTK: remove tab label side-effect from refreshView'
...
This would cause bugs when newtab on middle-click is implemented,
since creating a new tab creates also a new view, but doesn't
change the current tab to that view. refreshView' would then
update that view with the information from the wrong tab.
2016-06-01 22:00: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