Make ui actually usable
This commit is contained in:
parent
cd70b78487
commit
ec4e3bca02
1 changed files with 22 additions and 6 deletions
26
extension.js
26
extension.js
|
@ -31,6 +31,8 @@ const PopupMenu = imports.ui.popupMenu;
|
|||
|
||||
const _ = ExtensionUtils.gettext;
|
||||
|
||||
allowedRateElements = [];
|
||||
|
||||
const Indicator = GObject.registerClass(
|
||||
class Indicator extends PanelMenu.Button {
|
||||
_init() {
|
||||
|
@ -42,21 +44,35 @@ const Indicator = GObject.registerClass(
|
|||
}));
|
||||
|
||||
let sampleRate = getForcedSampleRate();
|
||||
let currentSampleRate = new PopupMenu.PopupMenuItem(_("Sample Rate: " + sampleRate));
|
||||
this.menu.addMenuItem(currentSampleRate);
|
||||
|
||||
let allowedRates = getAllowedSampleRates();
|
||||
allowedRateElements = [];
|
||||
|
||||
for (let i = 0; i < allowedRates.length; i++) {
|
||||
let allowedRate = new PopupMenu.PopupMenuItem(_("Allowed Rates: " + allowedRates[i]));
|
||||
let allowedRate = new PopupMenu.PopupMenuItem(_("Sample Rate: " + allowedRates[i]));
|
||||
|
||||
if (allowedRates[i] == sampleRate) {
|
||||
allowedRate.setOrnament(PopupMenu.Ornament.DOT);
|
||||
}
|
||||
|
||||
allowedRate.connect('activate', () => {
|
||||
console.log("set sample rate " + allowedRates[i]);
|
||||
|
||||
for (let k = 0; k < allowedRateElements.length; k++) {
|
||||
allowedRateElements[k].setOrnament(PopupMenu.Ornament.NONE);
|
||||
}
|
||||
|
||||
setSampleRate(allowedRates[i]);
|
||||
currentSampleRate.label.text = "Sample Rate: " + getForcedSampleRate();
|
||||
|
||||
// sanity check sample rate
|
||||
let forcedRate = getForcedSampleRate();
|
||||
|
||||
if (forcedRate == allowedRates[i]) {
|
||||
allowedRate.setOrnament(PopupMenu.Ornament.DOT);
|
||||
}
|
||||
});
|
||||
|
||||
this.menu.addMenuItem(allowedRate);
|
||||
allowedRateElements.push(allowedRate);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue