c61d9e5a95 replaced use of INCLUDES with AM_CPPFLAGS, but there was
still one reference to INCLUDES in shell/Makefile.am.
AM_CPPFLAGS will apply globally, so we don't need to explicitly set
per-target CFLAGS/CPPFLAGS to its value.
https://bugzilla.gnome.org/show_bug.cgi?id=732189
This is deprecated in newer automake versions, and this causes warnings
with automake 1.14:
panels/printers/Makefile.am:3: warning: 'INCLUDES' is the old name for
AM_CPPFLAGS' (or '*_CPPFLAGS')
https://bugzilla.gnome.org/show_bug.cgi?id=732189
The name of the file was also changed to calibratorgui.c/h to avoid
it being inconsistent, this way it is no longer dependent on the
the technology.
https://bugzilla.gnome.org/show_bug.cgi?id=667797
Turn Control Center in a DBus-activable service and export a
'launch-panel' GAction which accepts a tuple containing the id of the
desired panel and its parameters as a GVariant array.
The snippet below show how the custom shortcuts section of the keyboard
panel can be invoked by a external programs through DBus:
GVariantBuilder *flags = g_variant_builder_new (G_VARIANT_TYPE_VARDICT);
GVariantBuilder *params = g_variant_builder_new (G_VARIANT_TYPE ("av"));
g_variant_builder_add (params, "v", g_variant_builder_end (flags));
g_variant_builder_add (params, "v", g_variant_new_string ("shortcuts"));
g_variant_builder_add (params, "v", g_variant_new_string ("custom"));
GVariant *v = g_variant_new ("(s@av)", "keyboard", g_variant_builder_end (params));
GApplication *gnomecc = g_application_new (id, G_APPLICATION_IS_LAUNCHER);
if (!g_application_register (gnomecc, NULL, &error))
g_error ("Failed to register launcher for %s: %s", id, error->message);
g_action_group_activate_action (G_ACTION_GROUP (gnomecc), "launch-panel", v);
https://bugzilla.gnome.org/show_bug.cgi?id=696054
So that we can more easily add GdHeaderBar in the following
patches.
Much of the advantage of using gtkbuilder was lost anyway because
we couldn't really use it from glade without corrupting the file.
https://bugzilla.gnome.org/show_bug.cgi?id=692174
This promotes better encapsulation and allows us to move
application logic out of main() and rename the confusingly
named control-center.c to main.c
https://bugzilla.gnome.org/show_bug.cgi?id=692174
Replace the gnome-shell builtin settings search, which relied on removed
menu files, with one that uses the remote search infrastructure and
CcSearchModel, and features the ability to continue searching within the
control center application.
https://bugzilla.gnome.org/show_bug.cgi?id=690577
Show applications using the message tray, and
allow configuring in what way the shell presents them.
The set of applications shown include all applications that ever
showed a notification in gnome-shell and all applications that have
a boolean X-GNOME-UsesNotifications key set to true in their desktop file.
https://bugzilla.gnome.org/show_bug.cgi?id=685928
Now that we don't allow or load external panels, using libgnome-menu is just
overengineering. We can get the same results with less code by keeping a static
list of function pointers.
This reduces the number of places one needs to patch to add a new panel.
Also, this way we avoid registering all types at startup, and if we want
we can switch to load panel desktop files in a separate thread.
https://bugzilla.gnome.org/show_bug.cgi?id=690165
This makes loading faster, with less I/O, avoids unnecessary
code duplication (around 1k lines shaved), and ensures that
all the panels link and work appropriately.
By the same token, it will stop external panels from being
created, and loaded.
https://bugzilla.gnome.org/show_bug.cgi?id=690036
Search results aren't laid out evenly and they are packed together too tightly.
Also, panel descriptions are truncated. There is plenty of space available, we
might as well use it.
https://bugzilla.gnome.org/show_bug.cgi?id=654977
This fixes problems with the CcEditableEntry type not being
registered and causing the printers and user-accounts panels not to
work. As we do not need to work on Windows, we do not need to split
out the library.
Set up the extension point and load plugins that are available. If a plugin
implements a particular panel, then load the CcPanel implementation instead
of executing the application.