def __init__(self, connection, set_button, settings_obj=None): gtk.VBox.__init__(self) self.tab_name = _("Wired") self.set_button = set_button # 新增settings_obj变量,用于访问shared_methods.Settings对象 self.settings_obj = settings_obj self.connection = connection self.ethernet_setting = connection.get_setting("802-3-ethernet") table = gtk.Table(3, 2, False) mac_address = Label(_("Device Mac Address:"), text_size=CONTENT_FONT_SIZE, enable_select=False, enable_double_click=False) mac_address.set_can_focus(False) self.mac_entry = MACEntry() clone_addr = Label(_("Cloned Mac Address:"), text_size=CONTENT_FONT_SIZE, enable_select=False, enable_double_click=False) clone_addr.set_can_focus(False) self.clone_entry = MACEntry() mtu = Label("MTU:", text_size=CONTENT_FONT_SIZE, enable_select=False, enable_double_click=False) mtu.set_can_focus(False) self.mtu_spin = SpinBox(0,0, 1500, 1, 130) ''' Park table ''' table.attach(style.wrap_with_align(mac_address, width=self.LEFT_PADDING), 0, 1, 0, 1) table.attach(style.wrap_with_align(self.mac_entry), 1, 2, 0, 1) table.attach(style.wrap_with_align(clone_addr, width=self.LEFT_PADDING), 0, 1, 1, 2) table.attach(style.wrap_with_align(self.clone_entry), 1,2, 1, 2) table.attach(style.wrap_with_align(mtu, width=self.LEFT_PADDING), 0,1,2,3) table.attach(style.wrap_with_align(self.mtu_spin), 1,2,2,3) # TODO UI change style.draw_background_color(self) #align = style.set_box_with_align(table, "text") #self.add(align) style.set_table(table) table_align = gtk.Alignment(0, 0, 0, 0) default_button = DefaultToggle(_("Default Setting")) default_button.toggle_off = self.use_default_setting default_button.toggle_on = self.use_user_setting default_button.load([table]) table_align.add(default_button) self.pack_start(table_align, False, False) self.mac_entry.set_size_request(130, 22) self.clone_entry.set_size_request(130, 22) ## retrieve wired info self._init = True self.mac_entry.connect("changed", self.save_settings, "mac_address") self.clone_entry.connect("changed", self.save_settings, "cloned_mac_address") self.mtu_spin.connect("value_changed", self.save_settings, "mtu") self.mtu_spin.value_entry.connect("changed", self.spin_user_set) setting_list = (mac, clone_mac, mtu) = self.ethernet_setting.mac_address, self.ethernet_setting.cloned_mac_address, self.ethernet_setting.mtu #print mac, clone_mac, mtu if mac != None: self.mac_entry.set_address(mac) if clone_mac !=None: self.clone_entry.set_address(clone_mac) if mtu != None: self.mtu_spin.set_value(int(mtu)) if any(setting_list): default_button.set_active(False) self._init = False