Commit Graph

113 Commits

Author SHA1 Message Date
7998ea33de GTK: fix umlaut in error dialogs 2016-06-03 23:54:39 +02:00
1fec2983bd GTK: fix closing tabs via [Control]+w when tab was switched 2016-06-03 22:34:49 +02:00
e4bb5104e8 GTK: fix opening non-readable directory as tab 2016-06-03 14:46:23 +02:00
3e4621fe70 GTK: add "New -> Terminal" to right-click menu 2016-06-03 14:42:28 +02:00
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
e72bff4180 GTK: fix switchView 2016-06-03 14:06:18 +02:00
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
03fbae7999 LIB: fix build with GHC-7.10 2016-06-02 15:00:09 +02:00
dba15d43e1 LIB: add type signatures to pattern synonyms 2016-06-02 13:50:08 +02:00
d460b4ce11 LIB: simplify error handling in FileType
We don't have a Failed constructor anymore.
2016-06-02 13:44:47 +02:00
244a58d8c2 GTK: refactor refreshView a bit 2016-06-01 23:58:34 +02:00
89b231a2c9 GTK: fix various glitches when opening tabs 2016-06-01 23:24:00 +02:00
d14caf5269 GTK: don't allow new-tab middle-click on non-directories 2016-06-01 22:26:32 +02:00
9549b40745 GTK: implement newTab on middle-click 2016-06-01 22:02:18 +02:00
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
1831486f34 Minor cleanup 2016-05-29 14:02:26 +02:00
5aef692b4f Fix build 2016-05-29 13:26:21 +02:00
274aabe1f3 GTK: make tabs reorderable and scrollable 2016-05-10 02:16:03 +02:00
8739ccc55f Adjust to hpath-0.6.0 2016-05-10 02:05:05 +02:00
41e2ae6131 Adjust to new HPath API 2016-05-09 16:37:02 +02:00
5fc77f6b24 Move to new HPath API 2016-05-09 14:41:57 +02:00
dc457eb168 LIB/GTK: use throwIO instead of throw 2016-05-09 11:34:02 +02:00
173c4cbddd GTK: minor cleanup 2016-05-09 00:52:22 +02:00
a25f92e4ec GTK: pre-set input field when renaming files 2016-05-09 00:45:47 +02:00
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
8646a6338c LIB/GTK: simplify error handling, add 'reactOnError' 2016-05-08 23:06:40 +02:00
db16dcbb5d GTK: fix renameF callback 2016-05-08 20:14:39 +02:00
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
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
d58fd6e6f0 LIB: add copyFileOverwrite 2016-05-08 12:48:03 +02:00
8b0e59faa7 LIB: improve documentation 2016-05-03 11:55:34 +02:00
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
c84512e3b3 TESTS: add deleteFileSpec 2016-05-02 23:10:22 +02:00
9a11e35be0 TESTS: add getDirsFilesSpec 2016-05-02 22:52:10 +02:00
7e8d465d81 LIB: improve documentation 2016-05-02 22:19:19 +02:00
526db2cbb7 GTK: fix opening symlinks that point to directories 2016-05-02 22:13:33 +02:00
5670b160d8 TESTS: add getFileTypeSpec 2016-05-02 22:13:19 +02:00
ac41b053e3 LIB: fix legacy comment 2016-05-02 20:51:59 +02:00
37516306d3 LIB: improve documentation formatting 2016-05-02 20:49:08 +02:00
71cee4019b LIB: fix grammar 2016-05-02 20:38:59 +02:00
782abe2584 LIB: improve documentation 2016-05-02 20:36:22 +02:00
b3b239d4c9 LIB: rm redundant imports 2016-05-02 19:14:52 +02:00
c5afe976cf GTK: adjust to new APIs, CopyMode functionality is broken for now! 2016-05-02 19:14:41 +02:00
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
251a20e881 GTK: minor fixes 2016-04-24 20:01:22 +02:00
c29693fbd0 GTK: allow to open terminal at current directory
TODO: terminal needs to be configurable
2016-04-24 20:00:34 +02:00
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
a4c8995299 GTK: formatting and comments 2016-04-20 17:59:55 +02:00
0ff24002e5 GTK: avoid subsequent duplicate entries in history 2016-04-20 17:27:47 +02:00
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