ContactStatusChatWidgetItem::ContactStatusChatWidgetItem(openmittsu::dataproviders::BackedContactMessage const& message, QWidget* parent) : ContactChatWidgetItem(message, parent), m_lblStatus(new QLabel()) {
			if (!message.isStatusMessage()) {
				throw openmittsu::exceptions::InternalErrorException() << "Can not handle non-status message with type " << openmittsu::dataproviders::messages::ContactMessageTypeHelper::toString(message.getMessageType()) << ".";
			}

			ChatWidgetItem::configureLabel(m_lblStatus, 13);
			this->addWidget(m_lblStatus);

			onContactDataChanged();
			onMessageDataChanged();
		}
		GroupTextChatWidgetItem::GroupTextChatWidgetItem(openmittsu::dataproviders::BackedGroupMessage const& message, QWidget* parent) : GroupChatWidgetItem(message, parent), m_lblText(new QLabel()) {
			if (message.getMessageType() != openmittsu::dataproviders::messages::GroupMessageType::TEXT && !message.isStatusMessage()) {
				throw openmittsu::exceptions::InternalErrorException() << "Can not handle message with type " << openmittsu::dataproviders::messages::GroupMessageTypeHelper::toString(message.getMessageType()) << ".";
			}

			ChatWidgetItem::configureLabel(m_lblText, 13);
			this->addWidget(m_lblText);

			onContactDataChanged();
			onMessageDataChanged();
		}
예제 #3
0
void ContactRegistry::connectContact(Contact* contact) {
	OPENMITTSU_CONNECT(contact, dataChanged(), this, onContactDataChanged());
}