mirror of
https://github.com/morgan9e/gnome-shell-extension-freon
synced 2026-04-14 00:14:14 +09:00
* Migrate Plugin to Gnome 45 Shell * Use TextDecoder instead of ByteArray or toString() * use the Glib timeout functions * remove unused imports
50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
import Clutter from 'gi://Clutter';
|
|
import GObject from 'gi://GObject';
|
|
import St from 'gi://St';
|
|
|
|
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
|
|
|
|
export default GObject.registerClass(class FreonItem extends PopupMenu.PopupBaseMenuItem {
|
|
|
|
constructor(gIcon, key, label, value, displayName) {
|
|
super();
|
|
this._main = false;
|
|
this._key = key;
|
|
this._gIcon = gIcon;
|
|
|
|
this._labelActor = new St.Label({text: displayName ? displayName : label, x_align: Clutter.ActorAlign.CENTER, x_expand: true});
|
|
this.actor.add(new St.Icon({ style_class: 'popup-menu-icon', gicon : gIcon}));
|
|
this.actor.add_child(this._labelActor);
|
|
this._valueLabel = new St.Label({text: value});
|
|
this.actor.add(this._valueLabel);
|
|
}
|
|
|
|
set main(main) {
|
|
if(main)
|
|
this.setOrnament(PopupMenu.Ornament.CHECK);
|
|
else
|
|
this.setOrnament(PopupMenu.Ornament.NONE);
|
|
this._main = main;
|
|
}
|
|
|
|
get main() {
|
|
return this._main;
|
|
}
|
|
|
|
get key() {
|
|
return this._key;
|
|
}
|
|
|
|
set display_name(text) {
|
|
return this._labelActor.text = text;
|
|
}
|
|
|
|
get gicon() {
|
|
return this._gIcon;
|
|
}
|
|
|
|
set value(value) {
|
|
this._valueLabel.text = value;
|
|
}
|
|
});
|