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()
class Properties: interface = None use_list = None window = None policy = None 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 show(self): self.window.show() def destroy(self): self.window.destroy() def shade_compile(self): self.compile_button.set_sensitive( have_source_for(self.policy, self.interface)) def update_list(self): ranked_items = self.policy.solver.details.get(self.interface, None) if ranked_items is None: # The Solver didn't get this far, but we should still display them! ranked_items = [ (impl, _("(solve aborted before here)")) for impl in self.interface.implementations.values() ] ranked_items.sort() self.use_list.set_items(ranked_items)
def __init__(self, policy, interface, compile, 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(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, 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(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()
class Properties: interface = None use_list = None window = None policy = None def __init__(self, policy, interface, compile, 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(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, 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(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 show(self): self.window.show() def destroy(self): self.window.destroy() def shade_compile(self): self.compile_button.set_sensitive(have_source_for(self.policy, self.interface)) def update_list(self): ranked_items = self.policy.solver.details.get(self.interface, None) if ranked_items is None: # The Solver didn't get this far, but we should still display them! ranked_items = [(impl, _("(solve aborted before here)")) for impl in self.interface.implementations.values()] # Always sort by version ranked_items.sort() self.use_list.set_items(ranked_items)