Commit graph

87 commits

Author SHA1 Message Date
Jeremy Soller
501e4f48eb
Adjust scroll when using arrow keys 2024-02-29 16:25:54 -07:00
Jeremy Soller
08a7f6faed
Set proper padding of grid and list view 2024-02-29 15:52:13 -07:00
Jeremy Soller
c3934d9e56
Proper handling of button focus 2024-02-29 15:38:03 -07:00
Jeremy Soller
8bbd2e7f95
Add focus style for grid item 2024-02-29 15:29:10 -07:00
Jeremy Soller
f0956f494a
Proper handling of select by shift 2024-02-29 15:21:59 -07:00
Jeremy Soller
a1558b20c6
Add select_by_name function 2024-02-29 14:34:41 -07:00
Jeremy Soller
b9f959a298
Make items_opt private 2024-02-29 13:42:13 -07:00
Jeremy Soller
bcd5da57ab
Partially implement arrow keys for grid 2024-02-29 13:24:57 -07:00
Jeremy Soller
27b29e9fd8
Dynamically load thumbnails based on what files are visible 2024-02-29 12:26:45 -07:00
Jeremy Soller
5c8fcd4f2e
Allow drag in empty space 2024-02-29 11:40:31 -07:00
Jeremy Soller
077a29e5ee
Implement drag selection in grid view 2024-02-29 11:25:46 -07:00
Dominic Gerhauser
197398fe4e refactor sorting 2024-02-28 21:56:17 -07:00
Jeremy Soller
6e14a0baea
Add handlers for arrow keys 2024-02-28 16:16:59 -07:00
Jeremy Soller
dc8433ce59
Add open message, improve context menus 2024-02-28 15:46:23 -07:00
Jeremy Soller
24ccc9bd82
Edit location and rename key bindings 2024-02-28 15:19:07 -07:00
Jeremy Soller
ea93c7df32 Use dash icon if column not sorted 2024-02-27 22:28:06 -07:00
Dominic Gerhauser
91060cf22e sorting of files in heading 2024-02-27 21:43:57 -07:00
Jeremy Soller
65d61f5565
Update libcosmic 2024-02-27 10:26:56 -07:00
Jeremy Soller
9b22c8f9ed
Fix warnings 2024-02-27 09:58:22 -07:00
Jeremy Soller
e9da2bfb90
USe libcosmic for replace dialog 2024-02-27 09:52:39 -07:00
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