def __init__(self): ReleaseNotesViewer.__init__(self) self.set_wrap_mode(gtk.WRAP_WORD) self.set_pixels_below_lines(3) self.set_right_margin(6) self.set_left_margin(6) atk_desc = self.get_accessible() atk_desc.set_name(_("Description"))
def showReleaseNotes(self): # FIXME: care about i18n! (append -$lang or something) if self.new_dist.releaseNotesURI != None: uri = self.new_dist.releaseNotesURI self.window_main.set_sensitive(False) self.window_main.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH)) while gtk.events_pending(): gtk.main_iteration() # download/display the release notes # FIXME: add some progress reporting here res = gtk.RESPONSE_CANCEL try: release_notes = urllib2.urlopen(uri) notes = release_notes.read() textview_release_notes = ReleaseNotesViewer(notes) textview_release_notes.show() self.parent.scrolled_notes.add(textview_release_notes) self.parent.dialog_release_notes.set_transient_for( self.window_main) res = self.parent.dialog_release_notes.run() self.parent.dialog_release_notes.hide() except urllib2.HTTPError: primary = "<span weight=\"bold\" size=\"larger\">%s</span>" % \ _("Could not find the release notes") secondary = _("The server may be overloaded. ") dialog = gtk.MessageDialog(self.window_main, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "") dialog.set_title("") dialog.set_markup(primary) dialog.format_secondary_text(secondary) dialog.run() dialog.destroy() except IOError: primary = "<span weight=\"bold\" size=\"larger\">%s</span>" % \ _("Could not download the release notes") secondary = _("Please check your internet connection.") dialog = gtk.MessageDialog(self.window_main, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "") dialog.set_title("") dialog.set_markup(primary) dialog.format_secondary_text(secondary) dialog.run() dialog.destroy() self.window_main.set_sensitive(True) self.window_main.window.set_cursor(None) # user clicked cancel if res == gtk.RESPONSE_CANCEL: return False return True
def _try_show_release_notes_textview(self): # FIXME: care about i18n! (append -$lang or something) if self.new_dist.releaseNotesURI != None: uri = self._expandUri(self.new_dist.releaseNotesURI) self.window_main.set_sensitive(False) self.window_main.get_window().set_cursor(Gdk.Cursor.new(Gdk.CursorType.WATCH)) while Gtk.events_pending(): Gtk.main_iteration() # download/display the release notes # FIXME: add some progress reporting here res = Gtk.ResponseType.CANCEL timeout = socket.getdefaulttimeout() try: socket.setdefaulttimeout(5) release_notes = urllib2.urlopen(uri) notes = release_notes.read() textview_release_notes = ReleaseNotesViewer(notes) textview_release_notes.show() self.parent.scrolled_notes.add(textview_release_notes) self.parent.dialog_release_notes.set_transient_for(self.window_main) res = self.parent.dialog_release_notes.run() self.parent.dialog_release_notes.hide() except urllib2.HTTPError: primary = "<span weight=\"bold\" size=\"larger\">%s</span>" % \ _("Could not find the release notes") secondary = _("The server may be overloaded. ") dialog = Gtk.MessageDialog(self.window_main,Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR,Gtk.ButtonsType.CLOSE,"") dialog.set_title("") dialog.set_markup(primary); dialog.format_secondary_text(secondary); dialog.run() dialog.destroy() except IOError: primary = "<span weight=\"bold\" size=\"larger\">%s</span>" % \ _("Could not download the release notes") secondary = _("Please check your internet connection.") dialog = Gtk.MessageDialog(self.window_main,Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR,Gtk.ButtonsType.CLOSE,"") dialog.set_title("") dialog.set_markup(primary); dialog.format_secondary_text(secondary); dialog.run() dialog.destroy() socket.setdefaulttimeout(timeout) self.window_main.set_sensitive(True) self.window_main.get_window().set_cursor(None) # user clicked cancel if res == Gtk.ResponseType.OK: return True return False
def showReleaseNotes(self): # FIXME: care about i18n! (append -$lang or something) if self.new_dist.releaseNotesURI != None: uri = self.new_dist.releaseNotesURI self.window_main.set_sensitive(False) self.window_main.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH)) while gtk.events_pending(): gtk.main_iteration() # download/display the release notes # FIXME: add some progress reporting here res = gtk.RESPONSE_CANCEL try: release_notes = urllib2.urlopen(uri) notes = release_notes.read() textview_release_notes = ReleaseNotesViewer(notes) textview_release_notes.show() self.parent.scrolled_notes.add(textview_release_notes) self.parent.dialog_release_notes.set_transient_for(self.window_main) res = self.parent.dialog_release_notes.run() self.parent.dialog_release_notes.hide() except urllib2.HTTPError: primary = "<span weight=\"bold\" size=\"larger\">%s</span>" % \ _("Could not find the release notes") secondary = _("The server may be overloaded. ") dialog = gtk.MessageDialog(self.window_main,gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR,gtk.BUTTONS_CLOSE,"") dialog.set_title("") dialog.set_markup(primary); dialog.format_secondary_text(secondary); dialog.run() dialog.destroy() except IOError: primary = "<span weight=\"bold\" size=\"larger\">%s</span>" % \ _("Could not download the release notes") secondary = _("Please check your internet connection.") dialog = gtk.MessageDialog(self.window_main,gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR,gtk.BUTTONS_CLOSE,"") dialog.set_title("") dialog.set_markup(primary); dialog.format_secondary_text(secondary); dialog.run() dialog.destroy() self.window_main.set_sensitive(True) self.window_main.window.set_cursor(None) # user clicked cancel if res == gtk.RESPONSE_CANCEL: return False return True