mirror of
https://github.com/gryf/wicd.git
synced 2025-12-20 04:48:00 +01:00
merge add support for nevershow buttons and options (Robin Becker 2011-09-18)
This commit is contained in:
45
data/wicd.ui
45
data/wicd.ui
@@ -502,7 +502,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkTable" id="table1">
|
<object class="GtkTable" id="table1">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="n_rows">20</property>
|
<property name="n_rows">22</property>
|
||||||
<property name="n_columns">2</property>
|
<property name="n_columns">2</property>
|
||||||
<property name="column_spacing">4</property>
|
<property name="column_spacing">4</property>
|
||||||
<property name="row_spacing">4</property>
|
<property name="row_spacing">4</property>
|
||||||
@@ -562,6 +562,41 @@ is already active.</property>
|
|||||||
<property name="y_options">GTK_FILL</property>
|
<property name="y_options">GTK_FILL</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkAlignment" id="alignment13_1">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="left_padding">12</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCheckButton" id="pref_show_never_connect_check">
|
||||||
|
<property name="label" translatable="yes">Show never connect networks</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="draw_indicator">True</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="right_attach">2</property>
|
||||||
|
<property name="top_attach">19</property>
|
||||||
|
<property name="bottom_attach">20</property>
|
||||||
|
<property name="y_options"/>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label12_1">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="label" translatable="yes"><b>Never Connect</b></property>
|
||||||
|
<property name="use_markup">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="right_attach">2</property>
|
||||||
|
<property name="top_attach">18</property>
|
||||||
|
<property name="bottom_attach">19</property>
|
||||||
|
<property name="y_options"/>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkAlignment" id="alignment13">
|
<object class="GtkAlignment" id="alignment13">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@@ -943,8 +978,8 @@ is already active.</property>
|
|||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="right_attach">2</property>
|
<property name="right_attach">2</property>
|
||||||
<property name="top_attach">18</property>
|
<property name="top_attach">20</property>
|
||||||
<property name="bottom_attach">19</property>
|
<property name="bottom_attach">21</property>
|
||||||
<property name="y_options"></property>
|
<property name="y_options"></property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
@@ -964,8 +999,8 @@ is already active.</property>
|
|||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="right_attach">2</property>
|
<property name="right_attach">2</property>
|
||||||
<property name="top_attach">19</property>
|
<property name="top_attach">21</property>
|
||||||
<property name="bottom_attach">20</property>
|
<property name="bottom_attach">22</property>
|
||||||
<property name="y_options"></property>
|
<property name="y_options"></property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
|||||||
@@ -139,6 +139,9 @@ class WiredProfileChooser:
|
|||||||
dialog.destroy()
|
dialog.destroy()
|
||||||
|
|
||||||
|
|
||||||
|
def get_wireless_prop(net_id, prop):
|
||||||
|
return wireless.GetWirelessProperty(net_id, prop)
|
||||||
|
|
||||||
class appGui(object):
|
class appGui(object):
|
||||||
""" The main wicd GUI class. """
|
""" The main wicd GUI class. """
|
||||||
def __init__(self, standalone=False, tray=None):
|
def __init__(self, standalone=False, tray=None):
|
||||||
@@ -571,8 +574,10 @@ class appGui(object):
|
|||||||
num_networks = wireless.GetNumberOfNetworks()
|
num_networks = wireless.GetNumberOfNetworks()
|
||||||
instruct_label = self.wTree.get_object("label_instructions")
|
instruct_label = self.wTree.get_object("label_instructions")
|
||||||
if num_networks > 0:
|
if num_networks > 0:
|
||||||
|
skip_never_connect = not daemon.GetShowNeverConnect()
|
||||||
instruct_label.show()
|
instruct_label.show()
|
||||||
for x in range(0, num_networks):
|
for x in xrange(0, num_networks):
|
||||||
|
if skip_never_connect and misc.to_bool(get_wireless_prop(x,'never')): continue
|
||||||
if printLine:
|
if printLine:
|
||||||
sep = gtk.HSeparator()
|
sep = gtk.HSeparator()
|
||||||
self.network_list.pack_start(sep, padding=10, fill=False,
|
self.network_list.pack_start(sep, padding=10, fill=False,
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ class AdvancedSettingsDialog(gtk.Dialog):
|
|||||||
if network_name:
|
if network_name:
|
||||||
title = '%s - %s' % (network_name, language['properties'])
|
title = '%s - %s' % (network_name, language['properties'])
|
||||||
else:
|
else:
|
||||||
title = language['properties']
|
title = language['properties']
|
||||||
|
|
||||||
gtk.Dialog.__init__(self, title=title,
|
gtk.Dialog.__init__(self, title=title,
|
||||||
flags=gtk.DIALOG_MODAL, buttons=(gtk.STOCK_CANCEL,
|
flags=gtk.DIALOG_MODAL, buttons=(gtk.STOCK_CANCEL,
|
||||||
@@ -813,6 +813,7 @@ class WirelessNetworkEntry(NetworkEntry):
|
|||||||
|
|
||||||
print "ESSID : " + self.essid
|
print "ESSID : " + self.essid
|
||||||
self.chkbox_autoconnect = gtk.CheckButton(language['automatic_connect'])
|
self.chkbox_autoconnect = gtk.CheckButton(language['automatic_connect'])
|
||||||
|
self.chkbox_neverconnect = gtk.CheckButton(language['never_connect'])
|
||||||
|
|
||||||
self.set_signal_strength(wireless.GetWirelessProperty(networkID,
|
self.set_signal_strength(wireless.GetWirelessProperty(networkID,
|
||||||
'quality'),
|
'quality'),
|
||||||
@@ -833,14 +834,23 @@ class WirelessNetworkEntry(NetworkEntry):
|
|||||||
# Add the wireless network specific parts to the NetworkEntry
|
# Add the wireless network specific parts to the NetworkEntry
|
||||||
# VBox objects.
|
# VBox objects.
|
||||||
self.vbox_top.pack_start(self.chkbox_autoconnect, False, False)
|
self.vbox_top.pack_start(self.chkbox_autoconnect, False, False)
|
||||||
|
self.vbox_top.pack_start(self.chkbox_neverconnect, False, False)
|
||||||
|
|
||||||
if to_bool(self.format_entry(networkID, "automatic")):
|
if to_bool(self.format_entry(networkID, "automatic")):
|
||||||
self.chkbox_autoconnect.set_active(True)
|
self.chkbox_autoconnect.set_active(True)
|
||||||
else:
|
else:
|
||||||
self.chkbox_autoconnect.set_active(False)
|
self.chkbox_autoconnect.set_active(False)
|
||||||
|
|
||||||
|
if to_bool(self.format_entry(networkID, "never")):
|
||||||
|
self.chkbox_autoconnect.set_sensitive(False)
|
||||||
|
self.connect_button.set_sensitive(False)
|
||||||
|
self.chkbox_neverconnect.set_active(True)
|
||||||
|
else:
|
||||||
|
self.chkbox_neverconnect.set_active(False)
|
||||||
|
|
||||||
# Connect signals.
|
# Connect signals.
|
||||||
self.chkbox_autoconnect.connect("toggled", self.update_autoconnect)
|
self.chkbox_autoconnect.connect("toggled", self.update_autoconnect)
|
||||||
|
self.chkbox_neverconnect.connect("toggled", self.update_neverconnect)
|
||||||
|
|
||||||
# Show everything
|
# Show everything
|
||||||
self.show_all()
|
self.show_all()
|
||||||
@@ -863,6 +873,18 @@ class WirelessNetworkEntry(NetworkEntry):
|
|||||||
get_active()))
|
get_active()))
|
||||||
wireless.SaveWirelessNetworkProperty(self.networkID, "automatic")
|
wireless.SaveWirelessNetworkProperty(self.networkID, "automatic")
|
||||||
|
|
||||||
|
def update_neverconnect(self, widget=None):
|
||||||
|
""" Called when the neverconnect checkbox is toggled. """
|
||||||
|
wireless.SetWirelessProperty(self.networkID, "never",
|
||||||
|
noneToString(self.chkbox_neverconnect.get_active()))
|
||||||
|
wireless.SaveWirelessNetworkProperty(self.networkID, "never")
|
||||||
|
if self.chkbox_neverconnect.get_active():
|
||||||
|
self.chkbox_autoconnect.set_sensitive(False)
|
||||||
|
self.connect_button.set_sensitive(False)
|
||||||
|
else:
|
||||||
|
self.chkbox_autoconnect.set_sensitive(True)
|
||||||
|
self.connect_button.set_sensitive(True)
|
||||||
|
|
||||||
def destroy_called(self, *args):
|
def destroy_called(self, *args):
|
||||||
""" Clean up everything. """
|
""" Clean up everything. """
|
||||||
self.disconnect(self.wifides)
|
self.disconnect(self.wifides)
|
||||||
@@ -874,6 +896,8 @@ class WirelessNetworkEntry(NetworkEntry):
|
|||||||
|
|
||||||
def update_connect_button(self, state, apbssid):
|
def update_connect_button(self, state, apbssid):
|
||||||
""" Update the connection/disconnect button for this entry. """
|
""" Update the connection/disconnect button for this entry. """
|
||||||
|
if to_bool(self.format_entry(self.networkID, "never")):
|
||||||
|
self.connect_button.set_sensitive(False)
|
||||||
if not apbssid:
|
if not apbssid:
|
||||||
apbssid = wireless.GetApBssid()
|
apbssid = wireless.GetApBssid()
|
||||||
if state == misc.WIRELESS and \
|
if state == misc.WIRELESS and \
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ class PreferencesDialog(object):
|
|||||||
self.displaytypecheckbox.set_active(daemon.GetSignalDisplayType())
|
self.displaytypecheckbox.set_active(daemon.GetSignalDisplayType())
|
||||||
self.verifyapcheckbox.set_active(daemon.GetShouldVerifyAp())
|
self.verifyapcheckbox.set_active(daemon.GetShouldVerifyAp())
|
||||||
self.preferwiredcheckbox.set_active(daemon.GetPreferWiredNetwork())
|
self.preferwiredcheckbox.set_active(daemon.GetPreferWiredNetwork())
|
||||||
|
self.showneverconnectcheckbox.set_active(daemon.GetShowNeverConnect())
|
||||||
|
|
||||||
dhcp_list = [self.dhcpautoradio, self.dhclientradio, self.dhcpcdradio,
|
dhcp_list = [self.dhcpautoradio, self.dhclientradio, self.dhcpcdradio,
|
||||||
self.pumpradio, self.udhcpcradio]
|
self.pumpradio, self.udhcpcradio]
|
||||||
@@ -199,6 +200,7 @@ class PreferencesDialog(object):
|
|||||||
daemon.SetSignalDisplayType(int(self.displaytypecheckbox.get_active()))
|
daemon.SetSignalDisplayType(int(self.displaytypecheckbox.get_active()))
|
||||||
daemon.SetShouldVerifyAp(bool(self.verifyapcheckbox.get_active()))
|
daemon.SetShouldVerifyAp(bool(self.verifyapcheckbox.get_active()))
|
||||||
daemon.SetPreferWiredNetwork(bool(self.preferwiredcheckbox.get_active()))
|
daemon.SetPreferWiredNetwork(bool(self.preferwiredcheckbox.get_active()))
|
||||||
|
daemon.SetShowNeverConnect(bool(self.showneverconnectcheckbox.get_active()))
|
||||||
if self.showlistradiobutton.get_active():
|
if self.showlistradiobutton.get_active():
|
||||||
daemon.SetWiredAutoConnectMethod(2)
|
daemon.SetWiredAutoConnectMethod(2)
|
||||||
elif self.lastusedradiobutton.get_active():
|
elif self.lastusedradiobutton.get_active():
|
||||||
@@ -327,6 +329,8 @@ class PreferencesDialog(object):
|
|||||||
|
|
||||||
self.reconnectcheckbox = setup_label("pref_auto_check",
|
self.reconnectcheckbox = setup_label("pref_auto_check",
|
||||||
'auto_reconnect')
|
'auto_reconnect')
|
||||||
|
self.showneverconnectcheckbox = setup_label("pref_show_never_connect_check",
|
||||||
|
'show_never_connect')
|
||||||
self.debugmodecheckbox = setup_label("pref_debug_check",
|
self.debugmodecheckbox = setup_label("pref_debug_check",
|
||||||
'use_debug_mode')
|
'use_debug_mode')
|
||||||
self.displaytypecheckbox = setup_label("pref_dbm_check",
|
self.displaytypecheckbox = setup_label("pref_dbm_check",
|
||||||
|
|||||||
@@ -765,7 +765,9 @@ class TrayIcon(object):
|
|||||||
sep.show()
|
sep.show()
|
||||||
|
|
||||||
if num_networks > 0:
|
if num_networks > 0:
|
||||||
for x in range(0, num_networks):
|
skip_never_connect = not daemon.GetShowNeverConnect()
|
||||||
|
for x in xrange(0, num_networks):
|
||||||
|
if skip_never_connect and misc.to_bool(get_prop(x,"never")): continue
|
||||||
essid = get_prop(x, "essid")
|
essid = get_prop(x, "essid")
|
||||||
if status == misc.WIRELESS and info[1] == essid:
|
if status == misc.WIRELESS and info[1] == essid:
|
||||||
is_active = True
|
is_active = True
|
||||||
|
|||||||
@@ -105,6 +105,9 @@ language['dhcp_failed'] = _('''Connection Failed: Unable to Get IP Address''')
|
|||||||
language['setting_static_ip'] = _('''Setting static IP addresses...''')
|
language['setting_static_ip'] = _('''Setting static IP addresses...''')
|
||||||
language['connecting_to_daemon'] = _('''Connecting to daemon...''')
|
language['connecting_to_daemon'] = _('''Connecting to daemon...''')
|
||||||
language['automatic_connect'] = _('''Automatically connect to this network''')
|
language['automatic_connect'] = _('''Automatically connect to this network''')
|
||||||
|
language['never_connect'] = _('Never connect to this network')
|
||||||
|
language['show_never_connect'] = _('Show never connect networks')
|
||||||
|
language['hide_never_connect'] = _('Hide never connect networks')
|
||||||
language['add_new_wired_profile'] = _('''Add a new wired profile''')
|
language['add_new_wired_profile'] = _('''Add a new wired profile''')
|
||||||
language['dhcp_client'] = _('''DHCP Client''')
|
language['dhcp_client'] = _('''DHCP Client''')
|
||||||
language['display_type_dialog'] = _('''Use dBm to measure signal strength''')
|
language['display_type_dialog'] = _('''Use dBm to measure signal strength''')
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ class WicdDaemon(dbus.service.Object):
|
|||||||
self.connection_info = [""]
|
self.connection_info = [""]
|
||||||
self.auto_connecting = False
|
self.auto_connecting = False
|
||||||
self.prefer_wired = False
|
self.prefer_wired = False
|
||||||
|
self.show_never_connect = True
|
||||||
self.dhcp_client = 0
|
self.dhcp_client = 0
|
||||||
self.link_detect_tool = 0
|
self.link_detect_tool = 0
|
||||||
self.flush_tool = 0
|
self.flush_tool = 0
|
||||||
@@ -565,6 +566,20 @@ class WicdDaemon(dbus.service.Object):
|
|||||||
self.config.set("Settings", "prefer_wired", bool(value), write=True)
|
self.config.set("Settings", "prefer_wired", bool(value), write=True)
|
||||||
self.prefer_wired = bool(value)
|
self.prefer_wired = bool(value)
|
||||||
|
|
||||||
|
@dbus.service.method('org.wicd.daemon')
|
||||||
|
def GetShowNeverConnect(self):
|
||||||
|
""" Returns True if show_never_connect is set
|
||||||
|
|
||||||
|
if True then the client will show networks marked as never connect
|
||||||
|
"""
|
||||||
|
return self.show_never_connect
|
||||||
|
|
||||||
|
@dbus.service.method('org.wicd.daemon')
|
||||||
|
def SetShowNeverConnect(self, value):
|
||||||
|
""" Sets the how_never_connect state. """
|
||||||
|
self.config.set("Settings", "show_never_connect", bool(value), write=True)
|
||||||
|
self.show_never_connect = bool(value)
|
||||||
|
|
||||||
@dbus.service.method('org.wicd.daemon')
|
@dbus.service.method('org.wicd.daemon')
|
||||||
def SetConnectionStatus(self, state, info):
|
def SetConnectionStatus(self, state, info):
|
||||||
""" Sets the connection status.
|
""" Sets the connection status.
|
||||||
@@ -875,6 +890,8 @@ class WicdDaemon(dbus.service.Object):
|
|||||||
self.SetSudoApp(app_conf.get("Settings", "sudo_app", default=0))
|
self.SetSudoApp(app_conf.get("Settings", "sudo_app", default=0))
|
||||||
self.SetPreferWiredNetwork(app_conf.get("Settings", "prefer_wired",
|
self.SetPreferWiredNetwork(app_conf.get("Settings", "prefer_wired",
|
||||||
default=False))
|
default=False))
|
||||||
|
self.SetShowNeverConnect(app_conf.get("Settings", "show_never_connect",
|
||||||
|
default=True))
|
||||||
app_conf.write()
|
app_conf.write()
|
||||||
|
|
||||||
if os.path.isfile(wireless_conf):
|
if os.path.isfile(wireless_conf):
|
||||||
@@ -1302,6 +1319,12 @@ class WirelessDaemon(dbus.service.Object):
|
|||||||
if self.debug_mode:
|
if self.debug_mode:
|
||||||
print network["essid"] + ' has profile'
|
print network["essid"] + ' has profile'
|
||||||
if bool(network.get('automatic')):
|
if bool(network.get('automatic')):
|
||||||
|
try:
|
||||||
|
if network.get('never'):
|
||||||
|
print network["essid"],'marked never connect'
|
||||||
|
continue
|
||||||
|
except:
|
||||||
|
print network["essid"],'has no never connect value'
|
||||||
print 'trying to automatically connect to...' + \
|
print 'trying to automatically connect to...' + \
|
||||||
network["essid"]
|
network["essid"]
|
||||||
self.ConnectWireless(x)
|
self.ConnectWireless(x)
|
||||||
@@ -1700,7 +1723,7 @@ def main(argv):
|
|||||||
if o in ('-n', '--no-poll'):
|
if o in ('-n', '--no-poll'):
|
||||||
no_poll = True
|
no_poll = True
|
||||||
if o in ('-k', '--kill'):
|
if o in ('-k', '--kill'):
|
||||||
kill = True
|
kill = True
|
||||||
|
|
||||||
if kill:
|
if kill:
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user