Commit graph

75 commits

Author SHA1 Message Date
Sophie Herold
4eb1e66d44 code: Update copyright 2024-08-02 21:48:44 +02:00
Balló György
9556bd3be0 application: Set icon for the window
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/411>
2024-07-30 17:38:45 +00:00
Sophie Herold
db1bb785e1 meta: Update copyright info 2024-05-09 23:27:45 +02:00
Sophie Herold
57d8bba071 window: Use shortcuts instead of accels
Application level accels will also work if AdwDialogs are open.
Therefore, use shortcuts wherever possible.
2024-05-09 23:12:20 +02:00
Dexter Reed
b99575d8d0 feat: Port about window to adw::Dialog (Adw.Dialog)
Other Changes:

Change window height to 294 to fit the HIG:
https://developer.gnome.org/hig/guidelines/adaptive.html#small-size-handling

Change adw features version in `Cargo.toml` from `v1_4` to `v1_5` to use
the new dialog widget(s)
2024-05-08 20:54:25 +00:00
Sophie Herold
869f0b3714 app: Don't use animations with Left/Right keys
Closes #322
2024-02-11 14:29:46 +00:00
Sophie Herold
0dc71357f1 window: Add permanently delete shortcut
Permanently delete images with Shift + Delete like in Files. Adding this
since EOG supported it as well.

Closes #323

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/369>
2024-02-09 22:53:59 +00:00
Sophie Herold
a7116925bf debug: Add more tracing for initial operations 2024-02-08 00:57:33 +01:00
Sophie Herold
6958f427bd application: Shortcuts for non-animated next/prev
Don't animate switching between images for Alt+Arrow.

Closes #45
2024-01-31 23:34:25 +01:00
Sophie Herold
446ae5063a window: Limit HeaderBar to min width as nat width
Before we were doing the same with just the title in the HeaderBar. This
gave problems with correctly measuring for ADW_CENTERING_POLICY_LOOSE.
2024-01-09 20:12:02 +01:00
Sophie Herold
0d21222dcd meta: Release 46.alpha 2024-01-08 17:41:54 +01:00
Sophie Herold
b1d1d547cf image/zoom: Force zoom to center for buttons
Before, using buttons on touchscreen could zoom to the cursor position.
2024-01-04 14:37:11 +01:00
Sophie Herold
2648295a18 code: Reformat with group_imports=StdExternalCrate 2023-12-07 20:33:19 +01:00
Matteo Nardi
5e32cfa1df window: remember image property visibility state
Added GSettings support to Loupe. Inspiration was taken from Fractal:
LpApplication will contain `gio::Settings` and all code needing them
will reach them as a singleton by calling `g_application_get_default`.
This design makes the settings dependency less explicit than dependency
injection, but allows for shorter code when new settings will be added
across different parts of the application.

A `show-properties` setting is added for remembaring the image property
sidebar state. It's read by LpWindow when the current page changes, and
saved when toggling the sidebar. When no image is being shown, the
sidebar is always hidden, while the setting remains unchanged. The
sidebar state will be restored when a picture is opened.

Closes #147
2023-12-07 15:25:26 +00:00
Sophie Herold
b56d650086 code: Reformat with new rules 2023-11-29 21:16:11 +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
e1ee9c14ee about: Add basic debug information 2023-07-08 22:52:59 +02:00
Christopher Davis
9e70931faf Revert "general: Remove help-related code"
This reverts commit 2965799374.

Part-of: <https://gitlab.gnome.org/GNOME/Incubator/loupe/-/merge_requests/248>
2023-07-02 12:43:52 +00:00
Sabri Ünal
b889665c95 Data: Fix Loupe URL
Fix out-of-date Loupe URL.

Fixes: #181
2023-06-10 22:35:21 +03:00
Sophie Herold
291fa13d1f meta: Update copyright headers 2023-06-07 23:44:20 +02:00
Christopher Davis
6df16aaa71 application: Remove backspace as a trash shortcut
Closes https://gitlab.gnome.org/GNOME/Incubator/loupe/-/issues/183

Part-of: <https://gitlab.gnome.org/GNOME/Incubator/loupe/-/merge_requests/229>
2023-05-31 22:04:33 +00:00
Huan Nguyen
735451250c imageView: Merge set_image_from_file with set_images_from_files
Also changing behavior when opening with multiple command line
arguments or when multiple images were selected from other
applications.

Old behavior: Spawn an instance of Loupe for each argument.
New behavior: One Loupe instance containing all arguments.

Closes #195
2023-05-30 12:52:59 +00:00
Sophie Herold
fac2d360b6 meta: Update copyright headers 2023-04-26 18:19:23 +02:00
Sabri Ünal
32ee47d08f app: Split rotate actions
To ensure simplicity of the process, replace the rotate actions
with new two actions, without modifying the existing rotate_image method.

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/201>
2023-04-25 17:51:43 +00:00
Sabri Ünal
c92a47a992 application: Remove ctrl+x shortcut
Remove Ctrl+X shortcut to comply GNOME HIG.

More information: https://developer.gnome.org/hig/reference/keyboard.html

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/202>
2023-04-25 17:18:26 +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
e96b9ccac9 image: More fine-grained zoom instructions
Add parameters to use zoom_to without animation or
snapping to best fit. Hopefully fixing 100%/200% snapping
to best fit when close to filling the window and
fixing high res scroll wheel bugs.

Closes #120, #134

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/177>
2023-04-18 23:23:18 +00:00
Sophie Herold
aca49427a1 window: Support dropping multiple files
This allows to scroll through all dropped files.
No further images from directories are loaded in
this mode.

Closes #35
2023-04-18 22:29:30 +02: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
032707a210 fileModel: Use GFile with URI as key
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
Christopher Davis
2965799374 general: Remove help-related code
Our help documents are unfinished, and we shouldn't ship
unfinished documentation in our initial release.

We can revert this commit when we're ready to write the
documents properly.

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/156>
2023-04-02 18:36:17 +00:00
Sabri Ünal
e0876ef6d3 application: Update copyright years
Just update copyright years.
2023-03-11 00:49:03 +00:00
Christopher Davis
dfebfb7470 application: Update about window
* Use team name instead of just my name
* Don't use `vec!` macro
* Add translator-credits

Closes https://gitlab.gnome.org/Incubator/loupe/-/issues/98
2023-03-10 18:31:02 -05:00
Christopher Davis
4d4bc4bb38 application: Stop using expressions
This commit moves the logic from the expressions to the
window via GSignalGroup.
2023-03-05 02:13:41 +00:00
Sophie Herold
004ebd5615 cargo: Update dependencies 2023-02-15 17:04:59 +01:00
Sophie Herold
f87a1b7131 data: Update metadata for incubation
Also add some missing appstream information
2023-02-12 19:49:06 +00:00
Sophie Herold
74a067e3b8 window: Fix Left/Right button direction for RTL
This also fixes the issue with the buttons triggering
focus changes when the action is deactivated because buttons
know have their own action.

Fixes #44
Issue #38
2023-02-06 21:07:23 +01:00
Sophie Herold
69889820cd window: Add Home/End shortcuts for first/last img
This is the same as in EOG.
Also add PageUp/Down for image navigation from EOG.
Cleanup the navigation enums as well.
2023-02-06 19:14:55 +01:00
Sophie Herold
aa7a2dfd93 window: Add image deletion
Add Flatpak access to GVfs for trash:/// access for being
able to recover files (undo trash operation).

Closes #26
2023-02-02 00:45:40 +00:00
Sophie Herold
4eb8b939b3 application: Add shortcuts for paning the view
Closes #54
2023-01-31 04:56:58 +00:00
Sophie Herold
f2357513da imageView: Use custom slide widget and IndexSet
Use IndexSet to allow direct access by Path and also allow
an arbitrary ordering that was not possible with Vec. Also
add monitoring of file changes in the directory.

Use a custom LpSlidingView instead of AdwCarousel because
Carousel was never designed for this job and suffered of
bugs. LpSlidingView does not support swiping gestures yet
since they currently don't work yet anyways #24.

Use a new algorithm to fill the LpSlidingView that is
stateless and covers all potential changes in the directory.
This not only fixes bugs but would also work with changed
sorting orders.

This also adds build time template XML validation since it
was useful for the refactoring #46.

Closes #9, #11, #30, #33, #42
2023-01-30 01:08:57 +00:00
Christopher Davis
1dce6b75ae application: Use gio API for help
`show_uri ()` is deprecated
2023-01-14 14:44:50 -05:00
Christopher Davis
947b2101b2 application: Use gtk_window_present() instead of gtk_widget_show () 2023-01-14 14:43:46 -05:00
Sabri Ünal
cbde386126 help-overlay: Improve some shortcuts and help-overlay 2022-12-17 17:07:22 +00:00
Sophie Herold
36000ff65c window: Put prev/next accels at window level
Tried to make things more stateless and RefCell usage for robust
- Use object properties to control the action enabled/disabled
- Borrow model RefCell for only one line or use .replace()
- Don't pass models around and borrow as short as possible instead

Fixes #20
2022-12-16 18:27:45 +00:00
Sophie Herold
e04992b46d window: Adjust to image size when opening
Give LpImage a native with that should feel nice.
When opening a new window with a new image the window size
is determined by LpImage's natural width.
The image size and EXIF data is loaded before the image such
that the window can be shown in the right dimension while
loading the actual image.
2022-12-12 15:54:24 +00:00
Sophie Herold
f1593203a0 window: Add missing shortcuts
Add shortcuts
- F9 Image properties
- F10 Main menu
- Ctrl +/- for zoom
- Ctrl 0 for best fit
- Ctrl [Shift] R for rotate
- Escape to leave fullscrenen
Updated help overlay accordingly.
2022-11-25 15:46:35 +01:00
Christopher Davis
583794a3ec general: Use glib::Object::builder for objects w/ props
Builders are more idiomatic rust code than the old
pattern.
2022-11-24 13:06:53 -05:00
Sophie Herold
3876f55b4c about: Change app name to Loupe and update devs
- Rename to Loupe to avoid confusion during incubation
  and potentially allow for release on Flathub
- Replace GNOME as developer since it violates software policy
- Put a more useful copyright statement
- Add me as developer
2022-11-23 21:10:03 +00:00