void ChatWidgetContainerHandlerMapper::chatWidgetContainerHandlerUnregistered(ChatWidgetContainerHandler *chatWidgetContainerHandler)
{
	disconnect(chatWidgetContainerHandler, SIGNAL(chatAcceptanceChanged(Chat)),
			   this, SLOT(chatAcceptanceChanged(Chat)));

	auto chats = m_mapping.keys(chatWidgetContainerHandler);
	for (auto chat : chats)
		chatAcceptanceChanged(chat);
}
void ChatWidgetContainerHandlerMapper::chatWidgetContainerHandlerRegistered(ChatWidgetContainerHandler *chatWidgetContainerHandler)
{
	connect(chatWidgetContainerHandler, SIGNAL(chatAcceptanceChanged(Chat)),
			this, SLOT(chatAcceptanceChanged(Chat)));

	auto chats = m_mapping.keys();
	for (auto chat : chats)
		if (chatWidgetContainerHandler->acceptChat(chat))
		{
			unmap(chat);
			if (m_chatWidgetRepository)
				m_chatWidgetRepository->removeChatWidget(chat);
			map(chatWidgetContainerHandler, chat);
			createHandledChatWidget(chat, OpenChatActivation::Ignore);
		}
}
Example #3
0
File: tabs.cpp Project: vogel/kadu
void TabsManager::attachChat(ChatWidget *chatWidget)
{
    auto chat = chatWidget->chat();
    chat.removeProperty("tabs:detached");
    chat.addProperty("tabs:attached", true, CustomProperties::Storable);

    emit chatAcceptanceChanged(chat);
}
Example #4
0
File: tabs.cpp Project: vogel/kadu
void TabsManager::detachChat(ChatWidget *chatWidget)
{
    kdebugf();
    if (TabDialog->indexOf(chatWidget) == -1)
        return;

    auto chat = chatWidget->chat();
    chat.addProperty("tabs:detached", true, CustomProperties::Storable);
    chat.removeProperty("tabs:attached");
    emit chatAcceptanceChanged(chat);
}