why you are writing this order:
Qt Code:
  1. QWidget::mouseDoubleClickEvent(event);
  2. QMouseEvent translatedEvent(event->type(),
  3. mapTo(parentWidget(), event->pos()),
  4. event->button(),
  5. event->buttons(),
  6. event->modifiers());
  7. qApp->sendEvent(parentWidget(), &translatedEvent);
To copy to clipboard, switch view to plain text mode 

why not

Qt Code:
  1. QMouseEvent translatedEvent(event->type(),
  2. mapTo(parentWidget(), event->pos()),
  3. event->button(),
  4. event->buttons(),
  5. event->modifiers());
  6. qApp->sendEvent(parentWidget(), &translatedEvent);
  7. QWidget::mouseDoubleClickEvent(event);
To copy to clipboard, switch view to plain text mode 
why you are calling
QWidget::mouseDoubleClickEvent(event);
at all?