[gnome-shell/wip/carlosg/centralized-panel-auto-orientation: 3/3] systemActions: Use PanelOrientationManaged to manage autorotation




commit 497f10178c6704f8fea3b82692e8e30d6909d201
Author: Carlos Garnacho <carlosg gnome org>
Date:   Thu Jun 11 18:21:30 2020 +0200

    systemActions: Use PanelOrientationManaged to manage autorotation
    
    Track this new org.gnome.Mutter.DisplayConfig property, so the
    autorotation UI is shown/hidden according to both accelerometer
    availability and touch-mode.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1311

 js/misc/systemActions.js | 32 +++-----------------------------
 1 file changed, 3 insertions(+), 29 deletions(-)
---
diff --git a/js/misc/systemActions.js b/js/misc/systemActions.js
index 33dacf21e9..e3b910a589 100644
--- a/js/misc/systemActions.js
+++ b/js/misc/systemActions.js
@@ -5,8 +5,6 @@ const GnomeSession = imports.misc.gnomeSession;
 const LoginManager = imports.misc.loginManager;
 const Main = imports.ui.main;
 
-const { loadInterfaceXML } = imports.misc.fileUtils;
-
 const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown';
 const LOGIN_SCREEN_SCHEMA = 'org.gnome.login-screen';
 const DISABLE_USER_SWITCH_KEY = 'disable-user-switching';
@@ -15,11 +13,6 @@ const DISABLE_LOG_OUT_KEY = 'disable-log-out';
 const DISABLE_RESTART_KEY = 'disable-restart-buttons';
 const ALWAYS_SHOW_LOG_OUT_KEY = 'always-show-log-out';
 
-const SENSOR_BUS_NAME = 'net.hadess.SensorProxy';
-const SENSOR_OBJECT_PATH = '/net/hadess/SensorProxy';
-
-const SensorProxyInterface = loadInterfaceXML('net.hadess.SensorProxy');
-
 const POWER_OFF_ACTION_ID        = 'power-off';
 const RESTART_ACTION_ID          = 'restart';
 const LOCK_SCREEN_ACTION_ID      = 'lock-screen';
@@ -28,8 +21,6 @@ const SUSPEND_ACTION_ID          = 'suspend';
 const SWITCH_USER_ACTION_ID      = 'switch-user';
 const LOCK_ORIENTATION_ACTION_ID = 'lock-orientation';
 
-const SensorProxy = Gio.DBusProxy.makeProxyWrapper(SensorProxyInterface);
-
 let _singleton = null;
 
 function getDefault() {
@@ -182,21 +173,8 @@ const SystemActions = GObject.registerClass({
         });
         Main.layoutManager.connect('monitors-changed',
                                    () => this._updateOrientationLock());
-        this._sensorProxy = new SensorProxy(Gio.DBus.system,
-            SENSOR_BUS_NAME,
-            SENSOR_OBJECT_PATH,
-            (proxy, error)  => {
-                if (error)
-                    log(error.message);
-            },
-            null,
-            Gio.DBusProxyFlags.DO_NOT_AUTO_START);
-        this._sensorProxy.connect('g-properties-changed', () => {
-            this._updateOrientationLock();
-        });
-        this._sensorProxy.connect('notify::g-name-owner', () => {
-            this._updateOrientationLock();
-        });
+        this._monitorManager.connect('notify::panel-orientation-managed',
+            () => this._updateOrientationLock());
         this._updateOrientationLock();
         this._updateOrientationLockStatus();
 
@@ -245,11 +223,7 @@ const SystemActions = GObject.registerClass({
     }
 
     _updateOrientationLock() {
-        let available = false;
-        if (this._sensorProxy.g_name_owner) {
-            available = this._sensorProxy.HasAccelerometer &&
-                        this._monitorManager.get_is_builtin_display_on();
-        }
+        const available = this._monitorManager.get_panel_orientation_managed();
 
         this._actions.get(LOCK_ORIENTATION_ACTION_ID).available = available;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]