nautilus:wip/antoniof/filechooser

Last commit made on 2024-06-01
Get this branch:
git clone -b wip/antoniof/filechooser https://git.launchpad.net/nautilus

Branch merges

Branch information

Name:
wip/antoniof/filechooser
Repository:
lp:nautilus

Recent commits

49ba4fd... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

WIP-PORTAL

dbac1df... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

general: Add xdp-gnome imported code to the build

Make it a private static library to be used in commming commits.

Contrary to upstream, we use the imported *.impl.* definitions.

For convenience (not to move a lot of meson code around), define
the HAVE_GTK_WAYLAND and HAVE_GTK_X11 in config.h instead of
compiler flags.

3983006... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

xdp-gnome/data: Import portal impl interface defs

These are copied from [xdp-desktop-portal], to avoid adding it and all
its dependencies as buildtime dependencies of our own (and to the
flatpak manifest).

[xdp-desktop-portal]: https://github.com/flatpak/xdg-desktop-portal/

a6272f9... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

externalwindow-wayland: Use our own service channel client id

This private mutter protocol requires each client to have a unique
hard-coded enum id.

Requires mutter patch to add this enum value on that side.

db4b2c0... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

externalwindow-wayland: Ignore shadowed variable

`x11_interop` is the symbol of a global variable, but gets reused for
a local one.

We should try to keep this code in sync with xdp-desktop-porta-gnome
so, instead of chaning the symbol, ignore the compiler error.

c8e9379... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

general: Copy code from xdg-desktop-portal-gnome

This is code copied from xdg-desktop-portal-gnome repository today[0].

We need it to implement the FileChooser portal ourselves.

It's not included in the build yet, as it needs modifications first.

[0] https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/tree/b92a8cc5f63955e231b9bdec5385c3cc2ca65b53

37fe38e... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

toolbar: Handle showing current location menu

This makes NautilusPathBar effectively private to NautilusToolbar,
like NautilusLocationEntry already is.

b4e98b7... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

toolbar: Handle NautilusPathBar::open-location

There is no need for NautilusWindow to handle it. This way the
upcoming FileChooser window will not have to duplicate the code.

Part of: https://gitlab.gnome.org/GNOME/nautilus/-/work_items/3431

99ac83e... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

toolbar: Handle prompt for special locations

The last remaining direct interaction between NautilusWindow and the
location entry are the location prompt actions.

Let's do everything in the toolbar instead, to make it easy to reuse
in the upcoming FileChooser dialog. Now the location entry is entirely
private to the toolbar.

Part of: https://gitlab.gnome.org/GNOME/nautilus/-/work_items/3431

ef320bd... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

toolbar: Handle location entry signals

There is no need for the window itself to do it. This will ensure
they are handled the same way in the upcoming FileChooser window.

Also fix signal parameter type to reflect the assumed object type.

Part of: https://gitlab.gnome.org/GNOME/nautilus/-/work_items/3431