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




commit ff87ea39a8ababad0f7e6defad2eb5434c3b26fd
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 | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/status/network.js b/js/ui/status/network.js
index b1b11e114d..a67af20656 100644
--- a/js/ui/status/network.js
+++ b/js/ui/status/network.js
@@ -543,7 +543,11 @@ var NMDeviceModem = class extends NMConnectionDevice {
     constructor(client, device) {
         super(client, device);
 
-        this.item.menu.addSettingsAction(_("Mobile Broadband Settings"), 'gnome-network-panel.desktop');
+        const settingsPanel = this._useWwanPanel()
+            ? 'gnome-wwan-panel.desktop'
+            : 'gnome-network-panel.desktop';
+
+        this.item.menu.addSettingsAction(_('Mobile Broadband Settings'), settingsPanel);
 
         this._mobileDevice = null;
 
@@ -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]