From 1e353402446f63f5ecec56181af8112dd0303c99 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 29 Aug 2018 13:52:49 +0200 Subject: [PATCH] feat(MessageCounter): extract base component in MessageCounter.qml file --- resources.qrc | 6 ++-- ui/modules/Linphone/Contact/Contact.qml | 2 +- ...eCounter.qml => ContactMessageCounter.qml} | 28 +++------------ ui/modules/Linphone/Misc/MessageCounter.qml | 34 +++++++++++++++++++ .../Contact/ContactMessageCounterStyle.qml | 12 +++++++ .../{Contact => Misc}/MessageCounterStyle.qml | 3 -- ui/modules/Linphone/Styles/qmldir | 4 ++- ui/modules/Linphone/qmldir | 2 ++ 8 files changed, 61 insertions(+), 30 deletions(-) rename ui/modules/Linphone/Contact/{MessageCounter.qml => ContactMessageCounter.qml} (54%) create mode 100644 ui/modules/Linphone/Misc/MessageCounter.qml create mode 100644 ui/modules/Linphone/Styles/Contact/ContactMessageCounterStyle.qml rename ui/modules/Linphone/Styles/{Contact => Misc}/MessageCounterStyle.qml (84%) diff --git a/resources.qrc b/resources.qrc index afe2014e3..3be083616 100644 --- a/resources.qrc +++ b/resources.qrc @@ -335,10 +335,11 @@ ui/modules/Linphone/Codecs/CodecsViewer.qml ui/modules/Linphone/Contact/Avatar.qml ui/modules/Linphone/Contact/ContactDescription.qml + ui/modules/Linphone/Contact/ContactMessageCounter.qml ui/modules/Linphone/Contact/Contact.qml - ui/modules/Linphone/Contact/MessageCounter.qml ui/modules/Linphone/Dialog/OnlineInstallerDialog.qml ui/modules/Linphone/Menus/SipAddressesMenu.qml + ui/modules/Linphone/Misc/MessageCounter.qml ui/modules/Linphone/Notifications/NotificationBasic.qml ui/modules/Linphone/Notifications/NotificationNewVersionAvailable.qml ui/modules/Linphone/Notifications/Notification.qml @@ -361,10 +362,11 @@ ui/modules/Linphone/Styles/Codecs/CodecsViewerStyle.qml ui/modules/Linphone/Styles/Contact/AvatarStyle.qml ui/modules/Linphone/Styles/Contact/ContactDescriptionStyle.qml + ui/modules/Linphone/Styles/Contact/ContactMessageCounterStyle.qml ui/modules/Linphone/Styles/Contact/ContactStyle.qml - ui/modules/Linphone/Styles/Contact/MessageCounterStyle.qml ui/modules/Linphone/Styles/Dialog/OnlineInstallerDialogStyle.qml ui/modules/Linphone/Styles/Menus/SipAddressesMenuStyle.qml + ui/modules/Linphone/Styles/Misc/MessageCounterStyle.qml ui/modules/Linphone/Styles/Notifications/NotificationBasicStyle.qml ui/modules/Linphone/Styles/Notifications/NotificationReceivedCallStyle.qml ui/modules/Linphone/Styles/Notifications/NotificationReceivedFileMessageStyle.qml diff --git a/ui/modules/Linphone/Contact/Contact.qml b/ui/modules/Linphone/Contact/Contact.qml index 3b7a6ba1d..b00fd78a4 100644 --- a/ui/modules/Linphone/Contact/Contact.qml +++ b/ui/modules/Linphone/Contact/Contact.qml @@ -61,7 +61,7 @@ Rectangle { username: avatar.username } - MessageCounter { + ContactMessageCounter { Layout.alignment: Qt.AlignTop count: Number(entry.unreadMessageCount) diff --git a/ui/modules/Linphone/Contact/MessageCounter.qml b/ui/modules/Linphone/Contact/ContactMessageCounter.qml similarity index 54% rename from ui/modules/Linphone/Contact/MessageCounter.qml rename to ui/modules/Linphone/Contact/ContactMessageCounter.qml index 802097f10..06290e067 100644 --- a/ui/modules/Linphone/Contact/MessageCounter.qml +++ b/ui/modules/Linphone/Contact/ContactMessageCounter.qml @@ -2,6 +2,7 @@ import QtQuick 2.7 import QtQuick.Layouts 1.3 import Common 1.0 +import Linphone 1.0 import Linphone.Styles 1.0 // ============================================================================= @@ -9,13 +10,13 @@ import Linphone.Styles 1.0 Item { id: messageCounter - property int count + property alias count: counterIcon.count property bool isComposing - implicitHeight: counterIcon.height + MessageCounterStyle.verticalMargins * 2 - implicitWidth: counterIcon.width + MessageCounterStyle.horizontalMargins * 2 + implicitHeight: counterIcon.height + ContactMessageCounterStyle.verticalMargins * 2 + implicitWidth: counterIcon.width + ContactMessageCounterStyle.horizontalMargins * 2 - Icon { + MessageCounter { id: counterIcon property int composingIndex: 0 @@ -25,27 +26,8 @@ Item { icon: messageCounter.isComposing ? ('chat_is_composing_' + counterIcon.composingIndex) : 'chat_count' - iconSize: MessageCounterStyle.iconSize.message visible: messageCounter.count > 0 || messageCounter.isComposing - Icon { - anchors { - horizontalCenter: parent.right - verticalCenter: parent.bottom - } - - icon: 'chat_amount' - iconSize: MessageCounterStyle.iconSize.amount - visible: messageCounter.count > 0 - - Text { - anchors.centerIn: parent - color: MessageCounterStyle.text.color - font.pointSize: MessageCounterStyle.text.pointSize - text: messageCounter.count - } - } - Timer { interval: 500 repeat: true diff --git a/ui/modules/Linphone/Misc/MessageCounter.qml b/ui/modules/Linphone/Misc/MessageCounter.qml new file mode 100644 index 000000000..c33117711 --- /dev/null +++ b/ui/modules/Linphone/Misc/MessageCounter.qml @@ -0,0 +1,34 @@ +import QtQuick 2.7 + +import Common 1.0 +import Linphone.Styles 1.0 + +// ============================================================================= + +Icon { + id: messageCounter + + property int count: 0 + + icon: 'chat_count' + iconSize: MessageCounterStyle.iconSize.message + visible: messageCounter.count > 0 + + Icon { + anchors { + horizontalCenter: parent.right + verticalCenter: parent.bottom + } + + icon: 'chat_amount' + iconSize: MessageCounterStyle.iconSize.amount + visible: messageCounter.count > 0 + + Text { + anchors.centerIn: parent + color: MessageCounterStyle.text.color + font.pointSize: MessageCounterStyle.text.pointSize + text: messageCounter.count + } + } +} diff --git a/ui/modules/Linphone/Styles/Contact/ContactMessageCounterStyle.qml b/ui/modules/Linphone/Styles/Contact/ContactMessageCounterStyle.qml new file mode 100644 index 000000000..c88e12764 --- /dev/null +++ b/ui/modules/Linphone/Styles/Contact/ContactMessageCounterStyle.qml @@ -0,0 +1,12 @@ +pragma Singleton +import QtQml 2.2 + +import Colors 1.0 +import Units 1.0 + +// ============================================================================= + +QtObject { + property int horizontalMargins: 0 + property int verticalMargins: 10 +} diff --git a/ui/modules/Linphone/Styles/Contact/MessageCounterStyle.qml b/ui/modules/Linphone/Styles/Misc/MessageCounterStyle.qml similarity index 84% rename from ui/modules/Linphone/Styles/Contact/MessageCounterStyle.qml rename to ui/modules/Linphone/Styles/Misc/MessageCounterStyle.qml index 13999f36d..f632f6458 100644 --- a/ui/modules/Linphone/Styles/Contact/MessageCounterStyle.qml +++ b/ui/modules/Linphone/Styles/Misc/MessageCounterStyle.qml @@ -7,9 +7,6 @@ import Units 1.0 // ============================================================================= QtObject { - property int horizontalMargins: 0 - property int verticalMargins: 10 - property QtObject iconSize: QtObject { property int amount: 16 property int message: 18 diff --git a/ui/modules/Linphone/Styles/qmldir b/ui/modules/Linphone/Styles/qmldir index 5adf3be8f..416f69706 100644 --- a/ui/modules/Linphone/Styles/qmldir +++ b/ui/modules/Linphone/Styles/qmldir @@ -20,13 +20,15 @@ singleton CodecsViewerStyle 1.0 Codecs/CodecsViewerStyle.qml singleton AvatarStyle 1.0 Contact/AvatarStyle.qml singleton ContactDescriptionStyle 1.0 Contact/ContactDescriptionStyle.qml +singleton ContactMessageCounterStyle 1.0 Contact/ContactMessageCounterStyle.qml singleton ContactStyle 1.0 Contact/ContactStyle.qml -singleton MessageCounterStyle 1.0 Contact/MessageCounterStyle.qml singleton OnlineInstallerDialogStyle 1.0 Dialog/OnlineInstallerDialogStyle.qml singleton SipAddressesMenuStyle 1.0 Menus/SipAddressesMenuStyle.qml +singleton MessageCounterStyle 1.0 Misc/MessageCounterStyle.qml + singleton NotificationBasicStyle 1.0 Notifications/NotificationBasicStyle.qml singleton NotificationReceivedCallStyle 1.0 Notifications/NotificationReceivedCallStyle.qml singleton NotificationReceivedFileMessageStyle 1.0 Notifications/NotificationReceivedFileMessageStyle.qml diff --git a/ui/modules/Linphone/qmldir b/ui/modules/Linphone/qmldir index 146f64034..57f05a355 100644 --- a/ui/modules/Linphone/qmldir +++ b/ui/modules/Linphone/qmldir @@ -24,6 +24,8 @@ ContactDescription 1.0 Contact/ContactDescription.qml SipAddressesMenu 1.0 Menus/SipAddressesMenu.qml +MessageCounter 1.0 Misc/MessageCounter.qml + PresenceLevel 1.0 Presence/PresenceLevel.qml SmartSearchBar 1.0 SmartSearchBar/SmartSearchBar.qml