Changeset View
Changeset View
Standalone View
Standalone View
applet/contents/ui/ListItemBase.qml
Show First 20 Lines • Show All 126 Lines • ▼ Show 20 Line(s) | 126 | PlasmaComponents.Slider { | |||
---|---|---|---|---|---|
127 | id: slider | 127 | id: slider | ||
128 | 128 | | |||
129 | // Helper properties to allow async slider updates. | 129 | // Helper properties to allow async slider updates. | ||
130 | // While we are sliding we must not react to value updates | 130 | // While we are sliding we must not react to value updates | ||
131 | // as otherwise we can easily end up in a loop where value | 131 | // as otherwise we can easily end up in a loop where value | ||
132 | // changes trigger volume changes trigger value changes. | 132 | // changes trigger volume changes trigger value changes. | ||
133 | property int volume: Volume | 133 | property int volume: Volume | ||
134 | property bool ignoreValueChange: true | 134 | property bool ignoreValueChange: true | ||
135 | property bool raiseMaxVolume: false | 135 | property bool forceRaiseMaxVolume: false | ||
136 | readonly property bool raiseMaxVolume: forceRaiseMaxVolume || volume >= PulseAudio.NormalVolume * 1.01 | ||||
136 | 137 | | |||
137 | Layout.fillWidth: true | 138 | Layout.fillWidth: true | ||
138 | minimumValue: PulseAudio.MinimalVolume | 139 | minimumValue: PulseAudio.MinimalVolume | ||
139 | maximumValue: raiseMaxVolume ? PulseAudio.MaximalVolume : maxVolumeValue | 140 | maximumValue: raiseMaxVolume ? PulseAudio.MaximalVolume : maxVolumeValue | ||
140 | stepSize: maximumValue / (maximumValue / PulseAudio.NormalVolume * 100.0) | 141 | stepSize: maximumValue / (maximumValue / PulseAudio.NormalVolume * 100.0) | ||
141 | visible: HasVolume | 142 | visible: HasVolume | ||
142 | enabled: VolumeWritable | 143 | enabled: VolumeWritable | ||
143 | opacity: Muted ? 0.5 : 1 | 144 | opacity: Muted ? 0.5 : 1 | ||
▲ Show 20 Lines • Show All 125 Lines • ▼ Show 20 Line(s) | 263 | if (typeof PulseObject.default === "boolean") { | |||
269 | }); | 270 | }); | ||
270 | contextMenu.addMenuItem(menuItem); | 271 | contextMenu.addMenuItem(menuItem); | ||
271 | } | 272 | } | ||
272 | 273 | | |||
273 | // Raise max volume | 274 | // Raise max volume | ||
274 | menuItem = newMenuItem(); | 275 | menuItem = newMenuItem(); | ||
275 | menuItem.text = i18n("Raise maximum volume"); | 276 | menuItem.text = i18n("Raise maximum volume"); | ||
276 | menuItem.checkable = true; | 277 | menuItem.checkable = true; | ||
277 | menuItem.checked = slider.raiseMaxVolume; | 278 | menuItem.checked = slider.forceRaiseMaxVolume; | ||
278 | menuItem.clicked.connect(function() { | 279 | menuItem.clicked.connect(function() { | ||
279 | slider.raiseMaxVolume = !slider.raiseMaxVolume; | 280 | slider.forceRaiseMaxVolume = !slider.forceRaiseMaxVolume; | ||
281 | if (!slider.forceRaiseMaxVolume && Volume > PulseAudio.NormalVolume) { | ||||
282 | Volume = PulseAudio.NormalVolume; | ||||
sebas: Should be "volume", since that's the property. Or perhaps we don't need "volume" or "Volume". | |||||
"Volume" is a role from the model, so assigning to the "volume" property instead only makes it go through one indirection level. The "volume" property should be made readonly as it is there only for property changes. drosca: "Volume" is a role from the model, so assigning to the "volume" property instead only makes it… | |||||
283 | } | ||||
280 | }); | 284 | }); | ||
281 | contextMenu.addMenuItem(menuItem); | 285 | contextMenu.addMenuItem(menuItem); | ||
282 | 286 | | |||
283 | // Ports | 287 | // Ports | ||
284 | if (PulseObject.ports && PulseObject.ports.length > 0) { | 288 | if (PulseObject.ports && PulseObject.ports.length > 0) { | ||
285 | contextMenu.addMenuItem(newSeperator()); | 289 | contextMenu.addMenuItem(newSeperator()); | ||
286 | 290 | | |||
287 | var isMultiplePorts = (1 < PulseObject.ports.length); | 291 | var isMultiplePorts = (1 < PulseObject.ports.length); | ||
Show All 36 Lines |
Should be "volume", since that's the property. Or perhaps we don't need "volume" or "Volume".