messageTray: add SystemNotificationSource, moved from overview.js
Move the overview's "System Information" source here, so it can be used by non-overview code as well. https://bugzilla.gnome.org/show_bug.cgi?id=635089
This commit is contained in:
parent
870be026d8
commit
7322a4e4ef
@ -18,6 +18,9 @@ const BoxPointer = imports.ui.boxpointer;
|
||||
const Params = imports.misc.params;
|
||||
const Utils = imports.misc.utils;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const ANIMATION_TIME = 0.2;
|
||||
const NOTIFICATION_TIMEOUT = 4;
|
||||
const SUMMARY_TIMEOUT = 1;
|
||||
@ -1743,3 +1746,27 @@ MessageTray.prototype = {
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function SystemNotificationSource() {
|
||||
this._init();
|
||||
}
|
||||
|
||||
SystemNotificationSource.prototype = {
|
||||
__proto__: Source.prototype,
|
||||
|
||||
_init: function() {
|
||||
Source.prototype._init.call(this, _("System Information"));
|
||||
|
||||
this._setSummaryIcon(this.createNotificationIcon());
|
||||
},
|
||||
|
||||
createNotificationIcon: function() {
|
||||
return new St.Icon({ icon_name: 'dialog-information',
|
||||
icon_type: St.IconType.SYMBOLIC,
|
||||
icon_size: this.ICON_SIZE });
|
||||
},
|
||||
|
||||
_notificationClicked: function() {
|
||||
this.destroy();
|
||||
}
|
||||
};
|
||||
|
@ -31,33 +31,8 @@ const ANIMATION_TIME = 0.25;
|
||||
// We split the screen vertically between the dash and the view selector.
|
||||
const DASH_SPLIT_FRACTION = 0.1;
|
||||
|
||||
|
||||
const DND_WINDOW_SWITCH_TIMEOUT = 1250;
|
||||
|
||||
function Source() {
|
||||
this._init();
|
||||
}
|
||||
|
||||
Source.prototype = {
|
||||
__proto__: MessageTray.Source.prototype,
|
||||
|
||||
_init: function() {
|
||||
MessageTray.Source.prototype._init.call(this,
|
||||
"System Information");
|
||||
this._setSummaryIcon(this.createNotificationIcon());
|
||||
},
|
||||
|
||||
createNotificationIcon: function() {
|
||||
return new St.Icon({ icon_name: 'dialog-information',
|
||||
icon_type: St.IconType.SYMBOLIC,
|
||||
icon_size: this.ICON_SIZE });
|
||||
},
|
||||
|
||||
_notificationClicked: function() {
|
||||
this.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
function ShellInfo() {
|
||||
this._init();
|
||||
}
|
||||
@ -79,7 +54,7 @@ ShellInfo.prototype = {
|
||||
|
||||
setMessage: function(text, undoCallback, undoLabel) {
|
||||
if (this._source == null) {
|
||||
this._source = new Source();
|
||||
this._source = new MessageTray.SystemNotificationSource();
|
||||
this._source.connect('destroy', Lang.bind(this,
|
||||
function() {
|
||||
this._source = null;
|
||||
|
@ -6,6 +6,7 @@ js/ui/appFavorites.js
|
||||
js/ui/dash.js
|
||||
js/ui/docDisplay.js
|
||||
js/ui/lookingGlass.js
|
||||
js/ui/messageTray.js
|
||||
js/ui/overview.js
|
||||
js/ui/panel.js
|
||||
js/ui/placeDisplay.js
|
||||
|
Loading…
Reference in New Issue
Block a user