summaryrefslogtreecommitdiff
path: root/nephilim/settings_wg.py
diff options
context:
space:
mode:
authorAnton Khirnov <wyskas@gmail.com>2009-08-28 10:38:30 +0200
committerAnton Khirnov <wyskas@gmail.com>2009-08-28 10:38:30 +0200
commitffb97dfaeb19f9db1c14bef8a92d9ce83adb13fb (patch)
treef79e40bfa4864c0c02fd4b7670b456ec0133458b /nephilim/settings_wg.py
parentd05f520e82903e77faf839a54e7b17045a366aae (diff)
mpclient: encapsulate audio outputs in a class.
Diffstat (limited to 'nephilim/settings_wg.py')
-rw-r--r--nephilim/settings_wg.py30
1 files changed, 10 insertions, 20 deletions
diff --git a/nephilim/settings_wg.py b/nephilim/settings_wg.py
index 145114a..f1c07d1 100644
--- a/nephilim/settings_wg.py
+++ b/nephilim/settings_wg.py
@@ -41,7 +41,6 @@ class SettingsWidget(QtGui.QWidget):
pass_txt = None
lib_txt = None
update = None
- outputs = None
xfade = None
def __init__(self, mpclient):
@@ -59,27 +58,18 @@ class SettingsWidget(QtGui.QWidget):
self.update = QtGui.QPushButton('Update MPD database')
self.update.clicked.connect(self.update_db)
- self.outputs = QtGui.QGroupBox('Audio outputs')
- self.outputs.setLayout(QtGui.QVBoxLayout())
- class Output(QtGui.QCheckBox):
- id = None
- mpclient = None
- def __init__(self, text, mpclient, id):
- QtGui.QCheckBox.__init__(self, text)
- self.mpclient = mpclient
- self.id = id
- self.stateChanged.connect(self.change_state)
-
- def change_state(self, state):
- self.mpclient.set_output(self.id, state)
-
- for output in self.mpclient.outputs():
- box = Output(output['outputname'], self.mpclient, output['outputid'])
- if output['outputenabled'] == '1':
+ outputs = QtGui.QGroupBox('Audio outputs')
+ outputs.setLayout(QtGui.QVBoxLayout())
+
+ for output in self.mpclient.outputs:
+ box = QtGui.QCheckBox(output.name, self)
+ if output.state:
box.setChecked(True)
else:
box.setChecked(False)
- self.outputs.layout().addWidget(box)
+ box.clicked.connect(output.set_state)
+ output.state_changed.connect(box.setChecked)
+ outputs.layout().addWidget(box)
self.xfade = QtGui.QSpinBox()
self.xfade.setValue(int(self.mpclient.status()['xfade']))
@@ -91,7 +81,7 @@ class SettingsWidget(QtGui.QWidget):
self._add_widget(self.pass_txt, 'Password', 'Password')
self._add_widget(self.lib_txt, 'Music library', 'Path to music library')
self.layout().addWidget(self.update)
- self.layout().addWidget(self.outputs)
+ self.layout().addWidget(outputs)
self._add_widget(self.xfade, 'Crossfade', 'Set crossfade between songs (in seconds).')
def save_settings(self):