diff --git a/wireguide b/wireguide index fe5e7a5..91f6481 100755 --- a/wireguide +++ b/wireguide @@ -28,16 +28,11 @@ class WireFrame(wx.Frame): # pylint: disable=too-many-ancestors,too-many-instan # Get active conns from NetworkManager self.client = NM.Client.new(None) - self.client.checkpoint_adjust_rollback_timeout( - "/org/freedesktop/NetworkManager", 60, None, None, None) self.conns = self.get_wg_conns() - self.num_conns = len(self.conns) self.active_conns = self.get_wg_aconns() - self.num_aconns = len(self.active_conns) # Set up for loaded configs self.inactive_conns = get_inactive_conns() - self.num_inactive_conns = len(self.inactive_conns) # create a panel in the frame self.pnl = wx.Panel(self) @@ -62,7 +57,7 @@ class WireFrame(wx.Frame): # pylint: disable=too-many-ancestors,too-many-instan self.Show() def set_status(self): - status = str(self.num_aconns) + " active connection(s)" + status = str(len(self.active_conns)) + " active connection(s)" self.statusbar.SetStatusText(status) def timing(self, event): # pylint: disable=unused-argument @@ -80,9 +75,7 @@ class WireFrame(wx.Frame): # pylint: disable=too-many-ancestors,too-many-instan if self.count == 5: self.client.reload_connections_async() self.active_conns = self.get_wg_aconns() - self.num_aconns = len(self.active_conns) self.conns = self.get_wg_conns() - self.num_conns = len(self.conns) self.set_status() self.write_to_sizer() self.count = 0 @@ -93,7 +86,7 @@ class WireFrame(wx.Frame): # pylint: disable=too-many-ancestors,too-many-instan This method redraws the sizer """ self.sizer.Clear(delete_windows=True) - if self.num_aconns > 0: + if len(self.active_conns) > 0: hd1 = wx.StaticText(self.pnl) hd1.SetLabelMarkup("Active connections") self.sizer.Add(hd1, 0, wx.ALIGN_CENTER) @@ -105,8 +98,8 @@ class WireFrame(wx.Frame): # pylint: disable=too-many-ancestors,too-many-instan wx.SizerFlags().Border(wx.TOP | wx.LEFT, 25)) dbtn = wx.Button(self.pnl, -1, "Deactivate") self.sizer.Add(dbtn, 0, wx.ALIGN_CENTER) - self.Bind(wx.EVT_BUTTON, self.deactivate_button_clicked, dbtn) - if self.num_inactive_conns > 0: + self.Bind(wx.EVT_BUTTON, lambda event: self.deactivate_button_clicked(event, conn), dbtn) + if len(self.inactive_conns) > 0: hd2 = wx.StaticText(self.pnl) hd2.SetLabelMarkup("Imported configs") self.sizer.Add(hd2, 0, wx.ALIGN_CENTER) @@ -118,10 +111,10 @@ class WireFrame(wx.Frame): # pylint: disable=too-many-ancestors,too-many-instan self.sizer.Add( statstr, wx.SizerFlags().Border(wx.TOP | wx.LEFT, 25)) - btn = wx.Button(self.pnl, -1, "Activate") - self.sizer.Add(btn, 0, wx.ALIGN_CENTER) - self.Bind(wx.EVT_BUTTON, self.activate_button_clicked, btn) - if (self.num_aconns == 0) and (self.num_inactive_conns == 0): + btn = wx.Button(self.pnl, -1, "Activate") + self.sizer.Add(btn, 0, wx.ALIGN_CENTER) + self.Bind(wx.EVT_BUTTON, lambda event: self.activate_button_clicked(event, conn), btn) + if (len(self.active_conns) == 0) and (len(self.inactive_conns) == 0): hd0 = wx.StaticText(self.pnl) hd0.SetLabelMarkup("No configs available") missingstr = wx.StaticText(self.pnl) @@ -218,20 +211,26 @@ class WireFrame(wx.Frame): # pylint: disable=too-many-ancestors,too-many-instan self.Bind(wx.EVT_MENU, self.exit_clicked, exit_item) self.Bind(wx.EVT_MENU, self.about_clicked, about_item) - def activate_button_clicked(self, event): # pylint: disable=unused-argument + def activate_button_clicked(self, event, conn): # pylint: disable=unused-argument """ This activates an imported config """ - conn = self.inactive_conns.pop(0) - self.num_inactive_conns = len(self.inactive_conns) + print(conn.get_id()) self.client.add_connection_async(conn, False, None, self.add_callback, None) + self.remove_inactive(conn) - def deactivate_button_clicked(self, event): # pylint: disable=unused-argument + def remove_inactive(self,conn): + for i in range(len(self.inactive_conns)): + print(i, self.inactive_conns[i].get_id(), conn.get_id()) + if self.inactive_conns[i].get_id() == conn.get_id(): + self.inactive_conns.pop(i) + + def deactivate_button_clicked(self, event, conn): # pylint: disable=unused-argument """ This deactivates an active config """ - conn = self.active_conns[0] + print(conn.get_id()) self.client.deactivate_connection_async(conn, None, self.de_callback, conn) conn.get_connection().delete_async(None, None, None) @@ -248,9 +247,7 @@ class WireFrame(wx.Frame): # pylint: disable=too-many-ancestors,too-many-instan except Exception as exception: # pylint: disable=broad-except sys.stderr.write("Error: %s\n" % exception) self.active_conns = self.get_wg_aconns() - self.num_aconns = len(self.active_conns) self.conns = self.get_wg_conns() - self.num_conns = len(self.conns) self.write_to_sizer() def add_callback(self, client, result, data): # pylint: disable=unused-argument @@ -265,9 +262,7 @@ class WireFrame(wx.Frame): # pylint: disable=too-many-ancestors,too-many-instan except Exception as exception: # pylint: disable=broad-except sys.stderr.write("Error: %s\n" % exception) self.active_conns = self.get_wg_aconns() - self.num_aconns = len(self.active_conns) self.conns = self.get_wg_conns() - self.num_conns = len(self.conns) self.write_to_sizer() def exit_clicked(self, event): # pylint: disable=unused-argument @@ -293,7 +288,6 @@ class WireFrame(wx.Frame): # pylint: disable=too-many-ancestors,too-many-instan pathname = file_dialog.GetPath() new_conn = self.create_conn_from_file(pathname) self.inactive_conns.append(new_conn) - self.num_inactive_conns += 1 self.write_to_sizer() def get_wg_aconns(self):