Complete porting to new gnome-power-manager API

We updated the normal devices part, but we forgot the part about
the primary device (possibly because it is not reported as such
in case it is fully charged). Update that as well, to avoid showing
weird GIcon serializations.

https://bugzilla.gnome.org/show_bug.cgi?id=635288
This commit is contained in:
Giovanni Campagna 2010-11-20 18:19:32 +01:00
parent 4800f63c3a
commit 59ba112959

View File

@ -71,12 +71,19 @@ Indicator.prototype = {
this._deviceItems = [ ]; this._deviceItems = [ ];
this._hasPrimary = false; this._hasPrimary = false;
this._primaryDeviceId = null; this._primaryDeviceId = null;
this._batteryItem = new PopupMenu.PopupMenuItem(''); this._batteryItem = new PopupMenu.PopupMenuItem('');
this._primaryPercentage = new St.Label();
let percentBin = new St.Bin();
percentBin.set_child(this._primaryPercentage, { x_align: St.Align.END });
this._batteryItem.addActor(percentBin);
this.menu.addMenuItem(this._batteryItem); this.menu.addMenuItem(this._batteryItem);
this._deviceSep = new PopupMenu.PopupSeparatorMenuItem(); this._deviceSep = new PopupMenu.PopupSeparatorMenuItem();
this.menu.addMenuItem(this._deviceSep); this.menu.addMenuItem(this._deviceSep);
this._otherDevicePosition = 2; this._otherDevicePosition = 2;
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.menu.addAction(_("What's using power..."),function() { this.menu.addAction(_("What's using power..."),function() {
GLib.spawn_command_line_async('gnome-power-statistics --device wakeups'); GLib.spawn_command_line_async('gnome-power-statistics --device wakeups');
}); });
@ -98,10 +105,12 @@ Indicator.prototype = {
this._deviceSep.actor.hide(); this._deviceSep.actor.hide();
return; return;
} }
let [device_id, device_type, summary, percentage, state, time] = device; let [device_id, device_type, icon, percentage, state, time] = device;
if (device_type == UPDeviceType.BATTERY) { if (device_type == UPDeviceType.BATTERY) {
this._hasPrimary = true; this._hasPrimary = true;
this._batteryItem.label.text = summary; let minutes = Math.floor(time / 60);
this._batteryItem.label.text = Gettext.ngettext("%d minute remaining", "%d minutes remaining", minutes).format(minutes);
this._primaryPercentage.text = '%d%%'.format(Math.round(percentage));
this._batteryItem.actor.show(); this._batteryItem.actor.show();
if (this._deviceItems.length > 0) if (this._deviceItems.length > 0)
this._deviceSep.actor.show(); this._deviceSep.actor.show();