def _updateViewer(self, force=False):
        """Updates the viewer dialog.
        If dialog is not visible and force=False, does nothing.
        Otherwise, checks the mtime of the current purrer index.html file against self._viewer_timestamp.
        If it is newer, reloads it.
        """
        if not force and not self.viewer_dialog.isVisible():
            return
        # default text if nothing is found
        path = self.purrer.indexfile
        mtime = self.fileModTime(path)
        # return if file is older than our content
        if mtime and mtime <= (self._viewer_timestamp or 0):
            return
        busy = BusyIndicator()
        self.viewer_dialog.setDocument(path, empty=
        "<P>Nothing in the log yet. Try adding some log entries.</P>")
        self.viewer_dialog.reload()
        self.viewer_dialog.setLabel("""<P>Below is your full HTML-rendered log. Note that this is 
      only a bare-bones viewer, so only a limited set of links will work. 
      For a fully-functional view, use a proper HTML browser to look at the index file residing here:<BR>
      <tt>%s</tt></P>
      """ % self.purrer.indexfile)
        self._viewer_timestamp = mtime