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"))
Example #2
0
 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"))
Example #3
0
    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