This commit does the following:
* Canonicalize the style:
* Use two-space indentations.
* Un-Autotools-ify option names.
* Don’t align arguments, simply increase indentation.
* Don’t add a space before opening parenthesis in calls.
* Remove unused variables.
* Remove unused dependencies.
* Remove config.h.meson.
* Optimize dependencies.
* Use disabler functionality for libselinux dependency, to save lines.
Instead of setting whether the search should be full text search or
not from the preference dialog, make the permanent setting from the
search popover.
https://gitlab.gnome.org/GNOME/nautilus/issues/65
Until now archives were managed only if activated from Nautilus itself
and if a setting was set.
There are two main problems with this.
1- Archives opened in other apps cannot be handled by Nautilus
2- Users cannot use the regular mime type handling for setting Nautilus
as the app handling archives, or unsetting it.
This patch add support for archives mime types handled by gnome-autoar
and removes the UI and setting used in the previous version.
https://bugzilla.gnome.org/show_bug.cgi?id=771424
The search text can now also match the contents of a file, besides
the file name.
This is done with the help of a Tracker query, using fts:match, which
matces both the contents of a file and the filename.
The user also has the option to choose whether to use or not the
Full Text Search. This can be done with a preference, which represents
the default option when opening a new tab/window or from the search
popover.
https://bugzilla.gnome.org/show_bug.cgi?id=775961
This hides the autostart from Ubuntu's Startup Applications
app since we don't want users to easily disable this without
understanding why it's there.
https://bugzilla.gnome.org/show_bug.cgi?id=781874
run-uncrustify.sh script uses cwd relative file names, which fails
if it is ran from the repository root or other directory.
This commit fixes the paths relative to the script.
https://bugzilla.gnome.org/show_bug.cgi?id=779408
Since it’s 2017 already, Nautilus should use a build system that doesn’t
take longer to set up the build than it takes to actually build. An
observed build time using Ninja of roughly one-fifth of what it took
Autotools is more than reason enough to add support for Meson. Along
with that, this commit adds a convenience script to generate a tarball
for releases, since we use libgd as a submodule and Meson does not
handle source distributions.
https://bugzilla.gnome.org/show_bug.cgi?id=778167
This commit removes git.mk and adds hand-written gitignore files. That
is needed to ignore build/, which is the directory of choice for Meson
builds.
https://bugzilla.gnome.org/show_bug.cgi?id=778167
After all the rework on the window slots, views, and splitting
the desktop, we are finally able to add a flow box based view for
Nautilus.
The GtkFlowBox is still not performance enough to be added as the
default view, not even as an alternative in the user preferences.
However, since the work on this is one of the biggest for Nautilus and
gtk+, the decision was to merge a prototype in order to open the
development, testing and iteration of the code in order to make it
good enough for, in a not so far away future, have it as the main view.
The work merged is not finished, and is an experiment and prototype in
more things than just the GtkFlowBox, we want to create a single shared
model with a complete MVC pattern between all the views. This will need
quite a few iterations to get it right, but once is done right, I hope
it's going to be good enough as an example to any application that wants
multiple types of views with the new widgets of gtk+.
This patch adds the GtkFlowBox view to be optionally used under a
gsetting called use-experimental-views, turned off by default.
lineup-parameters: remove unused variable (fixed upstream)
bookmark: cast away const modifier in nautilus_bookmark_compare_with()
when using GLib macros
file-operations: used correct enum in a function call
https://bugzilla.gnome.org/show_bug.cgi?id=772586
The current style of nautilus is rather poor and mixes at least 3
different code styles.
Specific issues that affect the most common contributors to Nautilus
performance are:
- tabs for multiline alignment.
- mix of tabs and spaces.
- errors on no braced one liners conditionals.
- errors on non braced case statements with variable declarations.
So I would say requirements for the style is to address the previous
issues and also be a well known style. I don't want new contributors
to see a new style completely different from C books authors.
So far, I found Allman (aka BSD) style which seems the choice of most C
books authors as far as I can see on internet, and it address the
previous mentioned issues.
Since uncrustify doesn't support the aligment of parameters we do for
multiple stars "**", we also added a script made by Sebastian Wilmet
to align those.
As a matter of practicity I'm going to convert all Nautilus style to
this one, and if the next person who contributes most on Nautilus has
a different choice, please feel free to change it to whatever makes your
performance and your contributors performance the best.
https://bugzilla.gnome.org/show_bug.cgi?id=770564
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
Instead of using a themed icon.
This is necessary for flatpak Nautilus properly.
Patch made mostly by Mathieu Bridon and help of Patrick Griffis.
Thanks a lot!
gettext has been continuously improving, up to a point where intltool
can be deprecated in favor of it. This commit ports the project files to
use upstream gettext.
https://bugzilla.gnome.org/show_bug.cgi?id=769362
Sometimes we want to override the show-desktop-icons gsettings, as we
were doing before splitting the desktop.
Wrongly I assumed that since it's a different binary, once can simply
run it or not, but of course that was an oversimplification, and forgot
all what I needed to do in order to support all the cases for the
desktop handling.
This patch adds the missing command line options we had, --force-desktop
and --no-desktop, and also adds the --force-desktop to the classic
desktop file, since we needed to enable the classic mode.
https://bugzilla.gnome.org/show_bug.cgi?id=765159
We wanted to do this for long time. This will allow to handle the
desktop process in a different binary.
The ultimate goal is to make the desktop code completely split from
nautilus code.
This is the first and minimal step towards that goal.
In this patch we create a desktop application separated from nautilus
application, and remove the desktop handling in nautilus application.
https://bugzilla.gnome.org/show_bug.cgi?id=712620
In icon view, add a smaller zoom level to be able for dense views,
and increase the default padding to allow the labels enough space.
Now levels are 48px, 64px, 96px and 128px for icon view, instead of
only 64px, 96px and 128px, but with the increased padding the 64px and
48px are useful.
List view also gains a bigger level, and they become 16px, 32px, 48px,
64px.
Also, adjust the label max width to be larger, but inside the icon
itself. This fixes the label not taking advantage of all the width the
icon provides, and also a few cases where icons were misaligned.
So we can select what type of view do we want for search independently
of what we normally use.
This is needed since we default to switch to list view for search, but
we would like to allow users to select a different view. However,
instead of adding a preference in the preference dialog, we can do it
more straightforward and change the setting when we are in search.
On the way, rework all the enums and views id for a saner code...
We weren't syncing the last used/ last modified setting in the search
popover when changed location, which means the query didn't get the
last used user choice.
We don't want however to listen to a gsetting key and change every
ongoing search, so instead what we do is get the setting for the
initial creation of a search, and then every user change will set
the gsetting value, but will only affect the next created searches, not
the ongoing ones.
Remote locations by default don't handle recursive search, since
it has high costs associated. We can't, however, neglect the ability
to search recursively on those folders, nor share the same setting
with common folders too.
To fix that, add a new setting called "enable-remote-recursive-search"
which will be used by the next commits to properly implement recursive
search for remote locations.
The menu item for this feature was removed in previous versions of nautilus.
A context menu item for creating links from copied files was added, but some
users prefered to create links from selected files.
Since this is demanded, implement the menu action for it and use the gsetting
added in the previous commits.
https://bugzilla.gnome.org/show_bug.cgi?id=745575
The menu item for creating links was removed in previous versions of nautilus
since it exposes a concept of the file system that is not really clear.
However, we don't have a working solution yet for the use cases that creating
links is a workaround, so we didn't remove the functionality altogether.
We were allowing link creation with a shortcut and with the middle button while
performing a drag and drop operation. However, some users would need to use a
context menu action instead of a drag and drop operation, which usually is less
convenient and prone to errors.
Since this is demanded, implement the menu action for it and add a gsetting
preference to show it in the context menu for those users who like to have it
there.
Also the new implementation uses the code that is already used for other
operations, improving the implementation compared to the previous one.
In an upcoming patch we add the UI for the preference dialog.
https://bugzilla.gnome.org/show_bug.cgi?id=745575
So Gnome Shell is aware of it and can activate it.
Until now Gnome Shell was guessing it was able to open a new
window given the app.new-window action. However, what Gnome Shell
does in this case is just call activate of the application, which
is not the "new-window" action for nautilus, and instead only presents
the current window.
One can argue that Gnome Shell should not try to guess the available
actions to, after that, instead of using them, just activate the
application.
https://bugzilla.gnome.org/show_bug.cgi?id=756370
Since NautilusApplication is a service, we can now handle searches and
windows coming and going indipendently just fine.
This also allows us to launch a search directly from the search provider
very easily.
Even though this registers a service for a freedesktop name with a Gnome-specific
program (Nautilus), we'll just do this for now.
Later we can discuss in the DBus list how to launch services with generic
interfaces, but specific implementations for each desktop environment.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
This is not in dbus-interfaces.xml as that one has a different
namespace (org.gnome.Nautilus), and that makes the generated
code from gdbus-codegen really ugly. By keeping a separate
file for this interface, we can get pretty generated code.
Our custom CSS stylesheet is actually very tied to Adwaita. We don't
want to force this style to other GTK+ themes, so the theming
information has been moved to Adwaita itself.
We now use the insensitive color for the normal state, and make them
follow the filename color for selected states.
This also fixes https://bugzilla.gnome.org/show_bug.cgi?id=319982,
tested with the HighContrast theme.
At the same time, add a bit more padding to the floating bar label, so
that it won't be covered by the grip.
Remove some margin at the bottom of the window too.
In the 3.0 world, nautilus doesn't have to install a hundred of desktop
files, as it's just a regular application.
Tweak the default desktop file to make it suitable for being the only
one, and remove the others.
We are moving the Media preferences to a separate control-center panel,
as they're desktop-wide settings. The actual autorun/automount will be
handled by gnome-settings-daemon.
The result is that we don't need to install our old gnome-control-center
capplet anymore, so we can remove all this code.
2009-01-28 Cosimo Cecchi <cosimoc@gnome.org>
* data/icons/*:
Bring icon handling to the 21th century.
Add an emblem-note icon, this is copied from g-i-t "stock_note"
icon right now, but we might change this later.
* src/nautilus-application.c: (nautilus_application_init):
add a lookup path for custom themable icons.
This also fixes bug #569407. Thanks to Lapo Calamandrei for
the tips on icon naming.
svn path=/trunk/; revision=14891
2008-07-29 David Zeuthen <davidz@redhat.com>
* configure.in:
Require gio 2.17.5 for g_mount_guess_content_type().
* data/nautilus.xml.in:
Delete x-content/* definitions; these are in shared-mime-info 0.50
and greater.
* libnautilus-private/nautilus-global-preferences.c:
* libnautilus-private/nautilus-global-preferences.h:
* libnautilus-private/apps_nautilus_preferences.schemas.in:
Remove /apps/nautilus/preferences/media_autorun_x_content_ask
and add /apps/nautilus/preferences/media_autorun_x_content_start_app
instead since we're inverting the logic. Now, by default (except
for x-content/software for which we're shipping an app ourselves)
we default to asking the user what action to take.
* libnautilus-private/nautilus-autorun.c:
* libnautilus-private/nautilus-autorun.h:
Use g_mount_guess_content_type() instead of using our own
sniffing code. Also provide an option for the user to select
an application to use (#532474).
* src/nautilus-file-management-properties.c:
Catch up with API changes to nautilus_autorun_prepare_combo_box()
svn path=/trunk/; revision=14425
2008-01-10 Luca Ferretti <elle.uca@libero.it>
* data/icons/16x16/apps/Makefile.am:
* data/icons/22x22/apps/Makefile.am:
* data/icons/24x24/apps/Makefile.am:
* data/icons/32x32/apps/Makefile.am:
* data/icons/scalable/apps/Makefile.am:
Run gtk-update-icon-cache one one when exiting from
icons directory. Not needed to repeat it 5 times.
svn path=/trunk/; revision=13584
2008-01-10 Luca Ferretti <elle.uca@libero.it>
* configure.in:
* data/Makefile.am:
* data/icons/*:
* icons/Makefile.am:
* icons/appicon/*:
Move "nautilus" named icon from icon/appicon to data/icons
matching the directory and naming structure of other GNOME
projects.
This will also help if we'll need to add custom themeable
icons.
svn path=/trunk/; revision=13583