volume: Pick up hasHeadphones from the signal handler

A preliminary patch for big cleanups happening soon.

https://bugzilla.gnome.org/show_bug.cgi?id=690539
This commit is contained in:
Jasper St. Pierre 2012-12-19 22:46:50 -05:00
parent 66da3f5668
commit 1a4948f0f2

View File

@ -33,7 +33,7 @@ const VolumeMenu = new Lang.Class({
_init: function(control) {
this.parent();
this.hasHeadphones = false;
this._hasHeadphones = false;
this._control = control;
this._control.connect('state-changed', Lang.bind(this, this._onControlStateChanged));
@ -100,8 +100,8 @@ const VolumeMenu = new Lang.Class({
},
_portChanged: function() {
this.hasHeadphones = this._findHeadphones(this._output);
this.emit('headphones-changed');
this._hasHeadphones = this._findHeadphones(this._output);
this.emit('headphones-changed', this._hasHeadphones);
},
_readOutput: function() {
@ -231,8 +231,8 @@ const Indicator = new Lang.Class({
this.actor.visible = (icon != null);
this.setIcon(icon);
}));
this._volumeMenu.connect('headphones-changed', Lang.bind(this, function() {
this._headphoneIcon.visible = this._volumeMenu.hasHeadphones;
this._volumeMenu.connect('headphones-changed', Lang.bind(this, function(menu, value) {
this._headphoneIcon.visible = value;
}));
this._headphoneIcon = this.addIcon(new Gio.ThemedIcon({ name: 'headphones-symbolic' }));