Commit graph

213 commits

Author SHA1 Message Date
António Fernandes 694e4396c7 file: Remove link info attribute
Leftovers from NautilusLink removal.
2018-05-14 00:17:08 +01:00
Alexandru Fazakas 89e362ae13 test: Add file-utilities unit test
File utilities operations need to be tested thoroughly everytime
we make changes to make sure they're fine to use further.

This patch introduces an unit test file for the
nautilus_file_selection_equal.
2018-04-04 12:10:05 +03:00
Alexandru Fazakas 95ecfc8ea0 general: Remove include guards in favor of pragma once
The traditional include guards are not as easy to handle
and require extra thought into the names.

Pragma once is an easier, more contributor friendly approach.

Closes https://gitlab.gnome.org/GNOME/nautilus/issues/294

general: Remove include guards in favor of pragma once

The traditional include guards are not as easy to handle
and require extra thought into the names.

Pragma once is an easier, more contributor friendly approach.

Closes https://gitlab.gnome.org/GNOME/nautilus/issues/294
2018-03-19 14:43:38 +02:00
Ernestas Kulik 510a8303dd build: make all tests optional
This can help cut down on link times a bit when working on things.
2018-03-16 06:22:36 +02:00
Ernestas Kulik 9e8f138999 general: fix old-style function declarations
Parameterless function declarations imply indeterminate parameter count,
while the implementations take no arguments.
2018-03-01 08:37:49 +00:00
Carlos Soriano 12601e9204 tests: Split between display and displayless
Some tests require gtk_init, which requires a display and therefore
cannot be part of the tests to be ran in the GitLab CI.

Split those so we can pass an option to meson to only test the
displayless tests for GitLab CI.
2018-01-06 01:17:29 +01:00
Ernestas Kulik 6bc3255fea tests: remove obsolete test
test-eel-background hasn’t been built forever and the code it tests is
long gone.
2018-01-05 23:33:53 +02:00
Ernestas Kulik 22075a4c3c tests: update common filename prefix test
61ac48bdc0 changed the way the prefix is
computed, thus breaking some of the tests. This commit removes
irrelevant tests and updates broken cases.
2018-01-05 23:24:58 +02:00
Ernestas Kulik 983892a656 build: general cleanups
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.
2018-01-02 12:51:32 +02:00
Ernestas Kulik 74dd9c9f72 general: remove desktop support 2018-01-02 12:51:32 +02:00
Ernestas Kulik 61ac48bdc0 file-utilities: rework common prefix computation
Currently, the process for getting the common prefix of a list of file
names is a tad too greedy:
    1. Find the common prefix of all the strings.
    2. Strip the extension from the prefix.
    3. Strip trailing punctuation.

Step 2 may strip dots if there’s trailing whitespace and step 3 may
strip useful punctuation (e.g. parentheses). This commit reworks the
process as such:
    1. Strip the extension from all the file names.
    2. Find the common prefix of all the strings.
    3. Trim trailing whitespace.

Fixes #174.
2017-12-23 17:38:17 +02:00
Alexandru Pandelea 6eb160fbbc Revert "search-engine: fix search providers handling"
This reverts commit 37693c4279.

The patch was pushed by accident.
2017-08-17 11:29:41 +01:00
Alexandru Pandelea 37693c4279 search-engine: fix search providers handling
When starting the search providers, some provider might finish
before all providers are started, so a wrong value of providers_running
will be used, making Nautilus crash.

To fix this, keep a queue of the started providers and whenever the
value of the finised/running providers is needed, check the status of
each provider.

https://bugzilla.gnome.org/show_bug.cgi?id=785723
2017-08-15 21:42:15 +01:00
Ernestas Kulik 857a90c29b autotools: kill it
We’re moving to Meson this cycle, so this is losing some deadweight.

https://bugzilla.gnome.org/show_bug.cgi?id=780366
2017-03-22 17:18:29 +02:00
Jan Tojnar 5488240840 tests: Fix directory extensions points
In 7840b533e2, `nautilus-directory-provider` extension point was added
to the code paths used by the tests. When glib is asked for extensions,
it assumes the extension point is registered so it segfaults.

This patch registers the extension point before the tests are run.

https://bugzilla.gnome.org/show_bug.cgi?id=779178
2017-02-24 14:30:21 +01:00
Ernestas Kulik ed5652c89a general: add support for Meson
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
2017-02-24 00:24:27 +02:00
Ernestas Kulik 728300331d general: drop git.mk
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
2017-02-24 00:24:27 +02:00
Carlos Soriano 52d960542b general: run uncrustify
And make the style of Nautilus the same for all files.
Hopefully we can fix all the style issues we can find in the next days,
so expect a little of movement on this.

https://bugzilla.gnome.org/show_bug.cgi?id=770564
2016-08-29 18:37:10 +02:00
Carlos Soriano 4cafccd828 general: add uncrustify script
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
2016-08-29 18:37:10 +02:00
Emmanuele Bassi 9b674dc6ec tests: Fix build failure caused by C99 use
Build failure in Continuous:

../../test/test-file-utilities-get-common-filename-prefix.c: In function
'test_many_strings':
../../test/test-file-utilities-get-common-filename-prefix.c:366:9:
error: 'for' loop initial declarations are only allowed in C99 or C11
mode
         for (int i = 0; i < 500; ++i) {
2016-07-10 13:46:24 +01:00
Neil Herald ca0e00b6b3 files-view: change "New Folder /w Selection" to offer a name
New Folder with Selection currently doesn't offer a folder name. It
would be better if it suggested a folder name based on the files that
are selected.

With this change, it now looks for a common filename prefix of the
selected files, and pre-populates the folder name entry with that. If no
common prefix is found that is greater than 3 characters long, the
folder name entry will be left blank.

https://bugzilla.gnome.org/show_bug.cgi?id=747907
2016-07-10 08:30:48 +01:00
Carlos Soriano 7e24f1b2a2 general: merge libnautilus-private to src
And fix make distcheck.

Although libnautilus-private seem self contained, it was actually
depending on the files on src/ for dnd.
Not only that, but files in libnautilus-private also were depending on
dnd files, which you can guess it's wrong.

Before the desktop split, this was working because the files were
distributed, but now was a problem since we reestructured the code, and
now nautilus being a library make distcheck stop working.

First solution was try to fix this inter dependency of files, but at
some point I realized that there was no real point on splitting some of
those files, because for example, is perfectly fine for dnd to need to
access the window functions, and it's perfectly fine for the widgets
in the private library to need to access to all dnd functions.

So seems to me the private library of nautilus is somehow an artificial
split, which provides more problems than solutions.

We needed libnautilus-private to have a private library that we could
isolate from extensions, but I don't think it worth given the problems
it provides, and also, this not so good logical split.
Right now, since with the desktop split we created a libnautilus to be
used by the desktop part of nautilus, extensions have access to all
the API of nautilus. We will think in future how this can be handled if
we want.

So for now, merge the libnautilus-private into src, and let's rethink
a better logic to split the code and the private parts of nautilus than
what we had.

Thanks a lot to Rafael Fonseca for helping in get this done.

https://bugzilla.gnome.org/show_bug.cgi?id=765543
2016-04-25 16:31:42 +02:00
Carlos Soriano ff6ccbaf40 search: done loading signal only if not restarting engine
It was working as:
- Search directory starts a new search
- Search engine starts all search providers, each one in its
own thread.
- User changes query
- Search engine stops all search providers
- Searchs providers, since they are in its own thread, cancel
in a unknown time.
- Search directory starts a new search, even before all providers
are finished.
- Search engine is marked as need to restart.
- Search providers finished.
- Search engine emits finished signal, since all search providers
now are stopped.
- Clients doesn't have a way to know if the engine
actually finished searching the current search, or the previous
search that the client asked to stop. That might confuse clients
if they ask for results.
- Search engine restart the search providers without noticing the
client, that thinks that the latest search it started was finished
already.

So to fix this confusion, only report that the engine actually finished
if the engine is not going to restart the search providers.
In this way a client can start a batch of consecutive searches without
the risk of getting search finished signals from previous searches.
Clients now will always get the search-finished signal of the
latest search they started.
2015-07-22 13:02:04 +02:00
Carlos Soriano 192d2e2fcc operations: implement new design
Now operations reside in the toolbar, in form of a button with
a popover. In this way we avoid to have a nautilus window hanging
around for it.
When no nautilus window is open, the persistence handlers of nautilus
are enough. This use a notification if the server supports it or
a systray icon in case it doesn't.
2015-07-17 00:45:39 +02:00
Cosimo Cecchi e816485d52 eel: remove unused EelEditableLabel
This was only used for in-place renaming inside the canvas container,
which does not exist any more. Remove it.
2015-05-23 12:14:32 -07:00
Cosimo Cecchi cbc37d3ecd Don't mention FSF address
Use the website instead.

https://bugzilla.gnome.org/show_bug.cgi?id=721518
2014-02-17 14:41:43 -08:00
Daniel Mustieles e314fbcc99 Updated FSF's address 2014-01-31 14:13:48 +01:00
Andrés G. Aragoneses 9473dd41c1 build: stop using INCLUDES, deprecated by automake 1.7
We already depend on automake 1.9, so using the replacement of
INCLUDES (AM_CPPFLAGS) won't hurt, especially now that it is
a warning shown by default since automake 1.13, as evidenced by
this build log of mine:

Makefile.am: installing './INSTALL'
eel/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
eel/Makefile.am: installing './depcomp'
parallel-tests: installing './test-driver'
libnautilus-extension/Makefile.am:7: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
libnautilus-private/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
nautilus-sendto-extension/Makefile.am:3: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/Makefile.am:13: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
test/Makefile.am:3: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2013-06-18 11:30:31 +02:00
Cosimo Cecchi 2b29ab5699 test-search-engine: test cancellation and NautilusSearchEngineModel
Add some code in the search engine test to verify cancellation and
NautilusSearchEngine model work properly.
2012-10-18 15:07:19 -04:00
Cosimo Cecchi 7666f83777 search: remove unused hits-subtracted signal
Since this is never emitted, keeping the code around just makes it more
complicated.
2012-10-15 10:47:32 -04:00
William Jon McCann 0ab374ea0b Use git.mk 2012-09-17 18:07:25 -04:00
William Jon McCann 292314dd32 Update directory async test case 2012-08-08 15:55:29 -04:00
William Jon McCann 79869fd920 Collect results from both search providers
Previously we would only use the compiled in search provider. Now
it has been changed to run both providers at the same time and
merge the results by URI.

https://bugzilla.gnome.org/show_bug.cgi?id=680137
2012-07-18 10:57:32 -04:00
Cosimo Cecchi 44b695b9af file-operations: first pass at passing on success information
We want to know if a file operation failed for some reason, so that we
don't add it in the redo queue.
2012-01-20 22:14:01 -05:00
Cosimo Cecchi c590280477 test: don't use deprecated gtk_vbox_new() 2011-10-18 11:28:08 -04:00
Cosimo Cecchi 04975e6cbc all: don't call g_thread_init()
GLib does that for us now.
2011-10-18 11:28:08 -04:00
Cosimo Cecchi a0f8947383 progress-info: split progress information notify into a new manager 2011-02-03 19:38:35 -05:00
Cosimo Cecchi 393df7a83c build: simplify configure script
Also, don't support old exif/exempi APIs anymore.
2010-10-30 16:29:14 +02:00
Cosimo Cecchi 66cd22c908 background: refactor code into NautilusDesktopBackground
Remove the DirectoryBackground->EelBackground->GnomeBG abstraction and
add a new object, NautilusDesktopBackground, which is a thin wrapper
around GnomeBG, which takes care of handling background changes.
2010-10-09 15:41:41 +02:00
Cosimo Cecchi 931644a649 [test] remove test-eel-image-scrolled
It only increases compilation time
2010-08-19 16:52:45 +02:00
Cosimo Cecchi 9c9c619ae2 [test] remove eel-pixbuf-scale test 2010-08-19 16:35:27 +02:00
Cosimo Cecchi 41b7e9fe4d [eel] remove unused eel-xml-extensions. 2010-07-25 19:35:42 +02:00
Cosimo Cecchi 1ad357964e [eel] remove unused EelLabeledImage 2010-07-25 19:35:35 +02:00
Cosimo Cecchi 6feed0a28d [eel] remove unused EelImageTable 2010-07-25 19:35:31 +02:00
Alexander Larsson ca1c74b6df Remove last users of eel_preferences and eel_gconf 2010-07-23 12:22:56 +02:00
Alexander Larsson 9318df841a Convert show-hidden-files to gsettings and merge it with show-backup-files 2010-07-23 12:22:54 +02:00
Cosimo Cecchi d9f80b3f40 [test] GSEAL test-eel-image-table. 2010-06-11 13:25:22 +02:00
Cosimo Cecchi 86d41c1415 Split WARNING_CFLAGS into its own variable.
So that we can use e.g. LIBNAUTILUS_EXTENSIONS_CFLAGS when compiling the
gir information.
2010-05-20 14:34:00 +02:00
Alexander Larsson 37be3809bc Remove all traces of former nautilus metadata code 2009-06-23 21:43:52 +02:00
Cosimo Cecchi c308f7f3e9 Remove other deprecated GTK+ symbols
There were still some references to deprecated GTK+ symbols in some
files, or in some comments. Let's drop them all.
2009-04-22 00:38:43 +02:00