[gnome-shell/wip/sadiq/wwan-panel-settings] status/network: Use wwan settings panel for GSM/LTE Modems




commit 07bd2c68ed453edef927ca7e7b68b474edda81ad
Author: Mohammed Sadiq <sadiq sadiqpk org>
Date:   Tue Aug 10 15:22:30 2021 +0530

    status/network: Use wwan settings panel for GSM/LTE Modems
    
    GSM/UMTS/LTE modems now have better support with wwan panel in GNOME
    Settings.  So, if the modem supports, open wwan panel, otherwise
    fallback to opening network panel when "Mobile Broadband Settings"
    item is clicked.
    
    See https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/583

 js/ui/status/network.js | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/status/network.js b/js/ui/status/network.js
index b1b11e114d..ad725dba1e 100644
--- a/js/ui/status/network.js
+++ b/js/ui/status/network.js
@@ -543,11 +543,15 @@ var NMDeviceModem = class extends NMConnectionDevice {
     constructor(client, device) {
         super(client, device);
 
-        this.item.menu.addSettingsAction(_("Mobile Broadband Settings"), 'gnome-network-panel.desktop');
+        const capabilities = device.current_capabilities;
+        const settingsPanel = this._useWwanPanel()
+            ? 'gnome-wwan-panel.desktop'
+            : 'gnome-network-panel.desktop';
+
+        this.item.menu.addSettingsAction(_('Mobile Broadband Settings'), settingsPanel);
 
         this._mobileDevice = null;
 
-        let capabilities = device.current_capabilities;
         if (device.udi.indexOf('/org/freedesktop/ModemManager1/Modem') == 0)
             this._mobileDevice = new ModemManager.BroadbandModem(device.udi, capabilities);
         else if (capabilities & NM.DeviceModemCapabilities.GSM_UMTS)
@@ -573,8 +577,19 @@ var NMDeviceModem = class extends NMConnectionDevice {
         return NMConnectionCategory.WWAN;
     }
 
+    _useWwanPanel() {
+        // Currently, wwan panel doesn't support CDMA_EVDO modems
+        const supportedCaps =
+            NM.DeviceModemCapabilities.GSM_UMTS |
+            NM.DeviceModemCapabilities.LTE;
+        return this._device.current_capabilities & supportedCaps;
+    }
+
     _autoConnect() {
-        launchSettingsPanel('network', 'connect-3g', this._device.get_path());
+        if (this._useWwanPanel())
+            launchSettingsPanel('wwan', 'show-device', this._device.udi);
+        else
+            launchSettingsPanel('network', 'connect-3g', this._device.get_path());
     }
 
     _sessionUpdated() {


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