[gnome-shell] NetworkMenu: add VPN settings menu item
- From: Giovanni Campagna <gcampagna src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] NetworkMenu: add VPN settings menu item
- Date: Mon, 17 Feb 2014 23:17:07 +0000 (UTC)
commit 1f786df4626f316cf76b6dcf4af52418dcd2541a
Author: Giovanni Campagna <gcampagna src gnome org>
Date: Mon Feb 17 15:04:40 2014 +0100
NetworkMenu: add VPN settings menu item
Add a menu item that launches the VPN page of the network panel,
or the network panel generically if multiple VPNs are configured.
https://bugzilla.gnome.org/show_bug.cgi?id=709167
js/ui/status/network.js | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
---
diff --git a/js/ui/status/network.js b/js/ui/status/network.js
index c8d69d9..32e177e 100644
--- a/js/ui/status/network.js
+++ b/js/ui/status/network.js
@@ -9,6 +9,7 @@ const NetworkManager = imports.gi.NetworkManager;
const NMClient = imports.gi.NMClient;
const NMGtk = imports.gi.NMGtk;
const Signals = imports.signals;
+const Shell = imports.gi.Shell;
const St = imports.gi.St;
const Animation = imports.ui.animation;
@@ -1417,15 +1418,39 @@ const NMVPNSection = new Lang.Class({
_init: function(client) {
this.parent(client);
+
+ this._vpnSettings = new PopupMenu.PopupMenuItem('');
+ this.item.menu.addMenuItem(this._vpnSettings);
+ this._vpnSettings.connect('activate', Lang.bind(this, this._onSettingsActivate));
+
this._sync();
},
_sync: function() {
let nItems = this._connectionItems.size;
this.item.actor.visible = (nItems > 0);
+
+ if (nItems > 1)
+ this._vpnSettings.label.text = _("Network Settings");
+ else
+ this._vpnSettings.label.text = _("VPN Settings");
+
this.parent();
},
+ _onSettingsActivate: function() {
+ let nItems = this._connectionItems.size;
+ if (nItems > 1) {
+ let appSys = Shell.AppSystem.get_default();
+ let app = appSys.lookup_app('gnome-network-panel.desktop');
+ app.launch(0, -1);
+ } else {
+ let connection = this._connections[0];
+ Util.spawnApp(['gnome-control-center', 'network', 'show-device',
+ connection.get_path()]);
+ }
+ },
+
_getDescription: function() {
return _("VPN");
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]