def _set_problem(self, problem): def destroy_links(widget, _): if widget != self._builder.lbl_reported_value: widget.destroy() self.selected_problem = problem sensitive_btn = problem is not None self._builder.btn_delete.set_sensitive(sensitive_btn) self._builder.btn_report.set_sensitive( sensitive_btn and not problem['not-reportable']) self._builder.vbx_links.foreach( destroy_links, None) self._builder.vbx_problem_messages.foreach( lambda w, u: w.destroy(), None) if problem: self._builder.nb_problem_layout.set_current_page(0) app = problem['application'] if problem['type'] == 'Kerneloops': self._builder.lbl_reason.set_text( _("Unexpected system error")) self._builder.lbl_summary.set_text( _("The system has encountered a problem and recovered.")) elif problem['type'] == 'vmcore': self._builder.lbl_reason.set_text( _("Fatal system failure")) self._builder.lbl_summary.set_text( _("The system has encountered a problem and could not continue.")) else: if not app.name: self._builder.lbl_reason.set_text( # Translators: If Application's name is unknown, # display neutral header # "'Type' problem has been detected". Examples: # Kerneloops problem has been detected # C/C++ problem has been detected # Python problem has been detected # Ruby problem has been detected # VMCore problem has been detected # AVC problem has been detected # Java problem has been detected _("{0} problem has been detected").format( problem['human_type'])) else: self._builder.lbl_reason.set_text( _("{0} quit unexpectedly").format(app.name)) self._builder.lbl_summary.set_text( _("The application encountered a problem and could not continue.")) self._builder.lbl_app_name_value.set_text( # Translators: package name not available problem['package_name'] or _("N/A")) self._builder.lbl_app_version_value.set_text( # Translators: package version not available problem['package_version'] or _("N/A")) self._builder.lbl_detected_value.set_text( humanize.naturaltime(datetime.datetime.now()-problem['date'])) self._builder.lbl_detected_value.set_tooltip_text( problem['date'].strftime(config.get_configuration()['D_T_FMT'])) icon_buf = None scale = self._builder.img_app_icon.get_scale_factor() if app.icon: icon_buf = load_icon(gicon=app.icon, scale=scale) if icon_buf is None: icon_buf = load_icon(name="system-run-symbolic", scale=scale) self._builder.img_app_icon.get_style_context().add_class( 'dim-label') else: self._builder.img_app_icon.get_style_context().remove_class( 'dim-label') # icon_buf can be None and if it is None, no icon will be displayed set_icon_from_pixbuf_with_scale(self._builder.img_app_icon, icon_buf, scale) self._builder.lbl_reported_value.show() self._builder.lbl_reported.set_text(_("Reported")) if problem['not-reportable']: self._builder.lbl_reported_value.set_text( _('cannot be reported')) self._show_problem_links(problem['submission']) self._show_problem_message(problem['not-reportable']) elif problem['is_reported']: if self._show_problem_links(problem['submission']): self._builder.lbl_reported.set_text(_("Reports")) self._builder.lbl_reported_value.hide() if (not any((s.name == "Bugzilla" for s in problem['submission']))): self._show_problem_message( _("This problem has been reported, but a <i>Bugzilla</i> ticket has not" " been opened. Our developers may need more information to fix the problem.\n" "Please consider also <b>reporting it</b> to Bugzilla in" " order to provide that. Thank you.")) else: # Translators: Displayed after 'Reported' if a problem # has been reported but we don't know where and when. # Probably a rare situation, usually if a problem is # reported we display a list of reports here. self._builder.lbl_reported_value.set_text(_('yes')) else: # Translators: Displayed after 'Reported' if a problem # has not been reported. self._builder.lbl_reported_value.set_text(_('no')) else: if self._source is not None: self._builder.nb_problem_layout.set_current_page(1) else: self._builder.nb_problem_layout.set_current_page(2)
def _set_problem(self, problem): def destroy_links(widget, _): if widget != self.lbl_reported_value: widget.destroy() self.selected_problem = problem sensitive_btn = problem is not None self.btn_delete.set_sensitive(sensitive_btn) self.btn_report.set_sensitive(sensitive_btn and not problem['not-reportable']) self.vbx_links.foreach(destroy_links, None) self.vbx_problem_messages.foreach(lambda w, u: w.destroy(), None) if problem: self.nb_problem_layout.set_current_page(0) app = problem['application'] if problem['type'] == 'Kerneloops': self.lbl_reason.set_text(_("Unexpected system error")) self.lbl_summary.set_text( _("The system has encountered a problem and recovered.")) elif problem['type'] == 'vmcore': self.lbl_reason.set_text(_("Fatal system failure")) self.lbl_summary.set_text( _("The system has encountered a problem and could not continue." )) else: if not app.name: self.lbl_reason.set_text( # Translators: If Application's name is unknown, # display neutral header # "'Type' problem has been detected". Examples: # Kerneloops problem has been detected # C/C++ problem has been detected # Python problem has been detected # Ruby problem has been detected # VMCore problem has been detected # AVC problem has been detected # Java problem has been detected _("{0} problem has been detected").format( problem['human_type'])) else: self.lbl_reason.set_text( _("{0} quit unexpectedly").format(app.name)) self.lbl_summary.set_text( _("The application encountered a problem and could not continue." )) self.lbl_app_name_value.set_text( # Translators: package name not available problem['package_name'] or _("N/A")) self.lbl_app_version_value.set_text( # Translators: package version not available problem['package_version'] or _("N/A")) self.lbl_detected_value.set_text( humanize.naturaltime(datetime.datetime.now() - problem['date'])) self.lbl_detected_value.set_tooltip_text(problem['date'].strftime( config.get_configuration()['D_T_FMT'])) icon_buf = None scale = self.img_app_icon.get_scale_factor() if app.icon: icon_buf = load_icon(gicon=app.icon, scale=scale) if icon_buf is None: icon_buf = load_icon(name="system-run-symbolic", scale=scale) self.img_app_icon.get_style_context().add_class('dim-label') else: self.img_app_icon.get_style_context().remove_class('dim-label') # icon_buf can be None and if it is None, no icon will be displayed set_icon_from_pixbuf_with_scale(self.img_app_icon, icon_buf, scale) self.lbl_reported_value.show() self.lbl_reported.set_text(_("Reported")) if problem['not-reportable']: self.lbl_reported_value.set_text(_('cannot be reported')) self._show_problem_links(problem['submission']) self._show_problem_message(problem['not-reportable']) elif problem['is_reported']: if self._show_problem_links(problem['submission']): self.lbl_reported.set_text(_("Reports")) self.lbl_reported_value.hide() if (not any((s.name == "Bugzilla" for s in problem['submission']))): self._show_problem_message( _("This problem has been reported, but a <i>Bugzilla</i> ticket has not" " been opened. Our developers may need more information to fix the problem.\n" "Please consider also <b>reporting it</b> to Bugzilla in" " order to provide that. Thank you.")) else: # Translators: Displayed after 'Reported' if a problem # has been reported but we don't know where and when. # Probably a rare situation, usually if a problem is # reported we display a list of reports here. self.lbl_reported_value.set_text(_('yes')) else: # Translators: Displayed after 'Reported' if a problem # has not been reported. self.lbl_reported_value.set_text(_('no')) else: if self._source is not None: self.nb_problem_layout.set_current_page(1) else: self.nb_problem_layout.set_current_page(2)
def _set_problem(self, problem): def destroy_links(widget, _): if widget != self._builder.lbl_reported_value: widget.destroy() self.selected_problem = problem sensitive_btn = problem is not None self._builder.btn_delete.set_sensitive(sensitive_btn) self._builder.btn_report.set_sensitive(sensitive_btn and not problem["not-reportable"]) self._builder.vbx_links.foreach(destroy_links, None) self._builder.vbx_problem_messages.foreach(lambda w, u: w.destroy(), None) if problem: self._builder.nb_problem_layout.set_current_page(0) app = problem["application"] if problem["type"] == "Kerneloops": self._builder.lbl_reason.set_text(_("Unexpected system error")) self._builder.lbl_summary.set_text(_("The system has encountered a problem and recovered.")) elif problem["type"] == "vmcore": self._builder.lbl_reason.set_text(_("Fatal system failure")) self._builder.lbl_summary.set_text(_("The system has encountered a problem and could not continue.")) else: if not app.name: # If Application's name is unknown, display neutral # header "'Type' problem has been detected": # Kerneloops problem has been detected # C/C++ problem has been detected # Python problem has been detected # Ruby problem has been detected # VMCore problem has been detected # AVC problem has been detected # Java problem has been detected self._builder.lbl_reason.set_text(_("{0} problem has been detected").format(problem["human_type"])) else: self._builder.lbl_reason.set_text(_("{0} quit unexpectedly").format(app.name)) self._builder.lbl_summary.set_text(_("The application encountered a problem and could not continue.")) self._builder.lbl_app_name_value.set_text(problem["package_name"] or _("N/A")) self._builder.lbl_app_version_value.set_text(problem["package_version"] or _("N/A")) self._builder.lbl_detected_value.set_text(humanize.naturaltime(datetime.datetime.now() - problem["date"])) self._builder.lbl_detected_value.set_tooltip_text( problem["date"].strftime(config.get_configuration()["D_T_FMT"]) ) icon_buf = None scale = self._builder.img_app_icon.get_scale_factor() if app.icon: icon_buf = load_icon(gicon=app.icon, scale=scale) if icon_buf is None: icon_buf = load_icon(name="system-run-symbolic", scale=scale) # icon_buf can be None and if it is None, no icon will be displayed set_icon_from_pixbuf_with_scale(self._builder.img_app_icon, icon_buf, scale) self._builder.lbl_reported_value.show() self._builder.lbl_reported.set_text(_("Reported")) if problem["not-reportable"]: self._builder.lbl_reported_value.set_text(_("cannot be reported")) self._show_problem_links(problem["submission"]) self._show_problem_message(problem["not-reportable"]) elif problem["is_reported"]: if self._show_problem_links(problem["submission"]): self._builder.lbl_reported.set_text(_("Reports")) self._builder.lbl_reported_value.hide() if not any((s.name == "Bugzilla" for s in problem["submission"])): self._show_problem_message( _( "This problem has been reported, but a <i>Bugzilla</i> ticket has not" " been opened. Our developers may need more information to fix the problem.\n" "Please consider also <b>reporting it</b> to Bugzilla in" " order to provide that. Thank you." ) ) else: self._builder.lbl_reported_value.set_text(_("yes")) else: self._builder.lbl_reported_value.set_text(_("no")) else: if self._source is not None: self._builder.nb_problem_layout.set_current_page(1) else: self._builder.nb_problem_layout.set_current_page(2)