There's very few chances that the universal-access will fit in the
minimum height of the shell for panels, so just nuke that.
This also fixes the panel taking 1px in height until we switch away from
it and back to it.
https://bugzilla.gnome.org/show_bug.cgi?id=761939
There's really no point showing a resolution that's smaller than the
fixed width of the shell, and isn't the preferred resolution for the
screen either. This stops the problematic 720x576 resolution showing on
an HD screen.
If the GCancellable is cancelled by the finalize() function, the
callback will still be called potentially with an instance of the
panel that's not valid anymore.
To avoid crashing in that case, only access the priv pointer
when we have no error.
https://bugzilla.gnome.org/show_bug.cgi?id=761846
It doesn't make sense to try to validate pages because widgets are
changing due to the whole dialog being destroyed and it causes a bunch
of warnings because some resources are cleared on each page dispose
method.
Avoid all that by disconnecting the page "changed" signal handler
before we start destroying widgets.
We don't need secrets for new connections and, in fact, trying to
retrieve secrets in that case will fail because we have a plain
NMConnection instead of a NMRemoteConnection.
The above mentioned error would result in the page never being
initialized.
The way we destroy the window during the handling of a clutter event may
cause the window to generate a focus event that gets processed immediately,
causing Clutter to deadlock on its global lock.
Bypass these issues in the places where we finalize out of Clutter events,
The Esc key presses are now handled at the GTK+ level, and we postpone
finalization (with either success or failure) to an idle.
Works around https://bugzilla.gnome.org/show_bug.cgi?id=747880
We don't yet support wacom devices under wayland and GsdWacomDevice
uses X APIs unconditionally which makes us crash under wayland.
Instead, let's return early and leave the GsdWacomDevice in an invalid
state which means that we just present the default UI for "no wacom
devices detected".
The formats (or 'region') setting might be unset meaning that it's the
same as the language since that's what LC_TIME et al default to when
unset.
We already handle this for the user setting but for the system setting
we're losing that semantic when getting it from localed since we don't
allow priv->system_region to remain unset. This means that when users
change the system language, the system formats will be explicitly set
to the previous value of the system language instead of remaining
unset and thus follow the new value for the system language.
This isn't that bad on multi user systems where we display system
settings separately from user settings, but on single user systems we
change the system values to match the user values which, due to the
above mentioned semantic difference regarding the region setting,
means that when changing the language, the (unset) region will be
displayed as the same as the language but the system region will be
explicitly set to the previous language.
Fix this by making the system region have the same semantic as the
user's, i.e. allow it to remain unset until explicitly set by the
user.
https://bugzilla.gnome.org/show_bug.cgi?id=755648
Excessively long metadata fields cause the the control-center panel to
blow out to wider than screen width. Probably the right thing is to
limit the allocation to the device detail pane from somewhere up the
stack, but for now, enable ellipsizing and set an max-width to
constrain the width of things which are there just for information
anyway; true values are available in the edit dialog.
Closes#759766.
Signed-off-by: Andrew Cowie <andrew@operationaldynamics.com>
When transitioning from an enabled platform rfkill to disabled, the
Bluetooth adapter's power will lag behind. Make sure to not change the
switch's status when we get into this temporary state.
https://bugzilla.gnome.org/show_bug.cgi?id=760168
When enabling Bluetooth, and with older versions of the rfkill
gnome-settings-daemon D-Bus service, we could get into a state where the
Bluetooth rfkill was off, but the hciX rfkill associated with the
adapter is blocked.
Avoid showing filler text in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=760168
The Tracker plugin is enabled by default, and will replace the
MediaExport plugin is enabled. This means that instead of sharing files
listed in the paths set in the UI, we'd be sharing the user's files as
configured in the Search panel. Not what we want to do if this contains
private files.
The two-finger scroll method will be enabled in all cases
(see bgo#759304). When a touchpad without two-finger scrolling
support but with edge scrolling support is available, show the
switch.
Also bump the required gsettings-desktop-schemas version for
the new key.
https://bugzilla.gnome.org/show_bug.cgi?id=759307
This is a pre-requisite for using a header bar.
GtkDialog:use-header-bar is a construct-only property, and has no
effect when set from the XML. Therefore, the only option is to turn
the widget into a template and set use-header-bar from C.
There should be no behavioral changes due to this patch.
Bump required GLib version for the G_DECLARE_FINAL_TYPE macro.
https://bugzilla.gnome.org/show_bug.cgi?id=757516