| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nautilus-dropbox and probably other such extensions use emblems to
indicate sync status.
If these icons are installed as unthemed icons, then we don't
display them at all. This is because the way we are checking that
an icon exists ignores the unthemed icons completely, which is
arguably a GTK bug (https://gitlab.gnome.org/GNOME/gtk/-/issues/5709)
While the GTK inconsistency is not addressed, let's use a workaround
to check more effectively whether an icon exits.
Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/2789
|
|
|
|
|
|
|
|
|
|
|
|
| |
GtkTreeExpander includes a built-in "expand on drag hover" feature.
But our own "open on drag hover" feature competes (and often wins)
over it, making it hard to reliably expand rows on hover without
opening the folder.
So, separate the content and the expander. Trigger "expand on drag
hover" only if over the expander, and "open on drag hover" only if
over the rest.
|
|
|
|
| |
To prevent multiple clearing of the same handle
|
|
|
|
|
| |
The handler warns that NAUTILUS_IS_NAME_CELL fails. Clean up
the handler to match others in the signal group.
|
|
|
|
|
| |
The spinner is shown only after 1 second without the directory having
finished loading, to avoid visual noise when directories loads quickly.
|
|
|
|
| |
Starred, Recent and Search still not supported due to bugs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In version 42, we relied on GTK 3's support for GEmblemedIcon to draw
emblems. It would implicitly skip any emblem name for which there was
no available icon:
gtk/gtkicontheme.c:
```
emblem_info = gtk_icon_theme_lookup_by_gicon_for_scale (icon_theme, emblem, size / 2, scale, flags | GTK_ICON_LOOKUP_FORCE_SIZE);
if (emblem_info)
info->emblem_infos = g_slist_prepend (info->emblem_infos, emblem_info);
```
But GTK 4 dropped support for GEmblemedIcon, so now we use one GtkImage
for each emblem. But we don't skip name for which no icon is installed.
Instead, GTK displays the missing image icon.
Let's check whether the emblem icon is available in the current theme
before creating a GtkImage.
|
|
|
|
|
|
|
| |
GtkStyleContext is deprecated in 4.10, use the corresponding
GtkWidget functions.
Also bump GTK version to use the new gtk_widget_get_color().
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This brings back a feature originally introduced by commit 0d4555d76f86ba2d49f48836b7eea11f1adfb2fd
Back then, it used gdk_cairo_surface_create_from_pixbuf() to apply the
scaling factor, but in GTK 4 we can no longer consume cairo surfaces
directly. Instead, we are to use paintables.
For themed icons we already use GtkIconPaintable, which just works.
|
|
|
|
|
|
|
|
|
|
|
| |
Thumbnails in Properties were sometimes larger than the requested size.
This is because we didn't pass the FORCE_THUMBNAIL_SIZE flag.
There were probably good reasons for this flag in the past, but there
are none now. If we request a size, that should be the size we get.
So, drop this flag entirely and default to forcing the size everywhere.
|
|
|
|
|
|
| |
Extend snippet up to 20 words ("tokens" in database parlance).
Highlight matching word using pango markup.
|
|
|
|
|
|
|
|
| |
Move path to bottom, because it's a caption for the filename, not a title.
Move FTS snipped into a popover, to avoid changing the row layout.
Closes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2354
|
|
|
|
|
|
|
|
| |
This makes it easier to tell it is a folder path.
In a special case, for recursive search, where we omit the common
prefix, this is especially important because direct subfolders would
be a single basename without any slash.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problems:
- Changing icon without animation is crude.
- If the folder has a custom icon, it doesn't change, which is
inconsistent
- And archives, which can accept drops, don't change icon, which is
inconsistent.
We already have css styling for drop targets so, which suffices.
As per design review in https://gitlab.gnome.org/GNOME/nautilus/-/issues/2347
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We used to display emblems overlaid on icons. This had a few problems:
* Emblemed icons were not cached.
* If the icon was too small, some emblems could be omitted.
* Emblems would partially obstruct the visibility of thumbnails.
So, we are reintroducing them as a mere box of icons:
* vertically next to the file icon/thumbnail in grid view;
* horizontally next to the filename in list view.
This avoids all the problems of the old implementation.
Closes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2017
|
|
|
|
|
| |
Emblemed icons are not implemented in GTK 4 and we don't want to
reimplement them here anyway, so let's drop this code.
|
|
|
|
|
|
|
|
|
|
| |
Since the GtkDropTarget is set on each cell, the default active state
(blue rectangle) is set only around a portion of the row in list view.
We disabled the GTK_STATE_FLAG_DROP_ACTIVE for view-cell anyways,
but we should have a better indication of drop state in list view since
the icons are small.
Heavily based on a different approach by Corey Berla
|
|
|
|
|
|
|
| |
Set drag-accept to TRUE when a drag has entered an item.
Set flag NAUTILUS_FILE_ICON_FLAGS_FOR_DRAG_ACCEPT when the DnD
has entered an item so that the icon will be update (i.e.
the folder will show the "open folder" icon)
|
|
GtkTreeView, while still available in GTK 4, is more limited in some
more specialized situations which we have been relying on, such as
drag-and-drop and high DPI icons.
It's also been our long desire to adopt GListModel-based list widgets
in order to unlock features and bugfixes which would have been
basically impossible to do with GtkTreeView.
We are thus dropping GtkTreeView for good and adopting GtkColumnView.
The new implementation is radically different; almost no code remains
from the old implementation. However, the new implementation has full
feature parity with the old one with two exceptions:
1. Expand subfolders as a tree: WIP in another branch.
2. Performance for large number of items: WIP branch in GTK.
Same as the old implementation, it still lacks drag-and-drop support,
which is yet to be reimplemented for GTK4.
The new implementation also implements new features which were but
a dream in GtkTreeView:
- Rubberband-selection.[1]
- Empty space inbetween and around the list of items to open context
menu, start rubberband, drop items, clear selection...[2,3,4]
- Rows highligh on hover, distinguishing them from background space
and serving as a reading aid instead without separator lines.[5]
- File names in search results and recents are no longer squashed by
the "Original location" column containing long paths. Instead, the
original location is runs parallel to the filename.[6]
- With the location column gone, the size column can be displayed
again in these two special locations.
- Full-text-search snippets no longer compete for horizontal space
with filenames, but are displayed as accent-colored subtitles.[7]
- Filenames are ellipsized at the middle, not to hide important
details at their end.[7]
- Sort order can be changed from the view menu, as in grid view.[8]
- Per-folder sorting is shared with the grid view now, fixing an old
inconsistency.[9]
- A starring animation ☆★
Closes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/320
[1] Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/200
[2] Closes https://gitlab.gnome.org/GNOME/nautilus/-/issues/1929
[3] Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/1476
[4] Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/1764
[5] Fixes https://bugzilla.gnome.org/show_bug.cgi?id=744405
[6] Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/1411
[7] Fixes https://bugzilla.gnome.org/show_bug.cgi?id=619760
[8] Fixes https://bugzilla.gnome.org/show_bug.cgi?id=142495
[9] Fixes https://bugzilla.gnome.org/show_bug.cgi?id=45659
|