| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It hardcodes a color which matches only in light mode, and only if high
contrast is not enabled.
Instead derive from currentColor to get light/dark automatic support
and double the alpha opacity on high contrast.
The alpha values were copied from libadwaita's color used by level bar.
|
|
|
|
|
|
|
| |
Remove inset borders from the former, add them to the later.
Also inset the pathbar border, to make it look look the same height as
buttons in the headerbar and overlap the secondary menu border.
|
|
|
|
| |
The patches we want are actually only available in 3.7.2 at this time.
|
|
|
|
|
|
|
| |
We rely on many DND and GtkListBase bugfixes for proper behavior or the
GTK 4 port.
Resolves: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2366
|
|
|
|
|
|
|
|
|
| |
g_file_get_parse_name() returns a string with escaped special characters
for remote locations. Use g_file_get_uri() for remote bookmarks and
unescape the string before setting the tooltip to make sure it is always
a human-readable string. Use g_file_get_path() for local bookmarks.
Fixes #2016
|
|
|
|
|
|
|
|
|
|
| |
If you change the sort order from the sort menu, the next time you
visit that location, the last sort option is remembered.
This is generally desirable behavior, but not in the case of Recent,
Search or Trash.
Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/2472
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Format option is displayed for mtp devices even though gnome-disks
doesn't support them. Hide format option if uri starts with mtp://
This applies to MTP and PTP (gphoto2)
Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/1358
|
|
|
|
|
| |
Reformat should_show_format_command() to allow for additional
checks.
|
| |
|
|
|
|
|
|
|
|
| |
../libnautilus-extension/nautilus-properties-model-provider.h:61: Warning: Nautilus: nautilus_properties_model_provider_get_models: Unknown type: 'NautilusPropertyModel'
../libnautilus-extension/nautilus-properties-item.h:37: Warning: Nautilus: nautilus_properties_item_new: unknown parameter 'model' in documentation comment, should be 'value'
../libnautilus-extension/nautilus-properties-item.h:46: Warning: Nautilus: nautilus_properties_item_get_name: unknown parameter 'item' in documentation comment, should be 'self'
../libnautilus-extension/nautilus-properties-item.h:54: Warning: Nautilus: nautilus_properties_item_get_value: unknown parameter 'item' in documentation comment, should be 'self'
../libnautilus-extension/nautilus-properties-model-provider.h:45: Warning: Nautilus: NautilusPropertyModel: Unknown type: 'NautilusPropertyModel'
|
| |
|
|
|
|
| |
These were removed in https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/927
|
|
|
|
|
|
|
|
|
|
|
| |
libcloudproviders provides a menu_model that we use to build a
popover menu. It's possible (and true for nextcloud) that these
menus can have sub-menus. If the sub-menus have much longer
(or shorter) item names, the entire menu will get stretched out.
Use GTK_POPOVER_MENU_NESTED when creating the popover menu, creating
a nested menu which does not exhibit this issue.
Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2405
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make several improvements:
1) Max filename was too long at 128 characters, half it to 64
2) Tweak min filename to 8 characters (still meaningful)
3) Stop at the first sentence rather than last sentence. A filename
should be short and concise, multiple sentences don't make sense.
4) Start at the start_sentence (i.e. eliminate leading whitespace)
Importantly this patch eliminates the potential inclusion of newlines
which is problematic in the views (it causes more than 3 lines of the
filename to appear because of the GtkLabel behavior).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When populating a GList in a loop, we should use prepend() for best
performance, then flip it around once with reverse().
The list of pending additions to files view lacks the second part.
This used to be compensated for by the old views:
* NautilusCanvasView, through NautilusCanvasContainer, would iterate
this list to populate its own list with prepend(), effectively
reversing the order, as was necessary.
* NautilusListView, through NautilusListModel, would iterate this
list to populate its own list with insert_sorted(), once again
fixing the loading order.
The new view don't do that, and have no reason to because they don't
have their own GLists (instead, they manage GListModels). But this
means that the item which should be added last actually is added first.
GtkListBase treats the first added item as the initial focus and as
scroll anchor. The end result is that the view always scrolls to the
bottom and, on keyboard focus, the last item is selected first.
The first issue (view always scrolls to the bottom) has been worked
around with a hack, but the second one persists.
Therefore, lets just reverse the list right after it is built. This
way, the first added item is the one actual first item. It gets initial
keyboard focus and anchors the view to the top (allowing to remove the
workaround).
Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2353
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Doing this allows us to automatically load stylesheets located in the
resource base path, so move contents of both Adwaita.css and
nautilus.css to style.css in the root of the resource directory, which
will be always automatically loaded.
Additionally, create a style-hc.css which will be used when the system
high contrast preference is enabled, and adjust it to fix issues with
NautilusPathBar.
Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/2166
|
|
|
|
|
|
|
|
|
|
| |
Normally we show the Sharing info bar when we are in the
XDG_PUBLICSHARE_DIR (i.e. G_USER_DIRECTORY_PUBLIC_SHARE).
gnome-user-share has a fallback to ~/Public when the PUBLIC_SHARE
folder is set to the user's home directory. Match the behavior
that g-u-s uses.
Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2459
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We use a hack to set the focus on the item when we set the selection.
Sometimes, the item_widget isn't ready by the time we are setting
the focus, which causes a seg fault. This became even worse, when
I applied the focus hack more consistently in 2ac420316bd9c8560fa2cdeba0e5f5b0092243b7
We should find a better solution, but in the meantime, let's stop
crashing.
Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2400
|
|
|
|
|
|
|
|
| |
The properties extension no longer creates a widget, so it's no
longer a simple task of packing that widget into a window.
We never use that test program anyway; manual testing can and
should be performed in the main application.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Originally introduced by 469047a2a58430026d68a3b99b223b922b18b8d1
It's been disabled because it relied on gtk_main* API, which is gone
in GTK4, but even after porting to GMainLoop API, it fails to work
because operations invoke GApplication inhibition.
In other words: I'm confident this test program has been broken for
years without anyone realizing it.
We already have automatic tests for copy operations. Manual testing
can be done with the nautilus application itself with debug messages
enabled.
So, let's just drop the broken obsolete test code.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before the GTK 4 port, we had animation theatrics which showed an
expanding "aura" for the newly revealed button, together with a
glowing CSS animation.
Under GTK4 there is currently no available copylib for implementing
similar theatrics.
So, use only the CSS animation, make it simpler, and use accent
color to compensate for otherwise reduced attention-grabbing effect.
|
|
|
|
|
|
|
|
|
| |
Using g_clear_object() we release a reference which we never aquired.
This causes crashes.
So, don't do that. And going a step futher: don't even keep a pointer
nor a singal id: just use g_signal_connect_object() and enjoy peace.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The pad controller owns a reference to the window (as an action group)
and the window (as a widget) owns a reference to the pad controller.
This is a reference cycle.
Usually, reference cycles are resolved in dispose(), which can get
called multiple times. However, GTK removes the controllers during
finalize(). We end up calling finalize() recursively, which is a big
problem.
So our only option is to manually remove the controller before starting
the destruction of the window.
|
|
|
|
|
|
|
|
|
|
|
| |
Toolbar holds a reference to the window, which owns the toolbar.
This reference cycle is problematic, so drop the property and just
peek the window by walking up the hierarchy.
Long term we should just dismantle NautilusToolbar completely, by
moving most logic to each their respective control and manage
everything from NautilusWindow.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The focus semantics and API changed from GTK 3 to GTK 4.
Specifically, `has-focus` is no longer TRUE for containers of the
actual focus widget. Furthermore, the location entry itself, being
a GtkEntry, never has got focus itself: that's delegated to its
internal GtkText child.
The solution in GTK4 is to use GtkEventControllerFocus, which
provides the hierarchical focus logic we need.
Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/2463
|
| |
|
|
|
|
|
| |
Results from nautilus_view_cell_get_view() and
nautilus_view_cell_get_item() need to be freed
|
| |
|
| |
|
|
|
|
| |
This logic is handled within GtkDropTarget in gtk4.
|