status/camera: New indicator
Add a new status indicator following the system-status-indicators mockup. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2840>
This commit is contained in:
parent
d09d24666a
commit
63c3f3e7be
@ -138,6 +138,7 @@
|
||||
<file>ui/status/autoRotate.js</file>
|
||||
<file>ui/status/backgroundApps.js</file>
|
||||
<file>ui/status/brightness.js</file>
|
||||
<file>ui/status/camera.js</file>
|
||||
<file>ui/status/darkMode.js</file>
|
||||
<file>ui/status/dwellClick.js</file>
|
||||
<file>ui/status/location.js</file>
|
||||
|
@ -23,6 +23,7 @@ const Main = imports.ui.main;
|
||||
const RemoteAccessStatus = imports.ui.status.remoteAccess;
|
||||
const PowerProfileStatus = imports.ui.status.powerProfiles;
|
||||
const RFKillStatus = imports.ui.status.rfkill;
|
||||
const CameraStatus = imports.ui.status.camera;
|
||||
const VolumeStatus = imports.ui.status.volume;
|
||||
const BrightnessStatus = imports.ui.status.brightness;
|
||||
const SystemStatus = imports.ui.status.system;
|
||||
@ -388,6 +389,7 @@ class QuickSettings extends PanelMenu.Button {
|
||||
}
|
||||
|
||||
this._system = new SystemStatus.Indicator();
|
||||
this._camera = new CameraStatus.Indicator();
|
||||
this._volumeOutput = new VolumeStatus.OutputIndicator();
|
||||
this._volumeInput = new VolumeStatus.InputIndicator();
|
||||
this._brightness = new BrightnessStatus.Indicator();
|
||||
@ -403,6 +405,7 @@ class QuickSettings extends PanelMenu.Button {
|
||||
this._backgroundApps = new BackgroundAppsStatus.Indicator();
|
||||
|
||||
this._indicators.add_child(this._remoteAccess);
|
||||
this._indicators.add_child(this._camera);
|
||||
this._indicators.add_child(this._volumeInput);
|
||||
this._indicators.add_child(this._location);
|
||||
this._indicators.add_child(this._brightness);
|
||||
@ -421,6 +424,7 @@ class QuickSettings extends PanelMenu.Button {
|
||||
this._indicators.add_child(this._system);
|
||||
|
||||
this._addItems(this._system.quickSettingsItems, N_QUICK_SETTINGS_COLUMNS);
|
||||
this._addItems(this._camera.quickSettingsItems, N_QUICK_SETTINGS_COLUMNS);
|
||||
this._addItems(this._volumeOutput.quickSettingsItems, N_QUICK_SETTINGS_COLUMNS);
|
||||
this._addItems(this._volumeInput.quickSettingsItems, N_QUICK_SETTINGS_COLUMNS);
|
||||
this._addItems(this._brightness.quickSettingsItems, N_QUICK_SETTINGS_COLUMNS);
|
||||
|
22
js/ui/status/camera.js
Normal file
22
js/ui/status/camera.js
Normal file
@ -0,0 +1,22 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/* exported Indicator */
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
const Shell = imports.gi.Shell;
|
||||
|
||||
const {SystemIndicator} = imports.ui.quickSettings;
|
||||
|
||||
var Indicator = GObject.registerClass(
|
||||
class Indicator extends SystemIndicator {
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
this._indicator = this._addIndicator();
|
||||
this._indicator.icon_name = 'camera-web-symbolic';
|
||||
this._indicator.add_style_class_name('privacy-indicator');
|
||||
|
||||
this._cameraMonitor = new Shell.CameraMonitor();
|
||||
this._cameraMonitor.bind_property('cameras-in-use', this._indicator,
|
||||
'visible', GObject.BindingFlags.SYNC_CREATE);
|
||||
}
|
||||
});
|
Loading…
Reference in New Issue
Block a user