Commit graph

6757 commits

Author SHA1 Message Date
Bastien Nocera
769142784c bluetooth: Add helper to launch the Bluetooth Settings in scenarios 2022-01-18 16:18:19 +01:00
Bastien Nocera
595f04ea12 power: Remove ad-hoc UI debugging ifdef's
Remove the static UI debugging tools in the power panel code, and use
the scenario tester instead.
2022-01-18 16:06:15 +01:00
Bastien Nocera
bcf2d54772 power: Add helper to launch the Power Settings in scenarios
This helper tool launches the Power Settings panel in a fake
environment, making it easy to test the UI in different scenarios. The
tool allows:
- cycling through power-profiles-daemon degraded performance reasons
- adding and removing a laptop battery, keyboard, mouse or UPS

UPS support needs umockdev 0.17.4 to work correctly
2022-01-18 16:06:15 +01:00
Christopher Davis
7aae515cf6 mouse: Use AdwPreferencesGroup's listboxes
We don't need our own listboxes, because our rows
here aren't dynamic.
2022-01-18 09:51:01 +00:00
Christopher Davis
d99269182d mouse: Remove useless GtkGrid
Also move the margins to the box itself and remove the
horizontal margins.
2022-01-18 09:51:01 +00:00
Christopher Davis
891d745302 mouse: Remove all haligns
We can rely on the alignment of AdwActionRow suffixes.
2022-01-18 09:51:01 +00:00
Christopher Davis
a066efd14c mouse: Remove activatable=False
ActionRows aren't activatable by default.
2022-01-18 09:51:01 +00:00
Christopher Davis
0d79f99ae6 mouse: Remove width request and halign from scales
The width request prevented this panel from getting smaller,
and the halign caused the scales to use the minimum possible
width.
2022-01-18 09:51:01 +00:00
Georges Basile Stavracas Neto
e38949aeed online-accounts: Adjust style of symbolic provider icons
As per design feedback, make symbolic icons have a rounded
background.
2022-01-17 19:42:10 -03:00
Georges Basile Stavracas Neto
946417990c online-accounts: Port to GTK4
This is a massive rewrite of the panel. Because we can't have
nice things and WebKit2GTK for GTK4 won't be ready in time,
rework the panel to spawn a new subprocess with a dialog that
handles online accounts - both creation and editing.
2022-01-17 19:42:10 -03:00
Christopher Davis
fdda3e77f6 bluetooth: Use AdwStatusPage
libadwaita provides a widget for empty pages that we
should use in all previous places where we rolled our own.
2022-01-17 19:21:49 +00:00
Felipe Borges
c15fb46c42 applications: Fix typo in key name in the desktop file
Regression introduced by commit 9a3cb6ab4.

Reported at 9a3cb6ab44 (note_1356724)
2022-01-17 10:52:38 +01:00
Christopher Davis
aa41cdbfe2 camera: Use AdwActionRow for application rows 2022-01-16 12:17:45 +00:00
Christopher Davis
cd8c1db3aa camera: Use AdwPreferences{Page,Group} 2022-01-16 12:17:45 +00:00
Christopher Davis
72e9ace169 camera: Use AdwStatusPage 2022-01-16 12:17:45 +00:00
Christopher Davis
2f9ed9e2a6 location: Use AdwActionRow for application rows 2022-01-14 22:58:19 -08:00
Christopher Davis
cd440893d2 location: Use AdwPreferences{Page, Group} 2022-01-14 22:58:19 -08:00
Christopher Davis
9e81c4e741 location: Use AdwStatusPage 2022-01-14 20:09:11 -08:00
Bastien Nocera
bd4c27e7ab power: Remove support for power-profiles-daemon < 0.9.0 2022-01-14 13:46:50 +00:00
Felipe Borges
9a3cb6ab44 applications: Set the Icon key in desktop file to a icon that exists
While we dynamically append --symbolic to the icons while creating
the sidebar model in
https://gitlab.gnome.org/GNOME/gnome-control-center/-/blob/master/shell/cc-shell-model.c#L270
There are automation tools (such as rpmdiff) that parse desktop files
and verify whether their Icon= matches to an existing file in the
icon theme package.

preferences-desktop-apps doesn't exist in adwaita-icon-theme but
preferences-desktop-apps-symbolic does.
2022-01-14 13:28:24 +01:00
Mohammed Sadiq
14181fbbbd wwan: Port to use AdwPreferencesPage
And adapt to changes.

This helps avoid using widgets like AdwClamp as it will be
handled by AdwPreferencesPage and AdwPreferencesGroup.
2022-01-10 12:41:56 +00:00
Jan Beich
37b29c32cb meson: drop unused argument for i18n.merge_file()
Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0.

panels/applications/meson.build:10:5: ERROR: Function does not take positional arguments.
panels/background/meson.build:10:5: ERROR: Function does not take positional arguments.
panels/camera/meson.build:10:5: ERROR: Function does not take positional arguments.
[...]
2022-01-07 17:22:43 +00:00
Christopher Davis
12fefbc0d7 cc-multitasking-panel: Fix initial state for "all workspaces" setting 2022-01-07 13:50:39 +00:00
Christopher Davis
257557d660 cc-multitasking-panel: Remove can-focus
The default should be used, and the way we were
using it was redundant.
2022-01-07 13:50:39 +00:00
Christopher Davis
736150b035 multitasking: Use AdwPreferences{Page,Group} 2022-01-07 13:50:39 +00:00
Christopher Davis
88027fc310 info-overview: Vertically clamp OS Logo
Otherwise it would grow as large as the page would let
it.
2022-01-06 22:15:30 +00:00
Christopher Davis
96ecd3acdf info-overview: Use AdwPreferences{Page,Group} 2022-01-06 22:15:30 +00:00
Christopher Davis
079bf51086 network: Fix wifi icon loading
GTK4 changes how icons are loaded - only icons that are
set up to follow icon theme paths are recolored. The way
the network panel loaded icons wasn't compatible with this,
causing icons to stay dark in dark mode.

This commit adjusts the gresource so that icons are
in `$RESOURCE_BASE_PATH/icons/scalable/actions`. Since
GTK knows how to handle that automatically, we can
simply use `icon-name` instead of loading a full
icon path.
2022-01-06 12:42:34 -08:00
Christopher Davis
24fbb5e49a cc-datetime-panel: Use AdwComboRow
The API is nicer, and it's the recommended widget to use
for dropdown rows.
2022-01-06 11:47:10 -08:00
Christopher Davis
0a5515463d cc-datetime-panel: Use AdwPreferencesGroup
Lets us get rid of our manual listboxes.
2022-01-06 11:42:08 -08:00
Christopher Davis
d3756aaf26 cc-datetime-panel: Move activation handling to rows 2022-01-06 11:42:08 -08:00
Christopher Davis
3b90e5b43f cc-datetime-panel: Set activatable-widget on rows with switches 2022-01-06 11:42:08 -08:00
Christopher Davis
52a32574fb cc-datetime-panel: Remove keynav-failed handling 2022-01-06 11:42:08 -08:00
Christopher Davis
e637f47e78 cc-list-row: Subclass AdwActionRow
AdwActionRow handles many of the properties we use
CcListRow for. We can re-use it instead of re-creating it.

CcListRow is now an AdwActionRow with three suffixes.
The `activatable-widget` is set when the switch is visible.

Since our `icon-name` property was only used for the arrow
icon, it has been replaced with a `show-arrow` property.

The `bold` property has been removed - it was only used in
one place, and it's not a pattern used in other apps.

I decided to go this route because replacing all the
instances of CcListRow with AdwActionRow directly would
end up being more code.
2022-01-06 08:56:12 -08:00
Mohammed Sadiq
81a5390c30 wwan: Use button icon-name property to set button image
This simplifies setting button image and improves the way they
are presented as the css will then be handled better this way.
2022-01-06 15:04:28 +00:00
Mohammed Sadiq
fbb2f98c44 wwan: Port to GTK4 2022-01-06 15:04:28 +00:00
Christopher Davis
161e096667 cc-notifications-panel: Use AdwActionRow
AdwActionRow handles most of what we were building
a custom row for, and what it doesn't handle we
can simply use its API for.
2022-01-06 00:51:36 +00:00
Christopher Davis
d61b5bb0b0 cc-notifications-panel: Use AdwPreferences{Page,Group}
libadwaita provides nice pre-built widgets for preferences
pages and groups. We should use them where possible.
2022-01-06 00:51:36 +00:00
Christopher Davis
e216f7f2db cc-sound-panel: Use AdwPreferencesPage and PreferencesGroup
libadwaita provides nice pre-built widgets for preferences
pages and groups. We should use them where possible.
2022-01-06 00:38:31 +00:00
Benjamin Berg
6f825cd486 network: Fix saving passwords for non-wifi connections
When validating security settings for non-wifi connections, we
temporarily create a wireless connection. Unfortunately, when this
connection is destroyed, it'll clear the stored password from the 802.1x
settings object.

Avoid this by removing the setting before the temporary connection is
destroyed.

Closes: #337
2022-01-05 23:09:45 +00:00
Jakub Steiner
8ba134fbce multitasking: make graphics work in dark mode
- more of a workaround than a solution. Getting rid of the white fills
  at the expense of clarity and style.

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1565
2022-01-05 22:22:57 +00:00
Robert Mader
6a4652bd35 display-config: Do not invert order when constructing modes
Mutter sends modes in descending order of preference. By reverting
the order via `g_list_prepend`, we get unintended side effects
such as choosing the least preferred refresh rate by default (if
the selected mode is not marked as preferred).

Instead of adding complex logic in several places, make sure that
the assumption of descending preference is kept by simply not
inverting the order.

Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1562
2022-01-05 22:12:13 +00:00
Christopher Davis
0af1937d4d universal-access: Inline Sound Keys dialog
This can also be replaced with a simple switch
in an AdwActionRow.
2022-01-05 22:06:37 +00:00
Christopher Davis
f4b0ac5318 universal-access: Inline Screen Reader dialog
The dialog can easily be replaced by an
AdwActionRow with a switch and a subtitle.
2022-01-05 22:06:37 +00:00
Christopher Davis
9982f30008 cc-ua-panel: Remove custom listboxes
No longer needed now that all rows handle
activation.
2022-01-05 22:06:37 +00:00
Christopher Davis
997fadf8fb cc-ua-panel: Handle row activation on individual rows
The custom listboxes serve another purpose: to handle
row activation. Instead of using a custom listbox, we
can simply listen to the `activated` signal on the
rows that don't have a switch.
2022-01-05 22:06:37 +00:00
Christopher Davis
02b9f29c44 cc-ua-panel: Use AdwActionRow for all rows
AdwActionRow simplifies activation handling for
switches, provides consistent styling and sizing,
and mnemonic handling.
2022-01-05 22:06:37 +00:00
Christopher Davis
a58fa42e1d cc-ua-panel: Use AdwPreferencesPage/AdwPreferencesGroup
The individual groups still use their own listboxes,
as the custom rows they use won't be added to
AdwPreferencesGroup's list.

See https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.PreferencesGroup.html#adwpreferencesgroup-as-gtkbuildable
2022-01-05 22:06:37 +00:00
Christopher Davis
6a525c861e cc-ua-panel: Remove custom keynav handling
We were using this to move between groups and scroll
the page, but that's not necessary. All we need
to do is set `scroll-to-focus` on our GtkViewport.

This commit removes the keynav-failed callback
and all associated plumbing.
2022-01-05 22:06:37 +00:00
Christopher Davis
3ee642e421 net-device-bluetooth: Use AdwActionRow and .boxed-list
This makes both the row and the list fit in better
with the rest of the page.
2021-12-29 23:28:44 -08:00