| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The template UI definition has the Open With tab empty. This is
because its contents come from the NautilusMimeApplicationChooser
widget.
But a separate abstraction for choosing appications based on MIME
types isn't required as GTK provides GtkAppChooser.
The other widgets can be neatly tucked away in the UI built using
XML templates to achieve the same results, and at the same time
allowing the open-with page to be customizable in Glade.
Some functions are adapted from mime-application-chooser.c, but
modified to remove any dependency on that class.
|
|
|
|
|
|
| |
This commit only creates outer container of the Open With tab.
Inner widgets are ported in the next commit.
|
|
|
|
|
|
|
|
|
|
|
|
| |
"Change Permissions of Enclosed Files" dialog is now built using XML
UI definition. This is present as a seperate .ui file apart from
nautilus-properties-window.ui because a .ui file file containing a
widget declared as a template cannot have other external widgets to
be built independently from the template.
This .ui file is not produced or editable usingg Glade as it doesn't
recognize "action" type children as found in GtkDialog. This issue is
already reported in https://gitlab.gnome.org/GNOME/glade/-/issues/392
|
|
|
|
|
| |
The dialog the "Change Permissions for Enclosed Files…" button opens is
going to be ported in the next commit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Combo boxes are empty in the template. Their models and renderers are
still handled programatically, because porting them posed many issues:
- User lists and groups lists are not staic.
- Permissions list stores have a column for permissions enum.
While we can use the enum value symbol in C, we would have to use a
numeric value in Glade, which is going to be quite obscure and hard
to document.
- Porting the models to GtkBuilder UI definition isn’t really improving
hackability / design-ability much because of how Glade handles it.
- The comboBox itself is already defined in the .ui file, so it’s
possible to tweak the design even if the comboBoxes look empty
It would make things more complicated, so it’s more reasonable to let
the code handle this.
|
|
|
|
| |
Also document the code generating label text containing file names.
|
|
|
|
| |
Internal widgets will be populated from template in the next commits.
|
|
|
|
|
|
| |
The skeleton, layouting of grid cells, and styling of widgets
inside the volume usage widget is done in the template. Only the
GtkDrawing areas are drawn using code, in callbacks for ::draw.
|
|
|
|
| |
Exception: the usage widget continues to be constructed in our own code.
|
|
|
|
|
|
|
|
|
|
|
| |
We have been creating either an entry or a label for the name field,
depending on whether we were able to edit the name or not.
In GtkBuilder UI definitions we cannot do this anymore, as we have
to define and build both the entry and the label.
So, in order to only show the one we want on each situation, we are
introducing a GtkStack to contain both.
|
|
|
|
|
|
|
|
|
|
|
| |
The GtkImage that displays the window icon may or may not be contained
by a GtkButton, depending on whether we were able to set a custom icon.
In GtkBuilder UI definitions we cannot do this anymore, as we have to
set a parent for the image widget from the start.
So, define both a simple image and a button with an image, and pack
them in a GtkStack to only show the button when appropriate.
|
|
|
|
|
|
|
|
|
| |
This commit obtains the outer containers of the Basic page from the
widget template UI definition.
A new GtkBox to pack the icon widget is included.
The inner widgets are ported to the UI definition in the next commits.
|
|
|
|
|
|
|
|
|
| |
For now, only the outermost containers, GtkWindow down to GtkNotebook,
have been defined in the GtkBuilder UI file.
The Basic, Permissions, and Open With tabs, along with their content,
are still built and inserted programaically. They are going to be
ported accross the next series commits.
|
|
|
|
|
|
|
|
|
|
| |
NautilusPropertiesWindow usec to be a GtkDialog subclass, inheriting
the "close" signal, which was leveraged to implement close on Esc.
However as GtkWindow doesn't feature a "close" signal natively, and
NautilusPropertiesWindow now subclasses GtkWindow, it needs to be
seperately defined and attached to a signal handler to restore the
functionality.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The properties window has been subclassing GtkDialog since long ago.
GtkDialog features an action area where, historically, the properties
window added Help and Close action buttons.
These action were dropped when a headerbar was adopted.[1] Moreover, we
want to port the Properties window to a GtkBuilder UI definition, which
GtkDialog makes harder to achive.
Subclassing GtkWindow fits this use case much better.
[1] d8a8ab3b66a0a4849e2f9cd17e96f86f85541dee
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to prevent deadlock when cancelling operations, new thread
were added by commit 2db9a295. However, this introduce various races.
One of them has been fixed by commit 45c7c967. However, I am convinced
that there is still a race when finalizing. One way to fix it is the
usage of g_thread_join. But I think that it would be better to avoid
the deadlock another way. Let's instead remove the problematic thread
and call g_cancellable_cancel without the lock held.
Fixes: https://gitlab.gnome.org/GNOME/nautilus/issues/124
|
| |
|
|
|
| |
I get an email anyway, and Carlos is not working on nautilus nowadays.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Nowadays fat filesystems are usually mounted with vfat driver that
supports long filenames, which allow semicolon.
Since there is no easy way to determine which driver was used
and msdos is a corner case, make the assumption so the character
is not auto-escaped when not necessary.
|
|
|
|
|
|
|
|
|
|
|
| |
Currently when copying files that have reserved characters in their
names to NTFS or exFAT filesystems mounted using FUSE, the process will fail.
The fuseblk filesystem type could be of any type in theory, but in
practice is usually NTFS or exFAT, so make the assumption in pragmatic
way to solve this issue.
Closes #1343
|
|
|
|
|
|
|
|
|
|
|
| |
Currently when copying to NTFS filesystem files that have reserved
characters in their names, the process will fail.
There is already code in place to handle this situation for FAT by
replacing invalid characters with underscores, so handle this situation
in similar fashion for NTFS as well.
Closes #1343
|
| |
|
|
|
|
|
|
|
|
| |
In function update_search_information() which may be called when the slot is
in the process of updating it's location. Use the location accessor function
nautilus_window_slot_get_current_location() which returns the correct location
when the slot is in the process of updating it's location related data
structures.
|
|
|
|
|
|
|
|
|
|
| |
When a new window slot instance replaces the existing one to handle the new
location.
This allows back and forward history lists to be preserved when the window
switches between instances of different window slot classes.
Closes https://gitlab.gnome.org/GNOME/nautilus/-/issues/32
|
|
|
|
|
|
|
| |
This struct is going to be used to also restore navigation state when
replacing the active window slot in order to handle other-locations://
Also enhance it to also save and restore the current location bookmark.
|
|
|
|
|
|
|
|
|
|
| |
When restoring the back and forward lists, we make a deep copy only to
free the data immediately afterwards.
Instead of reallocating the lists unnecessarily, let's just steal them.
Also, use g_queue_free_full() to make free_restore_tab_data() a proper
GDestroyNotify; also define it in window-slot.c, where it belongs.
|
| |
|
|
|
|
|
|
|
| |
GLib's new g_clear_signal_handler() allows us to concisely disconnect signal
handlers, negating the need for custom functions to do the same.
Fixes: #1522
|
|
|
|
|
|
|
| |
Make use of GLib's new g_clear_signal_handler() function to simplify nautilus'
signal handler disconnection and reduce unneccessary code.
Fixes: #1522
|
|
|
|
| |
This is required to avail of g_clear_signal_handler().
|
| |
|
|
|
|
|
|
|
|
| |
GTK-based codes are not up-to-date. Let's run gtk-code-generator.sh
to update them. But also update the script to remove the unwanted
marshalers. Finally, this doesn't bring any functional changes, but
it adapts our script to the latest GTK codes. Let's add a comment
in meson.build to not forget doing this regularly...
|
| |
|
| |
|
|
|
|
| |
(cherry picked from commit 7d59c2cb8bb59d6261450596781f863e79c15132)
|
|
|
|
|
|
|
|
| |
Running nautilus as root is no longer recommended/supported.
Priviledged operations like changing file owner, while
running as non-root are supported by the admin backend.
Closes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/1534
|
| |
|
| |
|
|
|
|
| |
Fixes https://gitlab.gnome.org/Teams/Translation/fr/-/issues/6
|
| |
|
|
|
|
|
|
|
|
| |
The list of releases is outdated, which is probably why GNOME Software and
"flatpak info" shows version 3.32.1 for our nightly bundles, although the
About dialog shows something completely different. Let's replace the list of
outdated releases with just the current one. Also add comment in meson.build
to not forget about it next time.
|
|
|
|
|
| |
The update contact points to our previous maintainer. Let's use the
mailing list address instead to be always valid...
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We have changed the FILENAME_RANK constant from being used as a format
string argument to be concatenated as a string during compilation, as
detailed in 7f00ede9b410e88106cef34c634cb46e46015e37
However, I have forgotten to quote the constant, which otherwise cannot
be treated as a string to concatenate.
Fix that now.
|
|
|
|
|
|
|
| |
This reverts commit 01392db750bf6d9b94665e5507b7785924a276c4.
Unwanted changes from another branch that I've pushed together with the
desired fixm from the previous commit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We set a 5.0 rank for filename matches in the SPARQL query as a float
argument in a format string.
However, the floats in format strings are translated with the decimal
separator from the locale. This means in some locales the rank has a
comma instead of a dot, which results in a query error. In turn, this
effectively broke the shell search provider.
Instead of using a format specifier and passing the value as an
argument, we should just use compile-time concatenation to insert '5.0'
in the query unmodified.
Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/1412 and #1437
|