Julian Ospald
3cd7a246ab
Fix build with latest hpath library
...
This also touches some exception handling code, be careful.
2018-05-17 11:42:36 +02:00
Julian Ospald
e2bf4d5f03
GTK: have two panels, fixes #52
2016-11-06 01:33:03 +01:00
Julian Ospald
e3a840b051
GTK: refactor plugins to allow filtering the items
2016-06-08 21:36:36 +02:00
Julian Ospald
89710d9d1a
Add Settings modules wrt #22
2016-06-07 20:07:16 +02:00
Julian Ospald
64fb9fbea0
Use new hpath API
2016-06-05 17:58:50 +02:00
Julian Ospald
8ec925aa8f
GTK: improve sections
2016-06-04 19:09:56 +02:00
Julian Ospald
48b0b7b1d8
GTK: overhaul history feature
...
Allowing righ-click menu.
2016-06-04 18:58:33 +02:00
Julian Ospald
05a62cb382
GTK: use new History module
2016-06-04 17:28:15 +02:00
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
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
5aef692b4f
Fix build
2016-05-29 13:26:21 +02:00
Julian Ospald
41e2ae6131
Adjust to new HPath API
2016-05-09 16:37:02 +02:00
Julian Ospald
dc457eb168
LIB/GTK: use throwIO instead of throw
2016-05-09 11:34:02 +02:00
Julian Ospald
a25f92e4ec
GTK: pre-set input field when renaming files
2016-05-09 00:45:47 +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
c5afe976cf
GTK: adjust to new APIs, CopyMode functionality is broken for now!
2016-05-02 19:14:41 +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
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
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
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
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
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
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
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
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