Sophie Herold
1b70686105
Use glycin devel env auto detection
...
We don't need to disable the sandbox for development environments
manually anymore. Glycin should take care of that now.
2024-07-05 22:29:06 +02:00
Sophie Herold
afcc24e235
editor: Apply rotation to files
2024-06-21 13:11:29 +02:00
Sophie Herold
4650e6766a
cargo: Update to gtk4-rs 0.9 and core 0.20
2024-06-14 17:46:33 +02:00
Sophie Herold
9b95a4706b
code: Don't use mod.rs based on Rust Style Guide
2024-05-15 13:17:45 +02:00
Sophie Herold
c15e73274e
print: Use new GTK API
2024-05-15 10:51:49 +00:00
Sophie Herold
296817abe4
image/loading: Display first error, ignore second
...
Usually the first error is the relevant one. So show this one.
Why we get more than one error at all is a bit unclear.
2024-02-29 14:21:26 +01:00
Sophie Herold
006d3dc5b4
cargo: Update to glycin 1.0.beta.2
2024-02-22 20:55:38 +00:00
Sophie Herold
a7116925bf
debug: Add more tracing for initial operations
2024-02-08 00:57:33 +01:00
Sophie Herold
3f1c247f41
cargo: Update glycin version
2024-01-29 22:35:42 +01:00
Sophie Herold
c5685b5b5e
decoder: Update dimension with frame info
...
In theory the header information doesn't has to be correct. There are no
known formats where this is the case, but just to be safe.
Closes #305
2024-01-21 14:19:33 +01:00
Sophie Herold
fe43bc3a4c
metadata: Centralize many loose ends
2024-01-01 22:43:30 +01:00
Sophie Herold
f14cb540eb
decoder: Use glycin 1.0
2023-12-29 20:10:04 +01:00
Sophie Herold
139bd4ebb2
decoder/tiling: Make shared frame buffer a struct
2023-12-26 22:09:07 +01:00
Sophie Herold
6827a9c176
print: Use LpImage for preview
2023-12-26 21:51:39 +01:00
Sophie Herold
d3cd32e090
code: Drop async-std dependeny
2023-12-25 20:53:46 +00:00
Sophie Herold
d138750448
print: Adjust 100% to SVG physical dimensions
...
Some SVGs store there size in cm or inch. With this change, the 100% in
the print dialog is calculated according to that physical size.
Closes #141
2023-12-22 21:44:36 +01:00
Sophie Herold
2648295a18
code: Reformat with group_imports=StdExternalCrate
2023-12-07 20:33:19 +01:00
Sophie Herold
057ca6a3d0
image/rendering: Use scale instead of scale-factor
...
`GdkSurface:scale` supports fractional scaling available as
"scale-monitor-framebuffer" on Mutter. Use this value everywhere
instead of the integer scale-factor
Closing #182
2023-12-06 23:39:09 +01:00
Sophie Herold
c0f435386d
metadata: Move file info and format to metadata
2023-12-04 18:08:25 +01:00
Sophie Herold
5b3ad7c257
code: Fix typos
2023-11-30 21:58:26 +01:00
Sophie Herold
b56d650086
code: Reformat with new rules
2023-11-29 21:16:11 +01:00
Sophie Herold
55811a2bb7
image: Use macro for object properties
2023-11-29 18:52:31 +01:00
Julian Hofer
cd8188a1bb
Simplify async code
...
- Update Cargo.lock
- Use new gtk-core API
- Remove unneeded async
- Remove unneeded clones
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/310 >
2023-11-22 09:12:36 +01:00
Sophie Herold
abdd54def7
decoder: Pass on transformations_applied info
...
This prevents HEIF images from getting transformations applied
again that already has been applied by the decoder.
Closes #251
2023-11-14 13:53:33 +01:00
Sophie Herold
65e7789863
decoder: Fix animations with variable frame length
...
Before, the length of the first frame was used for all frames.
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/300 >
2023-10-31 00:31:25 +00:00
Sophie Herold
a027513447
decoder: Use glycin for decoding SVGs as well
...
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/267 >
2023-08-06 11:59:33 +00:00
Sophie Herold
55551ae6a2
general: Update copyright notices
...
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/258 >
2023-07-18 17:48:43 +00:00
Sophie Herold
06d688e79e
src: Format let-else statements
2023-07-07 19:22:51 +00:00
FineFindus
bc9aff5068
refactor: Use is_some_and
2023-06-26 11:59:17 +00:00
Sophie Herold
1b2dde79b6
decoder: Use glycin for image loading expect SVG
...
This gives us sandboxed image decoding and others the
option to extend Loupe with other image formats.
2023-06-07 20:21:28 +00:00
Sophie Herold
dbf662ed3a
heif: Ignore EXIF rotation info for now
...
Ideally we would check if HEIF has transformations
but that will only work when libheif 1.16 is supported
Closes #157
2023-05-04 21:02:42 +02:00
Sophie Herold
6db58463bf
imageView: Skip unsupported formats when sliding
...
If an image with unsupported format is opened directly,
the error is shown.
Closes #92
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/212 >
2023-05-03 18:58:02 +00:00
Sophie Herold
7c227f75a8
decoder: Cancel file loading on decoder drop
...
That will probably at least work for scrolling quickly
through images. It will however usually not cancel an ongoing
decoding process.
Issue #155
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/210 >
2023-05-03 14:45:07 +00:00
Sophie Herold
9d5dfd8728
window: i18n for filter name and add 'all files'
...
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/195 >
2023-04-21 16:53:12 +02:00
Sophie Herold
7b6ee24651
decoder: Only warn about invalid ICC profile
...
Before the image failed loading
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/190 >
2023-04-20 14:27:34 +00:00
Sophie Herold
2f9fad47a1
src: Update or add auto generated license headers
...
Closes #55
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/169 >
2023-04-19 20:02:01 +02:00
Sophie Herold
e5d5841e5d
tiling: Store tiling for each layer and fix bugs
...
Tilings now have a flexible origin and are stored with the
tile layer. This allows to make the first tile centered
in the viewport, allowing for faster getting a complete
viewport.
This also fixes some rendering bugs caused by forgetting
tiles the were still needed. But not all of them.
Fixes #83 , #94
Issue #82
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/179 >
2023-04-19 02:16:37 +02:00
Sophie Herold
587599f50b
print: Render SVG for correct size
...
Closes #140
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/165 >
2023-04-18 23:52:53 +00:00
Sophie Herold
ae5ca76176
printing: Add printing support
...
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/165 >
2023-04-18 23:52:53 +00:00
Sophie Herold
8669b870af
image: Fix textures and bg color not reloading
...
The reload procedure for changed image files is triggered
but the old data has to be deleted to be re-generated.
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/176 >
2023-04-18 21:03:02 +00:00
Sophie Herold
e710419a22
decoder: Add basic color profile support
...
This only covers 8bit RGB(A) JPEG, PNG, and HEIF.
Should only be a temporary solution until GTK supports
color profiles.
Closes #36
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/172 >
2023-04-18 21:22:09 +02:00
Sophie Herold
e8aa5451c3
decoder: Avoid unwraps and report issues to UI
...
Those are mostly cases that should never occur.
But especially for rare erros it can be helpful to
directly display them in the UI.
2023-04-18 17:57:41 +00:00
Sophie Herold
fad8bb7939
decoder: Use GFile instead of PathBuf
...
This allows to show images from locations that don't
have a representation with path.
This also works around not being able to read files in trash:///
Closes #56
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/174 >
2023-04-18 16:22:49 +00:00
Sophie Herold
f8cc9f5f84
i18n: Use gettext function instead of wrapper
...
No need to deviate from the default here.
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/170 >
2023-04-12 12:58:40 +00:00
Sophie Herold
ca672552be
decoder: Bring back support for still WebP images
...
We manually have to use the static decoder instead of
the frames api as for PNG.
Issue #115
2023-04-06 21:08:23 +00:00
Sophie Herold
65e967c235
decoder: Detect HEIC/HEIF via guessed mime type
...
This will not cover files with wrong extensions. But
we don't have a magic byte sniffer in place yet.
Issue #115
2023-04-06 21:08:10 +00:00
Sophie Herold
1b18486826
image: Move background color guess to other thread
...
Also, skip it completely for JPEG and BMP
Issue #111
2023-04-04 22:13:36 +00:00
Sophie Herold
7bf9baa581
image: Ensure contrast for transparent images
...
Determine if the image is transparent and has low
contrast with default background color. If so,
use a different background color.
Closes #31
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/151 >
2023-04-02 23:08:51 +00:00
Sophie Herold
e5fc4bc85c
image: Add high DPI support
...
Always interpret the scaling percentag in physical pixels.
This makes 100% show the image 1:1 in screen pixels.
Closes #37
2023-04-02 15:22:12 +00:00
Sophie Herold
67207bb215
image: Use mipmaps for zoom-out and NN for zoom-in
...
Before we always used "linear" filtering. This gave
a harsh image with moire patterns when zooming out
and washed out images when zooming in.
Closes #68 , #71
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/125 >
2023-03-25 15:32:31 +00:00