summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* general: Allow DnD a texture to nautiluswip/corey/dnd-textureCorey Berla2023-04-126-6/+30
| | | | | | | | | | | | | | | | | | | We generally accept drops for types GDK_TYPE_FILE_LIST and G_TYPE_STRING. Sometimes, an image (commonly from a web browser) will offer a GDK_TYPE_FILE_LIST and a GDK_TYPE_TEXT. Simply using a file list to save an image has several potential disadvantages including: 1) Inconsistent / unexpected file names 2) Inconsistent behavior (i.e. a link to the image, rather than the image itself may be saved) 3) Portal issues Although, not clearly documented, the gtk_drop_target_set_gtypes, creates a priority order for the type to be presented in ::drop. Put GDK_TYPE_TEXTURE before GDK_TYPE_FILE_LIST since, typically if both are available, we prefer a texture. Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2889
* file-operations: Add the ability to save an image from a textureCorey Berla2023-04-122-0/+43
| | | | | Now that we've made PasteImageJob more generic into SaveImageJob, it's really easy to save any texture to a file.
* file-operations: Make PasteImageJob more generic for reuseCorey Berla2023-04-121-29/+33
| | | | | | The newly introduced PasteImageJob, can be reused to save other textures. Let's call it SaveImageJob and allow for different base names in order to reuse much of the existing code.
* desktop: Add application/zstd to supported mime-typesOndrej Holy2023-04-112-2/+2
| | | | | | | | | | | | | Currently, it isn't possible to use Nautilus for the extraction of the ".zstd" and ".tar.zst" archives. However, it seems that this compression is supported by the libarchive library nowadays. Let's add the `application/zstd` and `application/x-zstd-compressed-tar` mime-types to the list of supported. This will allow Nautilus to show the "Extract" and "Extract to..." actions. Also, bump the gnome-autoar dependency to the version with a corresponding change. Related: https://gitlab.gnome.org/GNOME/gnome-autoar/-/merge_requests/38 Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2860
* batch-rename-dialog: fix tag intersection for zero-length deletionsGary Li2023-04-091-2/+4
| | | | | | | | | | | | | | | | | | | | Dead keys insert a provisional visual indication, which looks like a text insertion, but is actually signaled as `::delete-text`. Unlike regular emissions of `::delete-text`, here the start and end positions are exactly the same (so you know nothing is actually deleted). Nautilus deletes the neighbouring tag When a dead key is entered into the batch rename entry, it deletes the neighbouring tag. This occurs for just before, inside and just after the tag. This happens because our logic for knowing when to delete special text tags is assuming end_position > start_position, which is not the case with dead keys. Add conditions to ensure intersecting selections cannot be zero-length. Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/2821
* Update Serbian translationМарко Костић2023-04-091-734/+814
|
* grid-cell, name-cell: Allow displaying unthemed emblemsAntónio Fernandes2023-04-082-2/+14
| | | | | | | | | | | | | | | 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
* files-view: Disable properties shortcut for unwanted directoriesKhalid Abu Shawarib2023-04-071-1/+4
| | | | | | | | Open properties on the search directory crashes Nautilus. Exclude search, recent, and starred from opening current directory properties when no file is selected. Fixes #2903
* sidebar: Prevent auto folder opening on hover when re-ordering bookmarksSayan Bhattacharjee2023-04-071-2/+3
| | | | | | | | | | | | | | | | | In the sidebar, when dragging to re-order bookmarks, other bookmarked folders are automatically opening while hovering over them as it happens during a drag-and-drop operation. This action should not be permitted because it is inconceivable to drag-and-drop a bookmark into another bookmark. Implement a check to prevent automatically navigating into the bookmarked folders if they are hovered on while dragging a bookmark with the intent to just re-order them. It achieves this behavior by not adding a navigation hover timeout if we are dragging a row (bookmark) in the sidebar. Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2820
* Update Bulgarian translationAlexander Shopov2023-04-071-2/+2
|
* pathbar: do not use finalized pathbar to bind menu model to popoverGary Li2023-04-071-1/+8
| | | | | | | | | | | | | | | Nautilus fails critical assertions if the user opens then closes a new window in rapid succession in a large folder. This is because the GSource created by nautilus_path_bar_set_templates_menu to bind menu model to popover is not removed even if the pathbar has already been finalized by the user closing the window. Keep track of the source id and remove source if the pathbar is being disposed of. Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/2867
* Update Bulgarian translationAlexander Shopov2023-04-071-2/+2
|
* Update Bulgarian translationAlexander Shopov2023-04-071-18/+1
|
* grid-cell, name-cell: Have thumbnail cover allocationAntónio Fernandes2023-04-052-0/+2
| | | | | | | Otherwise, due to some modular arithmetic artifacts, there is an unsightly 1px transparent line between the picture and its css border. Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/2779
* window-slot: Try current location even if it is marked as goneOndrej Holy2023-04-051-7/+7
| | | | | | | | | | | | | | When the current location is marked as gone, Nautilus jumps to the first existing parent currently (except for non-native locations and mount roots). This is fine in most cases, but not for autofs locations as Nautilus jumps to parent everytime autofs mount timeouted. It would be better to stay in the same folder in this case. Let's try the current location first even if it is marked as gone to ensure that. It would be perhaps even better to prevent autofs locations somehow from timeouting at all, or avoid immediate remounting at least, but those solutions don't look easy to implement. Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/1514
* Update Bulgarian translationAlexander Shopov2023-03-311-2/+2
|
* places-view: remove GTK translation domainsPeter Eisenmann2023-03-313-3/+3
| | | | | | | | When copying these classes from GTK the translation domain was kept. This causes issues with translations in libadwaita widgets, so remove them. Fixes #2890
* properties-window: fix execution switch behaviorPeter Eisenmann2023-03-291-2/+2
| | | | | | | | Changes in GTK (https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5442) require to use `gtk_switch_set_active` to flip a switch, otherwise it ends up in an inconsistent state. Fixes #2883
* files-view: handle no focus state gracefullyPeter Eisenmann2023-03-291-1/+2
| | | | | gtk_window_get_focus can return NULL. Passing that directly into gtk_widget_is_ancestor throws a GLib warning, so handle it explicitly.
* Add fast-content-type fallback to all placesOndrej Holy2023-03-292-2/+22
| | | | | | | | | The `G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE` attribute doesn't have to be always set. The commit 0e597803 added the `G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE` fallback inside the `NautilusFile` class, but not for other places. Let's fix this oversight. Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2862
* search-hit: Remove redundant codeOndrej Holy2023-03-291-3/+0
| | | | | | | | | The `Deprecated pre-processor symbol: replace with "G_ADD_PRIVATE"` warning is shown during build currently. This is caused by the usage of the `G_TYPE_INSTANCE_GET_PRIVATE` macro. However, the statement with this macro doesn't have any effect. This looks to be an oversight in the commit 335eabec. Let's drop the whole statement to get rid of this warning.
* window: Initialize drag action for tab barOndrej Holy2023-03-291-16/+10
| | | | | | | The `‘action’ may be used uninitialized` warning is shown during build currently. It can really happen that uninitialized value is used when dropping something else then the `GDK_TYPE_FILE_LIST` and `G_TYPE_STRING` on the tab bar. Let's initialize the action to prevent this.
* pathbar: Initialize drag actionOndrej Holy2023-03-291-7/+2
| | | | | | | The `‘action’ may be used uninitialized` warning is shown during build currently. It can really happen that uninitialized value is used when dropping something else then `GDK_TYPE_FILE_LIST` on the pathbar. Let's initialize the action to prevent this.
* properties-window: Use return value from g_string_freeOndrej Holy2023-03-291-5/+1
| | | | | | | | Currently, the `ignoring return value of ‘g_string_free_and_steal’ declared with attribute ‘warn_unused_result’` warning is shown during build. This is because the `str` struct member is used instead of a return value from the `g_string_free` function. Let's update the code to use the return value in order to avoid this warning.
* column: Remove extra newline from documentation commentOndrej Holy2023-03-291-1/+0
| | | | | | | Currently, the `Nautilus: "@name" parameter unexpected at this location` warning is shown during build. This is caused by the extra newline character in the documentation comment for the `nautilus_column_new` function. Let's remove this extra newline character to get rid of that warning.
* Update Vietnamese translationNgọc Quân Trần2023-03-271-1850/+2159
|
* Update Dutch translationNathan Follens2023-03-261-845/+927
|
* Update Chinese (China) translationBoyuan Yang2023-03-251-768/+847
|
* Update Slovenian translationMartin2023-03-201-13/+7
|
* Post release version bumpOndrej Holy2023-03-171-1/+1
|
* Release version 44.044.0Ondrej Holy2023-03-172-1/+8
|
* Update Hebrew translationYosef Or Boczko2023-03-161-72/+72
|
* Update Persian translationDanial Behzadi2023-03-161-74/+86
|
* Revert "list-base: Remove rubberband hack"Ondrej Holy2023-03-161-0/+29
| | | | | | | | | | | This reverts commit c1c7ccb0e23772d8cfb509eb133d7e522706c697 as it turned out that the workaround is still needed. I've only updated the obsolete comment a bit. The issue was initially fixed by the https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4831 merge request, but it has been broken later. Related: https://gitlab.gnome.org/GNOME/gtk/-/issues/5670 Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2844
* Update Slovenian translationMartin2023-03-141-2414/+102
|
* Update Czech translationMarek Černocký2023-03-141-15/+15
|
* Update British English translationBruce Cowan2023-03-131-758/+833
|
* Update Swedish translationAnders Jonsson2023-03-121-5/+5
|
* Update Polish translationPiotr Drąg2023-03-111-721/+795
|
* Update Czech translationMarek Černocký2023-03-111-869/+930
|
* Update Swedish translationAnders Jonsson2023-03-101-678/+745
|
* search-engine-simple: Handle case when mime type is NULLOndrej Holy2023-03-091-1/+1
| | | | | | | | The `G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE` attribute doesn't have to be always set. This case is not handled by the `NautilusSearchEngineSimple` class and the `NULL` pointer can be passed in the `g_content_type_is_a` function currently. This is an error. Let's check the returned pointer to prevent this situation.
* Use generic helpers for obtaining file attributesOndrej Holy2023-03-094-15/+39
| | | | | | | | | | | | | | | | | | | | It is not guaranteed that all `GFileInfo` attributes are always set when requested. They used to be silently set to `NULL`, `FALSE`, or `0` earlier when they were not provided by their implementations. However, some of the helper functions now print critical errors when the attributes are not set by their implementations even though they were requested. See the https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3261 merge request for more details. So Nautilus now prints tons of critical errors when started. The unset attributes can be detected over the `g_file_info_has_attribute` function. But Nautilus doesn't care in most cases about the reason why the attribute is `NULL`, `FALSE`, or `0`. There are also more generic helper functions that don't print these critical errors. Let's use them for the attributes that may not always be set to get rid of those critical errors. I suppose that the `name`, `display_name`, `size`, `icon`, and `file_type` attributes don't need this special handling, although it is not clearly stated anywhere... Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2861
* Update Persian translationMohammadSaleh Kamyab2023-03-061-865/+929
|
* Post release version bumpOndrej Holy2023-03-051-1/+1
|
* Release version 44.rc44.rcOndrej Holy2023-03-053-2/+14
|
* file: Cache clock format settingCorey Berla2023-03-051-9/+20
| | | | | | | | We are already caching the preferences for thumbnailing. Since the clock format is queried for every single file when loading a list view, we should also cache the clock format setting. Rename the flag from use_24 to use_24_hour for more clarity.
* file: Don't emit files_changed in file_class_initCorey Berla2023-03-051-4/+16
| | | | | | | | | | | | | In nautilus_file_class_init, we are calling thumbnail_limit_changed_callback() and show_thumbnails_changed_callback() in order to cache the initial values for the static variables cached_thumbnail_limit and show_file_thumbs. This has the unintended side effect of also calling emit_change_signals_for_all_files_in_all_directories () which doesn't make sense at a point in time when there are no NautilusFile's and NautilusDirectory may not even be ready. Split out the updating of the setting from the emission of all files changed.
* directory: Prevent usage of uninitialized hash tableOndrej Holy2023-03-051-0/+5
| | | | | | | | | I see regularly the following debug print on Nautilus startup: `GLib-CRITICAL **: 10:52:52.992: g_hash_table_foreach: assertion 'hash_table != NULL' failed`. This is because the `emit_change_signals_for_all_files_in_all_directories` function is called before the `directories` hash table is initialzed. Let's return early to prevent usage of the uninitialized hash table.
* freedesktop-dbus: Try to own the name until after exporting skeletonOndrej Holy2023-03-041-16/+15
| | | | | | | | | | Currently, the `g_bus_own_name_on_connection` function is called for the `org.freedesktop.FileManager1` name before exporting the `/org/freedesktop/FileManager1` skeleton. This seemingly works fine in most cases, but occasionally the name is acquired too early and D-Bus clients can get `No such interface` error. This is regression caused by the commit 2293e813d3cd1cc47b2b8750f7140647aa066fc8. Let's try to own the nam until after exporting the skeleton to avoid this error.