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




commit 474036ad679f4fe7d32764aef405cbec0e8981c4
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 | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/status/network.js b/js/ui/status/network.js
index b1b11e114d..c2c88832e1 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 = capabilities & (NM.DeviceModemCapabilities.GSM_UMTS | 
NM.DeviceModemCapabilities.LTE)
+              ? '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)
@@ -574,7 +578,12 @@ var NMDeviceModem = class extends NMConnectionDevice {
     }
 
     _autoConnect() {
-        launchSettingsPanel('network', 'connect-3g', this._device.get_path());
+        // wwan panel doesn't support CDMA_EVDO modems
+        if (this._mobileDevice &&
+            this._device.current_capabilities & (NM.DeviceModemCapabilities.GSM_UMTS | 
NM.DeviceModemCapabilities.LTE))
+            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]