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:
80
wicd/gui.py
80
wicd/gui.py
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user