Fix Network Panel (#375)
* Network: Fix Keyboard still showing after connection * Network: fix dialog setting wrong size * Fix empty network panel
This commit is contained in:
parent
e7bf13b6df
commit
22221c61ac
@ -165,9 +165,10 @@ class NetworkPanel(ScreenPanel):
|
||||
network.add(labels)
|
||||
|
||||
buttons = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=5)
|
||||
if network_id != -1:
|
||||
if network_id != -1 or netinfo['connected']:
|
||||
buttons.pack_end(delete, False, False, 0)
|
||||
if netinfo['connected'] is False:
|
||||
connected_ssid = self._screen.wifi.get_connected_ssid()
|
||||
if ssid != connected_ssid or not netinfo['connected']:
|
||||
buttons.pack_end(connect, False, False, 0)
|
||||
|
||||
network.add(buttons)
|
||||
@ -175,21 +176,14 @@ class NetworkPanel(ScreenPanel):
|
||||
self.networks[ssid] = frame
|
||||
frame.add(network)
|
||||
|
||||
reverse = False
|
||||
|
||||
pos = 0
|
||||
if netinfo['connected'] is True:
|
||||
nets = sorted(list(self.networks), reverse=False)
|
||||
if connected_ssid == ssid:
|
||||
pos = 0
|
||||
elif nets.index(ssid) is not None:
|
||||
pos = nets.index(ssid) + 1
|
||||
else:
|
||||
connected_ssid = self._screen.wifi.get_connected_ssid()
|
||||
nets = list(self.networks)
|
||||
if connected_ssid is not None:
|
||||
if connected_ssid in nets:
|
||||
nets.remove(connected_ssid)
|
||||
nets = sorted(nets, reverse=reverse)
|
||||
pos = nets.index(ssid)
|
||||
if connected_ssid is not None:
|
||||
pos += 1
|
||||
logging.info("Error: SSID not in nets")
|
||||
return
|
||||
|
||||
self.labels['networks'][ssid] = {
|
||||
"connect": connect,
|
||||
@ -201,24 +195,25 @@ class NetworkPanel(ScreenPanel):
|
||||
|
||||
self.labels['networklist'].insert_row(pos)
|
||||
self.labels['networklist'].attach(self.networks[ssid], 0, pos, 1, 1)
|
||||
if show is True:
|
||||
if show:
|
||||
self.labels['networklist'].show()
|
||||
|
||||
def add_new_network(self, widget, ssid, connect=False):
|
||||
self._screen.remove_keyboard()
|
||||
networks = self._screen.wifi.get_networks()
|
||||
psk = self.labels['network_psk'].get_text()
|
||||
result = self._screen.wifi.add_network(ssid, psk)
|
||||
|
||||
self.close_add_network()
|
||||
|
||||
if connect is True:
|
||||
if result is True:
|
||||
if connect:
|
||||
if result:
|
||||
self.connect_network(widget, ssid, False)
|
||||
else:
|
||||
self._screen.show_popup_message("Error adding network %s" % ssid)
|
||||
|
||||
def back(self):
|
||||
if self.show_add is True:
|
||||
if self.show_add:
|
||||
self.close_add_network()
|
||||
return True
|
||||
return False
|
||||
@ -230,11 +225,11 @@ class NetworkPanel(ScreenPanel):
|
||||
networks.remove(net)
|
||||
|
||||
for net in networks:
|
||||
self.add_network(net)
|
||||
self.add_network(net, False)
|
||||
self.labels['networklist'].show_all()
|
||||
|
||||
def close_add_network(self):
|
||||
if self.show_add is False:
|
||||
if not self.show_add:
|
||||
return
|
||||
|
||||
for child in self.content.get_children():
|
||||
@ -268,8 +263,8 @@ class NetworkPanel(ScreenPanel):
|
||||
isdef = True
|
||||
break
|
||||
|
||||
if isdef is False:
|
||||
if showadd is True:
|
||||
if not isdef:
|
||||
if showadd:
|
||||
self.show_add_network(widget, ssid)
|
||||
return
|
||||
self.prev_network = self._screen.wifi.get_connected_ssid()
|
||||
@ -282,7 +277,6 @@ class NetworkPanel(ScreenPanel):
|
||||
scroll.set_property("overlay-scrolling", False)
|
||||
scroll.set_hexpand(True)
|
||||
scroll.set_vexpand(True)
|
||||
scroll.set_size_request(800, 400)
|
||||
self.labels['connecting_info'] = Gtk.Label(_("Starting WiFi Re-association"))
|
||||
self.labels['connecting_info'].set_halign(Gtk.Align.START)
|
||||
self.labels['connecting_info'].set_valign(Gtk.Align.START)
|
||||
@ -307,19 +301,13 @@ class NetworkPanel(ScreenPanel):
|
||||
if ssid not in self.networks:
|
||||
return
|
||||
|
||||
i = 0
|
||||
while self.labels['networklist'].get_child_at(0, i) is not None:
|
||||
for i, network in enumerate(self.labels['networklist']):
|
||||
if self.networks[ssid] == self.labels['networklist'].get_child_at(0, i):
|
||||
self.labels['networklist'].remove_row(i)
|
||||
self.labels['networklist'].show()
|
||||
del self.networks[ssid]
|
||||
del self.labels['networks'][ssid]
|
||||
return
|
||||
i = i+1
|
||||
return
|
||||
|
||||
def remove_network_wid(self, widget, ssid):
|
||||
self.remove_network(ssid)
|
||||
|
||||
def remove_wifi_network(self, widget, ssid):
|
||||
self._screen.wifi.delete_network(ssid)
|
||||
@ -334,7 +322,7 @@ class NetworkPanel(ScreenPanel):
|
||||
self.content.show_all()
|
||||
|
||||
def show_add_network(self, widget, ssid):
|
||||
if self.show_add is True:
|
||||
if self.show_add:
|
||||
return
|
||||
|
||||
_ = self.lang.gettext
|
||||
@ -389,11 +377,10 @@ class NetworkPanel(ScreenPanel):
|
||||
return
|
||||
netinfo = self._screen.wifi.get_network_info(ssid)
|
||||
if netinfo is None:
|
||||
logging.debug("Couldn't get netinfo for update")
|
||||
return
|
||||
|
||||
connected = ""
|
||||
if netinfo['connected'] is True:
|
||||
if netinfo['connected']:
|
||||
stream = os.popen('hostname -f')
|
||||
hostname = stream.read().strip()
|
||||
ifadd = netifaces.ifaddresses(self.interface)
|
||||
|
Loading…
x
Reference in New Issue
Block a user