Changeset 1709
- Timestamp:
- 11/15/09 11:02:29 (13 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py
r1708 r1709 1 #!/usr/bin/env python 2 # coding=utf8 1 3 # 2 4 # Copyright (C) 2009 by Arnold Krille … … 66 68 self.connect(self, QtCore.SIGNAL("valueChanged(int)"), self.internalValueChanged) 67 69 70 self.setSmall(False) 71 68 72 self.bgcolors = ColorForNumber() 69 73 self.bgcolors.addColor( 0.0, QtGui.QColor( 0, 0, 0)) … … 129 133 color = self.bgcolors.getColor(v) 130 134 p.fillRect(rect, color) 135 136 if self.small: 137 return 138 131 139 if color.valueF() < 0.6: 132 140 p.setPen(QtGui.QColor(255, 255, 255)) … … 137 145 lv = 20 * math.log10(v * 1.0 / math.pow(2,14)) 138 146 #log.debug("new value is %g dB" % lv) 139 p.drawText(rect, Qt.Qt.AlignCenter, "%.2g dB" % lv) 147 text = "%.2g dB" % lv 148 if v == 0: 149 text = "-ꝏ dB" 150 p.drawText(rect, Qt.Qt.AlignCenter, QtCore.QString.fromUtf8(text)) 140 151 141 152 def internalValueChanged(self, value): … … 148 159 self.update() 149 160 161 def setSmall(self, small): 162 self.small = small 163 if small: 164 self.setMinimumSize(10, 10) 165 else: 166 fontmetrics = self.fontMetrics() 167 self.setMinimumSize(fontmetrics.boundingRect("-0.0 dB").size()*1.1) 168 self.update() 150 169 151 170 … … 156 175 self.number = number 157 176 if name is not "": 158 name = " (%s)" % name 159 self.lbl = QtGui.QLabel("Ch. %i\n%s" % (self.number, name), self) 177 name = "\n(%s)" % name 178 self.name = name 179 self.lbl = QtGui.QLabel(self) 160 180 layout.addWidget(self.lbl, 0, 0, 1, 2) 161 162 #self.btnHide = QtGui.QToolButton(self) 163 #self.btnHide.setText("Hide") 164 #self.btnHide.setCheckable(True) 165 #self.connect(self.btnHide, QtCore.SIGNAL("clicked(bool)"), self.hideChannel) 166 #layout.addWidget(self.btnHide, 1, 0) 181 self.hideChannel(False) 182 183 self.setContextMenuPolicy(Qt.Qt.ActionsContextMenu) 184 185 action = QtGui.QAction("Make this channel small", self) 186 action.setCheckable(True) 187 self.connect(action, QtCore.SIGNAL("triggered(bool)"), self.hideChannel) 188 self.addAction(action) 167 189 168 190 def hideChannel(self, hide): 191 if hide: 192 self.lbl.setText("Ch. %i" % self.number); 193 else: 194 self.lbl.setText("Ch. %i%s" % (self.number, self.name)) 169 195 self.emit(QtCore.SIGNAL("hide"), self.number, hide) 196 self.update() 170 197 171 198 … … 221 248 for x in range(len(self.items)): 222 249 for y in range(len(self.items[x])): 223 self.items[x][y].set Hidden(250 self.items[x][y].setSmall( 224 251 (x in self.hiddenRows) 225 252 | (y in self.hiddenCols) … … 246 273 247 274 # 248 # vim: et ts=4 sw=4 275 # vim: et ts=4 sw=4 fileencoding=utf8