- 07 Feb, 2023 3 commits
-
-
This is what Builder uses.
-
It's been added expecting Builder would support it, such that we could drop the JSON manifest. 3b8f2386 But it didn't happen so far gnome-builder#520 Since then we have been maintaining both files in sync, which is a waste of effort at best, and a risk of the product of each manifest becoming different, at worst. Now that the CI uses the JSON manifest, we can just drop the YAML one.
-
Ondrej Holy authored
The flatpak jobs are broken currently, because the tracker-miners project fails to build due to missing upower-glib depenedency. It is used to tweak the behavior when running on battery. It used to be automatically disabled until the following MR: !1121. I suppose it is safe to disable this functionality as our flatpak isn't meant for production. Let's explicitely disable that to fix our pipeline. (cherry picked from commit 1569af12)
-
- 06 Feb, 2023 1 commit
-
-
The commit e2969a9c introduced an assertion statement to ensure that the `g_file_get_basename` returned non-NULL string. Unfortunately, the assertion has an inverted condition. This leads to crashes in the `get_unique_target_file` function for files that don't have the `edit-name` attribute set (i.e just a few GVfs backends). Let's fix the inverted condition. Fixes: #2825
-
- 24 Jan, 2023 1 commit
-
-
Corey Berla authored
The updated version of uncrustify didn't like this style, the new style doesn't look great either.
-
- 23 Jan, 2023 1 commit
-
-
Corey Berla authored
With non-local drops, when the value is initially NULL, we get warnings because of some of the checks done on a NULL value. This was a regression from 3d17ed25. Return action copy before any check dependent on a dropped value.
-
- 20 Jan, 2023 1 commit
-
-
- 19 Jan, 2023 1 commit
-
-
- 13 Jan, 2023 1 commit
-
-
Tooltips are not showing up for long file names that have Pango markup characters. This is happening because the cell widget label is set using `set_text`, but is retrieved in the `query-tooltip` signal handler using `get_label`. While `get_label` can return Pango markup, it is not guaranteed to return text with markup characters escaped. Avoid this problem by fetching the file name from label and setting tooltip using text. (cherry picked from commit 60bd0613)
-
- 10 Jan, 2023 4 commits
-
-
New tabs are always taking the location of the current tab even if the new tab was generated from a non-current tab using the tab bar context menu. (cherry picked from commit 2282fa5a)
-
New tabs open up relative to the selected tab. Make new tabs open up relative to the tab in which the context menu was opened if applicable (otherwise open relative to the selected tab) (cherry picked from commit 8f727d64)
-
Refactoring existing code to simplify, this will help with the following commits. No logical or functional changes. (cherry picked from commit 202dea5a)
-
In gtk4 we aren't using nautilus_files_view_handle_uri_list_drop() because the uri-lists are handled by gtk now. We did have a dialog to warn users when an invalid drag was used, instead of passing a potentially bad GdkDragAction to nautilus_files_view_copy_move. (cherry picked from commit 33a97bbb)
-
- 08 Jan, 2023 3 commits
-
-
António Fernandes authored
-
António Fernandes authored
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. (cherry picked from commit c1da92ba)
-
António Fernandes authored
The old canvas expanded filename over the next row when the item was selected. This is impossible to replicate in GtkGridView due to the next row getting drawn after (== on top of) the previous one. This is perceived as a feature regression. So, let's aleviate it using tooltips when the filename is ellipsized. (cherry picked from commit beeb2da9)
-
- 06 Jan, 2023 24 commits
-
-
Currently, nautilus_location_entry_cancel uses the last_location GFile to reset the location entry path if the user cancels. However, the root prompt immediately overrides last_location by setting the location to "/", which results in the user always seeing "/" even if they cancel location bar entry then use CTRL-L to check current path. To fix this, use the same logic as the home prompt, which only sets the entry text. Fixes: #2249 (cherry picked from commit 59e30b05)
-
Nautilus does not persist the window maximized state. This is because we are listening to the property is-maximized for change, which is now maximized in GTK4. https://docs.gtk.org/gtk4/property.Window.maximized.html Use notify::maximized instead of notify::is-maximized. Fixes: #2682
-
Now that the tracker miner fs connection is async we have to set it proactively or the test fails.
-
Now that we have tracker connecting in an async fashion, let's proactively connect to tracker when the application is launched. We pretty heavily rely on tracker so there's a good chance we'll be connecting at some point anyways.
-
Blocking on a sync connection to tracker on demand creates a noticeable delay under normal circumstances and can be very problematic when tracker is not responding. Create the connection async, worst case scenario the connection is not ready, and then we fall back to our other search engine providers. Unless tracker is broken anyways, that is pretty unlikely.
-
-
exfat invalid characters align with our existing FAT_FORBIDDEN_CHARACTERS, so we can simply add "exfat" to make_file_name_valid_for_dest_fs() See: https://learn.microsoft.com/en-us/windows/win32/fileio/exfat-specification#table-35-invalid-filename-characters Fixes: #2059
-
fat, vfat, and msdosfs are never returned by GIO. This code was added in f952bc29 pre-GIO. See: https://gitlab.gnome.org/GNOME/glib/-/blob/main/gio/glocalfile.c#L669
-
If the user cancels an operation and closes the window, Files crashes. This happens because disconnect_progress_infos() does not disconnect all signals taking *self as data, allowing use-after-free bugs. Use g_signal_connect_object() to fix this implicitly. Fixes #1965
-
António Fernandes authored
We've been allowing thumbnails at smaller sizes if the screen density is larger. This goes back to 7059cc66 This leads to inconsistent results depending on the screen density. Also, the human eye is the limiting factor here. So, replace the helper function with a simple size check. Fixes #1804
-
António Fernandes authored
As we have introced a new extra large icon size at 256px, we have cut the 64px icon size, in an effort to keep the number of sizes at 4. To my surprise, some people care very strongly about the 64px size: https://discourse.gnome.org/t/icon-view-sizes-in-nautilus-43/11240 Although I'm yet to understand why it matters, I hope to make the upgrade to 43 smoother by adding back this size.
-
António Fernandes authored
In the old grid view, the maximum number of captions per zoom level followed the sequence 1, 2, 3, 3. In the new grid view, it follows the sequence 0, 1, 2, 3. This was an accidental regression, which I'm fixing now. Fixes: #2530
-
António Fernandes authored
The worker thread is blocked while waiting for user response on the main thread, through a GtkDialog. It gets unblocked upon response. Except... we have an early return on our ::response hanlder, which causes the worker thread never to be unblocked. This comes from 38a04943 The apparent intention was to presenve the behaviour from when we were would calling gtk_dialog_run() in a loop. Maybe it worked under GTK3, but it definitely doesn't under GTK4. Fortunately, this should be dead code, because data->ignore_close_box is always FALSE. Yet, under irregular situations, it may be reached, as the following report suggests. So, it's best to remove this code which is both wrong and unused. Closes: #2604
-
António Fernandes authored
Currently we search only the mime-type string, because it was more convenient for programming. But it's obviously inconvenient for users, because the string shown in the list (i.e. the localized description) doesn't match the strings being searched. This becomes worse when the language is not English. Use a more advanced expression to search both the mime type string as well as its localized description. This fixes #2659
-
The scroll controller on the scrolled window in files view is set to discrete in order to accomodate for when CTRL+scroll (zoom) is performed. This however, causes problems with the scrolls that are propogated and have delta's <1 (especially when they are much much less 1). So instead let's set the discrete flag in scroll-begin only when CTRL is held and remove it in scroll-end. Fixes: #2511
-
António Fernandes authored
There is no bell ringing in the same situation with using arrow keys directly, so there is not reason to have them when bridging the keys from sushi.
-
António Fernandes authored
We used to rely on the "move-cursor" keybinding signal to forward arrow key movements from sushi to our files view. But GtkListBase-derived widgets do not provide a replacement for that keybinding signal. While we have a good enough solution for list view (which is one-dimensional, so we can just iterate the list), it's a regression for grid view (up and down do not jump to next line, because the grid's layout is unknown to us). As a workaround, poke into GtkListBase's internal keybindings and trigger their action programatically. Resolves: #2556
-
António Fernandes authored
This shouldn't ever happen, not after the previous commit. But it's better to fallback (if loudly) than crashing, if future changes even break this again.
-
António Fernandes authored
0 became the invalid id in 7c30c311 GSettings may give us an the invalid view id (e.g. if the stored value doesn't match any string defined in the schemas). This may happen if the backend is corrupted or the installed schemas are outdated, and it leaves the application in a broken state. So, handle this case, warning the user about the issue but falling back to a valid view id. Fixes #2576
-
António Fernandes authored
We remove the pad controller before calling gtk_window_destroy() to break a dependency cycle. However, if for some reason the controller has already been removed by the time we reach that part of our code, we access a pointer to and already destroyed object. Try to avoid this with a weak pointer, such that we skip the step if the pointer is already NULL. Presumably fixes #2572
-
António Fernandes authored
When not folded, there is not visible nor invisible way to restore the sidebar, so it shouldn't be allowed to be closed by touch gesture. Fixes: #2536
-
António Fernandes authored
Now that the views contain real widgets, Tab and Shift+Tab cycle through every item and only allow leaving the view when at the end or start of the list, respectively. This is frustrating for directories with more than a handful of files. Also, users expect to use arrow keys to cycle though items already. So, allow to tab into and out of the view, but not inside.
-
António Fernandes authored
When an item is deleted, focus moves to the next item. But if the previous item was not only focused by also selected, the expected behavior is for the newly focused item to also become the new selected item. I believe this should be fixed in GtkListBase itself, but let's add a workaround for now. Fixes #2489 ... and provides a partial workaround for #2489
-
Passing an invalid uri to create-folder also crashes nautilus. If the parent_file is NULL, return an error instead of crashes.
-