Changeset View
Changeset View
Standalone View
Standalone View
applet/contents/ui/ListItemBase.qml
Context not available. | |||||
203 | } | 203 | } | ||
---|---|---|---|---|---|
204 | } | 204 | } | ||
205 | } | 205 | } | ||
206 | | ||||
207 | PlasmaComponents.ContextMenu { | ||||
208 | id: contextMenu | ||||
209 | | ||||
210 | function newSeperator() { | ||||
211 | return Qt.createQmlObject("import org.kde.plasma.components 2.0 as PlasmaComponents; PlasmaComponents.MenuItem { separator: true }", contextMenu); | ||||
212 | } | ||||
213 | function newMenuItem() { | ||||
214 | return Qt.createQmlObject("import org.kde.plasma.components 2.0 as PlasmaComponents; PlasmaComponents.MenuItem {}", contextMenu); | ||||
215 | } | ||||
216 | | ||||
217 | function loadDynamicActions() { | ||||
218 | contextMenu.clearMenuItems(); | ||||
219 | | ||||
220 | // Mute | ||||
221 | var menuItem = newMenuItem(); | ||||
222 | menuItem.text = i18n("Mute"); | ||||
223 | menuItem.checkable = true; | ||||
224 | menuItem.checked = PulseObject.muted; | ||||
225 | menuItem.clicked.connect(function() { | ||||
226 | PulseObject.muted = !PulseObject.muted | ||||
227 | }); | ||||
228 | contextMenu.addMenuItem(menuItem); | ||||
229 | | ||||
230 | // Default | ||||
231 | if (typeof PulseObject.default === "boolean") { | ||||
232 | var menuItem = newMenuItem(); | ||||
233 | menuItem.text = i18n("Default"); | ||||
234 | menuItem.checkable = true; | ||||
235 | menuItem.checked = PulseObject.default | ||||
236 | menuItem.clicked.connect(function() { | ||||
237 | PulseObject.default = true | ||||
238 | }); | ||||
239 | contextMenu.addMenuItem(menuItem); | ||||
240 | } | ||||
241 | | ||||
242 | // Ports | ||||
243 | if (PulseObject.ports && PulseObject.ports.length > 1) { | ||||
244 | contextMenu.addMenuItem(newSeperator()); | ||||
245 | | ||||
246 | var menuItem = newMenuItem(); | ||||
247 | menuItem.text = i18n("Ports"); | ||||
248 | menuItem.enabled = false; | ||||
249 | contextMenu.addMenuItem(menuItem); | ||||
250 | | ||||
251 | for (var i = 0; i < PulseObject.ports.length; i++) { | ||||
252 | var port = PulseObject.ports[i]; | ||||
253 | var menuItem = newMenuItem(); | ||||
254 | menuItem.text = port.description; | ||||
255 | menuItem.checkable = true; | ||||
256 | menuItem.checked = i === PulseObject.activePortIndex; | ||||
257 | var setActivePort = function(portIndex) { | ||||
258 | return function() { | ||||
259 | PulseObject.activePortIndex = portIndex; | ||||
260 | }; | ||||
261 | }; | ||||
262 | menuItem.clicked.connect(setActivePort(i)); | ||||
263 | contextMenu.addMenuItem(menuItem); | ||||
264 | } | ||||
265 | } | ||||
266 | } | ||||
267 | | ||||
268 | function show(x, y) { | ||||
269 | loadDynamicActions(); | ||||
270 | open(x, y); | ||||
271 | } | ||||
272 | } | ||||
273 | | ||||
274 | MouseArea { | ||||
275 | acceptedButtons: Qt.RightButton | ||||
276 | anchors.fill: parent | ||||
277 | | ||||
278 | onClicked: contextMenu.show(mouse.x, mouse.y); | ||||
279 | } | ||||
206 | } | 280 | } | ||
Context not available. |