Changeset View
Changeset View
Standalone View
Standalone View
applet/contents/ui/main.qml
Show All 27 Lines | |||||
28 | 28 | | |||
29 | import org.kde.plasma.private.volume 0.1 | 29 | import org.kde.plasma.private.volume 0.1 | ||
30 | 30 | | |||
31 | import "../code/icon.js" as Icon | 31 | import "../code/icon.js" as Icon | ||
32 | 32 | | |||
33 | Item { | 33 | Item { | ||
34 | id: main | 34 | id: main | ||
35 | 35 | | |||
36 | property bool showOsd: Plasmoid.configuration.showOsd | ||||
36 | property int maxVolumePercent: Plasmoid.configuration.maximumVolume | 37 | property int maxVolumePercent: Plasmoid.configuration.maximumVolume | ||
37 | property int maxVolumeValue: Math.round(maxVolumePercent * PulseAudio.NormalVolume / 100.0) | 38 | property int maxVolumeValue: Math.round(maxVolumePercent * PulseAudio.NormalVolume / 100.0) | ||
38 | property int volumeStep: Math.round(Plasmoid.configuration.volumeStep * PulseAudio.NormalVolume / 100.0) | 39 | property int volumeStep: Math.round(Plasmoid.configuration.volumeStep * PulseAudio.NormalVolume / 100.0) | ||
39 | property string displayName: i18n("Audio Volume") | 40 | property string displayName: i18n("Audio Volume") | ||
40 | property QtObject draggedStream: null | 41 | property QtObject draggedStream: null | ||
41 | 42 | | |||
42 | Layout.minimumHeight: units.gridUnit * 12 | 43 | Layout.minimumHeight: units.gridUnit * 12 | ||
43 | Layout.minimumWidth: units.gridUnit * 12 | 44 | Layout.minimumWidth: units.gridUnit * 12 | ||
Show All 19 Lines | |||||
63 | 64 | | |||
64 | function increaseVolume() { | 65 | function increaseVolume() { | ||
65 | if (!sinkModel.defaultSink) { | 66 | if (!sinkModel.defaultSink) { | ||
66 | return; | 67 | return; | ||
67 | } | 68 | } | ||
68 | var volume = boundVolume(sinkModel.defaultSink.volume + volumeStep); | 69 | var volume = boundVolume(sinkModel.defaultSink.volume + volumeStep); | ||
69 | sinkModel.defaultSink.muted = false; | 70 | sinkModel.defaultSink.muted = false; | ||
70 | sinkModel.defaultSink.volume = volume; | 71 | sinkModel.defaultSink.volume = volume; | ||
72 | if (showOsd) { | ||||
71 | osd.show(volumePercent(volume, maxVolumeValue)); | 73 | osd.show(volumePercent(volume, maxVolumeValue)); | ||
72 | } | 74 | } | ||
75 | } | ||||
73 | 76 | | |||
74 | function decreaseVolume() { | 77 | function decreaseVolume() { | ||
75 | if (!sinkModel.defaultSink) { | 78 | if (!sinkModel.defaultSink) { | ||
76 | return; | 79 | return; | ||
77 | } | 80 | } | ||
78 | var volume = boundVolume(sinkModel.defaultSink.volume - volumeStep); | 81 | var volume = boundVolume(sinkModel.defaultSink.volume - volumeStep); | ||
79 | sinkModel.defaultSink.muted = false; | 82 | sinkModel.defaultSink.muted = false; | ||
80 | sinkModel.defaultSink.volume = volume; | 83 | sinkModel.defaultSink.volume = volume; | ||
84 | if (showOsd) { | ||||
81 | osd.show(volumePercent(volume, maxVolumeValue)); | 85 | osd.show(volumePercent(volume, maxVolumeValue)); | ||
82 | } | 86 | } | ||
87 | } | ||||
83 | 88 | | |||
84 | function muteVolume() { | 89 | function muteVolume() { | ||
85 | if (!sinkModel.defaultSink) { | 90 | if (!sinkModel.defaultSink) { | ||
86 | return; | 91 | return; | ||
87 | } | 92 | } | ||
88 | var toMute = !sinkModel.defaultSink.muted; | 93 | var toMute = !sinkModel.defaultSink.muted; | ||
89 | sinkModel.defaultSink.muted = toMute; | 94 | sinkModel.defaultSink.muted = toMute; | ||
95 | if (showOsd) { | ||||
90 | osd.show(toMute ? 0 : volumePercent(sinkModel.defaultSink.volume, maxVolumeValue)); | 96 | osd.show(toMute ? 0 : volumePercent(sinkModel.defaultSink.volume, maxVolumeValue)); | ||
91 | } | 97 | } | ||
98 | } | ||||
92 | 99 | | |||
93 | function increaseMicrophoneVolume() { | 100 | function increaseMicrophoneVolume() { | ||
94 | if (!sourceModel.defaultSource) { | 101 | if (!sourceModel.defaultSource) { | ||
95 | return; | 102 | return; | ||
96 | } | 103 | } | ||
97 | var volume = boundVolume(sourceModel.defaultSource.volume + volumeStep); | 104 | var volume = boundVolume(sourceModel.defaultSource.volume + volumeStep); | ||
98 | sourceModel.defaultSource.muted = false; | 105 | sourceModel.defaultSource.muted = false; | ||
99 | sourceModel.defaultSource.volume = volume; | 106 | sourceModel.defaultSource.volume = volume; | ||
107 | if (showOsd) { | ||||
100 | osd.showMicrophone(volumePercent(volume)); | 108 | osd.showMicrophone(volumePercent(volume)); | ||
101 | } | 109 | } | ||
110 | } | ||||
102 | 111 | | |||
103 | function decreaseMicrophoneVolume() { | 112 | function decreaseMicrophoneVolume() { | ||
104 | if (!sourceModel.defaultSource) { | 113 | if (!sourceModel.defaultSource) { | ||
105 | return; | 114 | return; | ||
106 | } | 115 | } | ||
107 | var volume = boundVolume(sourceModel.defaultSource.volume - volumeStep); | 116 | var volume = boundVolume(sourceModel.defaultSource.volume - volumeStep); | ||
108 | sourceModel.defaultSource.muted = false; | 117 | sourceModel.defaultSource.muted = false; | ||
109 | sourceModel.defaultSource.volume = volume; | 118 | sourceModel.defaultSource.volume = volume; | ||
119 | if (showOsd) { | ||||
110 | osd.showMicrophone(volumePercent(volume)); | 120 | osd.showMicrophone(volumePercent(volume)); | ||
111 | } | 121 | } | ||
122 | } | ||||
112 | 123 | | |||
113 | function muteMicrophone() { | 124 | function muteMicrophone() { | ||
114 | if (!sourceModel.defaultSource) { | 125 | if (!sourceModel.defaultSource) { | ||
115 | return; | 126 | return; | ||
116 | } | 127 | } | ||
117 | var toMute = !sourceModel.defaultSource.muted; | 128 | var toMute = !sourceModel.defaultSource.muted; | ||
118 | sourceModel.defaultSource.muted = toMute; | 129 | sourceModel.defaultSource.muted = toMute; | ||
130 | if (showOsd) { | ||||
119 | osd.showMicrophone(toMute? 0 : volumePercent(sourceModel.defaultSource.volume)); | 131 | osd.showMicrophone(toMute? 0 : volumePercent(sourceModel.defaultSource.volume)); | ||
120 | } | 132 | } | ||
133 | } | ||||
121 | 134 | | |||
122 | function beginMoveStream(type, stream) { | 135 | function beginMoveStream(type, stream) { | ||
123 | if (type == "sink") { | 136 | if (type == "sink") { | ||
124 | sourceView.visible = false; | 137 | sourceView.visible = false; | ||
125 | sourceViewHeader.visible = false; | 138 | sourceViewHeader.visible = false; | ||
126 | } else if (type == "source") { | 139 | } else if (type == "source") { | ||
127 | sinkView.visible = false; | 140 | sinkView.visible = false; | ||
128 | sinkViewHeader.visible = false; | 141 | sinkViewHeader.visible = false; | ||
▲ Show 20 Lines • Show All 265 Lines • Show Last 20 Lines |