In practice, this is never uninitialized, but the
compiler is complaining anyway, so let's play the
conservative and make sure it's always initialized
to NULL.
Meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=785414
In order to share the libgd and gvc modules between autotools and
meson, this patch moves their directories to subprojects
directory and updates autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=785414
This panel was hidden in the new shell, and now that
we don't have the old one, can be safely dropped.
Minor adjustments were made to the other panels to
properly remove this panel.
https://bugzilla.gnome.org/show_bug.cgi?id=790923
Since we don't maintain two different shells anymore, there
is no need to maintain the two different sets of categories
in the desktop files.
This commit also drops the "#ifdef CC_ENABLE_ALT_CATEGORIES"
blocks, since the previous commit removed that define.
https://bugzilla.gnome.org/show_bug.cgi?id=790923
The search toggle button in the upper-left corner of the Window
lacks an accessible name. Thus when it gains focus, screen readers
cannot present what this widget does; only that it is a toggle button.
https://bugzilla.gnome.org/show_bug.cgi?id=790625
Most panel desktop files have an OnlyShowIn entry to display them
in the previous iconish G-C-C UI. Some distributions (like ubuntu) prefers
adding new panel rather than patching the existing ones to ensure that
the upstream Control Center look it preserved under a vanilla GNOME session.
This patch fix thus the new layout setting to respect the OnlyShowIn property.
https://bugzilla.gnome.org/show_bug.cgi?id=787347
It looks better to present the fallback app menu in the headerbar
instead.
This change assumes that client side decorations will be available,
and therefore a GtkHeaderBar.
https://bugzilla.gnome.org/show_bug.cgi?id=786692
When application menus are not supported by the desktop environment
or are disabled, Gtk+ makes the menu available with a fallback. For
client-side decorations the fallback consists of adding a menu
button at the begining of the titlebar. Since g-c-c has a split
headerbar, we need to explicitly handle the decoration layout.
This commit forces the "menu" to belong to the left headerbar, and
leaves the other buttons to ble placed at the right headerbar.
The "show-close-button" property has to be set in order to present
any type of decoration buttons in the header bar.
https://bugzilla.gnome.org/show_bug.cgi?id=786692
Currently, while navigating using keyboard, the "Devices" and
"Details" rows of the GtkListBox in the sidebar don't seem to be
selected visually. Fix that by setting "selectable" property of those
two widgets as TRUE.
https://bugzilla.gnome.org/show_bug.cgi?id=786849
The devices and details rows should have distinct icons which
provide meaning. applications-system-symbolic is generic and
therefore unhelpful in both cases.
Instead use tailored icons from the icon theme, in order to
ensure that icon theme changes don't result in inappropriate
images being used.
https://bugzilla.gnome.org/show_bug.cgi?id=786605
Set icon class to sidebar-icon, and label class to
sidebar-label. This makes it more consistent with
places sidebar in Nautilus and GtkFileChooser.
https://bugzilla.gnome.org/show_bug.cgi?id=786612
Instead of using a callback on size-allocate, and setting
a custom size request. Using a sizegroup is much cleaner
and avoid some potential issues we could have in the future.
When passing --overview, Settings' new shell window accidentally
removes the newly selected panel.
We're considering the possibility of adding an overview page but,
since that won't happen for the next release, let's just make sure
something happens for now.
Fix that by simply changing the panel list view, which selects the
Wi-Fi panel if the user was in another view.
https://bugzilla.gnome.org/show_bug.cgi?id=786117
With the new settings shell, a larger window makes it easier to
navigate the different panels and shows more content from each
panel, reducing the need to scroll.
https://bugzilla.gnome.org/show_bug.cgi?id=786328
We often use rows representing different things in the same list
box. In these cases it's often desirable to have rows emitting their
own activation signals instead of having a single handler for the
whole list box that dispatches according to the activated row.
https://bugzilla.gnome.org/show_bug.cgi?id=785949
Some panels shall be shown only in current design, And some other panels
shall be shown only in new Shell design. So let's have a code that
would help us do that
https://bugzilla.gnome.org/show_bug.cgi?id=779216
The displayed panel should always match the selection in the panel
list. That implies that after swapping out the list (for instance
by browsing Devices or Details), we need to update the panel rather
than keeping the old one around until the user manually selects a
row. The easiest way to achieve that is to activate the panel list
after a view change when appropriate.
https://bugzilla.gnome.org/show_bug.cgi?id=783429
The glory moment has come. The new Wi-Fi panel is finally
introduced using a different code style from the rest of
the Network panel, since Control Center itself is written
using the GTK+ C code style.
The Wi-Fi panel uses modern GTK+ features like template
classes and new widgets. The files are stored together
with the Network panel so that we can reuse the abstraction
layer that the Network panel has to manage devices.
https://bugzilla.gnome.org/show_bug.cgi?id=784818
g_utf8_find_next_char() doesn't do checks whether the char
is '\0' or not. We have to take care of that ourself.
This commit fixes heap-buffer-overflow found by test-hostname
ERROR: AddressSanitizer: heap-buffer-overflow on address
READ of size 1 at 0x60200000cd76 thread T0
#0 0x7f8b26920d08 in g_utf8_find_next_char glib/glib/gutf8.c:179
#1 0x55c2b8eacaee in pretty_hostname_to_ssid gnome-control-center/shell/hostname-helper.c:199
https://bugzilla.gnome.org/show_bug.cgi?id=782216
The empty string is not too useful as an SSID, an attempt to create a
hotspot fails:
(gnome-control-center:19371): network-cc-panel-WARNING **:
Failed to add new connection: (2)
A 'wireless' setting with a valid SSID is required if no AP path was given.
So the panel implementations will be able to set a custom widget
in the shell headerbar. It defaults to NULL, so by default panels
set the plain label with the panel title.
CcPanel uses the old boilerplate code from GLib,
which does not set an autocleanup function.
The lack of a cleanup function implies that panels
cannot use G_DECLARE_{FINAL,DERIVABLE}_TYPE, making
the code stick to the old boilerplate.
This patch adds a cleanup function to CcPanel. It doesn't
move CcPanel to G_DECLARE_DERIVABLE_TYPE() because it'd
break the CcPanel's subclasses.
https://bugzilla.gnome.org/show_bug.cgi?id=769063
When the active panel is not changed through sidebar navigation,
e.g. by calling the Control Center through command line and asking
to open a specific panel, the panel is correctly opened but the
sidebar is not updated to reflect that.
Fix that by selecting the externally set panel row, and eventually
moving to the correct list.
https://bugzilla.gnome.org/show_bug.cgi?id=769063
After introducing the new sidelist class, the
next logical step is to make CcWindow use it.
This patch, then, adapts CcWindow to use CcPanelList
instead of a plain GtkListBox.
https://bugzilla.gnome.org/show_bug.cgi?id=767301
As the sidelist gets more complex, managing it in CcWindow
would make it very confusing.
This patch introduces the CcPanelList, a widget that manages
the sidelist.
https://bugzilla.gnome.org/show_bug.cgi?id=767301
Following the previous set of patches for implementing
the next generation Shell, a new set of categories must
be added.
These new categories will reflect on the ordering of the
panels and subpages in the sidelist.
This patch adds these new categories and conditionally
compiles them, to not break the current icon-based Shell.
https://bugzilla.gnome.org/show_bug.cgi?id=767301