mirror of
https://github.com/gryf/wicd.git
synced 2025-12-24 07:02:29 +01:00
don't disable the wired network entry while scanning for wireless networks
This commit is contained in:
80
wicd/gui.py
80
wicd/gui.py
@@ -30,6 +30,7 @@ import gobject
|
||||
import pango
|
||||
import gtk
|
||||
import gtk.glade
|
||||
from itertools import chain
|
||||
from dbus import DBusException
|
||||
|
||||
from wicd import misc
|
||||
@@ -181,7 +182,14 @@ class appGui(object):
|
||||
probar = self.wTree.get_widget("progressbar")
|
||||
probar.set_text(language['connecting'])
|
||||
|
||||
self.network_list = self.wTree.get_widget("network_list_vbox")
|
||||
self.all_network_list = self.wTree.get_widget("network_list_vbox")
|
||||
self.all_network_list.show_all()
|
||||
self.wired_network_box = gtk.VBox(False, 0)
|
||||
self.wired_network_box.show_all()
|
||||
self.network_list = gtk.VBox(False, 0)
|
||||
self.all_network_list.pack_start(self.wired_network_box, False, False)
|
||||
self.all_network_list.pack_start(self.network_list, True, True)
|
||||
self.network_list.show_all()
|
||||
self.status_area = self.wTree.get_widget("connecting_hbox")
|
||||
self.status_bar = self.wTree.get_widget("statusbar")
|
||||
menu = self.wTree.get_widget("menu1")
|
||||
@@ -260,6 +268,7 @@ class appGui(object):
|
||||
ip_entry.entry.set_text('169.254.12.10') # Just a random IP
|
||||
|
||||
vbox_ah = gtk.VBox(False, 0)
|
||||
self.wired_network_box = gtk.VBox(False, 0)
|
||||
vbox_ah.pack_start(self.chkbox_use_encryption, False, False)
|
||||
vbox_ah.pack_start(self.key_entry, False, False)
|
||||
vbox_ah.show()
|
||||
@@ -288,9 +297,9 @@ class appGui(object):
|
||||
def disconnect_all(self, widget=None):
|
||||
""" Disconnects from any active network. """
|
||||
def handler(*args):
|
||||
gobject.idle_add(self.network_list.set_sensitive, True)
|
||||
gobject.idle_add(self.all_network_list.set_sensitive, True)
|
||||
|
||||
self.network_list.set_sensitive(False)
|
||||
self.all_network_list.set_sensitive(False)
|
||||
daemon.Disconnect(reply_handler=handler, error_handler=handler)
|
||||
|
||||
def about_dialog(self, widget, event=None):
|
||||
@@ -418,7 +427,7 @@ class appGui(object):
|
||||
self.connecting = False
|
||||
if self.pulse_active:
|
||||
self.pulse_active = False
|
||||
gobject.idle_add(self.network_list.set_sensitive, True)
|
||||
gobject.idle_add(self.all_network_list.set_sensitive, True)
|
||||
gobject.idle_add(self.status_area.hide_all)
|
||||
if self.statusID:
|
||||
gobject.idle_add(self.status_bar.remove, 1, self.statusID)
|
||||
@@ -433,7 +442,7 @@ class appGui(object):
|
||||
if not self.pulse_active:
|
||||
self.pulse_active = True
|
||||
misc.timeout_add(100, self.pulse_progress_bar, milli=True)
|
||||
gobject.idle_add(self.network_list.set_sensitive, False)
|
||||
gobject.idle_add(self.all_network_list.set_sensitive, False)
|
||||
gobject.idle_add(self.status_area.show_all)
|
||||
if self.statusID:
|
||||
gobject.idle_add(self.status_bar.remove, 1, self.statusID)
|
||||
@@ -458,7 +467,7 @@ class appGui(object):
|
||||
|
||||
if self.prev_state != state or force_check:
|
||||
apbssid = wireless.GetApBssid()
|
||||
for entry in self.network_list:
|
||||
for entry in chain(self.network_list, self.wired_network_box):
|
||||
if hasattr(entry, "update_connect_button"):
|
||||
entry.update_connect_button(state, apbssid)
|
||||
self.prev_state = state
|
||||
@@ -480,11 +489,43 @@ class appGui(object):
|
||||
""" Called when a wireless scan starts. """
|
||||
if not DBUS_AVAIL: return
|
||||
self.network_list.set_sensitive(False)
|
||||
|
||||
def _remove_items_from_vbox(self, vbox):
|
||||
for z in vbox:
|
||||
vbox.remove(z)
|
||||
z.destroy()
|
||||
del z
|
||||
|
||||
|
||||
def refresh_clicked(self, widget=None):
|
||||
""" Kick off an asynchronous wireless scan. """
|
||||
if not DBUS_AVAIL or self.connecting: return
|
||||
self.refreshing = True
|
||||
|
||||
# Remove stuff already in there.
|
||||
self._remove_items_from_vbox(self.wired_network_box)
|
||||
self._remove_items_from_vbox(self.network_list)
|
||||
label = gtk.Label("%s..." % language['scanning'])
|
||||
self.network_list.pack_start(label)
|
||||
self.network_list.show_all()
|
||||
if wired.CheckPluggedIn() or daemon.GetAlwaysShowWiredInterface():
|
||||
printLine = True # In this case we print a separator.
|
||||
wirednet = WiredNetworkEntry()
|
||||
self.wired_network_box.pack_start(wirednet, False, False)
|
||||
wirednet.connect_button.connect("clicked", self.connect,
|
||||
"wired", 0, wirednet)
|
||||
wirednet.disconnect_button.connect("clicked", self.disconnect,
|
||||
"wired", 0, wirednet)
|
||||
wirednet.advanced_button.connect("clicked",
|
||||
self.edit_advanced, "wired", 0,
|
||||
wirednet)
|
||||
state, x = daemon.GetConnectionStatus()
|
||||
wirednet.update_connect_button(state)
|
||||
|
||||
self._wired_showing = True
|
||||
else:
|
||||
self._wired_showing = False
|
||||
|
||||
wireless.Scan(False)
|
||||
|
||||
def refresh_networks(self, widget=None, fresh=True, hidden=None):
|
||||
@@ -504,26 +545,11 @@ class appGui(object):
|
||||
return
|
||||
print "refreshing..."
|
||||
self.network_list.set_sensitive(False)
|
||||
self._remove_items_from_vbox(self.network_list)
|
||||
self.wait_for_events()
|
||||
printLine = False # We don't print a separator by default.
|
||||
# Remove stuff already in there.
|
||||
for z in self.network_list:
|
||||
self.network_list.remove(z)
|
||||
z.destroy()
|
||||
del z
|
||||
|
||||
if wired.CheckPluggedIn() or daemon.GetAlwaysShowWiredInterface():
|
||||
printLine = True # In this case we print a separator.
|
||||
wirednet = WiredNetworkEntry()
|
||||
self.network_list.pack_start(wirednet, False, False)
|
||||
wirednet.connect_button.connect("clicked", self.connect,
|
||||
"wired", 0, wirednet)
|
||||
wirednet.disconnect_button.connect("clicked", self.disconnect,
|
||||
"wired", 0, wirednet)
|
||||
wirednet.advanced_button.connect("clicked",
|
||||
self.edit_advanced, "wired", 0,
|
||||
wirednet)
|
||||
|
||||
if self._wired_showing:
|
||||
printLine = True
|
||||
num_networks = wireless.GetNumberOfNetworks()
|
||||
instruct_label = self.wTree.get_widget("label_instructions")
|
||||
if num_networks > 0:
|
||||
@@ -673,7 +699,7 @@ class appGui(object):
|
||||
def setup_interface_for_connection():
|
||||
cancel_button = self.wTree.get_widget("cancel_button")
|
||||
cancel_button.set_sensitive(True)
|
||||
self.network_list.set_sensitive(False)
|
||||
self.all_network_list.set_sensitive(False)
|
||||
if self.statusID:
|
||||
gobject.idle_add(self.status_bar.remove, 1, self.statusID)
|
||||
gobject.idle_add(self.set_status, language["disconnecting_active"])
|
||||
@@ -708,12 +734,12 @@ class appGui(object):
|
||||
|
||||
"""
|
||||
def handler(*args):
|
||||
gobject.idle_add(self.network_list.set_sensitive, True)
|
||||
gobject.idle_add(self.all_network_list.set_sensitive, True)
|
||||
|
||||
widget.hide()
|
||||
networkentry.connect_button.show()
|
||||
daemon.SetForcedDisconnect(True)
|
||||
self.network_list.set_sensitive(False)
|
||||
self.network_list.all_set_sensitive(False)
|
||||
if nettype == "wired":
|
||||
wired.DisconnectWired(reply_handler=handler, error_handler=handler)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user