As described in #2688, the Other Media row in the Removeable Media section
of the new apps panel currently uses a Configure Action button to open a
modal dialog. This is inconsistent with other rows in Settings than open a
subpage or modal dialog, which all use CcListRows with right arrows.
This MR changes the Other Media row to a CcListRow with a right arrow, making
it consistent with other such rows in Settings. It also moves the "Select how
other media should be handled" text from the modal dialog to the CcListRow tooltip.
Closes#2688
We add a toolbar view containing a scrolled window.
- We set the margins to 12 instead of 18
- Use AdwHeaderBar
- Set minimum size and default size
- Make resizable so it fits on small screens
See https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2624
At the moment the search entry is consuming the Escape key press, so we
have to manually tell it what to do with it.
We clear the search on the first press, if there is input, and close the
window otherwise.
Button labels with ellipsis indicate that extra user input is
required to complete the action. However, the "Clear Cache" button
from the Storage dialog doesn't require any extra user input.
Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2627
The "Other Media" row from the Removable Media subpage has some problems:
- The row label has ellipsis, but the "Configure action" button label should
have ellipsis instead, because the later triggers further input from the user
to complete the action[1]
- "Configure action" label doesn't use header capitalization
This change addresses the two issues above.
[1] https://developer.gnome.org/hig/guidelines/writing-style.html?highlight=ellipsis
This has some advantages:
- Removes the conditional compilation requirement, which makes testing easier.
- Allows all distributed versions of Settings to have snap support without them supporting snapd-glib.
- Makes it faster to update Settings for Snap features without waiting on snapd-glib releases.
Note that the snap support is only invoked if you have snaps installed.
Downsides:
- Some additional code in Settings. This is manageable as Settings doesn't need much snap information.
libsoup2 didn't support HTTP over Unix domain sockets and would have been too much to support in Settings.
libsoup3 does support this which makes this possible.
- We no longer share code with snapd-glib, so any future changes will have to be made in multiple places.
snapd has a stable API and multiple active clients so this is not likely to be a major concern.
For example, fix adding new VPN connections.
In 60b4956c05 I correctly observed that we
need to not run code that requires a device when there is no device.
NetConnectionEditor is a multipurpose dialog and self->device is
optional when creating the dialog. E.g. when modifying VPN
configuration, we update just the configuration, not an NMDevice.
However, I added this check too soon, before updating the connection
configuration. We need to update the configuration first, then only bail
before proceeding to update the device, not sooner.
Fix#2668
Commit d980e0ffee fixed an issue when the "Left" button would appear
at the right side for RTL languages given that GtkBox would reorder
its horizontal children to RTL direction.
The solution at the time was to force the primary-button box to stay
in LTR direction when the rest of the interface is shown in RTL.
This introduced a regression where the CSS "linked" style of the
buttons used was the LTR one, breaking the "linked" styling.
This fix will manually reorder the Left/Right buttons rather than
calling gtk_widget_set_direction on the primary-button-box.
Fixes#2649