Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/rpms/sugar/0080-au-911-au-1074-Add-launcher-for-nm-connection-editor.patch
blob: 1ba3f5e91712fb8aabaaccc9f0d487cbbe9d0ae2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
From 16e41c4fb5aa0c511b61ae02fe6e86ffe64016a8 Mon Sep 17 00:00:00 2001
From: Ajay Garg <ajay@activitycentral.com>
Date: Sun, 19 Feb 2012 13:42:10 +0530
Subject: [PATCH 80/82] au#911, au#1074: Add launcher for nm-connection-editor in My
                                        Settings
Organization: Sugar Labs Foundation
---

This patch adds a launcher which upon executing launches the
nm-connection-editor. This 'hack' is included as a last-ditch workaround
in case network setting tools provided within sugar are unable to handle
a weird connection type.

 extensions/cpsection/network/model.py |   10 +++++++++
 extensions/cpsection/network/view.py  |   37 +++++++++++++++++++++++++++++++++
 2 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/extensions/cpsection/network/model.py b/extensions/cpsection/network/model.py
index 9592fdd..11ed615 100644
--- a/extensions/cpsection/network/model.py
+++ b/extensions/cpsection/network/model.py
@@ -190,3 +190,13 @@ def set_ssids(ssids):
         if len(ssid) > 0:
             f.write(ssid + '\n')
     f.close()
+
+def launch_nm_connection_editor():
+    environment = os.environ.copy()
+    environment['PATH'] = '%s:/usr/sbin' % (environment['PATH'], )
+
+    try:
+        subprocess.Popen(['-c', 'sudo nm-connection-editor --type=802-11-wireless'],
+                         shell=True)
+    except:
+        _logger.exception('Error running nm-connection-editor')
diff --git a/extensions/cpsection/network/view.py b/extensions/cpsection/network/view.py
index e55a48d..48ecfd1 100644
--- a/extensions/cpsection/network/view.py
+++ b/extensions/cpsection/network/view.py
@@ -758,6 +758,40 @@ class Network(SectionView):
         workspace.pack_start(proxy, expand=False)
         proxy.show()
 
+        separator_nm_connection_editor = gtk.HSeparator()
+        workspace.pack_start(separator_nm_connection_editor, False)
+        separator_nm_connection_editor.show()
+
+        label_nm_connection_editor = gtk.Label(_('NetworkManager'
+                                                 ' Connection Editor'))
+        label_nm_connection_editor.set_alignment(0, 0)
+        workspace.pack_start(label_nm_connection_editor, expand=False)
+        label_nm_connection_editor.show()
+
+        box_nm_connection_editor = gtk.VBox()
+        box_nm_connection_editor.set_border_width(style.DEFAULT_SPACING * 2)
+        box_nm_connection_editor.set_spacing(style.DEFAULT_SPACING)
+
+        info = gtk.Label(_("Press the 'Launch' button, to launch the"
+                           " Connection Editor."))
+        info.set_alignment(0, 0)
+        info.set_line_wrap(True)
+        box_nm_connection_editor.pack_start(info, expand=False)
+
+        launch_button = gtk.Button()
+        launch_button.set_alignment(0, 0)
+        launch_button.set_label(_('Launch'))
+        launch_button.connect('clicked', self.__launch_button_clicked_cb)
+        box_launch_button = gtk.HBox()
+        box_launch_button.set_homogeneous(False)
+        box_launch_button.pack_start(launch_button, expand=False)
+        box_launch_button.show_all()
+
+        box_nm_connection_editor.pack_start(box_launch_button, expand=False)
+        workspace.pack_start(box_nm_connection_editor, expand=False)
+        box_nm_connection_editor.show_all()
+
+
         scrolled = gtk.ScrolledWindow()
         scrolled.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
         scrolled.add_with_viewport(workspace)
@@ -859,3 +893,6 @@ class Network(SectionView):
     def __save_button_clicked_cb(self, save_button):
         self._model.set_ssids(self._widget_table._get_entries())
         save_button.set_sensitive(False)
+
+    def __launch_button_clicked_cb(self, launch_button):
+        self._model.launch_nm_connection_editor()
-- 
1.7.4.4