QSharedPointer<ChatAction> instead ChatAction*