network: request that nm-applet show the mobile broadband wizard
Use nm-applet 0.8.999 API to call the mobile broadband wizard and activate the new connection. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=649318
This commit is contained in:
parent
ae0652d13f
commit
5090a4ccce
@ -53,7 +53,8 @@ const NMAppletHelperInterface = {
|
|||||||
methods: [
|
methods: [
|
||||||
{ name: 'ConnectToHiddenNetwork', inSignature: '', outSignature: '' },
|
{ name: 'ConnectToHiddenNetwork', inSignature: '', outSignature: '' },
|
||||||
{ name: 'CreateWifiNetwork', inSignature: '', outSignature: '' },
|
{ name: 'CreateWifiNetwork', inSignature: '', outSignature: '' },
|
||||||
{ name: 'ConnectTo8021xNetwork', inSignature: 'oo', outSignature: '' }
|
{ name: 'ConnectTo8021xNetwork', inSignature: 'oo', outSignature: '' },
|
||||||
|
{ name: 'ConnectTo3gNetwork', inSignature: 'o', outSignature: '' }
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
const NMAppletProxy = DBus.makeProxyClass(NMAppletHelperInterface);
|
const NMAppletProxy = DBus.makeProxyClass(NMAppletHelperInterface);
|
||||||
@ -440,6 +441,7 @@ NMDevice.prototype = {
|
|||||||
this._client.activate_connection(this._connections[0].connection, this.device, null, null);
|
this._client.activate_connection(this._connections[0].connection, this.device, null, null);
|
||||||
} else if (this._autoConnectionName) {
|
} else if (this._autoConnectionName) {
|
||||||
let connection = this._createAutomaticConnection();
|
let connection = this._createAutomaticConnection();
|
||||||
|
if (connection)
|
||||||
this._client.add_and_activate_connection(connection, this.device, null, null);
|
this._client.add_and_activate_connection(connection, this.device, null, null);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -620,6 +622,7 @@ NMDevice.prototype = {
|
|||||||
this._autoConnectionItem = new PopupMenu.PopupMenuItem(this._autoConnectionName);
|
this._autoConnectionItem = new PopupMenu.PopupMenuItem(this._autoConnectionName);
|
||||||
this._autoConnectionItem.connect('activate', Lang.bind(this, function() {
|
this._autoConnectionItem.connect('activate', Lang.bind(this, function() {
|
||||||
let connection = this._createAutomaticConnection();
|
let connection = this._createAutomaticConnection();
|
||||||
|
if (connection)
|
||||||
this._client.add_and_activate_connection(connection, this.device, null, null);
|
this._client.add_and_activate_connection(connection, this.device, null, null);
|
||||||
}));
|
}));
|
||||||
this.section.addMenuItem(this._autoConnectionItem);
|
this.section.addMenuItem(this._autoConnectionItem);
|
||||||
@ -777,6 +780,10 @@ NMDeviceModem.prototype = {
|
|||||||
this.mobileDevice = null;
|
this.mobileDevice = null;
|
||||||
this._connectionType = 'ppp';
|
this._connectionType = 'ppp';
|
||||||
|
|
||||||
|
this._applet_proxy = new NMAppletProxy(DBus.session,
|
||||||
|
'org.gnome.network_manager_applet',
|
||||||
|
'/org/gnome/network_manager_applet');
|
||||||
|
|
||||||
this._capabilities = device.current_capabilities;
|
this._capabilities = device.current_capabilities;
|
||||||
if (this._capabilities & NetworkManager.DeviceModemCapabilities.GSM_UMTS) {
|
if (this._capabilities & NetworkManager.DeviceModemCapabilities.GSM_UMTS) {
|
||||||
is_wwan = true;
|
is_wwan = true;
|
||||||
@ -878,19 +885,13 @@ NMDeviceModem.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_createAutomaticConnection: function() {
|
_createAutomaticConnection: function() {
|
||||||
// FIXME: we need to summon the mobile wizard here
|
// Mobile wizard is handled by nm-applet for now...
|
||||||
// or NM will not have the necessary parameters to complete the connection
|
this._applet_proxy.ConnectTo3gNetworkRemote(this.device.get_path(),
|
||||||
// pending a DBus method on nm-applet
|
Lang.bind(this, function(results, err) {
|
||||||
|
if (err)
|
||||||
let connection = new NetworkManager.Connection;
|
log(err);
|
||||||
connection._uuid = NetworkManager.utils_uuid_generate();
|
|
||||||
connection.add_setting(new NetworkManager.SettingConnection({
|
|
||||||
uuid: connection._uuid,
|
|
||||||
id: this._autoConnectionName,
|
|
||||||
type: this._connectionType,
|
|
||||||
autoconnect: false
|
|
||||||
}));
|
}));
|
||||||
return connection;
|
return null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user