This is all getting pretty complicated and #123 would make it even more complicated. This branch moves more of the image/icon logic to Notification so that Bubble can be pretty straightforward. It also makes fallbacks more straightforward to implement
Add a new property primary_icon. Notification server clients try to either give us a gicon from appinfo, an icon name, or a path to an icon. All of these can be handled by GIcon, so this lets us set a single property instead of having Bubble try to create an image by null checking several properties
Add a new property image. There are two ways clients could try to set an image: file path or (in the future) image data. This lets Bubble check for a single property to see if a MaskedImage has been created or not.
The dialog-information fallback is now handled in Notification only instead of both in Bubble and Notification
We no longer need to reset image_path to null since Bubble only checks for a MaskedImage
Masked image already scales pixbufs sent into it afaict, so we don't need to scale before passing the pixbuf in
This is all getting pretty complicated and #123 would make it even more complicated. This branch moves more of the image/icon logic to
Notification
so thatBubble
can be pretty straightforward. It also makes fallbacks more straightforward to implementprimary_icon
. Notification server clients try to either give us a gicon from appinfo, an icon name, or a path to an icon. All of these can be handled by GIcon, so this lets us set a single property instead of having Bubble try to create an image by null checking several propertiesimage
. There are two ways clients could try to set an image: file path or (in the future) image data. This letsBubble
check for a single property to see if aMaskedImage
has been created or not.dialog-information
fallback is now handled in Notification only instead of both inBubble
andNotification
image_path
to null sinceBubble
only checks for aMaskedImage