def __init__(self, policy, interface, show_versions=False): self.policy = policy widgets = Template('interface_properties') self.interface = interface window = widgets.get_widget('interface_properties') self.window = window window.set_title(_('Properties for %s') % interface.get_name()) window.set_default_size(-1, gtk.gdk.screen_height() / 3) self.compile_button = widgets.get_widget('compile') self.compile_button.connect( 'clicked', lambda b: compile.compile(policy, interface)) window.set_default_response(gtk.RESPONSE_CANCEL) def response(dialog, resp): if resp == gtk.RESPONSE_CANCEL: window.destroy() elif resp == gtk.RESPONSE_HELP: properties_help.display() window.connect('response', response) notebook = widgets.get_widget('interface_notebook') assert notebook feeds = Feeds(policy, interface, widgets) stability = widgets.get_widget('preferred_stability') stability.set_active(0) if interface.stability_policy: i = [stable, testing, developer].index(interface.stability_policy) i += 1 if i == 0: warn(_("Unknown stability policy %s"), interface.stability_policy) else: i = 0 stability.set_active(i) def set_stability_policy(combo): i = stability.get_active() if i == 0: new_stability = None else: name = stability.get_model()[i][0].lower() new_stability = stability_levels[name] interface.set_stability_policy(new_stability) writer.save_interface(interface) policy.recalculate() stability.connect('changed', set_stability_policy) self.use_list = ImplementationList(policy, interface, widgets) self.update_list() feeds.tv.grab_focus() def updated(): self.update_list() feeds.updated() self.shade_compile() window.connect('destroy', lambda s: policy.watchers.remove(updated)) policy.watchers.append(updated) self.shade_compile() if show_versions: notebook.next_page()
def __init__(self, driver, interface, compile, show_versions=False): self.driver = driver widgets = Template('interface_properties') self.interface = interface window = widgets.get_widget('interface_properties') self.window = window window.set_title(_('Properties for %s') % interface.get_name()) window.set_default_size(-1, gtk.gdk.screen_height() / 3) self.compile_button = widgets.get_widget('compile') self.compile_button.connect('clicked', lambda b: compile(interface)) window.set_default_response(gtk.RESPONSE_CANCEL) def response(dialog, resp): if resp == gtk.RESPONSE_CANCEL: window.destroy() elif resp == gtk.RESPONSE_HELP: properties_help.display() window.connect('response', response) notebook = widgets.get_widget('interface_notebook') assert notebook target_arch = self.driver.solver.get_arch_for(driver.requirements, interface=interface) feeds = Feeds(driver.config, target_arch, interface, widgets) stability = widgets.get_widget('preferred_stability') stability.set_active(0) if interface.stability_policy: i = [stable, testing, developer].index(interface.stability_policy) i += 1 if i == 0: warn(_("Unknown stability policy %s"), interface.stability_policy) else: i = 0 stability.set_active(i) def set_stability_policy(combo, stability=stability): # (pygtk bug?) i = stability.get_active() if i == 0: new_stability = None else: name = ['stable', 'testing', 'developer'][i - 1] new_stability = stability_levels[name] interface.set_stability_policy(new_stability) writer.save_interface(interface) import main main.recalculate() stability.connect('changed', set_stability_policy) self.use_list = ImplementationList(driver, interface, widgets) self.update_list() feeds.tv.grab_focus() def updated(): self.update_list() feeds.updated() self.shade_compile() window.connect('destroy', lambda s: driver.watchers.remove(updated)) driver.watchers.append(updated) self.shade_compile() if show_versions: notebook.next_page()