1
0
mirror of https://github.com/gryf/wicd.git synced 2026-01-03 12:24:14 +01:00

merged wired-while-scanning

This commit is contained in:
Adam Blackburn
2009-11-21 11:02:56 -06:00

View File

@@ -30,6 +30,7 @@ import gobject
import pango import pango
import gtk import gtk
import gtk.glade import gtk.glade
from itertools import chain
from dbus import DBusException from dbus import DBusException
from wicd import misc from wicd import misc
@@ -181,7 +182,14 @@ class appGui(object):
probar = self.wTree.get_widget("progressbar") probar = self.wTree.get_widget("progressbar")
probar.set_text(language['connecting']) 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_area = self.wTree.get_widget("connecting_hbox")
self.status_bar = self.wTree.get_widget("statusbar") self.status_bar = self.wTree.get_widget("statusbar")
menu = self.wTree.get_widget("menu1") 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 ip_entry.entry.set_text('169.254.12.10') # Just a random IP
vbox_ah = gtk.VBox(False, 0) 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.chkbox_use_encryption, False, False)
vbox_ah.pack_start(self.key_entry, False, False) vbox_ah.pack_start(self.key_entry, False, False)
vbox_ah.show() vbox_ah.show()
@@ -288,9 +297,9 @@ class appGui(object):
def disconnect_all(self, widget=None): def disconnect_all(self, widget=None):
""" Disconnects from any active network. """ """ Disconnects from any active network. """
def handler(*args): 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) daemon.Disconnect(reply_handler=handler, error_handler=handler)
def about_dialog(self, widget, event=None): def about_dialog(self, widget, event=None):
@@ -418,7 +427,7 @@ class appGui(object):
self.connecting = False self.connecting = False
if self.pulse_active: if self.pulse_active:
self.pulse_active = False 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) gobject.idle_add(self.status_area.hide_all)
if self.statusID: if self.statusID:
gobject.idle_add(self.status_bar.remove, 1, self.statusID) gobject.idle_add(self.status_bar.remove, 1, self.statusID)
@@ -433,7 +442,7 @@ class appGui(object):
if not self.pulse_active: if not self.pulse_active:
self.pulse_active = True self.pulse_active = True
misc.timeout_add(100, self.pulse_progress_bar, milli=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) gobject.idle_add(self.status_area.show_all)
if self.statusID: if self.statusID:
gobject.idle_add(self.status_bar.remove, 1, 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: if self.prev_state != state or force_check:
apbssid = wireless.GetApBssid() 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"): if hasattr(entry, "update_connect_button"):
entry.update_connect_button(state, apbssid) entry.update_connect_button(state, apbssid)
self.prev_state = state self.prev_state = state
@@ -480,11 +489,43 @@ class appGui(object):
""" Called when a wireless scan starts. """ """ Called when a wireless scan starts. """
if not DBUS_AVAIL: return if not DBUS_AVAIL: return
self.network_list.set_sensitive(False) 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): def refresh_clicked(self, widget=None):
""" Kick off an asynchronous wireless scan. """ """ Kick off an asynchronous wireless scan. """
if not DBUS_AVAIL or self.connecting: return if not DBUS_AVAIL or self.connecting: return
self.refreshing = True 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) wireless.Scan(False)
def refresh_networks(self, widget=None, fresh=True, hidden=None): def refresh_networks(self, widget=None, fresh=True, hidden=None):
@@ -504,26 +545,11 @@ class appGui(object):
return return
print "refreshing..." print "refreshing..."
self.network_list.set_sensitive(False) self.network_list.set_sensitive(False)
self._remove_items_from_vbox(self.network_list)
self.wait_for_events() self.wait_for_events()
printLine = False # We don't print a separator by default. printLine = False # We don't print a separator by default.
# Remove stuff already in there. if self._wired_showing:
for z in self.network_list: printLine = True
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)
num_networks = wireless.GetNumberOfNetworks() num_networks = wireless.GetNumberOfNetworks()
instruct_label = self.wTree.get_widget("label_instructions") instruct_label = self.wTree.get_widget("label_instructions")
if num_networks > 0: if num_networks > 0:
@@ -673,7 +699,7 @@ class appGui(object):
def setup_interface_for_connection(): def setup_interface_for_connection():
cancel_button = self.wTree.get_widget("cancel_button") cancel_button = self.wTree.get_widget("cancel_button")
cancel_button.set_sensitive(True) cancel_button.set_sensitive(True)
self.network_list.set_sensitive(False) self.all_network_list.set_sensitive(False)
if self.statusID: if self.statusID:
gobject.idle_add(self.status_bar.remove, 1, self.statusID) gobject.idle_add(self.status_bar.remove, 1, self.statusID)
gobject.idle_add(self.set_status, language["disconnecting_active"]) gobject.idle_add(self.set_status, language["disconnecting_active"])
@@ -708,12 +734,12 @@ class appGui(object):
""" """
def handler(*args): def handler(*args):
gobject.idle_add(self.network_list.set_sensitive, True) gobject.idle_add(self.all_network_list.set_sensitive, True)
widget.hide() widget.hide()
networkentry.connect_button.show() networkentry.connect_button.show()
daemon.SetForcedDisconnect(True) daemon.SetForcedDisconnect(True)
self.network_list.set_sensitive(False) self.network_list.all_set_sensitive(False)
if nettype == "wired": if nettype == "wired":
wired.DisconnectWired(reply_handler=handler, error_handler=handler) wired.DisconnectWired(reply_handler=handler, error_handler=handler)
else: else: