Commit graph

67 commits

Author SHA1 Message Date
Jeremy Soller
ab3b5f40d5 Dialog improvements 2024-02-26 15:16:29 -07:00
Jeremy Soller
a936cd4a6d Return item open to tab handler 2024-02-26 15:16:29 -07:00
Jeremy Soller
0ce43dfcf5 Fix actions 2024-02-26 15:16:29 -07:00
Jeremy Soller
c8f4eb9d34 WIP: buildout mouse interactions 2024-02-26 15:16:29 -07:00
Jeremy Soller
61fe3c093d
Adjust list view sizing to match designs 2024-02-22 21:46:33 -07:00
Jeremy Soller
143aa6d32b
Ensure that previews keep aspect ratio 2024-02-22 21:34:21 -07:00
Jeremy Soller
752e29e281
Adjust thumbnail size, allow zoom in preview 2024-02-22 21:24:21 -07:00
Jeremy Soller
9905af8f6f
Add thumbnailing 2024-02-22 16:17:39 -07:00
Jeremy Soller
f38ce15bf9
Calculate mime and fix time formats 2024-02-22 15:04:37 -07:00
Jeremy Soller
88073536e2
Store save dialog filename in DialogKind 2024-02-20 11:58:39 -07:00
Josh Megnauth
1f613860e4 Add icon sizes to config
Icon sizes are stored as a zoom percentage. This may need to be updated
by a programmer with better ideas, but it seems a bit nicer than storing
the size in pixels and presenting that to the user.
2024-02-20 09:58:35 -07:00
Jeremy Soller
a24983ca7f
Add dialog types 2024-02-15 15:03:01 -07:00
Jeremy Soller
81dcd6c3eb
Reduce column size 2024-02-13 12:49:37 -07:00
Jeremy Soller
db485798da
Improve dialog handling 2024-02-13 12:29:50 -07:00
Josh Megnauth
e697e96afe Small TabConfig clean ups
* Rename `config::Tab` to `TabConfig`
* Use the loaded tab config instead of the default (oops)
2024-02-11 07:23:02 -07:00
Josh Megnauth
bc5b46d552 feat: Toggle showing hidden items
`ctrl` + `h` toggles the visibility of hidden files and folders per tab.
The per tab option overrides the global option. So, a user may set
hidden items to be visible by default (global option) but override it
per tab with `ctrl` + `h`.

Currently, per tab options aren't presented anywhere in the UI such as a
menu, so the hotkey is the only way to use this feature for now.
2024-02-11 07:23:02 -07:00
Josh Megnauth
073a9a95ab Add a per Tab config
A tab config is useful for allowing users to show hidden files, sorting
by different metrics such as size or MIME type, as well as providing a
way to implement some of the todos such as configurable icon sizes for
views.
2024-02-11 07:23:02 -07:00
Josh Megnauth
c636ca8b23 Clean up LocationUp
Path doesn't need to be canonicalized.
2024-02-08 14:10:03 -07:00
Josh Megnauth
2814834251 Feature to move up file hierarchy with Alt+Up
From: https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts#Browsers_/_Go_menu

Alt+Up moves up the file hierarchy until it hits root.
So, if "/home/josh" is opened, Alt+Up would move to "/home"
2024-02-08 14:10:03 -07:00
Josh Megnauth
6378d54f7b Add unit tests for tab history 2024-02-05 19:11:40 -07:00
Josh Megnauth
d2cfae5dc7 Unit tests for tab::Message::Click
Tests for selecting items and opening items with double clicks.
2024-02-05 19:11:40 -07:00
Josh Megnauth
b0e8299ff4 Unit test for tab::Message::Location
* Implement a working unit test for `tab::Message::Location`
* Add more helper test functions and improve existing logic
2024-02-05 19:11:40 -07:00
Josh Megnauth
5d51190169 Support hidden files for tests 2024-02-05 19:11:40 -07:00
Jeremy Soller
c017663557
Do not open files in dialog mode 2024-02-01 15:57:01 -07:00
Jeremy Soller
d271159c07
Add dialog example 2024-02-01 15:55:52 -07:00
Jeremy Soller
87ad2f7dd9
Convert to library 2024-02-01 15:14:14 -07:00
Joshua Megnauth
d6c58991c0
Test helpers and unit tests (#26)
* Implement a few utility functions for tests

Most tests would require a test file hierarchy instead of operating on a
live system.

* Add unit tests for `tab::scan_path`

Tests:
* Works on a valid path
* Returns an empty Vec on an invalid directory
* Returns an empty Vec for an empty directory

I also implemented a few test helpers that may be useful for other
unit tests.

* Less spammy test logs and placate Clippy.
2024-02-01 09:29:10 -07:00
Jeremy Soller
60eeb724d1 Nav bar trash icon loads state at startup 2024-01-31 14:15:21 -07:00
Jeremy Soller
2e84a26f7e
Add location to empty view, reverse sort operations 2024-01-30 11:32:47 -07:00
Jeremy Soller
12d087abd9
Watch folders for changes 2024-01-30 11:26:23 -07:00
Jeremy Soller
12a2a39a9f
Implement history, show operations, implement trash 2024-01-30 10:47:41 -07:00
Jeremy Soller
c2a0d99086
Add rudimentary manual path editing 2024-01-29 11:58:36 -07:00
Jeremy Soller
5e1448fb6c
Adjust grid item size to match mockup 2024-01-29 11:25:43 -07:00
Jeremy Soller
1228718b10
Add breadcrumbs to grid view 2024-01-29 11:22:21 -07:00
Jeremy Soller
9a291f60f2
Make last item in breadcrumbs bold 2024-01-29 11:16:19 -07:00
Jeremy Soller
af6af1cf35
Improvements to breadcrumbs, say Home instead of folder name 2024-01-29 11:09:05 -07:00
Jeremy Soller
1bb2d3afca
Add modified to list view 2024-01-29 10:39:12 -07:00
Jeremy Soller
eede1c773d
Format sizes with base 10 units 2024-01-29 10:34:09 -07:00
Wyatt Herkamp
44960f5d08 Fix Windows Bug 2024-01-28 17:54:13 -07:00
Wyatt Herkamp
65227fcd76 update depends 2024-01-28 17:54:13 -07:00
Jeremy Soller
209622b758
Breadcrumb view 2024-01-10 12:57:30 -07:00
Jeremy Soller
35c08f469e
Allow multiple selection when holding ctrl 2024-01-10 10:47:12 -07:00
Jeremy Soller
0708c0eb39
Fix double click 2024-01-10 10:29:49 -07:00
Jeremy Soller
ff87795db0
Proper handling of right click with multiple selection 2024-01-10 10:26:30 -07:00
Jeremy Soller
07c91042db
Improve selection logic 2024-01-10 09:47:47 -07:00
Jeremy Soller
69531644ff
Update to upstream trash-rs 2024-01-10 08:55:47 -07:00
Jeremy Soller
8a46c4bbe1
Reduce nav_bar width and misc improvements 2024-01-09 15:42:42 -07:00
Jeremy Soller
b354a7d9e2
Add nav bar 2024-01-09 15:34:48 -07:00
Jeremy Soller
f77488f279 Show number of children for regular folders 2024-01-06 20:31:00 -07:00
Jeremy Soller
a43de15627 Get is_dir and size for trash items 2024-01-06 12:59:36 -07:00