Commit graph

443 commits

Author SHA1 Message Date
Jeremy Soller
02201940d9 Auto complete slash at end of directories 2026-01-13 11:55:55 -05:00
Jeremy Soller
705c881259 Canonicalize paths if possible when changing directory 2026-01-13 11:55:55 -05:00
Jeremy Soller
85456983c8 Allow nested path completion 2026-01-13 11:55:55 -05:00
Jeremy Soller
3b49808bc6 Allow tab and shift-tab completion in path editing 2026-01-13 11:55:55 -05:00
Hojjat
092d25d860 fix: culled items not appearning after window resize
When a window resizes larger such that content no longer needs
scrolling, scroll_opt retains its stale offset value. Since no scroll
event fires, visible_rect was calculated with an out-of-bounds offset,
causing items at the top to be culled and not rendered.

Fix by caching content_height from each render pass and using it to
clamp scroll_opt when building visible_rect.
2026-01-07 16:28:42 -07:00
wowitsjack
26634889dc scroll to selected item when using type-to-select 2026-01-03 17:10:58 +10:00
Levi Portenier
03ec21bdc9
Merge branch 'master' into type-to-select 2025-12-30 12:44:20 -07:00
Jeremy Soller
5edeea69f9
Scroll to focused item on tab rescan, fixes #1281 2025-12-29 15:57:51 -07:00
nilltadios
0af3d12e9e fix: support absolute paths in .desktop file Icon field
Per the FreeDesktop Desktop Entry spec, the Icon field can be either
an icon name (looked up in the theme) or an absolute path to an image.
Previously, all Icon values were passed to `widget::icon::from_name()`,
which only works for icon names.

This adds a `desktop_icon_handle()` helper that checks if the path is
absolute and exists, using `widget::icon::from_path()` for absolute
paths and `widget::icon::from_name()` for icon names.

Fixes: https://github.com/pop-os/cosmic-epoch/issues/2697
2025-12-29 10:51:15 -06:00
wowitsjack
5e92d081c6 add type-to-select option for keyboard navigation 2025-12-27 19:07:21 +10:00
Jonatan Pettersson
d9b6404f1b refactor: file metadata 2025-12-26 13:21:19 -06:00
Jonatan Pettersson
79c34ff9ce refactor: children count 2025-12-26 13:21:19 -06:00
Jonatan Pettersson
b1771b4c42 refactor: simplify mime type limit logic 2025-12-26 13:21:19 -06:00
Jonatan Pettersson
361465e337 feat: add multi-file preview 2025-12-26 13:21:19 -06:00
Jonatan Pettersson
4782f36b9c fix: Expand tilde in location path 2025-12-19 12:14:01 +01:00
Cheong Lau
7c7dbe7178 fix: update network path when entering uri
closes: #1406
2025-12-08 17:12:23 -07:00
Cheong Lau
66733b7fda feat(tab): allow entering of network uri as path 2025-11-26 16:11:10 -07:00
therealmate
e053db3bf9 fix: allow context menu when shift is being pressed 2025-11-24 17:08:49 -07:00
Jeremy Soller
28c241bc1b
Merge pull request #1377 from FreddyFunk/bugfix/large-image-preview
improve support and performance with very large images for thumbnail generation, preview tab and gallery view
2025-11-20 08:40:01 -07:00
Jeremy Soller
0957f937db
Do not track modifiers in tab, fixes #1312 2025-11-20 08:39:04 -07:00
Jeremy Soller
29a1f7f518
Merge pull request #1379 from FreddyFunk/bugfix/external-drives-metadata
Show metadata, thumbnails and gallery view on mounted drives
2025-11-18 16:52:35 -07:00
Frederic Laing
4df14044aa
make sure to not create more thumbnail workers than available CPU cores 2025-11-17 17:07:35 +01:00
Frederic Laing
c8f25472a7
extend remote location filesystem detection filter 2025-11-17 09:27:26 +01:00
Frederic Laing
bf7b9c192c
implement adaptive sampling for optimal image quality of large images in gallery view while keeping the memory foodprint minimal and UI blocks from GPU buffer uploads minimal and as short as possible 2025-11-16 21:31:27 +01:00
Frederic Laing
76c56d5d3b
improve and simplify heuristics 2025-11-16 19:49:31 +01:00
Frederic Laing
006b69d98b
refactor try_decode_image 2025-11-16 18:40:55 +01:00
Frederic Laing
0353009321
move large image handling out of tab and into new module large_image 2025-11-16 18:12:51 +01:00
Frederic Laing
e2f70a1215 fix for hidden files being visible on external drives 2025-11-13 16:22:09 -05:00
Frederic Laing
9339a74abb
improve support and performance with very large images for thumbnail generation, preview tab and gallery view 2025-11-13 22:02:48 +01:00
Jeremy Soller
94b15703f2
Fix compilation without gvfs feature 2025-11-12 07:46:16 -07:00
Cheong Lau
cfc7ee69b7
Merge branch 'pop-os:master' into item-display-name 2025-11-12 01:57:18 +00:00
Cheong Lau
cd6187433d fixup! chore: more pedantic clippy suggestions
This fixes an accidental change that converted images to `rgb8` instead
of `rgba8`, which silently broke thumbnail rendering.

fixes: 5f729829d7
2025-11-08 14:45:38 +10:00
Cheong Lau
5aa8a8ff76
Merge branch 'pop-os:master' into item-display-name 2025-11-05 22:49:34 +00:00
Vukašin Vojinović
2ba08c4928 chore: update dependencies
This adapts to the changed context drawer actions API.
Also simplifies the actions code.
2025-11-05 15:26:02 -07:00
Cheong Lau
9f680251ab
Merge branch 'master' into item-display-name 2025-10-29 04:46:23 +00:00
Cheong Lau
bd1fa1f0a9 perf: general minor performance optimisations
Notably there is some code cleanup with the zooming functionality, I've
created a new module to reduce code duplication.
2025-10-29 08:16:50 +10:00
Cheong Lau
5f729829d7 chore: more pedantic clippy suggestions 2025-10-29 08:10:19 +10:00
Cheong Lau
2eaad6088a perf: optimise tab::folder_name
This was done by separating out the function to get the display name
into its own function, then running just that.
2025-10-28 17:13:22 +10:00
Cheong Lau
78f2ed2bdd
Merge branch 'master' into rustc-hash 2025-10-23 11:24:01 +00:00
Jeremy Soller
704ff6ad4f
Unhighlight all items when config changes, fixes #1139 2025-10-20 14:16:03 -06:00
Jeremy Soller
e2c446b73a
Fix shift click sorting when items sorted by name, fixes #1135 2025-10-20 14:03:45 -06:00
Cheong Lau
43a9fca4ec perf: use rustc-hash for HashMap and HashSet
Since we already depend on `rustc-hash` transiently, this doesn't add
any more dependencies. As long as DOS attacks aren't a concern (which I
don't think they are?), this should be free performance.

In my (admittedly naive) testing, this really improved CPU usage in some
cases, which is pretty nice to get for free.
2025-10-19 08:46:12 +10:00
Cheong Lau
f78d4a4b4f perf: use Rc<RefCell> for ArcElementWrapper
Since `Element` isn't `Sync` and `ArcElementWrapper` doesn't need to be
sent across threads, the overhead from using `Arc<Mutex>` isn't really
needed. Using an `Rc<RefCell>` has the same effect, but is faster and
isn't thread-safe.
2025-10-13 10:13:01 +10:00
Jason Rodney Hansen
d9d5a6fe3d Fix location context menu 2025-10-09 19:17:55 -06:00
Jeremy Soller
7d5fb79f02
Handle single click to open on release, fixes #1212 2025-10-09 13:52:41 -06:00
therealmate
23dd824746
fix: use the dimension of the image instead of the thumbnail's dimension
Fixes https://github.com/pop-os/cosmic-files/issues/1244
2025-10-05 22:50:56 +02:00
Vukašin Vojinović
909577b364 chore: clippy 2025-10-03 14:36:00 -04:00
Vukašin Vojinović
901bf3f564 chore: update to icu 2.0.0 2025-09-15 15:20:33 -06:00
Vukašin Vojinović
131cf7e8cd chore: make dbus-config optional
Also fixes some lints.
2025-09-13 10:51:14 -06:00
Vukašin Vojinović
3ee1a07f09 chore: update dependencies
Updates all dependencies other than ICU.
Enables the `dbus-config` libcosmic feature to fix theming responsiveness.
Also prevents the trash and network drive layer container from touching the edge of the window.
2025-09-11 08:15:26 -06:00