Don't really like it, there should be a more explicit method to signify a failed message than a `messageSentResult()` with invalid `messageId`. It's pretty confusing, at first I thought you called a wrong method, but then I realized what you were doing. It would be better to extract the `failure in sending a message` code from the `messageSentResult()` into its own method, and make it more general, such that it would work for failure in any message, even the action one.

As noted before, you can leave it as it is and look into Quassel's QGraphicsView. Actually, I even encourage you to do so :)