Commit graph

5550 commits

Author SHA1 Message Date
Marco Trevisan (Treviño)
9ef001b3b1 display-config: Add size constraints and (global) scaled mode checks
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.

Fixes GNOME/mutter#407
2019-07-15 03:14:23 +00:00
Markus Theil
04f3264c6a network/eap-method-ttls: add domain match
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>
2019-07-15 15:02:32 +12:00
Robert Ancell
a57a85a1db sharing: Fix warning when disabling sharing
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.
2019-07-15 14:38:52 +12:00
Stefano Facchini
b47ada9b76 sharing: Fix master switch
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
2019-07-15 00:05:23 +00:00
Michael Catanzaro
a22da99aaf Replace unsafe setlocale() use with uselocale()
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.
2019-07-03 17:15:33 -05:00
Iain Lane
566db3a35f network: Handle cloned-mac setting
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.
2019-06-27 03:37:37 +00:00
Allan Day
3d9649577a display: improve time widget spacing
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.
2019-06-17 11:44:06 +01:00
Allan Day
c8c6d51fd0 display: Improve Night Light settings labels
Make sure that the labels in the night settings are clear.

Fixes #583
2019-06-17 11:41:26 +01:00
Georges Basile Stavracas Neto
05b531ec28 sound: Remove unused variable 2019-06-16 01:01:36 +00:00
Jordan Petridis
b542e98359 sounds: Use correct mute icon in the input section
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
2019-06-16 01:01:36 +00:00
Georges Basile Stavracas Neto
a9f0248376 sound: Use fallback icon when stream's icon doesn't exist
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
2019-06-16 01:01:36 +00:00
Georges Basile Stavracas Neto
e8bd7c24ee sound: Remove icon from sound theme buttons
Remove the icon and adjust the label to be vertically
centralized.

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/549
2019-06-16 01:01:36 +00:00
Georges Basile Stavracas Neto
c4e8464818 wifi: Show a spinner when scanning for new access points
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
2019-06-16 01:01:36 +00:00
Georges Basile Stavracas Neto
0d9aa40cf0 wifi: Add device widgets after caching in the array
This will be required to bind the "scanning" property of
the NetDeviceWifi to the GtkSpinner.
2019-06-16 01:01:36 +00:00
Georges Basile Stavracas Neto
e08bc03533 network: Add NetDeviceWifi::scanning property
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.
2019-06-16 01:01:36 +00:00
p3732
ed8561ca34 wifi: Reorder icons displayed for wifi access points
Change the layout of the wifi access point rows according to
the new mockups.

Fixes #554
2019-06-16 01:01:36 +00:00
Allan Day
70b668855d network: Equal spacing between list sections
There should be an equal amount of vertical space between each list
section.

Fixes #550
2019-06-16 01:01:36 +00:00
Georges Basile Stavracas Neto
28b0acb24e display: Rework Night Light page
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
2019-06-16 01:01:36 +00:00
Georges Basile Stavracas Neto
50be7b13c8 display: Make night light a panel page
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
2019-06-16 01:01:36 +00:00
Georges Basile Stavracas Neto
b46aef0cb6 display: Make night light dialog a GtkBin
And create the dialog manually instead. The next commit
will move it to a different page in the panel itself,
so not much care was put into makin the dialog perfectly
matching.

https://gitlab.gnome.org/GNOME/gnome-control-center/issues/533
2019-06-16 01:01:36 +00:00
Georges Basile Stavracas Neto
f833bb13ad power: Tweak margins and spacing
* 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
2019-06-16 01:01:36 +00:00
Georges Basile Stavracas Neto
be5d6bfba1 power: Scale row subtitles to 0.9
This matches what the Mouse & Touchpad panel do, and
fixes a small inconsistency with the panel.

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/553
2019-06-16 01:01:36 +00:00
Georges Basile Stavracas Neto
9b41718e4b power: Capitalize and improve labels
As spotted by Allan, these labels do not follow the
correct capitalization rules.

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/552
2019-06-16 01:01:36 +00:00
Mohammed Sadiq
48912bef01 user-panel: Fix entry overflow on minimum width
And set a margin on either side, so that it won't expand up to the border
2019-06-10 16:46:16 +00:00
Ondrej Holy
31cee4caf8 user-accounts: Fix crash when password dialog is cancelled
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
2019-06-07 17:04:47 +00:00
Chris Coulson
7cbccd3578 user-accounts: Fix password check when using LDAP
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
2019-06-06 07:13:47 +00:00
Robert Ancell
3351e91e34 universal-access: Don't use widget names for GSettings keys
The widget were renamed in 6cd94618 and this setting was broken.

Fixes #555
2019-06-04 14:03:11 +12:00
Robert Ancell
ffaeb56b55 universal-access: Fix leaks checking settings 2019-06-04 13:49:32 +12:00
Robert Ancell
9bc429ce64 universal-access: Fix duplicate settings call
This would leak the value of the first setting.
2019-06-04 13:49:03 +12:00
Georges Basile Stavracas Neto
8d9ed8c655
background: Cleanup BgColorsSource
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.
2019-05-30 20:09:54 -03:00
Georges Basile Stavracas Neto
6df2b0bb4a
background: Remove dead code
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.
2019-05-30 20:09:53 -03:00
Georges Basile Stavracas Neto
728d3b4fca
background: Add "Open Picture…" header button
This makes the new Background panel feature-complete; we can
add and remove custom wallpapers now.
2019-05-30 20:09:53 -03:00
Georges Basile Stavracas Neto
6c5270db32
background: Add recent backgrounds
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.
2019-05-30 20:09:53 -03:00
Georges Basile Stavracas Neto
9e39748d16
background: Introduce BgRecentSource
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.
2019-05-30 20:09:50 -03:00
Georges Basile Stavracas Neto
5ba721b581
background: Use widgets to render slideshow emblem
Instead of manually rendering it.
2019-05-30 20:01:49 -03:00
Georges Basile Stavracas Neto
5b214404a1
background: Move preview to CcBackgroundPreview
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.
2019-05-30 20:01:48 -03:00
Georges Basile Stavracas Neto
205bfb9446
background: Use the cairo_t provided by GTK
Instead of creating our own one using a deprecated function.
2019-05-30 20:01:48 -03:00
Georges Basile Stavracas Neto
214f03750b
background: Remove CcBackgroundChooserDialog
It's functionality moved to CcBackgroundChooser.
2019-05-30 20:01:48 -03:00
Georges Basile Stavracas Neto
c64ab472b6
background: Switch to GtkFlowBox
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.
2019-05-30 20:01:45 -03:00
Georges Basile Stavracas Neto
ee37d0194c
background: Cache thumbnails in CcBackgroundItem
We don't actually need to use custom qdata in GObjects to do
that; instead, cache the thumbnail directly in the item.
2019-05-30 20:01:12 -03:00
Georges Basile Stavracas Neto
df80d4a2fe
background-panel: Remove background chooser buttons
The chooser itself is now located below, and we don't need
to have the buttons anymore.
2019-05-30 20:01:12 -03:00
Georges Basile Stavracas Neto
2f032f224a
background: Introduce CcBackgroundChooser
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.
2019-05-30 20:01:12 -03:00
Georges Basile Stavracas Neto
5afc292c2b
background: Make BgSource receive a GtkWidget
Instead of a GtkWindow. We don't really depend on GtkWindow
itself, just any widget with access to the scale factor.
2019-05-30 20:01:12 -03:00
Georges Basile Stavracas Neto
ad740deeea
background: Turn into a template class 2019-05-30 20:01:11 -03:00
Georges Basile Stavracas Neto
c290dadf0c
background: Rename ui file to cc-background-panel.ui 2019-05-30 20:01:11 -03:00
Benjamin Berg
936a66f4ca keyboard: Add microphone mute key
Add the required UI for users to change the newly mic-mute keybinding.

See also https://bugzilla.gnome.org/show_bug.cgi?id=793596

https://bugzilla.gnome.org/show_bug.cgi?id=793641
2019-05-27 20:48:35 +00:00
Benjamin Berg
f972ffc569 keyboard: Clarify that mute key toggles the mute state
This is just a string change to make it clear that the mute keys toggle
the mute state rather than simply muting the volume.

https://bugzilla.gnome.org/show_bug.cgi?id=793641
2019-05-27 20:48:35 +00:00
Marek Kasik
2b1f76f8ea printers: Revert previous 2 commits
I'm sorry, I pushed to wrong branch. This code is
for testing now and will be proposed later, after
https://gitlab.gnome.org/GNOME/gnome-settings-daemon/merge_requests/108
will be merged.
2019-05-24 19:12:00 +02:00
Marek Kasik
21df888699 printers: Do not notify about job edited by user
Let gnome-settings-daemon know about intention to edit a job
so it does not show notification for this action as it
was initiated manually by user.
Do this via g-s-d's DBus method DoNotNotifyJob.
2019-05-24 19:07:55 +02:00
Marek Kasik
86c7505dee printers: Use correct type for print job id
There was pointer to integer used instead of integer for job_id in 2 functions.
This actually works somehow but I'm changing it to proper integer.
2019-05-24 19:07:52 +02:00