Commit Graph

107 Commits

Author SHA1 Message Date
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
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