GtkStyleContext will be deprecated in gtk 4.10.
https://docs.gtk.org/gtk4/class.StyleContext.html
This preserves code blocks where additional GtkStyleContext operations
were used, such as gtk_style_context_save/restore.
This one was relatively easy, since most of the brokenness came
from using deprecated properties that can just be dropped, and
packaging that can also just be dropped.
Stop the app list being loaded in a thread. This is complicated and dangerous as
it accesses a hash table that can also be accessed from the main thread. The
operation is not expensive enough to warrant a thread, and similar code in the
application panel doesn't use one here.
The switch is binded to the "show-banners" gsetting. When DnD is
ON, users don't want banners, therefore "show-banners" is OFF.
For this reason we need to invert the switch.
Fixes#878
Make the panel class provide a cancellable that will be cancelled when the panel
is destroyed. Panel implementations can use this and not have to mangage the
cancellable themselves. Consolidate cases where panels had multiple cancellables
that were all being used for this behaviour.
!97 added a do not disturb switch to GNOME Shell. This works by
changing the org.gnome.desktop.notifications.show-banners setting.
The switch that controls this setting in the control center should
therefore use the same Do Not Disturb label as the switch in the
shell.
Switch from GtkBuilder to using GtkTemplate.
Rename widget IDs to be more readable.
Drop widget IDs that are not used.
Move code into the .ui file that can be.
Connect signals in swapped form.
The current widget has a very generic name "EditDialog" - rename it to something
that reflects better what it is for.
Implement it is as a full GtkWidget using GtkTemplate.
Move some of the logic from inside the dialog to the code that creates the dialog
so less data is passed around.
Store properties using functions instead of g_object_set_data - that passes
everything as a gpointer which is easy to make a mistake with.
The search and notification panels have similar list rows,
as they both list applications. This gives the list rows more
consistent layouts - application icons are made to be 32px
throughout and row heights are made to be the same.
Note that the row widths are unfortunately still different.
https://bugzilla.gnome.org/show_bug.cgi?id=786384
The flatpak notification portal reads permissions out
of the permission store, so forward the notification
permissions there in order to prevent sandboxed
applications from sending notifications.
The difference is a bit cosmetic, since the shell would
not show the notification anyway in this case, but it
is nicer to just cut off the calls and not let them
through the portal in the first place.
https://bugzilla.gnome.org/show_bug.cgi?id=778851
Check whether given application child is at least 1 character
long to avoid crash which can happen as a result of creating
of GDesktopAppInfo with NULL desktop file id.
To reproduce this run "gnome-control-center notifications" and
"gsettings set org.gnome.desktop.notifications application-children "['']"".
https://bugzilla.gnome.org/show_bug.cgi?id=752525
Place panel switches into GtkListBox and change their
behaviour so that:
When "Notifications" switch is off, all other switches in the dialog are
insensitive.
"Notifications Banners" switch is off and insensitive when corresponding
panel switch is off.
"Show Message Content in Banners" switch is off and insensitive when switch
above is off.
"Lock Screen Notifications" switch is off and insensitive when corresponding
panel switch is off.
"Show Message Content on Lock Screen" switch is off and insensitive when switch
above is off.
https://bugzilla.gnome.org/show_bug.cgi?id=742521
Scrolling the view gives more room for viewing the list and
provides a larger scroll area, making the list easier to use.
Set height of content of the panel to 400 pixels.
Add frame around the list box.
https://bugzilla.gnome.org/show_bug.cgi?id=742520
When saving applications in the "application-children" list, gnome-shell
will lower-case the whole canonical application ID in _canonicalizeId().
Match _canonicalizeId()'s behaviour, and lower-case the canonical
application ID so we don't try to load "org-gnome-Software" from
GNOME-Software's desktop file in addition to the already saved
"org-gnome-software".
https://bugzilla.gnome.org/show_bug.cgi?id=729447
If we have settings for an app, but we don't have a desktop file, it
is likely the app was uninstalled, so just ignore it and avoid the
criticals.
https://bugzilla.gnome.org/show_bug.cgi?id=696665