messages: improve unread message handling code

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
messages: modernize code of UnreadMessageRepository

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: modernize code of ChatWidgetMessageHandler

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: change semantics of ChatWindowRepository

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: added ChatWidgetContainerHandlerMapper::isChatWidgetActive

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: remove ChatWidget::isActive()

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: fixes unread messages handling in single window mode

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: replaced tryActivate() with chchm::tryActivateChatWidget()

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: remove ChatWidgetContainer::alertChatWidget()

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: remove unused method

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: changed way closing widgets works

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: removed unused ChatWidget::Container field

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: removed unneeded interface

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: rename ChatWidgetContainerHandler::containChatWidget -> addChatWidget

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
single-window: a bit of code modernization

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: add ChatWidgetContainerHandler::wantChatWidget method

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: attach chat widgets to new containers when required

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
gui: do not return bool from ChatWidgetContainerHandler::addChatWidget()

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>