This simplifies the Meson build file, and removes the inline mkenums
template code, which is now inside Meson itself.
Also, we can now use the better prefix `G_DESKTOP_TYPE` instead of
`G_DESKTOP_TYPE_DESKTOP`.
When the entry changes, it triggers the callback dance to store the
values in the backend. Causing `gtk_editable_set_text` to be essentially
called every REMOTE_DESKTOP_STORE_CREDENTIALS_TIMEOUT_S seconds (2
seconds) even when credentials have changed. This call has visual
effects, such as moving the cursor caret and changing the entry
selection state.
Fixes#3077
Require the use of <child type="subpage"> for when an AdwNavigationPage
is expected to be added to CcPanel.navigation.
This way we can avoid programming errors when a child widget is wrongly
packed in the navigation view.
See also https://gitlab.gnome.org/GNOME/gnome-control-center/-/wikis/shell/CcPanel#child-packing
Co-authored-by: Matthijs Velsink <mvelsink@gnome.org>
Makes use of the cc_panel_push_subpage method.
The changes in cc-system-panel.ui are better reviewed without identation
changes, using "git diff -w", "git show -w".
In rows that have a "Copy" button that is set as activatable
widget, Orca doesn't the buttons a11y label/tooltip; instead,
it reads "[row title] push button".
To fix this, don't set these buttons as activatable widgets.
The GtkListBox from the "Date & Time" dialog is
currently what gives the dialog width, but this
is an unusual approach that other dialogs from
Settings don't use.
To fix this, use the content-width property from
AdwDialog. The dialog width is now almost the same
as before this change.
The Month row is a CcListRow which displays the selected month
using the secondary-label property from CcListRow. However, the
month appears dimmed (because secondary-label uses the .dim-label
style class) and the Month row is supposed to mimick AdwComboRow,
which doesn't dim the selected item. To fix this, use an
AdwActionRow instead.
If the page is closed before the async call finishes, the page is
unreffed and gets disposed, resulting in a crash when the finish handler
is called, as it may try to access pointers of self that got set to NULL
in the disposer.
To prevent this, use the source object directly, which is guaranteed to
be alive during the call and callback. If self gets disposed during the
async call, we'll get a warning that the cancellable was cancelled
instead of a crash.
Fixes#3045
When the window is small, the rows show a broken icon in the reveal
button, because the "view-layout-symbolic" icon can't be found.
To fix this, replace such icon with "view-reveal-symbolic", as per
latest mockups[1].
[1] 3a5fe844dd
AdwDialog handles Escape for us, and the dialog isn't a window so
`window.close` isn't necessarily what we want. It's not actually a bug
right now (I guess AdwDialog prevents the Escape key event from bubbling
up), but in the future if something changes, then emitting window.close
might just close the entire GNOME Settings window
The dialog gets destroyed when closing but it was only getting recreated
when g-r-d RDP credentials changed. Instead we should recreate the
dialog on demand, just like in desktop sharing.
Previously, the row would remain visible (and do nothing when clicked)
if g-c-c is compiled w/o support for libmalcontent. Now, we make sure to
only show the row if compiled w/ libmalcontent support.
- Add a tooltip
- Remove the a11y label because Orca also reads tooltips
- Remove the .image-button style class as it's automatically
added if a GtkButton has an icon
- Remove the use-underline property as it's pointless in
a button without a label
HIG says that "Text generally shouldn’t end with a period.
This applies [...] text that is written as a complete sentence",
but the page description text isn't written as a complete sentence,
so the guideline isn't applicable in this case.
https://developer.gnome.org/hig/guidelines/writing-style.html
When using the copy buttons from Desktop Sharing/Remote Login pages,
the toasts don't show that the values were copied to the clipboard,
unlike in System > Secure Shell/About > System Details, for example.
So, fix this inconsistency.
"Add" and "Enroll" buttons can still be sensitive without
calling main_page_validate() and enroll_page_validate()
respectively. Add an assertion check in both cases to
prevent these buttons being sensitive incorrectly.
Co-authored-by: Matthijs Velsink <mvelsink@gnome.org>
"Language" and "Format" rows show their value as a subtitle,
but this is inconsistent with Settings design pattern in which
the value label is shown at the right, so fix this inconsistency.
Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2914