MessageTray: restore symbolic icons to notification buttons

These were lost when we moved away with StIconType. The idea was that
apps needed to include -symbolic in their action IDs, but apps were
not updated, and it never makes sense to have non symbolic icons there,
so let's restore the previous behavior.

https://bugzilla.gnome.org/show_bug.cgi?id=692091
This commit is contained in:
Giovanni Campagna 2013-01-19 18:50:49 +01:00
parent 91a6520c3b
commit 9aa84ec54a

View File

@ -243,6 +243,10 @@ function makeCloseButton() {
return closeButton; return closeButton;
} }
function strHasSuffix(string, suffix) {
return string.substr(-suffix.length) == suffix;
}
// Notification: // Notification:
// @source: the notification's Source // @source: the notification's Source
// @title: the title // @title: the title
@ -669,9 +673,10 @@ const Notification = new Lang.Class({
let button = new St.Button({ can_focus: true }); let button = new St.Button({ can_focus: true });
button._actionId = id; button._actionId = id;
if (this._useActionIcons && Gtk.IconTheme.get_default().has_icon(id)) { let iconName = strHasSuffix(id, '-symbolic') ? id : id + '-symbolic';
if (this._useActionIcons && Gtk.IconTheme.get_default().has_icon(iconName)) {
button.add_style_class_name('notification-icon-button'); button.add_style_class_name('notification-icon-button');
button.child = new St.Icon({ icon_name: id }); button.child = new St.Icon({ icon_name: iconName });
} else { } else {
button.add_style_class_name('notification-button'); button.add_style_class_name('notification-button');
button.label = label; button.label = label;