[gnome-shell] MessageTray: don't clear the banner text when adding to the body
- From: Giovanni Campagna <gcampagna src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] MessageTray: don't clear the banner text when adding to the body
- Date: Sun, 17 Feb 2013 13:54:44 +0000 (UTC)
commit 07676d483d1dce46154f36e3cebc54c1e9ff8d86
Author: Giovanni Campagna <gcampagna src gnome org>
Date: Thu Feb 14 17:12:26 2013 +0100
MessageTray: don't clear the banner text when adding to the body
ScreenShield uses Notification.bannerBodyText to fill the body of detailed
notifications, so use a separate boolean property to indicate it was already
added to the body.
https://bugzilla.gnome.org/show_bug.cgi?id=693822
js/ui/messageTray.js | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index 4c8c133..f878481 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -359,6 +359,7 @@ const Notification = new Lang.Class({
this._customContent = false;
this.bannerBodyText = null;
this.bannerBodyMarkup = false;
+ this._bannerBodyAdded = false;
this._titleFitsInBannerMode = true;
this._titleDirection = Clutter.TextDirection.DEFAULT;
this._spacing = 0;
@@ -521,6 +522,7 @@ const Notification = new Lang.Class({
// not fitting fully in the single-line mode.
this.bannerBodyText = this._customContent ? null : banner;
this.bannerBodyMarkup = params.bannerMarkup;
+ this._bannerBodyAdded = false;
banner = banner ? banner.replace(/\n/g, ' ') : '';
@@ -602,10 +604,9 @@ const Notification = new Lang.Class({
},
_addBannerBody: function() {
- if (this.bannerBodyText) {
- let text = this.bannerBodyText;
- this.bannerBodyText = null;
- this.addBody(text, this.bannerBodyMarkup);
+ if (this.bannerBodyText && !this._bannerBodyAdded) {
+ this._bannerBodyAdded = true;
+ this.addBody(this.bannerBodyText, this.bannerBodyMarkup);
}
},
@@ -897,7 +898,7 @@ const Notification = new Lang.Class({
},
_canExpandContent: function() {
- return this.bannerBodyText ||
+ return (this.bannerBodyText && !this._bannerBodyAdded) ||
(!this._titleFitsInBannerMode &&
!this._table.has_style_class_name('multi-line-notification'));
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]