Commit graph

93 commits

Author SHA1 Message Date
Jeremy Soller
5778d64e8c Implement dialog for replacing files 2024-02-26 15:16:29 -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
d526040ff5
Format 2024-02-22 14:30:04 -07:00
Josh Megnauth
86aa79733b Close context panes and tab menus on Escape 2024-02-22 10:04:19 -07:00
Jeremy Soller
4f19123847
Fix button styles 2024-02-20 14:39:17 -07:00
Jeremy Soller
88073536e2
Store save dialog filename in DialogKind 2024-02-20 11:58:39 -07:00
Josh Megnauth
162616f687 Add icon sizes to settings page 2024-02-20 09:58:35 -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
Josh Megnauth
3167a9936c Add tab config to settings page
* Allow tabs to be configured globally
* Update each tab when global tab config changes
2024-02-20 09:58:35 -07:00
Jeremy Soller
a24983ca7f
Add dialog types 2024-02-15 15:03:01 -07:00
Jeremy Soller
91c4985d42
Gate setting application ID by platform 2024-02-13 13:12:23 -07:00
Jeremy Soller
5dc65515fc
Force file dialog size 2024-02-13 12:49:52 -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
Jeremy Soller
75874caf9d Use CSDs on Redox, set min size 2024-02-10 19:09:37 -07:00
Jeremy Soller
cb4bd84ea5 Rebase on new libcosmic and iced 2024-02-09 07:09:51 -07:00
W
88089fecb4 Support back/forward mouse buttons 2024-02-08 14:10:36 -07:00
W
d79349efaf Capture mouse back/forward 2024-02-08 14:10:36 -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
843997a0d8 Add Alt-Left and Alt-Right for history navigation
Common shortcuts.
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
588211adb0 Enable multi-window feature of libcosmic 2024-02-01 19:40:37 -07:00
Jeremy Soller
2832e6066e Forward selected path to caller 2024-02-01 17:43:41 -07:00
Jeremy Soller
c6eecbddd8 Add open/cancel buttons to dialog 2024-02-01 17:34:22 -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
004fd617ea
Show key bindings in menu 2024-01-29 12:21:54 -07:00
Jeremy Soller
380a3b2ff7
Add stub for operations 2024-01-29 11:58:50 -07:00
Jeremy Soller
c2a0d99086
Add rudimentary manual path editing 2024-01-29 11:58:36 -07:00