Maximiliano Sandoval R
13d7a21501
Implement drag source on images
...
Using a 128x128 thumbnail.
2022-01-09 00:22:50 -08:00
Christopher Davis
fc6d3668c0
Update gtk-rs deps for return value nullability trust
2022-01-08 22:18:40 -08:00
Maximiliano Sandoval R
be09d49756
image: Implement Copy to clipboard
2022-01-08 23:59:56 +01:00
Christopher Davis
7b760f85f4
image_view: Use window identifier for wallpaper portal
...
Makes the dialog modal.
2021-12-29 18:46:55 -08:00
Christopher Davis
a12e7eed43
window: Use portal to open files in other apps
...
Calling `xdg-open` is the wrong thing to do, and has
flaky reliability. What we want is to use the portal
directly with the exact behavior we want.
When using the portal we can't just pass the uri -
we need to own a file descriptor.
2021-12-29 17:43:58 -08:00
Christopher Davis
56a47fb447
Update gtk-rs
...
This brings us a neat new function, `imp()`,
that lets us drop `from_instance()` everywhere.
2021-12-29 14:02:48 -08:00
Christopher Davis
400672b6b6
window: Add ToastOverlay and use toasts for feedback
2021-12-28 16:40:58 -08:00
Felix Häcker
084304cadc
build: Fix cargo home variable
2021-12-28 09:40:39 +01:00
Christopher Davis
be70bdafe5
window: Implement drag and drop
...
The main page is no longer a lie.
2021-12-27 22:05:29 -08:00
Christopher Davis
5d9567507c
window: Add "Open File..." button, remove gesture
...
This gives users a very intuitive way to open files.
The gesture was awkard and didn't match any common patterns
across GNOME. The button is simple and obvious.
2021-12-23 20:35:22 -08:00
Christopher Davis
5893d4b764
cargo: Use gtk-rs master
...
Needed to take advantage of template callbacks
and new APIs.
2021-12-22 18:17:38 -08:00
Christopher Davis
5c25a6a270
application: Use standard shortcut for help overlay
...
Ctrl+F1 never really worked - that was chosen based
on the mockups, but in reality it only opened Help.
Apps usually use Ctrl+?.
2021-12-22 16:02:17 -08:00
Christopher Davis
1ae7316b32
general: Consolidate explicit dependencies down to adw and gtk4
...
Use the exported dependencies for everything else.
2021-12-21 16:09:48 -08:00
Christopher Davis
f9cbad9ad9
general: Use adw alias for libadwaita
...
This will make writing libadwaita-based code a bit
nicer, and make it nicer when we use crates that
libadwaita's API re-exports.
Also clean up the unused imports exposed by
this change.
2021-12-21 14:56:25 -08:00
Felix Häcker
ec0f13d250
build: Fix rust-analyzer
2021-12-21 20:38:13 +01:00
Felix Häcker
2bb8e70196
cargo: Disable verbose output
2021-12-21 20:37:25 +01:00
Christopher Davis
d4fca8aae3
general: Iv* to Lp*
...
We're probably going to be keeping `loupe` as the codename
and binary name going forward.
2021-12-21 10:55:02 -08:00
Christopher Davis
4d1141a675
widgets: split view and image
...
This will make implementing a more comprehensive photo view simpler.
2021-12-20 08:37:50 -08:00
Christopher Davis
5e7965ff4a
window: Disable swipes on the flap
...
We don't want or need these for this case.
2021-10-08 05:50:49 -07:00
Christopher Davis
5314547625
flatpak: Remove libadwaita from manifest
...
libadwaita is included in the SDK now.
2021-10-03 04:19:48 -07:00
Christopher Davis
59898b8e83
flatpak: Update logging domain
2021-09-29 12:30:07 -07:00
Christopher Davis
125d843413
image_view: Remove unused import
2021-09-29 01:08:57 -07:00
Christopher Davis
363cbc85bc
image_view: Remove present()
...
Using a layout manager actually does this for us.
2021-09-29 01:00:31 -07:00
Christopher Davis
80502064ce
Add pre-commit hook
...
This is something we can use to check formatting before
any commits are pushed.
2021-09-29 00:48:00 -07:00
Christopher Davis
8361c3a7d4
image_view: Show previews for wallpapers
...
In case we decide to do cool things the preview later.
2021-09-29 00:42:53 -07:00
Christopher Davis
3ca0eb4d02
application: Update year
2021-09-29 00:38:07 -07:00
Christopher Davis
1e0732ac92
ui: Add tooltips to buttons
2021-09-29 00:38:07 -07:00
Christopher Davis
f7553e02a4
More typography fixes
2021-09-29 00:38:07 -07:00
Christopher Davis
02694cc8da
window: Adjust sentence casing and typography
2021-09-29 00:38:07 -07:00
Christopher Davis
0d37d123c9
image_view: Add note to investigate printing
...
This is one of the features we need for the MVP,
but printing is a bit beyond my current knowledge.
So, I need to research this. Onto other things for
now, so I'll add note.
2021-09-29 00:38:07 -07:00
Christopher Davis
945aff3029
image_view: Load images once
...
We don't need to load the file twice just to get the
dimensions. We can load a GdkTexture, use it's APIs
for the width and height, and return that as a result
to the window. This allows us to kill the `dimensions-loaded`
signal and one of the places where we need to load a file.
2021-09-29 00:38:04 -07:00
Christopher Davis
e0820e0881
README: Add info to install section
...
Directory navigation does not work without the app
installed on the system.
2021-09-28 18:38:01 -07:00
Christopher Davis
6fbad6d6ce
application: Formatting
2021-09-28 17:56:33 -07:00
Christopher Davis
cced598239
general: Rename to Loupe
...
Sets the codename, binary name, and app ID name to Loupe.
The user-visible name is still Image Viewer.
2021-09-28 17:44:26 -07:00
Christopher Davis
9833c1edc0
Update dependencies; Use new libadwaita dark style
2021-09-28 16:00:44 -07:00
Christopher Davis
ae640d607c
README: Remove GEGL integration
...
Probably not needed for an MVP
2021-09-28 15:57:48 -07:00
Christopher Davis
3ec5ad42db
Remove widgets::init()
...
We don't need this since `TemplateChild` registers the type for
us now.
2021-09-24 06:25:33 -07:00
Christopher Davis
e41acf0701
window, image_view: Cleanups
...
* Move context menu model to image_view.ui
* Remove useless property assignment
2021-09-24 06:12:37 -07:00
Christopher Davis
293dc3c124
window: Bind headerbar opacity to controls
...
No purpose yet, but will help when we want to implement
fading. Need to have support for closures in Rust first.
2021-09-24 05:58:55 -07:00
Christopher Davis
e45b89f854
window: Rework fullscreen
...
We can use AdwFlap and have one single headerbar for both
fullscreen and unfullscreened.
2021-09-24 01:18:31 -07:00
Christopher Davis
e589028f1b
application: Set the active window for show_uri ()
2021-09-23 08:05:34 -07:00
Christopher Davis
0c62962d06
application: Subclass AdwApplication
...
AdwApplication automatically handles styling for us.
2021-09-23 08:05:34 -07:00
Christopher Davis
1687411536
general: clippy lint fixes
2021-09-22 22:57:54 -07:00
Christopher Davis
4fbf0e2203
build: Version bump
...
40 and 41 are both out now, we're starting the 42 cycle.
2021-09-22 22:40:00 -07:00
Christopher Davis
decba30212
css: Use @theme_base_color
...
This works better with the new OSD styling and with
transparency.
2021-09-22 22:39:12 -07:00
Christopher Davis
52af944521
css: Make checkerboard style less specific
2021-09-22 22:13:32 -07:00
Christopher Davis
f15491af78
css: Remove custom header styling
...
Adwaita handles this well enough now.
2021-09-22 22:12:33 -07:00
Christopher Davis
b85255a6be
application: Stop using add_window ()
...
This isn't needed since we use an ApplicationWindow
2021-09-22 21:56:15 -07:00
Christopher Davis
f9ac6470ad
window: Use gtk_widget_class_install_action ()
...
Simplifies our action handling a lot - we no longer need
to use the `action!` macro here, and we don't need
`lookup_action ()` to set the action state or activate
actions.
2021-09-22 21:33:47 -07:00
Christopher Davis
c6ff46a578
css: Add styling for checkerboard
2021-09-22 20:49:31 -07:00