Renaming multiple files at once has been a missing feature in Nautilus
for a long time. This patch implements that feature in the following way:
This operation is launched in the same way as the rename one, when the
selection has more than one file.
When the batch renaming is launched, a dialog is shown, offering two
modes.
In the first mode, the user can use metadata (if available), numbering and
original file name tags to create the new names. Between the tags, there
also can be written normal text, which will be added in the new names. If
numbering is used, the order of the files can be modified by using several
criteria.
In the second mode, the user can replace an existing part of the name.
https://bugzilla.gnome.org/show_bug.cgi?id=768311
In 26a3ab4cd5 we put recursivity to the simple search engine in order
to fix the report of some users that weren't getting files inside
folder of home directory.
However this is wrong, since it takes too long and gnome-shell search
provider doesn't have a way to get partial results or close the search
when done, which makes Nautilus not reporting results until the search
is done, and in case the user stops the shell search, nautilus keeps
searching making the CPU consumption really high.
In fact, we always made recursivity for tracker but not for the simple
engine when performing the shell search.
The issue users were experiencing seems unrelated to this, and I
actually cannot reproduce, so let's return to the regular behaviour
we had.
https://bugzilla.gnome.org/show_bug.cgi?id=766174
One of the error dialog strings was statically allocated, but the dialog
function attempts to free it. In order to fix this, newly allocate a copy of the
string.
https://bugzilla.gnome.org/show_bug.cgi?id=770353
Each file name widget has an error label for displaying error messages. However,
when there is no error, the label just takes up space for no reason. In order to
fix this, use a revealer to display error messages.
https://bugzilla.gnome.org/show_bug.cgi?id=770199
Add an context menu action for compression and a dialog for selecting the file
name and compression format. Add a controller class for managing the compression
dialog.
https://bugzilla.gnome.org/show_bug.cgi?id=770199
The compression operation allows multiple formats to be selected. It would be
good to store the last choice of the user in order to select it for future
operations.
https://bugzilla.gnome.org/show_bug.cgi?id=770199
Add an operation for compressing files using gnome-autoar. The operation is
similar in functionality to the one offered by file roller but comes with
integrated progress feedback and support for undoing and redoing.
https://bugzilla.gnome.org/show_bug.cgi?id=770199
There is no hash set in GLib, so we have to use GHashTable. However there are
functions that allow to use the hash table as hash set. Use that instead of the
regular hash table functions.
https://bugzilla.gnome.org/show_bug.cgi?id=768646
In Nautilus, file conflicts are handled by a specific dialog. Previously, the
dialog class managed both the UI and the related nautilus files. This lead to it
being inflexible due to operation specific logic being mixed with the rest of
the functionality. In order to change this, move file logic to a separate module
and add methods for controlling the UI elements in the dialog.
Create an operation-manager module to handle dialog controlling. Move anything
related to Nautilus files from the dialog class to the new module.
https://bugzilla.gnome.org/show_bug.cgi?id=770160
The file_info autoptr in transfer_add_file_to_count() is not
zero-initialized and the function conditionally returns early, which
could result in a crash. This commit fixes that.
https://bugzilla.gnome.org/show_bug.cgi?id=769383
nautilus_desktop_window_composited_changed function will do nothing
if we use initial value from GdkScreen because of early return:
if (window->details->composited == composited)
return;
Change back initial value to TRUE to make sure that background will
be setup if screen is not composited.
https://bugzilla.gnome.org/show_bug.cgi?id=769360
Currently, the transfer info of an operation is only modified if it is
successful, resulting in a confusing reflection in the UI. Treating
skipped operations as completed and displaying them as such feels more
natural, as they are technically completed (i.e. nothing has been done).
This commit changes the behavior as such.
https://bugzilla.gnome.org/show_bug.cgi?id=769383
There are a couple of problems with the status string during file
duplication:
1. The status string is constructed by calling ngettext()
with the index of the file plus one.
2. nautilus_progress_info_take_status() is called with the total count
of files plus one.
These two combined result in funky status strings (e.g. “duplicating 3
file in X”).
This commit fixes both of those problems.
https://bugzilla.gnome.org/show_bug.cgi?id=769997
set_up_scripts_directory_global() currently uses the POSIX file
interface, which is inconsistent with the rest of the code. This commit
rewrites the parts of the function to use the GFile API.
https://bugzilla.gnome.org/show_bug.cgi?id=769602