guibuilder_pel7x64builder0
6 years ago
3 changed files with 928 additions and 23 deletions
@ -0,0 +1,912 @@
@@ -0,0 +1,912 @@
|
||||
From f411d70b9fdd33bfc88d4fa458af2670e6350ae7 Mon Sep 17 00:00:00 2001 |
||||
From: Lubomir Rintel <lkundrak@v3.sk> |
||||
Date: Fri, 6 Jul 2018 09:38:56 +0100 |
||||
Subject: [PATCH 1/4] Network applet: Port to libnm |
||||
|
||||
--- |
||||
configure.ac | 2 +- |
||||
.../applets/network@cinnamon.org/applet.js | 293 ++++++++++----------- |
||||
js/misc/modemManager.js | 4 +- |
||||
src/Makefile.am | 2 +- |
||||
4 files changed, 139 insertions(+), 162 deletions(-) |
||||
|
||||
diff --git a/configure.ac b/configure.ac |
||||
index c8f251911..ade112733 100644 |
||||
--- a/configure.ac |
||||
+++ b/configure.ac |
||||
@@ -77,7 +77,7 @@ PKG_CHECK_MODULES(CINNAMON, gio-2.0 >= $GIO_MIN_VERSION |
||||
libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_MIN_VERSION |
||||
gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION |
||||
polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes |
||||
- libnm-glib libnm-util atk-bridge-2.0) |
||||
+ libnm atk-bridge-2.0) |
||||
|
||||
PKG_CHECK_MODULES(CINNAMON_PERF_HELPER, gtk+-3.0 gio-2.0) |
||||
|
||||
diff --git a/files/usr/share/cinnamon/applets/network@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/network@cinnamon.org/applet.js |
||||
index ddea51a36..c6c63646d 100644 |
||||
--- a/files/usr/share/cinnamon/applets/network@cinnamon.org/applet.js |
||||
+++ b/files/usr/share/cinnamon/applets/network@cinnamon.org/applet.js |
||||
@@ -2,8 +2,7 @@ const Applet = imports.ui.applet; |
||||
const GLib = imports.gi.GLib; |
||||
const GObject = imports.gi.GObject; |
||||
const Lang = imports.lang; |
||||
-const NetworkManager = imports.gi.NetworkManager; |
||||
-const NMClient = imports.gi.NMClient; |
||||
+const NM = imports.gi.NM; |
||||
const Signals = imports.signals; |
||||
const St = imports.gi.St; |
||||
const Mainloop = imports.mainloop; |
||||
@@ -35,26 +34,14 @@ const NMAccessPointSecurity = { |
||||
}; |
||||
|
||||
// small optimization, to avoid using [] all the time |
||||
-const NM80211Mode = NetworkManager['80211Mode']; |
||||
-const NM80211ApFlags = NetworkManager['80211ApFlags']; |
||||
-const NM80211ApSecurityFlags = NetworkManager['80211ApSecurityFlags']; |
||||
+const NM80211Mode = NM['80211Mode']; |
||||
+const NM80211ApFlags = NM['80211ApFlags']; |
||||
+const NM80211ApSecurityFlags = NM['80211ApSecurityFlags']; |
||||
|
||||
// number of wireless networks that should be visible |
||||
// (the remaining are placed into More...) |
||||
const NUM_VISIBLE_NETWORKS = 5; |
||||
|
||||
-function ssidCompare(one, two) { |
||||
- if (!one || !two) |
||||
- return false; |
||||
- if (one.length != two.length) |
||||
- return false; |
||||
- for (let i = 0; i < one.length; i++) { |
||||
- if (one[i] != two[i]) |
||||
- return false; |
||||
- } |
||||
- return true; |
||||
-} |
||||
- |
||||
// shared between NMNetworkMenuItem and NMDeviceWWAN |
||||
function signalToIcon(value) { |
||||
if (value > 80) |
||||
@@ -76,7 +63,7 @@ function sortAccessPoints(accessPoints) { |
||||
} |
||||
|
||||
function ssidToLabel(ssid) { |
||||
- let label = NetworkManager.utils_ssid_to_utf8(ssid); |
||||
+ let label = NM.utils_ssid_to_utf8(ssid.get_data()); |
||||
if (!label) |
||||
label = _("<unknown>"); |
||||
return label; |
||||
@@ -200,8 +187,10 @@ NMWiredSectionTitleMenuItem.prototype = { |
||||
this.setToggleState(device.connected); |
||||
// if this device is not controllable, hide the switch |
||||
this._switch.actor.visible = device.controllable; |
||||
- } else |
||||
+ } else { |
||||
this.setStatus(''); |
||||
+ this._switch.actor.visible = false; |
||||
+ } |
||||
}, |
||||
|
||||
activate: function(event) { |
||||
@@ -386,7 +375,7 @@ NMDevice.prototype = { |
||||
}, |
||||
|
||||
deactivate: function() { |
||||
- this.device.disconnect(function() {}); |
||||
+ this.device.disconnect_async(null, null); |
||||
}, |
||||
|
||||
activate: function() { |
||||
@@ -397,16 +386,16 @@ NMDevice.prototype = { |
||||
// pick the most recently used connection and connect to that |
||||
// or if no connections ever set, create an automatic one |
||||
if (this._connections.length > 0) { |
||||
- this._client.activate_connection(this._connections[0].connection, this.device, null, null); |
||||
+ this._client.activate_connection_async(this._connections[0].connection, this.device, null, null, null); |
||||
} else if (this._autoConnectionName) { |
||||
let connection = this._createAutomaticConnection(); |
||||
if (connection) |
||||
- this._client.add_and_activate_connection(connection, this.device, null, null); |
||||
+ this._client.add_and_activate_connection_async(connection, this.device, null, null, null); |
||||
} |
||||
}, |
||||
|
||||
get connected() { |
||||
- return this.device.state == NetworkManager.DeviceState.ACTIVATED; |
||||
+ return this.device.state == NM.DeviceState.ACTIVATED; |
||||
}, |
||||
|
||||
setActiveConnection: function(activeConnection) { |
||||
@@ -493,25 +482,25 @@ NMDevice.prototype = { |
||||
|
||||
get statusLabel(){ |
||||
switch(this.device.state) { |
||||
- case NetworkManager.DeviceState.DISCONNECTED: |
||||
- case NetworkManager.DeviceState.ACTIVATED: |
||||
+ case NM.DeviceState.DISCONNECTED: |
||||
+ case NM.DeviceState.ACTIVATED: |
||||
return null; |
||||
- case NetworkManager.DeviceState.UNMANAGED: |
||||
+ case NM.DeviceState.UNMANAGED: |
||||
/* Translators: this is for network devices that are physically present but are not |
||||
under NetworkManager's control (and thus cannot be used in the menu) */ |
||||
return _("unmanaged"); |
||||
- case NetworkManager.DeviceState.DEACTIVATING: |
||||
+ case NM.DeviceState.DEACTIVATING: |
||||
return _("disconnecting..."); |
||||
- case NetworkManager.DeviceState.PREPARE: |
||||
- case NetworkManager.DeviceState.CONFIG: |
||||
- case NetworkManager.DeviceState.IP_CONFIG: |
||||
- case NetworkManager.DeviceState.IP_CHECK: |
||||
- case NetworkManager.DeviceState.SECONDARIES: |
||||
+ case NM.DeviceState.PREPARE: |
||||
+ case NM.DeviceState.CONFIG: |
||||
+ case NM.DeviceState.IP_CONFIG: |
||||
+ case NM.DeviceState.IP_CHECK: |
||||
+ case NM.DeviceState.SECONDARIES: |
||||
return _("connecting..."); |
||||
- case NetworkManager.DeviceState.NEED_AUTH: |
||||
+ case NM.DeviceState.NEED_AUTH: |
||||
/* Translators: this is for network connections that require some kind of key or password */ |
||||
return _("authentication required"); |
||||
- case NetworkManager.DeviceState.UNAVAILABLE: |
||||
+ case NM.DeviceState.UNAVAILABLE: |
||||
// This state is actually a compound of various states (generically unavailable, |
||||
// firmware missing, carrier not available), that are exposed by different properties |
||||
// (whose state may or may not updated when we receive state-changed). |
||||
@@ -522,7 +511,7 @@ NMDevice.prototype = { |
||||
module, which is missing */ |
||||
return _("firmware missing"); |
||||
} |
||||
- if (this.device.capabilities & NetworkManager.DeviceCapabilities.CARRIER_DETECT) { |
||||
+ if (this.device.capabilities & NM.DeviceCapabilities.CARRIER_DETECT) { |
||||
if (!this._carrierChangedId) |
||||
this._carrierChangedId = this.device.connect('notify::carrier', Lang.bind(this, this._substateChanged)); |
||||
if (!this.carrier) { |
||||
@@ -533,7 +522,7 @@ NMDevice.prototype = { |
||||
/* Translators: this is for a network device that cannot be activated (for example it |
||||
is disabled by rfkill, or it has no coverage */ |
||||
return _("unavailable"); |
||||
- case NetworkManager.DeviceState.FAILED: |
||||
+ case NM.DeviceState.FAILED: |
||||
return _("connection failed"); |
||||
default: |
||||
log('Device state invalid, is %d'.format(this.device.state)); |
||||
@@ -543,7 +532,7 @@ NMDevice.prototype = { |
||||
|
||||
get controllable(){ |
||||
// controllable for every state except unavailable or unmanaged |
||||
- if(this.device.state === NetworkManager.DeviceState.UNAVAILABLE || this.device.state === NetworkManager.DeviceState.UNMANAGED) |
||||
+ if(this.device.state === NM.DeviceState.UNAVAILABLE || this.device.state === NM.DeviceState.UNMANAGED) |
||||
return false; |
||||
|
||||
return true; |
||||
@@ -575,7 +564,7 @@ NMDevice.prototype = { |
||||
}, |
||||
|
||||
_shouldShowConnectionList: function() { |
||||
- return (this.device.state >= NetworkManager.DeviceState.DISCONNECTED); |
||||
+ return (this.device.state >= NM.DeviceState.DISCONNECTED); |
||||
}, |
||||
|
||||
_createSection: function() { |
||||
@@ -592,7 +581,7 @@ NMDevice.prototype = { |
||||
for(let j = 0; j < this._connections.length; ++j) { |
||||
let obj = this._connections[j]; |
||||
if (this._activeConnection && |
||||
- obj.connection == this._activeConnection._connection) |
||||
+ obj.connection == this._activeConnection.connection) |
||||
continue; |
||||
obj.item = this._createConnectionItem(obj); |
||||
|
||||
@@ -610,7 +599,7 @@ NMDevice.prototype = { |
||||
this._autoConnectionItem.connect('activate', Lang.bind(this, function() { |
||||
let connection = this._createAutomaticConnection(); |
||||
if (connection) |
||||
- this._client.add_and_activate_connection(connection, this.device, null, null); |
||||
+ this._client.add_and_activate_connection_async(connection, this.device, null, null, null); |
||||
})); |
||||
this.section.addMenuItem(this._autoConnectionItem); |
||||
} |
||||
@@ -621,14 +610,14 @@ NMDevice.prototype = { |
||||
let item = new PopupMenu.PopupMenuItem(obj.name); |
||||
|
||||
item.connect('activate', Lang.bind(this, function() { |
||||
- this._client.activate_connection(connection, this.device, null, null); |
||||
+ this._client.activate_connection_async(connection, this.device, null, null, null); |
||||
})); |
||||
return item; |
||||
}, |
||||
|
||||
_createActiveConnectionItem: function() { |
||||
let title; |
||||
- let active = this._activeConnection._connection; |
||||
+ let active = this._activeConnection.connection; |
||||
if (active) { |
||||
title = active._name; |
||||
} else { |
||||
@@ -646,11 +635,11 @@ NMDevice.prototype = { |
||||
return; |
||||
} |
||||
|
||||
- if (oldstate == NetworkManager.DeviceState.ACTIVATED) { |
||||
+ if (oldstate == NM.DeviceState.ACTIVATED) { |
||||
this.emit('network-lost'); |
||||
} |
||||
|
||||
- if (newstate == NetworkManager.DeviceState.FAILED) { |
||||
+ if (newstate == NM.DeviceState.FAILED) { |
||||
this.emit('activation-failed', reason); |
||||
} |
||||
|
||||
@@ -694,10 +683,10 @@ NMDevice.prototype = { |
||||
} |
||||
else { |
||||
switch (this.device.get_device_type()) { |
||||
- case NetworkManager.DeviceType.ETHERNET: return _("Ethernet"); |
||||
- case NetworkManager.DeviceType.WIFI: return _("Wifi"); |
||||
- case NetworkManager.DeviceType.MODEM: return _("Modem"); |
||||
- case NetworkManager.DeviceType.BT: return _("Bluetooth"); |
||||
+ case NM.DeviceType.ETHERNET: return _("Ethernet"); |
||||
+ case NM.DeviceType.WIFI: return _("Wifi"); |
||||
+ case NM.DeviceType.MODEM: return _("Modem"); |
||||
+ case NM.DeviceType.BT: return _("Bluetooth"); |
||||
default: return ""; |
||||
} |
||||
} |
||||
@@ -748,13 +737,13 @@ NMDeviceWired.prototype = { |
||||
}, |
||||
|
||||
_createAutomaticConnection: function() { |
||||
- let connection = new NetworkManager.Connection(); |
||||
- connection._uuid = NetworkManager.utils_uuid_generate(); |
||||
- connection.add_setting(new NetworkManager.SettingWired()); |
||||
- connection.add_setting(new NetworkManager.SettingConnection({ |
||||
+ let connection = new NM.SimpleConnection(); |
||||
+ connection._uuid = NM.utils_uuid_generate(); |
||||
+ connection.add_setting(new NM.SettingWired()); |
||||
+ connection.add_setting(new NM.SettingConnection({ |
||||
uuid: connection._uuid, |
||||
id: this._autoConnectionName, |
||||
- type: NetworkManager.SETTING_WIRED_SETTING_NAME, |
||||
+ type: NM.SETTING_WIRED_SETTING_NAME, |
||||
autoconnect: true |
||||
})); |
||||
return connection; |
||||
@@ -781,26 +770,26 @@ NMDeviceModem.prototype = { |
||||
try { |
||||
is_wwan = true; |
||||
this.mobileDevice = new ModemManager.BroadbandModem(device.udi, device.current_capabilities); |
||||
- if (this._capabilities & NetworkManager.DeviceModemCapabilities.GSM_UMTS) { |
||||
- this._connectionType = NetworkManager.SETTING_GSM_SETTING_NAME; |
||||
- } else if (this._capabilities & NetworkManager.DeviceModemCapabilities.LTE) { |
||||
- this._connectionType = NetworkManager.SETTING_GSM_SETTING_NAME; |
||||
- } else if (this._capabilities & NetworkManager.DeviceModemCapabilities.CDMA_EVDO) { |
||||
- this._connectionType = NetworkManager.SETTING_CDMA_SETTING_NAME; |
||||
+ if (this._capabilities & NM.DeviceModemCapabilities.GSM_UMTS) { |
||||
+ this._connectionType = NM.SETTING_GSM_SETTING_NAME; |
||||
+ } else if (this._capabilities & NM.DeviceModemCapabilities.LTE) { |
||||
+ this._connectionType = NM.SETTING_GSM_SETTING_NAME; |
||||
+ } else if (this._capabilities & NM.DeviceModemCapabilities.CDMA_EVDO) { |
||||
+ this._connectionType = NM.SETTING_CDMA_SETTING_NAME; |
||||
} |
||||
} |
||||
catch (e){ |
||||
global.logError(e); |
||||
} |
||||
- } else if (this._capabilities & NetworkManager.DeviceModemCapabilities.GSM_UMTS) { |
||||
+ } else if (this._capabilities & NM.DeviceModemCapabilities.GSM_UMTS) { |
||||
is_wwan = true; |
||||
this.mobileDevice = new ModemManager.ModemGsm(device.udi); |
||||
- this._connectionType = NetworkManager.SETTING_GSM_SETTING_NAME; |
||||
- } else if (this._capabilities & NetworkManager.DeviceModemCapabilities.CDMA_EVDO) { |
||||
+ this._connectionType = NM.SETTING_GSM_SETTING_NAME; |
||||
+ } else if (this._capabilities & NM.DeviceModemCapabilities.CDMA_EVDO) { |
||||
is_wwan = true; |
||||
this.mobileDevice = new ModemManager.ModemCdma(device.udi); |
||||
- this._connectionType = NetworkManager.SETTING_CDMA_SETTING_NAME; |
||||
- } else if (this._capabilities & NetworkManager.DeviceModemCapabilities.LTE) { |
||||
+ this._connectionType = NM.SETTING_CDMA_SETTING_NAME; |
||||
+ } else if (this._capabilities & NM.DeviceModemCapabilities.LTE) { |
||||
is_wwan = true; |
||||
// FIXME: support signal quality |
||||
} |
||||
@@ -848,7 +837,7 @@ NMDeviceModem.prototype = { |
||||
}, |
||||
|
||||
get connected() { |
||||
- return this._enabled && this.device.state == NetworkManager.DeviceState.ACTIVATED; |
||||
+ return this._enabled && this.device.state == NM.DeviceState.ACTIVATED; |
||||
}, |
||||
|
||||
destroy: function() { |
||||
@@ -917,13 +906,13 @@ NMDeviceBluetooth.prototype = { |
||||
}, |
||||
|
||||
_createAutomaticConnection: function() { |
||||
- let connection = new NetworkManager.Connection(); |
||||
- connection._uuid = NetworkManager.utils_uuid_generate(); |
||||
- connection.add_setting(new NetworkManager.SettingBluetooth()); |
||||
- connection.add_setting(new NetworkManager.SettingConnection({ |
||||
+ let connection = new NM.SimpleConnection(); |
||||
+ connection._uuid = NM.utils_uuid_generate(); |
||||
+ connection.add_setting(new NM.SettingBluetooth()); |
||||
+ connection.add_setting(new NM.SettingConnection({ |
||||
uuid: connection._uuid, |
||||
id: this._autoConnectionName, |
||||
- type: NetworkManager.SETTING_BLUETOOTH_SETTING_NAME, |
||||
+ type: NM.SETTING_BLUETOOTH_SETTING_NAME, |
||||
autoconnect: false |
||||
})); |
||||
return connection; |
||||
@@ -963,7 +952,7 @@ NMDeviceVPN.prototype = { |
||||
}, |
||||
|
||||
connectionValid: function(connection) { |
||||
- return connection._type == NetworkManager.SETTING_VPN_SETTING_NAME; |
||||
+ return connection._type == NM.SETTING_VPN_SETTING_NAME; |
||||
}, |
||||
|
||||
get empty() { |
||||
@@ -986,7 +975,7 @@ NMDeviceVPN.prototype = { |
||||
|
||||
deactivate: function() { |
||||
if (this._activeConnection) |
||||
- this._client.deactivate_connection(this._activeConnection); |
||||
+ this._client.deactivate_connection(this._activeConnection, null); |
||||
}, |
||||
|
||||
statusLabel: null, |
||||
@@ -1128,7 +1117,7 @@ NMDeviceWireless.prototype = { |
||||
for (let i = 0; i < bestApObj.accessPoints.length; i++) { |
||||
let ap = bestApObj.accessPoints[i]; |
||||
if (ap.connection_valid(best)) { |
||||
- this._client.activate_connection(best, this.device, ap.dbus_path, null); |
||||
+ this._client.activate_connection_async(best, this.device, ap.path, null, null); |
||||
break; |
||||
} |
||||
} |
||||
@@ -1142,7 +1131,7 @@ NMDeviceWireless.prototype = { |
||||
if (this._networks.length > 0) { |
||||
let connection = this._createAutomaticConnection(this._networks[0]); |
||||
let accessPoints = sortAccessPoints(this._networks[0].accessPoints); |
||||
- this._client.add_and_activate_connection(connection, this.device, accessPoints[0].dbus_path, null); |
||||
+ this._client.add_and_activate_connection_async(connection, this.device, accessPoints[0].path, null, null); |
||||
} |
||||
}, |
||||
|
||||
@@ -1229,7 +1218,7 @@ NMDeviceWireless.prototype = { |
||||
}, |
||||
|
||||
_networkCompare: function(network, accessPoint) { |
||||
- if (!ssidCompare(network.ssid, accessPoint.get_ssid())) |
||||
+ if (!network.ssid.equal (accessPoint.get_ssid())) |
||||
return false; |
||||
if (network.mode != accessPoint.mode) |
||||
return false; |
||||
@@ -1396,7 +1385,7 @@ NMDeviceWireless.prototype = { |
||||
let accessPoints = sortAccessPoints(accessPointObj.accessPoints); |
||||
for (let i = 0; i < accessPoints.length; i++) { |
||||
if (accessPoints[i].connection_valid(connection)) { |
||||
- this._client.activate_connection(connection, this.device, accessPoints[i].dbus_path, null); |
||||
+ this._client.activate_connection_async(connection, this.device, accessPoints[i].path, null, null); |
||||
break; |
||||
} |
||||
} |
||||
@@ -1503,8 +1492,7 @@ NMDeviceWireless.prototype = { |
||||
}, |
||||
|
||||
_createActiveConnectionItem: function() { |
||||
- if (this._activeConnection._connection) { |
||||
- let connection = this._activeConnection._connection; |
||||
+ if (this._activeConnection.connection) { |
||||
if (!this._activeNetwork) { |
||||
if (this.device.active_access_point) { |
||||
let networkPos = this._findNetwork(this.device.active_access_point); |
||||
@@ -1520,7 +1508,7 @@ NMDeviceWireless.prototype = { |
||||
if (this._activeNetwork) |
||||
this._activeConnectionItem = new NMNetworkMenuItem(this._activeNetwork.accessPoints, undefined, { reactive: false }); |
||||
else |
||||
- this._activeConnectionItem = new PopupMenu.PopupImageMenuItem(connection._name, 'network-wireless-connected', { reactive: false }); |
||||
+ this._activeConnectionItem = new PopupMenu.PopupImageMenuItem(this._activeConnection.connection._name, 'network-wireless-connected', { reactive: false }); |
||||
} else { |
||||
// We cannot read the connection (due to ACL, or API incompatibility), but we still show signal if we have it |
||||
if (this._activeNetwork) |
||||
@@ -1536,25 +1524,26 @@ NMDeviceWireless.prototype = { |
||||
|
||||
_createAutomaticConnection: function(apObj) { |
||||
let name; |
||||
- let ssid = NetworkManager.utils_ssid_to_utf8(apObj.ssid); |
||||
+ let ssid = NM.utils_ssid_to_utf8(apObj.ssid.get_data()); |
||||
if (ssid) { |
||||
/* TRANSLATORS: this the automatic wireless connection name (including the network name) */ |
||||
name = _("Auto %s").format(ssid); |
||||
} else |
||||
name = _("Auto wireless"); |
||||
|
||||
- let connection = new NetworkManager.Connection(); |
||||
- connection.add_setting(new NetworkManager.SettingWireless()); |
||||
- connection.add_setting(new NetworkManager.SettingConnection({ |
||||
+ let connection = new NM.SimpleConnection(); |
||||
+ connection.add_setting(new NM.SettingWireless()); |
||||
+ connection.add_setting(new NM.SettingConnection({ |
||||
id: name, |
||||
autoconnect: true, // NetworkManager will know to ignore this if appropriate |
||||
- uuid: NetworkManager.utils_uuid_generate(), |
||||
- type: NetworkManager.SETTING_WIRELESS_SETTING_NAME |
||||
+ uuid: NM.utils_uuid_generate(), |
||||
+ type: NM.SETTING_WIRELESS_SETTING_NAME |
||||
})); |
||||
return connection; |
||||
}, |
||||
|
||||
_createNetworkItem: function(apObj, position) { |
||||
+ |
||||
if(!apObj.accessPoints || apObj.accessPoints.length == 0) { |
||||
// this should not happen, but I have no idea why it happens |
||||
return; |
||||
@@ -1578,10 +1567,10 @@ NMDeviceWireless.prototype = { |
||||
// 802.1x-enabled APs require further configuration, so they're |
||||
// handled in cinnamon-settings |
||||
Util.spawn(['cinnamon-settings', 'network', 'connect-8021x-wifi', |
||||
- this.device.get_path(), accessPoints[0].dbus_path]); |
||||
+ this.device.get_path(), accessPoints[0].path]); |
||||
} else { |
||||
let connection = this._createAutomaticConnection(apObj); |
||||
- this._client.add_and_activate_connection(connection, this.device, accessPoints[0].dbus_path, null); |
||||
+ this._client.add_and_activate_connection_async(connection, this.device, accessPoints[0].path, null, null); |
||||
} |
||||
})); |
||||
} |
||||
@@ -1684,7 +1673,16 @@ CinnamonNetworkApplet.prototype = { |
||||
this._currentIconName = undefined; |
||||
this._setIcon('network-offline'); |
||||
|
||||
- this._client = NMClient.Client.new(); |
||||
+ NM.Client.new_async(null, Lang.bind(this, this._clientGot)); |
||||
+ } |
||||
+ catch (e) { |
||||
+ global.logError(e); |
||||
+ } |
||||
+ }, |
||||
+ |
||||
+ _clientGot: function(obj, result) { |
||||
+ try { |
||||
+ this._client = NM.Client.new_finish(result); |
||||
|
||||
this._statusSection = new PopupMenu.PopupMenuSection(); |
||||
this._statusItem = new PopupMenu.PopupMenuItem('', { style_class: 'popup-inactive-menu-item', reactive: false }); |
||||
@@ -1750,7 +1748,7 @@ CinnamonNetworkApplet.prototype = { |
||||
let devices = this._devices.wireless.devices; |
||||
|
||||
for (let i = 0; i < devices.length; i++) { |
||||
- devices[i].device.request_scan_simple(null); |
||||
+ devices[i].device.request_scan(null); |
||||
} |
||||
})); |
||||
|
||||
@@ -1773,42 +1771,36 @@ CinnamonNetworkApplet.prototype = { |
||||
|
||||
// Device types |
||||
this._dtypes = { }; |
||||
- this._dtypes[NetworkManager.DeviceType.ETHERNET] = NMDeviceWired; |
||||
- this._dtypes[NetworkManager.DeviceType.WIFI] = NMDeviceWireless; |
||||
- this._dtypes[NetworkManager.DeviceType.MODEM] = NMDeviceModem; |
||||
- this._dtypes[NetworkManager.DeviceType.BT] = NMDeviceBluetooth; |
||||
- // TODO: WiMax support |
||||
+ this._dtypes[NM.DeviceType.ETHERNET] = NMDeviceWired; |
||||
+ this._dtypes[NM.DeviceType.WIFI] = NMDeviceWireless; |
||||
+ this._dtypes[NM.DeviceType.MODEM] = NMDeviceModem; |
||||
+ this._dtypes[NM.DeviceType.BT] = NMDeviceBluetooth; |
||||
|
||||
// Connection types |
||||
this._ctypes = { }; |
||||
- this._ctypes[NetworkManager.SETTING_WIRELESS_SETTING_NAME] = NMConnectionCategory.WIRELESS; |
||||
- this._ctypes[NetworkManager.SETTING_WIRED_SETTING_NAME] = NMConnectionCategory.WIRED; |
||||
- this._ctypes[NetworkManager.SETTING_PPPOE_SETTING_NAME] = NMConnectionCategory.WIRED; |
||||
- this._ctypes[NetworkManager.SETTING_PPP_SETTING_NAME] = NMConnectionCategory.WIRED; |
||||
- this._ctypes[NetworkManager.SETTING_BLUETOOTH_SETTING_NAME] = NMConnectionCategory.WWAN; |
||||
- this._ctypes[NetworkManager.SETTING_CDMA_SETTING_NAME] = NMConnectionCategory.WWAN; |
||||
- this._ctypes[NetworkManager.SETTING_GSM_SETTING_NAME] = NMConnectionCategory.WWAN; |
||||
- this._ctypes[NetworkManager.SETTING_VPN_SETTING_NAME] = NMConnectionCategory.VPN; |
||||
- |
||||
- this._settings = NMClient.RemoteSettings.new(null); |
||||
- this._connectionsReadId = this._settings.connect('connections-read', Lang.bind(this, function() { |
||||
- this._readConnections(); |
||||
- this._readDevices(); |
||||
- this._syncNMState(); |
||||
- |
||||
- // Connect to signals late so that early signals don't find in inconsistent state |
||||
- // and connect only once (this signal handler can be called again if NetworkManager goes up and down) |
||||
- if (!this._inited) { |
||||
- this._inited = true; |
||||
- this._client.connect('notify::manager-running', Lang.bind(this, this._syncNMState)); |
||||
- this._client.connect('notify::networking-enabled', Lang.bind(this, this._syncNMState)); |
||||
- this._client.connect('notify::state', Lang.bind(this, this._syncNMState)); |
||||
- this._client.connect('notify::active-connections', Lang.bind(this, this._updateIcon)); |
||||
- this._client.connect('device-added', Lang.bind(this, this._deviceAdded)); |
||||
- this._client.connect('device-removed', Lang.bind(this, this._deviceRemoved)); |
||||
- this._settings.connect('new-connection', Lang.bind(this, this._newConnection)); |
||||
- } |
||||
- })); |
||||
+ this._ctypes[NM.SETTING_WIRELESS_SETTING_NAME] = NMConnectionCategory.WIRELESS; |
||||
+ this._ctypes[NM.SETTING_WIRED_SETTING_NAME] = NMConnectionCategory.WIRED; |
||||
+ this._ctypes[NM.SETTING_PPPOE_SETTING_NAME] = NMConnectionCategory.WIRED; |
||||
+ this._ctypes[NM.SETTING_PPP_SETTING_NAME] = NMConnectionCategory.WIRED; |
||||
+ this._ctypes[NM.SETTING_BLUETOOTH_SETTING_NAME] = NMConnectionCategory.WWAN; |
||||
+ this._ctypes[NM.SETTING_CDMA_SETTING_NAME] = NMConnectionCategory.WWAN; |
||||
+ this._ctypes[NM.SETTING_GSM_SETTING_NAME] = NMConnectionCategory.WWAN; |
||||
+ this._ctypes[NM.SETTING_VPN_SETTING_NAME] = NMConnectionCategory.VPN; |
||||
+ |
||||
+ this._readConnections(); |
||||
+ this._readDevices(); |
||||
+ this._syncNMState(); |
||||
+ |
||||
+ this._client.connect('notify::nm-running', Lang.bind(this, this._syncNMState)); |
||||
+ this._client.connect('notify::networking-enabled', Lang.bind(this, this._syncNMState)); |
||||
+ this._client.connect('notify::state', Lang.bind(this, this._syncNMState)); |
||||
+ this._client.connect('notify::active-connections', Lang.bind(this, this._updateIcon)); |
||||
+ this._client.connect('device-added', Lang.bind(this, this._deviceAdded)); |
||||
+ this._client.connect('device-removed', Lang.bind(this, this._deviceRemoved)); |
||||
+ this._client.connect('connection-added', Lang.bind(this, this._connectionAdded)); |
||||
+ this._client.connect('connection-removed', Lang.bind(this, this._connectionRemoved)); |
||||
+ |
||||
+ this._inited = true; |
||||
|
||||
this._periodicUpdateIcon(); |
||||
|
||||
@@ -1951,7 +1943,7 @@ CinnamonNetworkApplet.prototype = { |
||||
|
||||
this._syncSectionTitle(wrapper.category); |
||||
} else |
||||
- log('Invalid network device type, is ' + device.get_device_type()); |
||||
+ log('Unknown network device type, is ' + device.get_device_type()); |
||||
}, |
||||
|
||||
_deviceRemoved: function(client, device) { |
||||
@@ -2009,24 +2001,12 @@ CinnamonNetworkApplet.prototype = { |
||||
a._inited = true; |
||||
} |
||||
|
||||
- if (!a._connection) { |
||||
- a._connection = this._settings.get_connection_by_path(a.connection); |
||||
- |
||||
- if (a._connection) { |
||||
- a._type = a._connection._type; |
||||
- a._section = this._ctypes[a._type]; |
||||
- if (a._errorLogged) { |
||||
- log('network applet: Found connection for active'); |
||||
- a._errorLogged = false; |
||||
- } |
||||
- } else { |
||||
- a._connection = null; |
||||
- a._type = null; |
||||
- a._section = null; |
||||
- if (!a._errorLogged) { |
||||
- a._errorLogged = true; |
||||
- log('network applet: Cannot find connection for active (or connection cannot be read)'); |
||||
- } |
||||
+ if (!a._type) { |
||||
+ a._type = a.connection._type; |
||||
+ a._section = this._ctypes[a._type]; |
||||
+ if (a._errorLogged) { |
||||
+ log('network applet: Found connection for active'); |
||||
+ a._errorLogged = false; |
||||
} |
||||
} |
||||
|
||||
@@ -2036,7 +2016,7 @@ CinnamonNetworkApplet.prototype = { |
||||
continue; |
||||
} |
||||
|
||||
- if (a.state == NetworkManager.ActiveConnectionState.ACTIVATED) { |
||||
+ if (a.state == NM.ActiveConnectionState.ACTIVATED) { |
||||
if (!default_ip4) { |
||||
// We didn't find the default IPV4 device yet.. |
||||
if (!default_ip6) { |
||||
@@ -2051,7 +2031,7 @@ CinnamonNetworkApplet.prototype = { |
||||
} |
||||
} |
||||
} |
||||
- if (a.state == NetworkManager.ActiveConnectionState.ACTIVATING) { |
||||
+ if (a.state == NM.ActiveConnectionState.ACTIVATING) { |
||||
activating = a; |
||||
} |
||||
|
||||
@@ -2063,7 +2043,7 @@ CinnamonNetworkApplet.prototype = { |
||||
} |
||||
|
||||
if (!a._primaryDevice) { |
||||
- if (a._type != NetworkManager.SETTING_VPN_SETTING_NAME) { |
||||
+ if (a._type != NM.SETTING_VPN_SETTING_NAME) { |
||||
// find a good device to be considered primary |
||||
a._primaryDevice = null; |
||||
let devices = a.get_devices() || [ ]; |
||||
@@ -2080,7 +2060,7 @@ CinnamonNetworkApplet.prototype = { |
||||
if (a._primaryDevice) |
||||
a._primaryDevice.setActiveConnection(a); |
||||
|
||||
- if (a.state == NetworkManager.ActiveConnectionState.ACTIVATED && |
||||
+ if (a.state == NM.ActiveConnectionState.ACTIVATED && |
||||
a._primaryDevice && a._primaryDevice._notification) { |
||||
a._primaryDevice._notification.destroy(); |
||||
a._primaryDevice._notification = null; |
||||
@@ -2092,7 +2072,7 @@ CinnamonNetworkApplet.prototype = { |
||||
}, |
||||
|
||||
_notifyActivated: function(activeConnection) { |
||||
- if (activeConnection.state == NetworkManager.ActiveConnectionState.ACTIVATED && |
||||
+ if (activeConnection.state == NM.ActiveConnectionState.ACTIVATED && |
||||
activeConnection._primaryDevice && activeConnection._primaryDevice._notification) { |
||||
activeConnection._primaryDevice._notification.destroy(); |
||||
activeConnection._primaryDevice._notification = null; |
||||
@@ -2102,29 +2082,27 @@ CinnamonNetworkApplet.prototype = { |
||||
}, |
||||
|
||||
_readConnections: function() { |
||||
- let connections = this._settings.list_connections(); |
||||
+ let connections = this._client.get_connections(); |
||||
for (let i = 0; i < connections.length; i++) { |
||||
let connection = connections[i]; |
||||
if (connection._uuid) { |
||||
// connection was already seen (for example because NetworkManager was restarted) |
||||
continue; |
||||
} |
||||
- connection._removedId = connection.connect('removed', Lang.bind(this, this._connectionRemoved)); |
||||
- connection._updatedId = connection.connect('updated', Lang.bind(this, this._updateConnection)); |
||||
+ connection._updatedId = connection.connect('changed', Lang.bind(this, this._updateConnection)); |
||||
|
||||
this._updateConnection(connection); |
||||
this._connections.push(connection); |
||||
} |
||||
}, |
||||
|
||||
- _newConnection: function(settings, connection) { |
||||
+ _connectionAdded: function(client, connection) { |
||||
if (connection._uuid) { |
||||
// connection was already seen |
||||
return; |
||||
} |
||||
|
||||
- connection._removedId = connection.connect('removed', Lang.bind(this, this._connectionRemoved)); |
||||
- connection._updatedId = connection.connect('updated', Lang.bind(this, this._updateConnection)); |
||||
+ connection._updatedId = connection.connect('changed', Lang.bind(this, this._updateConnection)); |
||||
|
||||
this._updateConnection(connection); |
||||
this._connections.push(connection); |
||||
@@ -2132,7 +2110,7 @@ CinnamonNetworkApplet.prototype = { |
||||
this._updateIcon(); |
||||
}, |
||||
|
||||
- _connectionRemoved: function(connection) { |
||||
+ _connectionRemoved: function(client, connection) { |
||||
let pos = this._connections.indexOf(connection); |
||||
if (pos != -1) |
||||
this._connections.splice(pos); |
||||
@@ -2150,12 +2128,11 @@ CinnamonNetworkApplet.prototype = { |
||||
} |
||||
|
||||
connection._uuid = null; |
||||
- connection.disconnect(connection._removedId); |
||||
connection.disconnect(connection._updatedId); |
||||
}, |
||||
|
||||
_updateConnection: function(connection) { |
||||
- let connectionSettings = connection.get_setting_by_name(NetworkManager.SETTING_CONNECTION_SETTING_NAME); |
||||
+ let connectionSettings = connection.get_setting_by_name(NM.SETTING_CONNECTION_SETTING_NAME); |
||||
connection._type = connectionSettings.type; |
||||
|
||||
connection._section = this._ctypes[connection._type] || NMConnectionCategory.INVALID; |
||||
@@ -2201,7 +2178,7 @@ CinnamonNetworkApplet.prototype = { |
||||
}, |
||||
|
||||
_syncNMState: function() { |
||||
- if (!this._client.manager_running) { |
||||
+ if (!this._client.nm_running) { |
||||
log('NetworkManager is not running, hiding...'); |
||||
this.menu.close(); |
||||
this.actor.hide(); |
||||
@@ -2231,7 +2208,7 @@ CinnamonNetworkApplet.prototype = { |
||||
if (!mc) { |
||||
this._setIcon('network-offline'); |
||||
this.set_applet_tooltip(_("No connection")); |
||||
- } else if (mc.state == NetworkManager.ActiveConnectionState.ACTIVATING) { |
||||
+ } else if (mc.state == NM.ActiveConnectionState.ACTIVATING) { |
||||
new_delay = FAST_PERIODIC_UPDATE_FREQUENCY_SECONDS; |
||||
switch (mc._section) { |
||||
case NMConnectionCategory.WWAN: |
||||
@@ -2273,7 +2250,7 @@ CinnamonNetworkApplet.prototype = { |
||||
this.set_applet_tooltip(_("Connected to the wireless network")); |
||||
} else { |
||||
this._setIcon('network-wireless-signal-' + signalToIcon(ap.strength)); |
||||
- this.set_applet_tooltip(_("Wireless connection") + ": " + ap.get_ssid() + " ("+ ap.strength +"%)"); |
||||
+ this.set_applet_tooltip(_("Wireless connection") + ": " + ssidToLabel(ap.get_ssid()) + " ("+ ap.strength +"%)"); |
||||
} |
||||
} else { |
||||
log('Active connection with no primary device?'); |
||||
diff --git a/js/misc/modemManager.js b/js/misc/modemManager.js |
||||
index 6f95ead2a..b7d455ff3 100644 |
||||
--- a/js/misc/modemManager.js |
||||
+++ b/js/misc/modemManager.js |
||||
@@ -2,7 +2,7 @@ |
||||
|
||||
const Gio = imports.gi.Gio; |
||||
const Lang = imports.lang; |
||||
-const NMGtk = imports.gi.NMGtk; |
||||
+const NMA = imports.gi.NMA; |
||||
const Signals = imports.signals; |
||||
|
||||
// _getMobileProvidersDatabase: |
||||
@@ -14,7 +14,7 @@ let _mpd; |
||||
function _getMobileProvidersDatabase() { |
||||
if (_mpd == null) { |
||||
try { |
||||
- _mpd = new NMGtk.MobileProvidersDatabase(); |
||||
+ _mpd = new NMA.MobileProvidersDatabase(); |
||||
_mpd.init(null); |
||||
} catch (e) { |
||||
log(e.message); |
||||
diff --git a/src/Makefile.am b/src/Makefile.am |
||||
index 9fdfe0a06..ad314d8ba 100644 |
||||
--- a/src/Makefile.am |
||||
+++ b/src/Makefile.am |
||||
@@ -222,7 +222,7 @@ libcinnamon_la_LIBADD = \ |
||||
libcinnamon_la_CPPFLAGS = $(cinnamon_cflags) |
||||
|
||||
Cinnamon-0.1.gir: libcinnamon.la St-1.0.gir |
||||
-Cinnamon_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-Muffin.0 Soup-2.4 CMenu-3.0 NetworkManager-1.0 NMClient-1.0 |
||||
+Cinnamon_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-Muffin.0 Soup-2.4 CMenu-3.0 NM-1.0 |
||||
Cinnamon_0_1_gir_CFLAGS = $(libcinnamon_la_CPPFLAGS) -I $(srcdir) |
||||
Cinnamon_0_1_gir_LIBS = libcinnamon.la |
||||
Cinnamon_0_1_gir_FILES = $(libcinnamon_la_gir_sources) |
||||
|
||||
From 7555c8d67802abc143ed27ddee190ef567837415 Mon Sep 17 00:00:00 2001 |
||||
From: ?UTF-8?q?Bj=C3=B6rn=20Esser?= <besser82@fedoraproject.org> |
||||
Date: Fri, 6 Jul 2018 09:41:10 +0100 |
||||
Subject: [PATCH 2/4] network: Support user connections |
||||
|
||||
--- |
||||
.../applets/network@cinnamon.org/applet.js | 32 +++++++++++++++++++--- |
||||
1 file changed, 28 insertions(+), 4 deletions(-) |
||||
|
||||
diff --git a/files/usr/share/cinnamon/applets/network@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/network@cinnamon.org/applet.js |
||||
index c6c63646d..ca441cd58 100644 |
||||
--- a/files/usr/share/cinnamon/applets/network@cinnamon.org/applet.js |
||||
+++ b/files/usr/share/cinnamon/applets/network@cinnamon.org/applet.js |
||||
@@ -73,6 +73,11 @@ function NMNetworkMenuItem() { |
||||
this._init.apply(this, arguments); |
||||
} |
||||
|
||||
+function default_to_private_connections(client) { |
||||
+ let perms = client.get_permission_result (NM.Client.ClientPermission.SETTINGS_MODIFY_SYSTEM); |
||||
+ return (perms != NM.Client.ClientPermissionResult.YES); |
||||
+} |
||||
+ |
||||
NMNetworkMenuItem.prototype = { |
||||
__proto__: PopupMenu.PopupBaseMenuItem.prototype, |
||||
|
||||
@@ -740,12 +745,14 @@ NMDeviceWired.prototype = { |
||||
let connection = new NM.SimpleConnection(); |
||||
connection._uuid = NM.utils_uuid_generate(); |
||||
connection.add_setting(new NM.SettingWired()); |
||||
- connection.add_setting(new NM.SettingConnection({ |
||||
+ let setting_conn = new NM.SettingConnection({ |
||||
uuid: connection._uuid, |
||||
id: this._autoConnectionName, |
||||
type: NM.SETTING_WIRED_SETTING_NAME, |
||||
autoconnect: true |
||||
- })); |
||||
+ }); |
||||
+ setting_conn.add_permission('user', GLib.get_user_name(), null); |
||||
+ connection.add_setting(setting_conn); |
||||
return connection; |
||||
} |
||||
}; |
||||
@@ -995,6 +1002,8 @@ NMDeviceWireless.prototype = { |
||||
this._overflowItem = null; |
||||
this._networks = [ ]; |
||||
|
||||
+ this._client = client; |
||||
+ |
||||
// breaking the layers with this, but cannot call |
||||
// this.connectionValid until I have a device |
||||
this.device = device; |
||||
@@ -1533,12 +1542,27 @@ NMDeviceWireless.prototype = { |
||||
|
||||
let connection = new NM.SimpleConnection(); |
||||
connection.add_setting(new NM.SettingWireless()); |
||||
- connection.add_setting(new NM.SettingConnection({ |
||||
+ let setting_conn = new NM.SettingConnection({ |
||||
id: name, |
||||
autoconnect: true, // NetworkManager will know to ignore this if appropriate |
||||
uuid: NM.utils_uuid_generate(), |
||||
type: NM.SETTING_WIRELESS_SETTING_NAME |
||||
- })); |
||||
+ }); |
||||
+ if (default_to_private_connections(this._client)) { |
||||
+ setting_conn.add_permission('user', GLib.get_user_name(), null); |
||||
+ if (apObj.security == NMAccessPointSecurity.WPA2_PSK || |
||||
+ apObj.security == NMAccessPointSecurity.WPA_PSK) { |
||||
+ connection.add_setting(new NM.SettingWirelessSecurity({ |
||||
+ psk_flags: NM.SettingSecretFlags.AGENT_OWNED |
||||
+ })); |
||||
+ } |
||||
+ if (apObj.security == NMAccessPointSecurity.WEP) { |
||||
+ connection.add_setting(new NM.SettingWirelessSecurity({ |
||||
+ wep_key_flags: NM.SettingSecretFlags.AGENT_OWNED |
||||
+ })); |
||||
+ } |
||||
+ } |
||||
+ connection.add_setting(setting_conn); |
||||
return connection; |
||||
}, |
||||
|
||||
|
||||
From fa508106d085e48b722049570ca29554e5468fba Mon Sep 17 00:00:00 2001 |
||||
From: Maximiliano Curia <maxy@gnuservers.com.ar> |
||||
Date: Fri, 6 Jul 2018 09:53:10 +0100 |
||||
Subject: [PATCH 3/4] Adjust Debian Control |
||||
|
||||
--- |
||||
debian/control | 9 +++++---- |
||||
1 file changed, 5 insertions(+), 4 deletions(-) |
||||
|
||||
diff --git a/debian/control b/debian/control |
||||
index 83f743041..a7fd7413a 100644 |
||||
--- a/debian/control |
||||
+++ b/debian/control |
||||
@@ -28,7 +28,8 @@ Build-Depends: |
||||
libgudev-1.0-dev, |
||||
libjson-glib-dev (>= 0.13.2), |
||||
libmuffin-dev (>= 3.8), |
||||
- libnm-glib-dev (>= 0.8.999), |
||||
+ libnm-dev (>= 1.6) [linux-any], |
||||
+ libnma-dev [linux-any], |
||||
libpolkit-agent-1-dev (>= 0.100), |
||||
libpulse-dev, |
||||
librsvg2-dev, |
||||
@@ -63,8 +64,8 @@ Depends: |
||||
gir1.2-gtkclutter-1.0, |
||||
gir1.2-keybinder-3.0, |
||||
gir1.2-meta-muffin-0.0 (>= ${cinnamon:Version}), |
||||
- gir1.2-networkmanager-1.0, |
||||
- gir1.2-nmgtk-1.0, |
||||
+ gir1.2-nm-1.0 [linux-any] | gir1.2-networkmanager-1.0 [linux-any], |
||||
+ gir1.2-nma-1.0 [linux-any], |
||||
gir1.2-notify-0.7, |
||||
gir1.2-polkit-1.0, |
||||
gir1.2-soup-2.4, |
||||
@@ -84,7 +85,7 @@ Depends: |
||||
mesa-utils, |
||||
metacity, |
||||
nemo (>= ${cinnamon:Version}), |
||||
- network-manager-gnome, |
||||
+ network-manager-gnome [linux-any], |
||||
policykit-1-gnome, |
||||
python3, |
||||
python3-dbus, |
||||
|
||||
From c30f921431e02a2f35e6234c5500592b46f52f4e Mon Sep 17 00:00:00 2001 |
||||
From: Leigh Scott <leigh123linux@fedoraproject.org> |
||||
Date: Sun, 22 Jul 2018 12:58:32 +0100 |
||||
Subject: [PATCH 4/4] Fix mistake |
||||
|
||||
--- |
||||
files/usr/share/cinnamon/applets/network@cinnamon.org/applet.js | 4 ++-- |
||||
1 file changed, 2 insertions(+), 2 deletions(-) |
||||
|
||||
diff --git a/files/usr/share/cinnamon/applets/network@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/network@cinnamon.org/applet.js |
||||
index ca441cd58..3d6015099 100644 |
||||
--- a/files/usr/share/cinnamon/applets/network@cinnamon.org/applet.js |
||||
+++ b/files/usr/share/cinnamon/applets/network@cinnamon.org/applet.js |
||||
@@ -74,8 +74,8 @@ function NMNetworkMenuItem() { |
||||
} |
||||
|
||||
function default_to_private_connections(client) { |
||||
- let perms = client.get_permission_result (NM.Client.ClientPermission.SETTINGS_MODIFY_SYSTEM); |
||||
- return (perms != NM.Client.ClientPermissionResult.YES); |
||||
+ let perms = client.get_permission_result (NM.ClientPermission.SETTINGS_MODIFY_SYSTEM); |
||||
+ return (perms != NM.ClientPermissionResult.YES); |
||||
} |
||||
|
||||
NMNetworkMenuItem.prototype = { |
Loading…
Reference in new issue