Commit Graph

85 Commits

Author SHA1 Message Date
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
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 c2f3da6180
LIB/GTK: improve exceptions/error handling 2016-04-11 01:59:18 +02:00
Julian Ospald b7ee2ccd3d
LIB: move 'hiddenFile' to hpath package 2016-04-10 22:03:30 +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 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 1be8984162
GTK: fixup withCopyModeDialog
By adding a more specialized showRenameDialog function
and also cleaning up the responses/return values for
showCopyModeDialog.
2016-04-09 17:38:38 +02:00
Julian Ospald 44a90574e8
LIB/GTK: add convenient renaming capabilities on file copy/move 2016-04-09 17:25:14 +02:00
Julian Ospald 0e226d61ec
GTK: fix right-click when multiple files are selected
If the right click happens on an item that is already selected,
don't pass on the signal so the selection which may span across
multiple files is kept.

Otherwise, pass on the signal which means the item under the cursor
will be selected.

This currently misbehaves (as in: doesn't work) with IconView
properly.
2016-04-09 16:26:12 +02:00
Julian Ospald 478ffa0e98
LIB/GTK: implement copy/move/delete for multiple files 2016-04-09 15:15:58 +02:00
Julian Ospald bad817d32d
LIB/GTK: use ByteString instead of String for 2016-04-05 00:56:36 +02:00
Julian Ospald b6342068f2
GTK: cleanup refreshView a bit
This moves some of the parsing logic where it belong, into Gtk.hs
and fixes the type to be proper 'Path Abs'.
2016-04-03 04:13:08 +02:00
Julian Ospald 0781fc690d
LIB/GTK: improve documentation 2016-04-03 03:57:35 +02:00
Julian Ospald 4da3c92e5e
LIB/GTK: cleanup compiler warnings 2016-03-31 16:19:31 +02:00
Julian Ospald 65595fa9c5
LIB/GTK: refactor HSFM.FileSystem.Error to use Path type 2016-03-31 15:49:35 +02:00
Julian Ospald 51abfb1dce
GTK: fix spelling 2016-03-31 02:44:44 +02:00
Julian Ospald 2d447a05da
GTK: improve error handling in refreshView'
This could theoretically lead to infinite recursion, but only
in case "/" is inaccessible or something. In which case the user
has really bigger problems.
2016-03-31 02:44:10 +02:00
Julian Ospald a2e6ced69a
GTK: improve error handling on invalid paths
Fixes #28
2016-03-31 02:29:16 +02:00
Julian Ospald dd013b7d7b
Fix Copyright 2016-03-31 00:28:23 +02:00
Julian Ospald 5e232e3d4a
LIB/GTK: use fullPathS 2016-03-31 00:25:03 +02:00
Julian Ospald 74a48b2668
Restructure module layout 2016-03-30 20:16:34 +02:00