Commit graph

425 commits

Author SHA1 Message Date
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
Vukašin Vojinović
f95869a631 chore: migrate to Rust 2024 edition 2025-09-11 08:15:26 -06:00
Josh Megnauth
d8acbd2ce0 Fix extracting password protected archives
Closes: #1157

The fix splits the "canceled" and "failed" states for OperationError. It
also preserves that state because some functions overwrote the state by
rewrapping the error.
2025-09-09 07:52:32 -06:00
Ryan Brue
a76f7f8685 Fix tests
Tested with cargo test --all-features

Signed-off-by: Ryan Brue <ryanbrue.dev@gmail.com>
2025-08-20 17:13:43 -04:00
Jason Rodney Hansen
16868ca990 Fix for right-clicking file when context menu is open already
This fixes a bug where right-clicking a file while the context menu was open
for another file would open another context menu that couldn't be closed.

The new behavior is to close the context menu.
2025-08-17 16:25:10 -06:00
Jeremy Soller
a6f0d898ce
Support drag and drop to gvfs drives, fixes #1140 2025-08-15 11:27:33 -06:00
Jeremy Soller
fb74be9a70
Restore tab scroll position, fixes #1115 2025-08-15 11:01:08 -06:00
Jeremy Soller
b3a6d14bc6
Update dependencies 2025-08-13 12:40:20 -06:00
Ashley Wulber
c8e5d986f2
Fix context menu position (#1136)
* chore: update libcosmic

* fix(context menu): compensate for scroll virtual offset, and use window position
2025-08-13 11:01:03 -06:00
Ashley Wulber
a4e3bf3eea
fix: limit concurrent thumbnail generation (#1138) 2025-08-13 11:00:07 -06:00
Jeremy Soller
4f015eec7a
Only scroll to focused object on resize, fixes #1097 2025-07-31 10:04:34 -06:00
Jeremy Soller
67884d2800
Do not apply image size limit to all files 2025-07-30 15:52:21 -06:00
Jeremy Soller
5736fbb271
Remove unnecessary debug 2025-07-30 15:48:53 -06:00
Mitchel Stewart
293350092c
thumbnail: Support jxl and plumbing for future formats. (#1058)
* add plumbing for additional thumbnailers

* remove bad logging and fmt

* fix bad logging message

* add decoding ram limits

* add configuration for thumbs

* cleanups

* fix rebase fails
2025-07-30 15:45:53 -06:00
Josh Megnauth
64c8506dd2 Decode URL encoded recents bookmark
File paths are URL encoded in the recently-used.xbel file. Paths with
spaces (or whatever) need to be decoded or else the Recents tab skips
those entries.
2025-07-28 15:27:51 -06:00
Ashley Wulber
6d9e6c1d20 fix(desktop): use the window id for context menus 2025-07-25 15:47:37 -04:00
Jeremy Soller
a6e369df0f
Enable context menu popups in dialog, close context menu when location changes 2025-07-24 11:34:41 -06:00
Jeremy Soller
605f44763b
On wayland, place context menus into popups, fixes #1090 2025-07-24 10:51:46 -06:00
Ashley Wulber
5dad1f0d26 fix: exit early from thumbnail generation if file is too big 2025-07-17 10:14:54 -06:00