mirror of
https://github.com/gryf/wicd.git
synced 2026-03-15 22:23:33 +01:00
merged connection-info and 1.6. wicd-client working
This commit is contained in:
@@ -57,7 +57,6 @@ def get_gettext():
|
|||||||
# Generated automatically on Sun, 05 Jul 2009 13:51:18 CDT
|
# Generated automatically on Sun, 05 Jul 2009 13:51:18 CDT
|
||||||
_ = get_gettext()
|
_ = get_gettext()
|
||||||
language = {}
|
language = {}
|
||||||
<<<<<<< TREE
|
|
||||||
language['connect'] = _('Connect')
|
language['connect'] = _('Connect')
|
||||||
language['ip'] = _('IP')
|
language['ip'] = _('IP')
|
||||||
language['netmask'] = _('Netmask')
|
language['netmask'] = _('Netmask')
|
||||||
@@ -236,7 +235,6 @@ language['ok'] = _('OK')
|
|||||||
language['cancel'] = _('Cancel')
|
language['cancel'] = _('Cancel')
|
||||||
|
|
||||||
|
|
||||||
=======
|
|
||||||
language['resetting_ip_address'] = _('''Resetting IP address...''')
|
language['resetting_ip_address'] = _('''Resetting IP address...''')
|
||||||
language['prefs_help'] = _('''Preferences dialog''')
|
language['prefs_help'] = _('''Preferences dialog''')
|
||||||
language['no_dhcp_offers'] = _('''Connection Failed: No DHCP offers received.''')
|
language['no_dhcp_offers'] = _('''Connection Failed: No DHCP offers received.''')
|
||||||
@@ -397,4 +395,3 @@ language['access_denied'] = _('''Unable to contact the Wicd daemon due to an acc
|
|||||||
language['disconnecting_active'] = _('''Disconnecting active connections...''')
|
language['disconnecting_active'] = _('''Disconnecting active connections...''')
|
||||||
language['access_denied_wc'] = _('''ERROR: wicd-curses was denied access to the wicd daemon: please check that your user is in the "$A" group.''')
|
language['access_denied_wc'] = _('''ERROR: wicd-curses was denied access to the wicd daemon: please check that your user is in the "$A" group.''')
|
||||||
language['post_disconnect_script'] = _('''Run post-disconnect script''')
|
language['post_disconnect_script'] = _('''Run post-disconnect script''')
|
||||||
>>>>>>> MERGE-SOURCE
|
|
||||||
|
|||||||
@@ -253,7 +253,7 @@ class TrayIcon(object):
|
|||||||
self.network_type = "wired"
|
self.network_type = "wired"
|
||||||
self.tr.set_from_file(os.path.join(wpath.images, "wired.png"))
|
self.tr.set_from_file(os.path.join(wpath.images, "wired.png"))
|
||||||
# status_string = language['connected_to_wired'].replace('$A',
|
# status_string = language['connected_to_wired'].replace('$A',
|
||||||
wired_ip)
|
#wired_ip)
|
||||||
# self.tr.set_tooltip(status_string)
|
# self.tr.set_tooltip(status_string)
|
||||||
self._show_notification(language['wired_network'],
|
self._show_notification(language['wired_network'],
|
||||||
language['connection_established'],
|
language['connection_established'],
|
||||||
@@ -280,9 +280,9 @@ class TrayIcon(object):
|
|||||||
if wireless.GetWirelessProperty(cur_net_id, "encryption"):
|
if wireless.GetWirelessProperty(cur_net_id, "encryption"):
|
||||||
lock = "-lock"
|
lock = "-lock"
|
||||||
# status_string = (language['connected_to_wireless']
|
# status_string = (language['connected_to_wireless']
|
||||||
.replace('$A', self.network)
|
#.replace('$A', self.network)
|
||||||
.replace('$B', sig_string)
|
# .replace('$B', sig_string)
|
||||||
.replace('$C', str(wireless_ip)))
|
# .replace('$C', str(wireless_ip)))
|
||||||
#self.tr.set_tooltip(status_string)
|
#self.tr.set_tooltip(status_string)
|
||||||
self.set_signal_image(int(strength), lock)
|
self.set_signal_image(int(strength), lock)
|
||||||
self._show_notification(self.network,
|
self._show_notification(self.network,
|
||||||
@@ -361,7 +361,8 @@ class TrayIcon(object):
|
|||||||
def set_signal_image(self, wireless_signal, lock):
|
def set_signal_image(self, wireless_signal, lock):
|
||||||
""" Sets the tray icon image for an active wireless connection. """
|
""" Sets the tray icon image for an active wireless connection. """
|
||||||
if self.animate:
|
if self.animate:
|
||||||
prefix = self.get_bandwidth_state()
|
TrayIcon.get_bandwidth_bytes(self.parent)
|
||||||
|
prefix = self.get_bandwidth_activity()
|
||||||
else:
|
else:
|
||||||
prefix = 'idle-'
|
prefix = 'idle-'
|
||||||
if daemon.GetSignalDisplayType() == 0:
|
if daemon.GetSignalDisplayType() == 0:
|
||||||
@@ -387,7 +388,7 @@ class TrayIcon(object):
|
|||||||
self.tr.set_from_file(img_file)
|
self.tr.set_from_file(img_file)
|
||||||
|
|
||||||
@catchdbus
|
@catchdbus
|
||||||
def get_bandwidth_state(self):
|
def get_bandwidth_activity(self):
|
||||||
""" Determines what network activity state we are in. """
|
""" Determines what network activity state we are in. """
|
||||||
transmitting = False
|
transmitting = False
|
||||||
receiving = False
|
receiving = False
|
||||||
@@ -409,18 +410,20 @@ class TrayIcon(object):
|
|||||||
return 'idle-'
|
return 'idle-'
|
||||||
|
|
||||||
# Figure out receiving data info.
|
# Figure out receiving data info.
|
||||||
activity = self.is_network_active(rcvbytes, self.max_rcv_gain,
|
activity = self.is_network_active(self.parent.cur_rcvbytes,
|
||||||
self.last_rcvbytes)
|
self.parent.max_rcv_gain,
|
||||||
|
self.parent.last_rcvbytes)
|
||||||
receiving = activity[0]
|
receiving = activity[0]
|
||||||
self.max_rcv_gain = activity[1]
|
self.parent.max_rcv_gain = activity[1]
|
||||||
self.last_rcvbytes = activity[2]
|
self.parent.last_rcvbytes = activity[2]
|
||||||
|
|
||||||
# Figure out out transmitting data info.
|
# Figure out out transmitting data info.
|
||||||
activity = self.is_network_active(sndbytes, self.max_snd_gain,
|
activity = self.is_network_active(self.parent.cur_sndbytes,
|
||||||
self.last_sndbytes)
|
self.parent.max_snd_gain,
|
||||||
|
self.parent.last_sndbytes)
|
||||||
transmitting = activity[0]
|
transmitting = activity[0]
|
||||||
self.max_snd_gain = activity[1]
|
self.parent.max_snd_gain = activity[1]
|
||||||
self.last_sndbytes = activity[2]
|
self.parent.last_sndbytes = activity[2]
|
||||||
|
|
||||||
if transmitting and receiving:
|
if transmitting and receiving:
|
||||||
return 'both-'
|
return 'both-'
|
||||||
@@ -466,7 +469,7 @@ class TrayIcon(object):
|
|||||||
tray icons.
|
tray icons.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
def __init__(self):
|
def __init__(self, parent):
|
||||||
menu = """
|
menu = """
|
||||||
<ui>
|
<ui>
|
||||||
<menubar name="Menubar">
|
<menubar name="Menubar">
|
||||||
@@ -474,6 +477,7 @@ class TrayIcon(object):
|
|||||||
<menu action="Connect">
|
<menu action="Connect">
|
||||||
</menu>
|
</menu>
|
||||||
<separator/>
|
<separator/>
|
||||||
|
<menuitem action="Info"/>
|
||||||
<menuitem action="About"/>
|
<menuitem action="About"/>
|
||||||
<menuitem action="Quit"/>
|
<menuitem action="Quit"/>
|
||||||
</menu>
|
</menu>
|
||||||
@@ -483,6 +487,9 @@ class TrayIcon(object):
|
|||||||
actions = [
|
actions = [
|
||||||
('Menu', None, 'Menu'),
|
('Menu', None, 'Menu'),
|
||||||
('Connect', gtk.STOCK_CONNECT, "Connect"),
|
('Connect', gtk.STOCK_CONNECT, "Connect"),
|
||||||
|
('Info', gtk.STOCK_INFO, "_Connection Info", None,
|
||||||
|
'Information about the current connection',
|
||||||
|
self.on_conn_info),
|
||||||
('About', gtk.STOCK_ABOUT, '_About...', None,
|
('About', gtk.STOCK_ABOUT, '_About...', None,
|
||||||
'About wicd-tray-icon', self.on_about),
|
'About wicd-tray-icon', self.on_about),
|
||||||
('Quit',gtk.STOCK_QUIT,'_Quit',None,'Quit wicd-tray-icon',
|
('Quit',gtk.STOCK_QUIT,'_Quit',None,'Quit wicd-tray-icon',
|
||||||
@@ -501,6 +508,11 @@ class TrayIcon(object):
|
|||||||
net_menuitem = self.manager.get_widget("/Menubar/Menu/Connect/")
|
net_menuitem = self.manager.get_widget("/Menubar/Menu/Connect/")
|
||||||
net_menuitem.connect("activate", self.on_net_menu_activate)
|
net_menuitem.connect("activate", self.on_net_menu_activate)
|
||||||
|
|
||||||
|
self.parent = parent
|
||||||
|
self.time = 2 # Time between updates
|
||||||
|
self.cont = 'Stop'
|
||||||
|
self.conn_info_txt = ''
|
||||||
|
|
||||||
def tray_scan_started(self):
|
def tray_scan_started(self):
|
||||||
""" Callback for when a wireless scan is started. """
|
""" Callback for when a wireless scan is started. """
|
||||||
if not DBUS_AVAIL: return
|
if not DBUS_AVAIL: return
|
||||||
@@ -535,6 +547,96 @@ class TrayIcon(object):
|
|||||||
dialog.run()
|
dialog.run()
|
||||||
dialog.destroy()
|
dialog.destroy()
|
||||||
|
|
||||||
|
def on_conn_info(self, data=None):
|
||||||
|
""" Opens the Connection Information Dialog """
|
||||||
|
window = gtk.Dialog("Wicd Connection Info", None, 0, (gtk.STOCK_OK, gtk.RESPONSE_CLOSE))
|
||||||
|
|
||||||
|
# Create labels
|
||||||
|
self.label = gtk.Label()
|
||||||
|
self.data = gtk.Label()
|
||||||
|
self.label.show()
|
||||||
|
self.data.show()
|
||||||
|
self.list = []
|
||||||
|
self.list.append(self.data)
|
||||||
|
self.list.append(self.label)
|
||||||
|
|
||||||
|
# Setup table
|
||||||
|
table = gtk.Table(1,2)
|
||||||
|
table.set_col_spacings(12)
|
||||||
|
table.attach(self.label, 0, 1, 0, 1)
|
||||||
|
table.attach(self.data, 1, 2, 0 ,1)
|
||||||
|
|
||||||
|
# Setup Window
|
||||||
|
content = window.get_content_area()
|
||||||
|
content.pack_start(table, True, True, 0)
|
||||||
|
content.show_all()
|
||||||
|
|
||||||
|
# Start updates
|
||||||
|
self.cont = 'Go'
|
||||||
|
gobject.timeout_add(5000, self.update_conn_info_win, self.list)
|
||||||
|
self.update_conn_info_win(self.list)
|
||||||
|
|
||||||
|
window.run()
|
||||||
|
|
||||||
|
# Destroy window and stop updates
|
||||||
|
window.destroy()
|
||||||
|
self.cont = 'Stop'
|
||||||
|
|
||||||
|
def update_conn_info_win(self, list):
|
||||||
|
""" Updates the information in the connection summary window """
|
||||||
|
if (self.cont == "Stop"):
|
||||||
|
return False
|
||||||
|
|
||||||
|
[state, info] = daemon.GetConnectionStatus()
|
||||||
|
[rx, tx] = self.get_current_bandwidth()
|
||||||
|
|
||||||
|
# Choose info for the data
|
||||||
|
if state == misc.WIRED:
|
||||||
|
text = (language['conn_info_wired']
|
||||||
|
.replace('$A', str(info[0])) #IP
|
||||||
|
.replace('$B', str(rx)) #RX
|
||||||
|
.replace('$C', str(tx))) #TX
|
||||||
|
elif state == misc.WIRELESS:
|
||||||
|
text = (language['conn_info_wireless']
|
||||||
|
.replace('$A', str(info[1])) #SSID
|
||||||
|
.replace('$B', str(info[4])) #Speed
|
||||||
|
.replace('$C', str(info[0])) #IP
|
||||||
|
.replace('$D', daemon.FormatSignalForPrinting(str(info[2])))
|
||||||
|
.replace('$E', str(rx))
|
||||||
|
.replace('$F', str(tx)))
|
||||||
|
else:
|
||||||
|
text = ''
|
||||||
|
|
||||||
|
# Choose info for the labels
|
||||||
|
self.list[0].set_text(text)
|
||||||
|
if state == misc.WIRED:
|
||||||
|
self.list[1].set_text(language['conn_info_wired_labels'])
|
||||||
|
elif state == misc.WIRELESS:
|
||||||
|
self.list[1].set_text(language['conn_info_wireless_labels'])
|
||||||
|
elif state == misc.CONNECTING:
|
||||||
|
self.list[1].set_text(language['conn_info_connecting'])
|
||||||
|
elif state in (misc.SUSPENDED, misc.NOT_CONNECTED):
|
||||||
|
self.list[1].set_text(language['conn_info_not_connected'])
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
def get_current_bandwidth(self):
|
||||||
|
"""
|
||||||
|
Calculates the current bandwidth based on sent/received bytes
|
||||||
|
divided over time. Unit is in KB/s
|
||||||
|
"""
|
||||||
|
self.parent.get_bandwidth_bytes()
|
||||||
|
rxb = self.parent.cur_rcvbytes - self.parent.last_rcvbytes
|
||||||
|
txb = self.parent.cur_sndbytes - self.parent.last_sndbytes
|
||||||
|
|
||||||
|
self.parent.last_rcvbytes = self.parent.cur_rcvbytes
|
||||||
|
self.parent.last_sndbytes = self.parent.cur_sndbytes
|
||||||
|
|
||||||
|
rx_rate = float(rxb / (self.time * 1024))
|
||||||
|
tx_rate = float(txb / (self.time * 1024))
|
||||||
|
|
||||||
|
return (rx_rate, tx_rate)
|
||||||
|
|
||||||
def _add_item_to_menu(self, net_menu, lbl, type_, n_id, is_connecting,
|
def _add_item_to_menu(self, net_menu, lbl, type_, n_id, is_connecting,
|
||||||
is_active):
|
is_active):
|
||||||
""" Add an item to the network list submenu. """
|
""" Add an item to the network list submenu. """
|
||||||
@@ -598,14 +700,19 @@ class TrayIcon(object):
|
|||||||
signal_img = 'signal-25.png'
|
signal_img = 'signal-25.png'
|
||||||
return wpath.images + signal_img
|
return wpath.images + signal_img
|
||||||
|
|
||||||
|
@catchdbus
|
||||||
def on_net_menu_activate(self, item):
|
def on_net_menu_activate(self, item):
|
||||||
""" Trigger a background scan to populate the network menu.
|
""" Trigger a background scan to populate the network menu.
|
||||||
|
|
||||||
Clear the network menu, and schedule a method to be
|
Called when the network submenu is moused over. We
|
||||||
called in .8 seconds to trigger a scan if the menu
|
sleep briefly, clear pending gtk events, and if
|
||||||
is still being moused over.
|
we're still being moused over we trigger a scan.
|
||||||
|
This is to prevent scans when the user is just
|
||||||
|
mousing past the menu to select another menu item.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
def dummy(x=None): pass
|
||||||
|
|
||||||
if self._is_scanning:
|
if self._is_scanning:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -618,7 +725,7 @@ class TrayIcon(object):
|
|||||||
while gtk.events_pending():
|
while gtk.events_pending():
|
||||||
gtk.main_iteration()
|
gtk.main_iteration()
|
||||||
if item.state != gtk.STATE_PRELIGHT:
|
if item.state != gtk.STATE_PRELIGHT:
|
||||||
return False
|
return True
|
||||||
wireless.Scan(False)
|
wireless.Scan(False)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@@ -706,9 +813,9 @@ class TrayIcon(object):
|
|||||||
for machines running versions of GTK < 2.10.
|
for machines running versions of GTK < 2.10.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
def __init__(self):
|
def __init__(self, parent):
|
||||||
"""Initializes the tray icon"""
|
"""Initializes the tray icon"""
|
||||||
TrayIcon.TrayIconGUI.__init__(self)
|
TrayIcon.TrayIconGUI.__init__(self, parent)
|
||||||
self.tooltip = gtk.Tooltips()
|
self.tooltip = gtk.Tooltips()
|
||||||
self.eb = gtk.EventBox()
|
self.eb = gtk.EventBox()
|
||||||
self.tray = egg.trayicon.TrayIcon("WicdTrayIcon")
|
self.tray = egg.trayicon.TrayIcon("WicdTrayIcon")
|
||||||
@@ -762,8 +869,8 @@ class TrayIcon(object):
|
|||||||
Uses gtk.StatusIcon to implement a tray icon.
|
Uses gtk.StatusIcon to implement a tray icon.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
def __init__(self):
|
def __init__(self, parent):
|
||||||
TrayIcon.TrayIconGUI.__init__(self)
|
TrayIcon.TrayIconGUI.__init__(self, parent)
|
||||||
gtk.StatusIcon.__init__(self)
|
gtk.StatusIcon.__init__(self)
|
||||||
|
|
||||||
self.current_icon_path = ''
|
self.current_icon_path = ''
|
||||||
|
|||||||
Reference in New Issue
Block a user