Uses a GtkAction bar rather than a GtkFrame and a GtkBox to implement
the commit tool bar. This better fits the role of this bar, avoids
having double borders on the sides and the bottom, and dropd some custom
styling.
Up till now enchant 1.6 was included in the GNOME runtime.
From the GNOME 3.30 release and onwards enchant 1 has been replaced
by enchant 2 and thus we need to add it explicitly add it in the
manifest.
When GTK version 3.19 or higher is used, a custom define is used for
GTK shortcuts window support. This is not working due to a bad
version comparison and the vala flag is not appended.
This has been fixed and is working properly now.
A shared library is generated for sources in the `gitg` directory.
However, this shared library is neither used nor installed.
Due to this, the generation of this shared library has been removed.
autotools is able to generate documentation by using the `valadoc`
program. However, meson is not able to generate this documentation.
meson build files has been fixed to be able to generate `valadoc`
documentation.
Although most of the parameters used for file naming when building
libraries and introspection data can be replaced by variables, the
actual naming can create a lot of confusion.
This naming scheme has been improved by using clearer names and by
also using a prefix in them.
Libraries build by gitg expose a number of includes in their public
headers belonging to different libraries. Therefore, these libraries
are indirect dependencies of the library to be built.
With this in mind, these indirect dependencies are also included
when a direct dependency is included, so there is no need to include
them again.
Dependency hierarchy has been fixed and duplicated dependencies
removed.
Created `pkg-config` files requirements have also been fixed.
Used meson modules and directory definitions were placed at the end
of the root meson build file. However, this is recommended to be
placed at the start of the file, so they are usable early.
Following meson portng guidelines[0], `source_root()` and
`build_root()` functions have also been replaced.
[0] https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting
Some targets that are installed in default directories are using the
`install_dir`, which is not necessary.
The `install_dir` parameter has been removed from those targets that
are installed in their default directories.
We need to instance a Gtk.Widget to be able to use `get_style_context`.
Thus, we use the singleton pattern to avoid allocating an object every
time we call `is_theme_dark()`.
Fixes#133.