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
When hacking on Nautilus, it is very inconvenient to have to close any
running instance before running the built version. This commit enables
running three different instances by changing the application ID.
Beside the default “profile” is one crafted for stable flatpak
releases and one for development. The stable flatpak profile adds an
identifying mark to the about dialog to aid collecting information in
bug reports. The development profile is that plus additional styling to
help visually identify the development instance. It also will be used
when generating Flatpak bundles with the help of CI.
Generally, the implementation is slightly hacky to allow all the
different workflows, spanning from regular installations to GNOME
Builder flatpak builds, as each comes with its own quirks.
The libnautilus-extensions internal dependency must include the
generated enumeration header file, otherwise we may end up building
targets that depend on the library prior to have the header properly
generated.
The changes include:
* adding a single-include header and deprecating
nautilus-extension-types.h and direct inclusions of individual
headers;
* type definition simplifications - this causes some breakages in
nautilus-file, because NautilusFile used to be typedefed to
NautilusFileInfo, and that is no longer possible, so the interface
implementation was moved to static functions and the public
NautilusFile API provides thin wrappers for them to maintain
compatibility;
* documentation cleanups and reorganization;
* general build rule and code cleanups: mostly g_auto* sprinkled
around and style changes (sorry)
Currently, the pkgconfig file for nautilus-extension is generated by
substituting variables in a template file. That is prone to mistakes and
requires manual tracking of dependencies. Using the pkgconfig module
from Meson helps automate much of the process.
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.
Currently, when building with Meson, the version of the pkg-config file
for libnautilus-extension is set to the version of the library itself.
This is incompatible with how it was before - the version was set to the
version of Nautilus. That breaks some modules that build extensions
(e.g. file-roller).
https://bugzilla.gnome.org/show_bug.cgi?id=779472
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
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
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>
2009-03-08 Sven Herzberg <herzi@lanedo.com>
Bug 574546 – Document nautilus_property_page_provider_get_pages()
* libnautilus-extension/nautilus-property-page-provider.c: document
the function
* src/nautilus-image-properties-page.c,
* src/nautilus-notes-viewer.c: drop the function documentation, it's
in the API reference now
svn path=/trunk/; revision=15070
* libnautilus-extension/nautilus-location-widget-provider.h:
* libnautilus-extension/nautilus-menu-provider.h:
* libnautilus-extension/nautilus-property-page.h: Only include
gtk/gtk.h, to allow extensions to build with
*_DISABLE_SINGLE_INCLKUDES. Bug #558070.
svn path=/trunk/; revision=14767
2008-01-22 Alexander Larsson <alexl@redhat.com>
* libnautilus-extension/nautilus-column.c:
Add attribute_q property that is the Quark
of the attribute property.
* src/file-manager/fm-icon-container.c:
* src/file-manager/fm-list-model.[ch]:
* src/file-manager/fm-list-view.c:
Use the quark versions of the string attribute
calls for better performance.
svn path=/trunk/; revision=13642
2008-01-04 Alexander Larsson <alexl@redhat.com>
* libnautilus-extension/libnautilus-extension.pc.in:
Pull in gio, not gnome-vfs.
* libnautilus-extension/nautilus-file-info.[ch]:
* libnautilus-private/nautilus-file.c:
Export some gio specific things like file type and
location/parent location.
* libnautilus-private/nautilus-desktop-icon-file.c:
These are G_FILE_TYPE_SHORTCUT files, not REGULAR files.
svn path=/trunk/; revision=13560
2007-12-24 Brian Pepple <bpepple@fedoraproject.org>
* libnautilus-extension/libnautilus-extension.pc.in (extensiondir):
* libnautilus-extension/libnautilus-extension-uninstalled.pc.in (extensiondir):
Update to use extensions-2.0 dir.
svn path=/trunk/; revision=13554