Add a class method to CcPanel to get a GOptionGroup which will be added
to the main commandline parser. This gives panels the chance to have
commandline "--flags" in addition to the already available parameters.
This changes changes the way parameters are passed to panels: the first
entry in the GVariant array is always the a{sv} dictionary of
commandline flags, followed by the remaining free-form arguments.
https://bugzilla.gnome.org/show_bug.cgi?id=696054
By using a GVariant of type "av" we can potentially pass more structured
data to panels, which will become relevant with the ability to invoke
them by GAction-based DBus-activation introduced in the following patch.
https://bugzilla.gnome.org/show_bug.cgi?id=696054
Search providers can either have an explicitly configured sort order,
or be in the default alphabetical order based on their name.
Previously, when moving we would always assume that all providers had
a sort order, so moving an unsorted provider would put at the top.
The right thing to do, instead, is to walk the list in visual order
and assign an appropriate sort order, that is then flushed to gsettings.
https://bugzilla.gnome.org/show_bug.cgi?id=694975
Previously, we kept the last panel in the configured order last,
after non configured ones.This would assign a sort order to the last
panle that would place it in the middle, but visually sort it last,
and that caused problems when moving it (it would jump into an apparently
random position in the middle, according to the sort ID, and would
move the nearby provider too).
https://bugzilla.gnome.org/show_bug.cgi?id=694975
If we have settings for an app, but we don't have a desktop file, it
is likely the app was uninstalled, so just ignore it and avoid the
criticals.
https://bugzilla.gnome.org/show_bug.cgi?id=696665
Disable the type-ahead search in the connection editor, the
number of items, and their positional stability means that
a search feature isn't warranted.
As a precaution, also check the success of
gtk_tree_selection_get_selected() to avoid crashes.
https://bugzilla.gnome.org/show_bug.cgi?id=693685
A few of the async calls were still handling the user_data before
checking that it was still valid (eg. the operation was not cancelled),
and also printing warnings when the error was a cancellation.