Pops up the viewer dialog for the entry associated with the given item.
        If 'item' is None, looks for a selected item in the listview.
        The dum arguments are for connecting this to QTreeWidget signals such as doubleClicked().

def _viewEntryItem(self, item=None, *dum):
        """Pops up the viewer dialog for the entry associated with the given item.
        If 'item' is None, looks for a selected item in the listview.
        The dum arguments are for connecting this to QTreeWidget signals such as doubleClicked().
        """
        # if item not set, look for selected items in listview. Only 1 must be selected.
        select = True
        if item is None:
            selected = [item for item in self.etw.iterator(self.etw.Iterator.Selected) if item._ientry is not None]
            if len(selected) != 1:
                return
            item = selected[0]
            select = False;  # already selected
        else:
            # make sure item is open -- the click will cause it to close
            self.etw.expandItem(item)
        # show dialog
        ientry = getattr(item, '_ientry', None)
        if ientry is not None:
            self._viewEntryNumber(ientry, select=select)