code: def mouseDoubleClickEvent(self, event):
          
          item = self.itemAt(event.pos())
          column = self.columnAt(event.pos().x())
          
          mid_button = event.button() == QtCore.Qt.MidButton
          ctrl_click = event.button() == QtCore.Qt.LeftButton and \
                       event.modifiers() == QtCore.Qt.ControlModifier
          
          if mid_button or ctrl_click:
              self.itemMiddleDoubleClicked.emit(item, column)
          elif event.button() == QtCore.Qt.RightButton:
              self.itemRightDoubleClicked.emit(item, column)
          else:
              super(XTreeWidget, self).mouseDoubleClickEvent(event)
docs: Overloads when a mouse press occurs.  If in editable mode, and the
          click occurs on a selected index, then the editor will be created
          and no selection change will occur.
          
          :param      event | <QMousePressEvent>