Make possible to set scaled size constraints per configuration, and add a method
to verify if the current mode at scale is allowed for such config.
This allows to perform such check also in case we have global scaling enabled,
as in such case we must verify that all the selected current modes are supported
by the given scale.
FixesGNOME/mutter#407
As it is often not sufficient to only check against
a set of known CA certificates, add a domain suffix
check for Wi-Fi connections.
Signed-off-by: Markus Theil <theil.markus@gmail.com>
The warning is:
(gnome-control-center:29760): Gtk-CRITICAL **: 11:45:48.076: gtk_widget_is_visible: assertion 'GTK_IS_WIDGET (widget)' failed
This is due to the code trying to disable switches that only exist if support
for that feature is available.
Since the switches for media, personal file, and screen sharing are in the header bar of the
respective dialogs, they are not visible when we click on the master switch. This caused the
check in OFF_IF_VISIBLE to always fail.
Fix it by checking if the corresponding button in the main list box is visible, instead.
Closes: https://gitlab.gnome.org/GNOME/gnome-control-center/issues/240
setlocale() is not threadsafe except when used only to query the locale
without changing it. Let's use uselocale() instead, which changes the
locale only on the calling thread. Much better.
This can be set to 'preserve', 'permanent', 'random' or 'stable'. We
need to handle these values otherwise we can end up with the editor
being un-saveable.
Turn the entry in to a GtkComboBoxText with those items in it, allowing
a mac address to be typed too.
Partial copy of 85b6b659a140a59c3df787062e089a0b4e2a547d from
network-manager-applet.
It's good to have some space between the to and from widgets, so
they aren't squashed, and so they blend better with the colour
temperature slider below.
Ideally we'd just increase the space between the to and from
sections, and not also between the widgets and their labels, but
the approach in this commit isn't too bad.
The current code does not differenciate between input and
output, and thus it shows the same icon for muting outputs
and inputs. As per design suggesion [1], the input row
should use the "microphone-sensitivity-muted-symbolic" icon.
In order to achieve that, move the CcLevelBarStreamType enum
to a separate header, and rename it to CcStreamType. And also
pass the stream type to the volume slider.
In CcVolumeSlider, update the code to switch to the correct
mute icon depending on the stream type.
[1] https://gitlab.gnome.org/GNOME/gnome-control-center/issues/539
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/539
Some streams may give us an icon name that doesn't exist in the
icon theme (e.g. Spotify giving "audio"). While it's fundamentally
an application problem, we can deal with this case a bit better
than showing the ugly "image-missing" icon.
Detect when an icon doesn't exist by performing an icon theme
lookup and, if the icon really doesn't exist, use a proper fallback
icon.
It also avoids a small GIcon leak.
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/548
The spinner was already present in the UI file! It just needs
minor cleanups (such as moving the bottom margin from the label
to the parent box) and binding the widget to the structure.
We need to monitor which device is visible since the Wi-Fi panel
deals with multiple Wi-Fi devices as well.
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/551
This is a boolean property that notifies whether the
device is scanning for new access points. This is
implemented by monitoring the NMDeviceWifi::last-scan
property, as suggested by NetworkManager developers
(and due to the lack of a better API), since this
property is updated *after* the scan is completed.
The new Night Light page, as described by the latest mockups [1],
uses a listbox to display the options. Also, there is a small
revamp on how the disabled state is handled; it now is a switch
in a row, instead of an extra radio button.
This commit changes the Night Light page to have a listbox, and
uses libhandy's rows to achieve the desired interface.
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/533
This introduces a GtkStack to handle the pages; move the
current panel to be the "displays" page; and adds the
Night Light page as "night-light".
A stack switcher was added, as a header widget, to control
the stack.
https://gitlab.gnome.org/GNOME/gnome-control-center/issues/533
* Add another vertical size group handling only battery
rows.
* Add more vertical margins to the battery rows -- set
to 16px and 14px, respectivelly, the top and bottom
margins.
* Increase spacing between battery level and labels to
10px.
* Increase spacing between titles and subtitles to 4px.
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/553
If "Esc" is pressed, the callbacks to handle the `focus-out` signal are
called after the `cc_password_dialog_dispose` function. This leads to
segfaults, because the `user` variable is already cleared. Let's simply
do not continue if `user == NULL` to fix those crashes.
Closes: https://gitlab.gnome.org/GNOME/gnome-control-center/issues/563
Usually, passwd exits with an error if the current password is incorrect,
however, when using LDAP, it askes for password again. It causes hangs as
the passwd helper assumes that the password is correct. Let's prevent this
hangs using additional check for "incorrect" keyword.
Based on a patch from https://launchpad.net/bugs/607357 made by Ryan Tandy.
https://bugzilla.gnome.org/show_bug.cgi?id=786530
After commit c64ab472b6, none of the thumbnail factories are
actually used anymore in BgColorsSource. Clean them up from
the code -- which is unused now, but will be kept for future
proofing purposes.
We do not download pictures anymore; the BgRecentSource
always copies the wallpapers before actually adding them,
and the BgWallpapersSource handles system-wide wallpapers,
which typically do not change.
Remove this dead code, and the unecessary widgets that were
kept to keep this code working -- essentially, a few boxes
around the previewers.
Add a recent section, composed by an additional GtkFlowBox and
a separator, and code to hide it when there are no recent
wallpapers.
To the popover menu, add a new "Remove Background" button that
is only visible when clicking on recent backgrounds.
BgRecentSource is a background source implementation that
keeps track of recently added backgrounds.
The backgrounds are copied to $(local data dir)/backgrounds,
which is monitored. When copying files to this folder, the
current time is added as prefix to avoid filename collisions.
This is a dedicate class to generate the preview. Not only
it renders the pixbuf of the wallpaper, but it also adds
lock screen or desktop frames on top of it. It also monitors
the time to keep the lock screen preview label always updated.
This is a major rework on how images are loaded and stored.
Unfortunately, this is so entangled that doing each change
as an atomic step is pretty much unfeasible.
The first major change is that BgSource now returns a GListStore
instead of a GtkListStore. This is necessary for us to bind it
to GtkFlowBox, and pretty much signals we're not using any of
the tree/icon views anymore.
Second, the thumbnail factory was moved to BgSource itself. We
only create factories for large thumbnails, so it's not needed
to handle each one of them individually.
At last, switch CcBackgroundChooser to GtkFlowBox, and adjust
the signals we connect to.
It will become essentially what CcBackgroundChooserDialog,
but without a dialog and organized differently. Right now,
it is as minimal as it could be and only shows wallpapers.
As we grow it, it may cover pictures and even colors.