def __init__(self): widgetset.SolidBackground.__init__(self, (0, 0, 0)) vbox = widgetset.VBox() label = widgetset.Label(_( "%(appname)s can't play this file. You may " "be able to open it with a different program", {"appname": app.config.get(prefs.SHORT_APP_NAME)} )) label.set_color((1, 1, 1)) vbox.pack_start(label) table = widgetset.Table(2, 2) table.set_column_spacing(6) self.filename_label = self._make_label('') self.filetype_label = self._make_label('') table.pack(widgetutil.align_left(self._make_heading(_('Filename:'))), 0, 0) table.pack(widgetutil.align_left(self.filename_label), 1, 0) table.pack(widgetutil.align_left(self._make_heading(_('File type:'))), 0, 1) table.pack(widgetutil.align_left(self.filetype_label), 1, 1) vbox.pack_start(widgetutil.align_left(table, top_pad=12)) hbox = widgetset.HBox(spacing=12) reveal_button = widgetset.Button(_('Reveal File')) self.play_externally_button = widgetset.Button(_('Play Externally')) self.play_externally_button.connect('clicked', self._on_play_externally) skip_button = widgetset.Button(_('Skip')) reveal_button.connect('clicked', self._on_reveal) skip_button.connect('clicked', self._on_skip) self.reveal_button_holder = widgetutil.HideableWidget(reveal_button) self.play_externally_button_holder = widgetutil.HideableWidget( self.play_externally_button) hbox.pack_start(self.reveal_button_holder) hbox.pack_start(self.play_externally_button_holder) hbox.pack_start(skip_button) vbox.pack_start(widgetutil.align_center(hbox, top_pad=24)) alignment = widgetset.Alignment(xalign=0.5, yalign=0.5) alignment.add(vbox) self.add(alignment)
def run_dialog(self, report): self.report = report try: vbox = widgetset.VBox(spacing=8) lab = widgetset.Label( _("You can help us fix this problem by submitting an " "error report.")) lab.set_wrap(True) lab.set_size_request(600, -1) vbox.pack_start(widgetutil.align_left(lab)) warning = widgetset.Label( _("Note: This error report will not be posted publicly, " "but may include uniquely identifable information " "including file names, website URLs, podcast URLs, " "and disk paths.")) warning.set_wrap(True) warning.set_size_request(600, -1) vbox.pack_start(widgetutil.align_left(warning)) self.see_crash_button = widgetset.Button(_("See crash report")) self.see_crash_button.set_size(widgetconst.SIZE_SMALL) self.see_crash_button.connect('clicked', self.on_see_crash_report) vbox.pack_start(widgetutil.align_right(self.see_crash_button)) cbx = widgetset.Checkbox( _("Include entire program database including all " "filenames, websites, and podcasts with the " "error report.")) vbox.pack_start(widgetutil.align_left(cbx)) lab2 = widgetset.Label( _("What were you doing when you got this message? " "(Helpful, but not required.)")) lab2.set_wrap(True) lab2.set_size_request(600, -1) vbox.pack_start(widgetutil.align_left(lab2)) text = widgetset.MultilineTextEntry() scroller = widgetset.Scroller(True, True) scroller.add(text) scroller.set_size_request(600, 100) vbox.pack_start(widgetutil.align_left(scroller)) hidden_vbox = widgetset.VBox(spacing=5) lab = widgetset.Label(_("Crash Report:")) hidden_vbox.pack_start(widgetutil.align_left(lab)) report_text = widgetset.MultilineTextEntry(self.report) report_text.set_editable(False) scroller = widgetset.Scroller(True, True) scroller.add(report_text) scroller.set_size_request(600, 100) hidden_vbox.pack_start(widgetutil.align_left(scroller)) self.hidden_vbox = widgetutil.HideableWidget(hidden_vbox) self.hidden_vbox.hide() vbox.pack_start(self.hidden_vbox) self.set_extra_widget(vbox) self.add_button(BUTTON_SUBMIT_REPORT.text) self.add_button(BUTTON_IGNORE.text) self.vbox = vbox ret = self.run() if ret == 0: messages.ReportCrash(report, text.get_text(), cbx.get_checked()).send_to_backend() else: return IGNORE_ERRORS except StandardError: logging.exception("crashdialog threw exception.")
def __init__(self): itemlistwidgets.Titlebar.__init__(self) hbox = widgetset.HBox() self.add(hbox) self.create_signal('browser-reload') self.create_signal('browser-back') self.create_signal('browser-forward') self.create_signal('browser-stop') self.create_signal('browser-home') self.create_signal('address-entered') self.create_signal('browser-download') self.create_signal('browser-open') self.back_button = imagebutton.ImageButton('navback') self.back_button.set_squish_width(True) self.back_button.connect('clicked', self._on_back_button_clicked) self.back_button.disable() hbox.pack_start(widgetutil.align_middle(self.back_button, left_pad=10)) nav_separator = widgetset.ImageDisplay( imagepool.get(resources.path('images/navseparator.png'))) hbox.pack_start(widgetutil.align_middle(nav_separator)) self.forward_button = imagebutton.ImageButton('navforward') self.forward_button.set_squish_width(True) self.forward_button.connect('clicked', self._on_forward_button_clicked) self.forward_button.disable() hbox.pack_start(widgetutil.align_middle(self.forward_button)) self.reload_button = imagebutton.ImageButton('navreload') self.reload_button.connect('clicked', self._on_reload_button_clicked) hbox.pack_start(widgetutil.align_middle(self.reload_button, left_pad=4)) self.stop_button = imagebutton.ImageButton('navstop') self.stop_button.connect('clicked', self._on_stop_button_clicked) hbox.pack_start(widgetutil.align_middle(self.stop_button, left_pad=4)) self.home_button = imagebutton.ImageButton('navhome') self.home_button.connect('clicked', self._on_home_button_clicked) hbox.pack_start(widgetutil.align_middle(self.home_button, left_pad=4)) self.browser_open_button = widgetutil.TitlebarButton( _('Open in browser'), 'navopen') self.browser_open_button.connect('clicked', self._on_browser_open_activate) hbox.pack_end( widgetutil.align_middle(self.browser_open_button, right_pad=10)) self.download_button = widgetutil.TitlebarButton( _("Download this video"), 'navdownload') self.download_button.connect('clicked', self._on_download_button_clicked) self.download_button = widgetutil.HideableWidget(self.download_button) hbox.pack_end( widgetutil.align_middle(self.download_button, right_pad=4)) self.loading_icon = BrowserLoadingImage() hbox.pack_start(widgetutil.align_middle(self.loading_icon), expand=True)