messageTray: Expose Source icon as GObject property

As the notification redesign affects the API anyway, we can just
as well use the opportunity to modernize the code.

Turning the icon into a GObject property means we no longer need
a custom signal for change notifications, and the icon becomes
usable in bindings.

Since setting an `GThemedIcon` is common this also adds a convenience
property to set the icon name directly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3103>
This commit is contained in:
Julian Sparber
2024-01-24 12:25:21 +01:00
committed by Marge Bot
parent 1b49cc643c
commit 00a375ce9b
9 changed files with 52 additions and 90 deletions

View File

@ -19,8 +19,6 @@ import {loadInterfaceXML} from '../misc/fileUtils.js';
const SHOW_WEEKDATE_KEY = 'show-weekdate';
const MESSAGE_ICON_SIZE = -1; // pick up from CSS
const NC_ = (context, str) => `${context}\u0004${str}`;
function sameYear(dateA, dateB) {
@ -795,7 +793,6 @@ class NotificationMessage extends MessageList.Message {
if (this.notification.gicon) {
return new St.Icon({
gicon: this.notification.gicon,
icon_size: MESSAGE_ICON_SIZE,
});
} else {
return null;